Developer
Leonard Hecker
lhecker@microsoft.com
Performance
YoY:+369%Key patterns and highlights from this developer's activity.
Breakdown of growth, maintenance, and fixes effort over time.
Bugs introduced vs. fixed over time.
Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.
Investment Quality reclassifies engineering effort based on bug attribution data. Commits identified as buggy origins (those that introduced bugs later fixed by someone) have their grow and maintenance time moved into the Wasted Time category. Their waste (fix commits) remains counted as productive. All other commits retain their standard classification: grow is productive, maintenance is maintenance, and waste (fixes) is productive.
The standard model classifies commits as Growth, Maintenance, or Fixes. Investment Quality adds a quality lens: a commit that introduced a bug is retrospectively counted as a poor investment — the engineering time spent on it was wasted because it ultimately required additional fix work. Fix commits (Fixes in the standard model) are reframed as productive, because fixing bugs is valuable work.
Currently computed client-side from commit and bug attribution data. Ideal server-side endpoint:
POST /v1/organizations/{orgId}/investment-quality
Content-Type: application/json
Request:
{
"startTime": "2025-01-01T00:00:00Z",
"endTime": "2025-12-31T23:59:59Z",
"bucketSize": "BUCKET_SIZE_MONTH",
"groupBy": ["repository_id" | "deliverer_email"]
}
Response:
{
"productivePct": 74,
"maintenancePct": 18,
"wastedPct": 8,
"buckets": [
{
"bucketStart": "2025-01-01T00:00:00Z",
"productive": 4.2,
"maintenance": 1.8,
"wasted": 0.6
}
]
}Latest analyzed commits from this developer.
| Hash | Message | Date | Files | Effort |
|---|---|---|---|---|
| 4ce79d7 | This commit introduces **support for OSC 7 sequences**, a **new capability** that allows applications to programmatically set the **current working directory (CWD)** of a terminal session using file URIs. The **terminal adapter and parser components** are updated to handle these sequences, with `SetCurrentWorkingDirectory` added to `ITermDispatch` and `TermDispatch` and integrated into `OutputStateMachineEngine`'s `ActionOscDispatch`. This enhancement also includes a **refactoring** to introduce a new `IsValidDirectory` utility in `src/types/utils.cpp`, which is then used for robust directory validation across `TerminalApp` components. This improves integration for native Windows applications by enabling them to update the terminal's CWD, which is crucial for maintaining context in features like duplicating tabs. | Mar 30 | 16 | grow |
| da0446a | This commit introduces a **new capability** to robustly handle unknown escape sequences by **refactoring** the **terminal parsing and dispatching subsystems** to incorporate an `UnknownSequence` method. This method is added to core **OOP interfaces** like `ITermDispatch`, `ITerminalApi`, and `IStateMachineEngine`, and implemented across various components including `TerminalCore`, `adaptDispatch`, and `OutputStateMachineEngine`. When an unhandled control sequence is encountered, the system now calls `UnknownSequence`, which in the `outputStream` implementation, **sends a Cursor Position Report (CPR)** to re-synchronize the cursor position. This significantly **improves the terminal's resilience** to non-standard or unrecognized escape codes. | Mar 24 | 17 | grow |
| 0f5d883 | This commit introduces a **bug fix** and **new capability** to the **terminal input handling**, specifically for the **Kitty Keyboard Protocol (KKP)**. It prevents the terminal from translating **W32IM sequences** to KKP when running as a **ConPTY** host, effectively allowing KKP to be disabled in this context. This change, primarily within the `src/terminal/adapter/adaptDispatch.cpp` module, resolves issues where certain keyboard layouts (like French Bepo) produced incorrect input due to unwanted KKP activation. The `ITerminalApi` and `ConhostInternalGetSet` interfaces were extended with an `IsConPTY` function to facilitate this conditional behavior, ensuring more accurate and predictable input for users interacting with applications via **ConPTY**. | Mar 19 | 8 | waste |
| ddf514e | This commit delivers a **critical bug fix** to **prevent a deadlock** within the **pseudo-console (ConPTY)** host component's cooked read processing. It introduces a new check within the `_layoutLine` function in `src/host/readDataCooked.cpp` to correctly manage **wide glyphs** when they are rendered in **1-column wide terminals**. This resolves an issue where applications could hang when attempting to display international characters under these specific terminal conditions, significantly improving the **stability and reliability** of ConPTY for users interacting with diverse character sets. | Mar 19 | 1 | waste |
| 36fb444 | This commit **fixes a resource leak** and **improves failure handling** within the **TSF (Text Services Framework) integration**. Previously, the `tsf::Handle` class could fail to call `UnadviseSink()` if its `Initialize()` method failed after `AdviseSink()` had been invoked, leading to improper resource cleanup. To address this, the **cleanup logic** has been **refactored** into a new private method, `_destroy`, within `src/tsf/Handle.cpp`. This `_destroy` method is now consistently called by the `Create` method on failure paths and by the `~Handle` destructor, ensuring proper uninitialization and **preventing resource leaks** in all scenarios. This **enhances the robustness** of TSF handling by guaranteeing correct state management during initialization failures. | Mar 11 | 2 | waste |
| 30b1456 | This commit **enhances the robustness of TSF (Text Services Framework) initialization** by making the `Initialize` method fully fallible, addressing potential crashes on specific Windows variants. It **refactors the `tsf` module's `Initialize` method** in `src/tsf/Implementation.cpp` to return an `HRESULT` and leverage `RETURN_IF_FAILED` for comprehensive error handling during TSF component creation and activation. This **bug fix** prevents application crashes when critical TSF components, such as `TF_DisplayAttributeMgr`, are unexpectedly absent, significantly **improving the stability of TSF integration**. The `Create` function in `src/tsf/Handle.cpp` was also updated to correctly handle the new `HRESULT` return type. | Mar 10 | 3 | waste |
| 5bd9e9f | This commit **improves performance and prevents memory spikes** when executing the `cls` command in `cmd` and `PowerShell`. It achieves this by ensuring the dedicated **console clearing shim** is consistently utilized, rather than falling back to less efficient methods. Specifically, the **PowerShell shim logic** within `FillConsoleImpl` in `src/host/_output.cpp` is refactored, and the **cmd shim logic** in `GetLargestConsoleWindowSizeImpl` within `src/host/getset.cpp` is adjusted to consistently submit the VT writer. This **optimization** provides a more efficient and stable console clearing experience across the **terminal host**. | Mar 10 | 2 | waste |
| c81c66b | This commit **implements the Kitty Keyboard Protocol**, a significant **new capability** that enhances keyboard input handling within the **terminal emulator**. It involves a **major rewrite of the `TerminalInput` subsystem** to provide more detailed key event information to applications, improving support for complex key combinations and international layouts. A new `AllowKittyKeyboardMode` setting has been added to the **Terminal Settings UI** and **profile configuration** for users to enable or disable this protocol. This change also includes updates to the **VT dispatchers** and **output state machine** to manage the protocol's state and sequences, ensuring a more robust and flexible input pipeline. | Feb 17 | 31 | grow |
| 71409f8 | This commit provides a **bug fix** for the **TerminalControl search functionality**, resolving an issue where the terminal would automatically scroll when search results moved in and out of view due to unrelated content scrolling. It **refactors the search mechanism** by modifying the `SearchRequest` struct in `ControlCore.idl` to introduce `ExecuteSearch` and `ScrollIntoView` parameters, replacing the previous `ResetOnly` flag. This change ensures that the `Search` method in `ControlCore.cpp` and its callers in `TermControl.cpp` now explicitly control when a search is executed and when the view scrolls, preventing **unwanted automatic scrolling** and significantly **improving user experience** during active search sessions. | Jan 24 | 4 | waste |
| e8971c8 | This commit provides a **bug fix** and **refactoring** to prevent the `RPC_E_CANTCALLOUT_ININPUTSYNCCALL` error from occurring in the **Windows Terminal application** when responding to `WM_SETTINGCHANGE` messages. It introduces a new `ReloadSettingsThrottled` function within the `TerminalApp`'s `AppLogic` component, which is designed to asynchronously and safely reload settings. The `WindowEmperor`'s `_messageHandler` is updated to call this throttled function, ensuring that settings reloads triggered by system changes do not cause RPC errors. This change enhances the **stability and responsiveness** of the terminal, particularly when system-wide settings are modified. | Jan 19 | 5 | maint |
| a528141 | This commit introduces a significant **refactoring** across the **TerminalApp** and **TerminalControl** components to enhance **memory safety** within **coroutines**. It addresses a critical issue where the `this` pointer could become invalid (use-after-free) after a coroutine resumes, by implementing robust **weak and strong smart pointer checks**. This change impacts numerous asynchronous operations and UI handlers, such as `_doHandleSuggestions`, `Start`, and various tab/pane management functions like `_HandleCloseTabRequested`. The **refactoring** prevents potential crashes and undefined behavior, making the application more stable and reliable, particularly in scenarios involving background thread operations and UI interactions. | Jan 16 | 10 | maint |
| c455759 | This commit performs a widespread **refactoring** to standardize string formatting across the **Windows Terminal** codebase, primarily by adopting the `til::hstring_format` utility introduced in a previous change. This effort systematically replaces various string construction methods with the dedicated utility, often leveraging `FMT_COMPILE` for improved efficiency. The changes span critical areas such as **TerminalApp** for tab titles and window display, the **TerminalSettingsEditor** for numerous UI display strings, and the **TerminalSettingsModel** for command parsing, serialization, and default terminal logic. This **refactoring** enhances code consistency, maintainability, and ensures robust `hstring` handling throughout the application's core and UI components. | Jan 16 | 20 | maint |
| 726c8f0 | This commit **fixes a bug** within the **Terminal Settings Editor** where the cursor in the **preview terminal control** was not consistently visible. It modifies `src/cascadia/TerminalSettingsEditor/Profiles_Appearance.cpp` to explicitly set the cursor visibility to 'Shown' for this specific control. This **bug fix** ensures that users will always see the cursor in the preview terminal when adjusting profile appearance settings, thereby improving the clarity and user experience of the settings editor. | Jan 15 | 1 | waste |
| 58f1f3b | This commit **removes** the `TF_TMAE_UIELEMENTENABLEDONLY` flag from the **Text Services Framework (TSF) activation flags** within `src/tsf/Implementation.cpp`. This flag was found to be irrelevant for the terminal's UI-less mode, simplifying the TSF initialization process. The change is a **maintenance fix** that streamlines the TSF integration by removing unnecessary configuration, specifically impacting the **TSF subsystem's activation logic**. | Jan 13 | 1 | waste |
| c0debf8 | This commit introduces a significant **performance optimization** to the **sixel image parser** within the terminal adapter. This **enhancement** focuses on the `_writeToImageBuffer` function in `src/terminal/adapter/SixelParser.cpp`, leveraging `int16_t` casting, early exits, and branch-prediction-friendly logic to drastically improve the sixel rendering pipeline's efficiency. To support these changes, the `IndexedPixel` struct in `src/terminal/adapter/SixelParser.hpp` now includes `alignas(int16_t)`. This work results in a substantial speedup, potentially enabling 4K sixel image streaming at over 60 FPS. | Jan 12 | 3 | grow |
| 3c2eb59 | This commit **updates the build system configuration** to leverage the `v143` platform toolset for `vcpkg` dependencies. It modifies and adds **Windows static overlay triplets** for `arm64`, `x64`, and `x86` architectures, including their fuzzing variants, to explicitly set the `v143` toolset. This crucial **maintenance update** and **bug fix** resolves build failures encountered when compiling with the latest Visual Studio versions. The change ensures continued compatibility and successful project builds on modern Windows development environments, impacting all developers building on Windows. | Jan 8 | 7 | waste |
| d05dd85 | This commit delivers a **bug fix** to prevent **UI freezes** in the **TerminalApp** that occurred when pasting extremely large amounts of text. It addresses a performance issue with WinUI by **limiting the maximum text displayed** within the `_ShowMultiLinePasteWarning` dialog. To facilitate this, a new `hstring_format` utility function is introduced in the **TIL** library for `winrt::hstring` formatting, alongside a refactoring of `fmt::formatter` specializations. This significantly improves **application responsiveness** and stability, particularly when handling large paste operations. | Jan 8 | 5 | waste |
| 8f418d1 | This commit performs a **refactoring** and **maintenance** cleanup within the **host screen information subsystem**. Specifically, it targets the `SCREEN_INFORMATION` class defined in `src/host/screenInfo.hpp`, removing unused include directives and reordering method declarations. These changes are aimed at significantly improving the **readability and organization** of the class, making it easier to understand and maintain. This internal code improvement does not alter any external functionality but contributes to the overall health of the codebase. | Dec 19 | 2 | maint |
| a790789 | This commit **fixes a bug** in the **TerminalApp** by ensuring the underlying `TermControl` is explicitly closed when its containing `TerminalPaneContent` is dismissed. Previously, closing a tab or pane would not raise a `StateChange` notification on the connection, leading to potential state inconsistencies. The change in `TerminalPaneContent.cpp` adds a call to `Close` on the `TermControl` during the pane's shutdown sequence. This improves the reliability of **pane and tab lifecycle management** by guaranteeing proper connection state updates. | Dec 17 | 1 | waste |
| f321c30 | This commit **refactors** the **terminal connection's input/output handling** to utilize `winrt::array_view<const char16_t>` (represented as `Char[]` in IDL) instead of null-terminated `String` types. This **enhancement** enables the transmission of **non-null-terminated strings**, which is essential for supporting advanced scenarios like the **tmux control mode** that passes string slices. The change impacts the `ITerminalConnection.idl` interface, various connection implementations (e.g., `AzureConnection`, `ConptyConnection`, `DebugTapConnection`), and the `TerminalControl` core. This improves the flexibility and robustness of the **terminal's communication layer**, allowing for more diverse input/output scenarios. | Dec 17 | 14 | maint |
This commit introduces **support for OSC 7 sequences**, a **new capability** that allows applications to programmatically set the **current working directory (CWD)** of a terminal session using file URIs. The **terminal adapter and parser components** are updated to handle these sequences, with `SetCurrentWorkingDirectory` added to `ITermDispatch` and `TermDispatch` and integrated into `OutputStateMachineEngine`'s `ActionOscDispatch`. This enhancement also includes a **refactoring** to introduce a new `IsValidDirectory` utility in `src/types/utils.cpp`, which is then used for robust directory validation across `TerminalApp` components. This improves integration for native Windows applications by enabling them to update the terminal's CWD, which is crucial for maintaining context in features like duplicating tabs.
This commit introduces a **new capability** to robustly handle unknown escape sequences by **refactoring** the **terminal parsing and dispatching subsystems** to incorporate an `UnknownSequence` method. This method is added to core **OOP interfaces** like `ITermDispatch`, `ITerminalApi`, and `IStateMachineEngine`, and implemented across various components including `TerminalCore`, `adaptDispatch`, and `OutputStateMachineEngine`. When an unhandled control sequence is encountered, the system now calls `UnknownSequence`, which in the `outputStream` implementation, **sends a Cursor Position Report (CPR)** to re-synchronize the cursor position. This significantly **improves the terminal's resilience** to non-standard or unrecognized escape codes.
This commit introduces a **bug fix** and **new capability** to the **terminal input handling**, specifically for the **Kitty Keyboard Protocol (KKP)**. It prevents the terminal from translating **W32IM sequences** to KKP when running as a **ConPTY** host, effectively allowing KKP to be disabled in this context. This change, primarily within the `src/terminal/adapter/adaptDispatch.cpp` module, resolves issues where certain keyboard layouts (like French Bepo) produced incorrect input due to unwanted KKP activation. The `ITerminalApi` and `ConhostInternalGetSet` interfaces were extended with an `IsConPTY` function to facilitate this conditional behavior, ensuring more accurate and predictable input for users interacting with applications via **ConPTY**.
This commit delivers a **critical bug fix** to **prevent a deadlock** within the **pseudo-console (ConPTY)** host component's cooked read processing. It introduces a new check within the `_layoutLine` function in `src/host/readDataCooked.cpp` to correctly manage **wide glyphs** when they are rendered in **1-column wide terminals**. This resolves an issue where applications could hang when attempting to display international characters under these specific terminal conditions, significantly improving the **stability and reliability** of ConPTY for users interacting with diverse character sets.
This commit **fixes a resource leak** and **improves failure handling** within the **TSF (Text Services Framework) integration**. Previously, the `tsf::Handle` class could fail to call `UnadviseSink()` if its `Initialize()` method failed after `AdviseSink()` had been invoked, leading to improper resource cleanup. To address this, the **cleanup logic** has been **refactored** into a new private method, `_destroy`, within `src/tsf/Handle.cpp`. This `_destroy` method is now consistently called by the `Create` method on failure paths and by the `~Handle` destructor, ensuring proper uninitialization and **preventing resource leaks** in all scenarios. This **enhances the robustness** of TSF handling by guaranteeing correct state management during initialization failures.
This commit **enhances the robustness of TSF (Text Services Framework) initialization** by making the `Initialize` method fully fallible, addressing potential crashes on specific Windows variants. It **refactors the `tsf` module's `Initialize` method** in `src/tsf/Implementation.cpp` to return an `HRESULT` and leverage `RETURN_IF_FAILED` for comprehensive error handling during TSF component creation and activation. This **bug fix** prevents application crashes when critical TSF components, such as `TF_DisplayAttributeMgr`, are unexpectedly absent, significantly **improving the stability of TSF integration**. The `Create` function in `src/tsf/Handle.cpp` was also updated to correctly handle the new `HRESULT` return type.
This commit **improves performance and prevents memory spikes** when executing the `cls` command in `cmd` and `PowerShell`. It achieves this by ensuring the dedicated **console clearing shim** is consistently utilized, rather than falling back to less efficient methods. Specifically, the **PowerShell shim logic** within `FillConsoleImpl` in `src/host/_output.cpp` is refactored, and the **cmd shim logic** in `GetLargestConsoleWindowSizeImpl` within `src/host/getset.cpp` is adjusted to consistently submit the VT writer. This **optimization** provides a more efficient and stable console clearing experience across the **terminal host**.
This commit **implements the Kitty Keyboard Protocol**, a significant **new capability** that enhances keyboard input handling within the **terminal emulator**. It involves a **major rewrite of the `TerminalInput` subsystem** to provide more detailed key event information to applications, improving support for complex key combinations and international layouts. A new `AllowKittyKeyboardMode` setting has been added to the **Terminal Settings UI** and **profile configuration** for users to enable or disable this protocol. This change also includes updates to the **VT dispatchers** and **output state machine** to manage the protocol's state and sequences, ensuring a more robust and flexible input pipeline.
This commit provides a **bug fix** for the **TerminalControl search functionality**, resolving an issue where the terminal would automatically scroll when search results moved in and out of view due to unrelated content scrolling. It **refactors the search mechanism** by modifying the `SearchRequest` struct in `ControlCore.idl` to introduce `ExecuteSearch` and `ScrollIntoView` parameters, replacing the previous `ResetOnly` flag. This change ensures that the `Search` method in `ControlCore.cpp` and its callers in `TermControl.cpp` now explicitly control when a search is executed and when the view scrolls, preventing **unwanted automatic scrolling** and significantly **improving user experience** during active search sessions.
This commit provides a **bug fix** and **refactoring** to prevent the `RPC_E_CANTCALLOUT_ININPUTSYNCCALL` error from occurring in the **Windows Terminal application** when responding to `WM_SETTINGCHANGE` messages. It introduces a new `ReloadSettingsThrottled` function within the `TerminalApp`'s `AppLogic` component, which is designed to asynchronously and safely reload settings. The `WindowEmperor`'s `_messageHandler` is updated to call this throttled function, ensuring that settings reloads triggered by system changes do not cause RPC errors. This change enhances the **stability and responsiveness** of the terminal, particularly when system-wide settings are modified.
This commit introduces a significant **refactoring** across the **TerminalApp** and **TerminalControl** components to enhance **memory safety** within **coroutines**. It addresses a critical issue where the `this` pointer could become invalid (use-after-free) after a coroutine resumes, by implementing robust **weak and strong smart pointer checks**. This change impacts numerous asynchronous operations and UI handlers, such as `_doHandleSuggestions`, `Start`, and various tab/pane management functions like `_HandleCloseTabRequested`. The **refactoring** prevents potential crashes and undefined behavior, making the application more stable and reliable, particularly in scenarios involving background thread operations and UI interactions.
This commit performs a widespread **refactoring** to standardize string formatting across the **Windows Terminal** codebase, primarily by adopting the `til::hstring_format` utility introduced in a previous change. This effort systematically replaces various string construction methods with the dedicated utility, often leveraging `FMT_COMPILE` for improved efficiency. The changes span critical areas such as **TerminalApp** for tab titles and window display, the **TerminalSettingsEditor** for numerous UI display strings, and the **TerminalSettingsModel** for command parsing, serialization, and default terminal logic. This **refactoring** enhances code consistency, maintainability, and ensures robust `hstring` handling throughout the application's core and UI components.
This commit **fixes a bug** within the **Terminal Settings Editor** where the cursor in the **preview terminal control** was not consistently visible. It modifies `src/cascadia/TerminalSettingsEditor/Profiles_Appearance.cpp` to explicitly set the cursor visibility to 'Shown' for this specific control. This **bug fix** ensures that users will always see the cursor in the preview terminal when adjusting profile appearance settings, thereby improving the clarity and user experience of the settings editor.
This commit **removes** the `TF_TMAE_UIELEMENTENABLEDONLY` flag from the **Text Services Framework (TSF) activation flags** within `src/tsf/Implementation.cpp`. This flag was found to be irrelevant for the terminal's UI-less mode, simplifying the TSF initialization process. The change is a **maintenance fix** that streamlines the TSF integration by removing unnecessary configuration, specifically impacting the **TSF subsystem's activation logic**.
This commit introduces a significant **performance optimization** to the **sixel image parser** within the terminal adapter. This **enhancement** focuses on the `_writeToImageBuffer` function in `src/terminal/adapter/SixelParser.cpp`, leveraging `int16_t` casting, early exits, and branch-prediction-friendly logic to drastically improve the sixel rendering pipeline's efficiency. To support these changes, the `IndexedPixel` struct in `src/terminal/adapter/SixelParser.hpp` now includes `alignas(int16_t)`. This work results in a substantial speedup, potentially enabling 4K sixel image streaming at over 60 FPS.
This commit **updates the build system configuration** to leverage the `v143` platform toolset for `vcpkg` dependencies. It modifies and adds **Windows static overlay triplets** for `arm64`, `x64`, and `x86` architectures, including their fuzzing variants, to explicitly set the `v143` toolset. This crucial **maintenance update** and **bug fix** resolves build failures encountered when compiling with the latest Visual Studio versions. The change ensures continued compatibility and successful project builds on modern Windows development environments, impacting all developers building on Windows.
This commit delivers a **bug fix** to prevent **UI freezes** in the **TerminalApp** that occurred when pasting extremely large amounts of text. It addresses a performance issue with WinUI by **limiting the maximum text displayed** within the `_ShowMultiLinePasteWarning` dialog. To facilitate this, a new `hstring_format` utility function is introduced in the **TIL** library for `winrt::hstring` formatting, alongside a refactoring of `fmt::formatter` specializations. This significantly improves **application responsiveness** and stability, particularly when handling large paste operations.
This commit performs a **refactoring** and **maintenance** cleanup within the **host screen information subsystem**. Specifically, it targets the `SCREEN_INFORMATION` class defined in `src/host/screenInfo.hpp`, removing unused include directives and reordering method declarations. These changes are aimed at significantly improving the **readability and organization** of the class, making it easier to understand and maintain. This internal code improvement does not alter any external functionality but contributes to the overall health of the codebase.
This commit **fixes a bug** in the **TerminalApp** by ensuring the underlying `TermControl` is explicitly closed when its containing `TerminalPaneContent` is dismissed. Previously, closing a tab or pane would not raise a `StateChange` notification on the connection, leading to potential state inconsistencies. The change in `TerminalPaneContent.cpp` adds a call to `Close` on the `TermControl` during the pane's shutdown sequence. This improves the reliability of **pane and tab lifecycle management** by guaranteeing proper connection state updates.
This commit **refactors** the **terminal connection's input/output handling** to utilize `winrt::array_view<const char16_t>` (represented as `Char[]` in IDL) instead of null-terminated `String` types. This **enhancement** enables the transmission of **non-null-terminated strings**, which is essential for supporting advanced scenarios like the **tmux control mode** that passes string slices. The change impacts the `ITerminalConnection.idl` interface, various connection implementations (e.g., `AzureConnection`, `ConptyConnection`, `DebugTapConnection`), and the `TerminalControl` core. This improves the flexibility and robustness of the **terminal's communication layer**, allowing for more diverse input/output scenarios.
Commit activity distribution by hour and day of week. Shows when this developer is most active.
Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.