NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

Gang Zhao

Developer

Gang Zhao

zhaogang@meta.com

29 commits~3 files/commit

Performance

YoY:-46%
2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthOct'2581 performance
Growth Trend↓18%vs prior period
Avg Files/Commit3files per commit
Active Days17of 455 days
Top Repohermes18 commits

Effort Over Time

Breakdown of growth, maintenance, and fixes effort over time.

Bug Behavior

Beta

Bugs introduced vs. fixed over time.

Investment Quality

Beta

Reclassifies engineering effort based on bug attribution. Commits that introduced bugs are retrospectively counted as poor investments.

78%Productive TimeGrowth 41% + Fixes 59%
20%Maintenance Time
2%Wasted Time
How it works

Methodology

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.

Relationship to Growth / Maintenance / Fixes

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.

Proposed API Endpoint

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
    }
  ]
}

Recent Activity

Latest analyzed commits from this developer.

HashMessageDateFilesEffort
4f7fa58This commit introduces a **refactoring** to the **Hermes JavaScript runtime integration**, specifically within the `HermesJSRuntime` and `HermesRuntimeTargetDelegate` classes. Their constructors are updated to accept both a generic `jsi::Runtime` shared pointer and a direct `HermesRuntime` reference, addressing issues where casting decorated `jsi::Runtime` instances (used for instrumentation or tracing) to `IHermes` would fail. This **maintenance** change ensures robust access to Hermes-specific interfaces, improving the flexibility of the **JSI inspector tooling** and core runtime wrapper. The update has **no behavioral impact** but enables more reliable future development involving runtime decorators.Feb 265maint
703589fThis commit **downgrades the visionOS simulator version** from 26.0 to 2.5 within the **GitHub Actions CI workflow** for Apple runtime tests. This **maintenance fix** addresses a build failure where Xcode 16.4, used by `setup-xcode`, could not find a visionOS 26.0 simulator. By adjusting the configuration in `.github/workflows/test-apple-runtime.yml`, the change ensures the **CI pipeline remains functional** and compatible with slightly older toolchains. This prevents disruptions to automated testing for visionOS by prioritizing compatibility over the latest OS version in the current CI setup.Feb 131maint
a6afb13This commit performs a **maintenance update** to the **`test262` skiplist**, addressing an oversight from a prior commit. It **adds new test files** to `utils/testsuite/testsuite_skiplist.py` that were previously failing. Specifically, these additions target tests related to **Unicode 16.0.0 and 17.0.0 identifiers**, ensuring they are correctly skipped. This update improves the accuracy of the **test suite results** by preventing known compliance failures from blocking CI/CD pipelines.Feb 111maint
b861711This commit resolves **build errors with clang19** by replacing **deprecated volatile increment/decrement operations** with explicit read-modify-write patterns. This **maintenance fix** addresses C++20 standard deprecations for compound assignment and increment/decrement on volatile-qualified types. Specifically, the change is applied within the `recursiveCall` function in the **`unittests/Support/StackBoundsTest.cpp`** file. This ensures the **test suite remains compatible** with modern compilers and continues to build correctly.Feb 111waste
3ff2ea1This commit performs **test infrastructure maintenance** by **updating the `test262` skiplist** located at `utils/testsuite/testsuite_skiplist.py`. It **adds new entries** to prevent specific tests from running that are currently failing or timing out in the newer `test262` conformance suite. These failures stem from issues like unsupported Unicode identifiers and a generator delegation problem, highlighting areas where the JavaScript engine's implementation requires further work. By skipping these known non-conformant tests, this change improves the stability and efficiency of `test262` runs, allowing focus on new regressions.Feb 111maint
8261890This commit **fixes compilation errors** within the **CDPAgentTest** suite when compiling with C++20. It addresses the new `char8_t` type for `u8` string literals, which prevents implicit conversion to `std::string`. The **compatibility fix** involves updating string literals in `unittests/API/CDPAgentTest.cpp` by either applying `reinterpret_cast` to convert `char8_t*` to `const char*` for non-ASCII UTF-8 strings or removing the `u8` prefix for ASCII-only strings. This ensures the **CDPAgent** unit tests compile correctly and maintain their coverage under C++20 standards.Jan 171maint
6e95672This commit **fixes a build failure** within the **Hermes JavaScript engine**, specifically impacting compilation on **armv7 architectures** when running in Docker containers. It addresses a missing dependency by **adding the `<cstdint>` include** to `lib/Platform/Intl/impl_icu/IntlUtils.cpp`. This **maintenance fix** ensures the **Internationalization (Intl) component** can be correctly built, allowing Hermes to compile successfully in these specific environments and preventing build breaks for users targeting armv7.Jan 72waste
3713fb1This commit performs a **refactoring** and **maintenance** task within the **JavaScript Interface (JSI)** by **renaming** the core JSI header file from `jsi/hermes.h` to `jsi/hermes-interfaces.h`. This change addresses potential naming confusion with another `hermes.h` file located under a different prefix, improving clarity for developers. The `API/hermes/hermes.h` file is updated to reflect this new include path, ensuring all internal references are correct. This update impacts any modules or projects, such as React Native, that directly include the JSI header, requiring them to update their include directives.Dec 32maint
4bb24e2This commit **refactors** the **JSI (JavaScript Interface)** header file structure within the **React Native runtime** by renaming `jsi/hermes.h` to `jsi/hermes-interfaces.h`. This **maintenance** change addresses potential naming confusion with another `hermes.h` file, improving code clarity for developers. The update primarily affects internal **React Native** components, such as `ReactInstance.cpp`, which now correctly reference the new header path. This ensures a clearer distinction between the JSI-specific Hermes interfaces and other Hermes-related headers, with minimal downstream impact beyond requiring include path adjustments for modules utilizing these interfaces.Dec 32maint
f327871This commit **improves the accuracy of memory performance testing** within the `react-native` package by forcing the `MemoryBaseline-itest.js` to execute in **HV32 mode**. This **testing infrastructure improvement** ensures that memory baseline limits for 'dev' and 'opt' environments are measured under conditions that closely match actual application execution. Consequently, this change enables the project to **revert to more realistic and potentially smaller memory size limits**, leading to more reliable and representative memory usage metrics for React Native applications.Nov 201maint
11f6ffdThis commit **updates the default Hermes variant configuration** for internal React Native development. It introduces `DEFAULT_OSS_HERMES_VARIANT` to ensure **OSS tests continue to use legacy Hermes**, while the primary `DEFAULT_HERMES_VARIANT` is switched to **Static Hermes Stable (SH)** for internal builds. This **configuration update** affects the `react-native-fantom` test runner, modifying `getFantomTestConfigs` and `getBuckOptionsForHermes` to conditionally apply Hermes variants. Additionally, memory baseline tests in `MemoryBaseline-itest.js` and snapshot expectations in `expect-itest.js` are adjusted to accommodate the new default, ensuring internal development leverages Static Hermes Stable while maintaining compatibility for external contributions.Nov 175maint
bbebefeThis commit **enhances the garbage collection instrumentation** within the **Hermes VM** by adding more detailed statistics to the `hermesInternalGetInstrumentedStats()` function. It introduces new fields like `numCompactions` and `generalStats` to the `HeapInfo` structure, allowing the reporting of average/max GC times, peak allocated bytes, and Hades-specific compaction and generation collection counts. This **new capability** provides richer data for performance analysis and debugging of the **Hermes JavaScript engine's memory management**. Specifically, the **`HadesGC` implementation** now populates these new statistics, making them available through the `HermesInternal` API for improved monitoring.Nov 84grow
e32307eThis commit **reverts a previous deletion** to **restore essential debugging capabilities** for Hermes runtimes within React Native, addressing a breaking change introduced by an earlier commit. It reintroduces critical components like `HermesExecutorRuntimeAdapter` and `HermesInstanceRuntimeAdapter` within the **Hermes executor and runtime integration** to enable and manage debugging sessions through the **modern Hermes inspector**. This **bug fix** ensures that developers can properly utilize Hermes debugging tools, preventing regressions and maintaining compatibility. Additionally, the **Hermes engine build system** is updated to correctly expose the necessary inspector and inspector_chrome headers for Apple frameworks.Oct 88waste
a811efbThis commit **cleans up** lingering references to the old `CDPHandler` within the **GitHub CI configuration**. It addresses an oversight from a previous removal, ensuring that all automated build and test jobs no longer refer to the deprecated component. This is a **maintenance** task that streamlines the CI setup and improves the **accuracy of the build system** by removing obsolete configurations. The change primarily affects the **development infrastructure** by updating CI job definitions to reflect the current codebase.Oct 34–
36e1c0aThis commit performs **maintenance** by **removing deprecated Hermes debugger integration** from the React Native codebase. It specifically targets the **Hermes executor factory** (`HermesExecutorFactory.cpp`), eliminating the `HermesExecutorRuntimeAdapter` class and associated debugging logic from `DecoratedRuntime`. Additionally, the **test suite** (`ReactInstanceIntegrationTest.cpp`) is updated to remove the `LEGACY_HERMES` test mode and its setup, ensuring consistency with the removed components. This change simplifies the **React Native Hermes integration** by cleaning up unused and legacy debugging infrastructure.Oct 310maint
d731556This commit introduces a **new capability** to the **React Native runtime**, enabling the `ReactInstance` to utilize **SH unit evaluation** for script loading. The `loadScript` function within `packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp` is updated to conditionally invoke `evaluateSHUnit()` if an `IHermes::getSHUnitCreator()` is available, otherwise it defaults to `evaluateJavaScript()`. This enhancement provides a more flexible and potentially optimized mechanism for JavaScript execution, particularly when integrating with Hermes's SH unit capabilities.Sep 41grow
31e8c6eThis commit **refactors** the **Hermes JavaScript engine's API** by relocating the core `IHermes` interface. Most Hermes-specific runtime methods, previously part of `IHermes` in `API/hermes/hermes.h`, are now defined in a new header, `API/jsi/jsi/hermes.h`. The original `IHermes` in `API/hermes/hermes.h` is renamed to `IHermesExtra` and retains only methods with specific dependencies, with `HermesRuntime` updated to inherit from it. This **API exposure** makes essential **Hermes runtime functionalities** directly accessible to React Native code, facilitating deeper integration and control over the engine.Sep 42grow
606a424This commit performs a significant **API refactoring** by **removing the `IHermesExtra` interface** from the **Hermes runtime** and **relocating its `dumpOpcodeStats` method**. The `dumpOpcodeStats` functionality is now integrated into the **`jsi::Instrumentation` interface**, aligning it with other profiling and statistics dumping methods. This change **streamlines the JSI API**, improving **consistency and maintainability** across **JavaScript runtimes** that implement `jsi::Instrumentation`, and updates consumers like `TraceInterpreter.cpp` to use the new method location.Sep 46grow
99c9b28This commit **refactors the Hermes JavaScript engine API** by consolidating debugging and profiling functionalities. It **moves** the `debugJavaScript()` and `dumpSampledTraceToProfile()` methods from the `IHermesExtra` interface to the core `IHermes` interface, as seen in `API/jsi/jsi/hermes.h`. Additionally, the `dumpBasicBlockProfileTrace()` method is **removed** from `HermesRuntimeImpl` in `API/hermes/hermes.cpp`, with users now expected to utilize `writeBasicBlockProfileTraceToFile()` for basic block profiling. This **API cleanup** simplifies the `IHermesExtra` interface and centralizes essential debugging capabilities within the main `IHermes` interface.Sep 44maint
79402f8This commit introduces a **new feature** to the **Hermes JavaScript engine's JSI API**, enabling the dynamic retrieval and evaluation of "SH units." It adds a new `IHermesSHUnit` interface with a `getSHUnitCreator` method and refactors `evaluateSHUnit` within `IHermes` to utilize a new `SHUnitCreator` type alias. This allows users to compile Hermes with a specific preprocessor definition (`-DHERMES_SH_UNIT_FN`) to obtain a function pointer for a named SH unit. This function pointer can then be passed to `evaluateSHUnit` for execution, providing a more flexible and configurable way to interact with and test specific internal units of the Hermes engine.Sep 41grow
4f7fa58Feb 26

This commit introduces a **refactoring** to the **Hermes JavaScript runtime integration**, specifically within the `HermesJSRuntime` and `HermesRuntimeTargetDelegate` classes. Their constructors are updated to accept both a generic `jsi::Runtime` shared pointer and a direct `HermesRuntime` reference, addressing issues where casting decorated `jsi::Runtime` instances (used for instrumentation or tracing) to `IHermes` would fail. This **maintenance** change ensures robust access to Hermes-specific interfaces, improving the flexibility of the **JSI inspector tooling** and core runtime wrapper. The update has **no behavioral impact** but enables more reliable future development involving runtime decorators.

5 filesmaint
703589fFeb 13

This commit **downgrades the visionOS simulator version** from 26.0 to 2.5 within the **GitHub Actions CI workflow** for Apple runtime tests. This **maintenance fix** addresses a build failure where Xcode 16.4, used by `setup-xcode`, could not find a visionOS 26.0 simulator. By adjusting the configuration in `.github/workflows/test-apple-runtime.yml`, the change ensures the **CI pipeline remains functional** and compatible with slightly older toolchains. This prevents disruptions to automated testing for visionOS by prioritizing compatibility over the latest OS version in the current CI setup.

1 filesmaint
a6afb13Feb 11

This commit performs a **maintenance update** to the **`test262` skiplist**, addressing an oversight from a prior commit. It **adds new test files** to `utils/testsuite/testsuite_skiplist.py` that were previously failing. Specifically, these additions target tests related to **Unicode 16.0.0 and 17.0.0 identifiers**, ensuring they are correctly skipped. This update improves the accuracy of the **test suite results** by preventing known compliance failures from blocking CI/CD pipelines.

1 filesmaint
b861711Feb 11

This commit resolves **build errors with clang19** by replacing **deprecated volatile increment/decrement operations** with explicit read-modify-write patterns. This **maintenance fix** addresses C++20 standard deprecations for compound assignment and increment/decrement on volatile-qualified types. Specifically, the change is applied within the `recursiveCall` function in the **`unittests/Support/StackBoundsTest.cpp`** file. This ensures the **test suite remains compatible** with modern compilers and continues to build correctly.

1 fileswaste
3ff2ea1Feb 11

This commit performs **test infrastructure maintenance** by **updating the `test262` skiplist** located at `utils/testsuite/testsuite_skiplist.py`. It **adds new entries** to prevent specific tests from running that are currently failing or timing out in the newer `test262` conformance suite. These failures stem from issues like unsupported Unicode identifiers and a generator delegation problem, highlighting areas where the JavaScript engine's implementation requires further work. By skipping these known non-conformant tests, this change improves the stability and efficiency of `test262` runs, allowing focus on new regressions.

1 filesmaint
8261890Jan 17

This commit **fixes compilation errors** within the **CDPAgentTest** suite when compiling with C++20. It addresses the new `char8_t` type for `u8` string literals, which prevents implicit conversion to `std::string`. The **compatibility fix** involves updating string literals in `unittests/API/CDPAgentTest.cpp` by either applying `reinterpret_cast` to convert `char8_t*` to `const char*` for non-ASCII UTF-8 strings or removing the `u8` prefix for ASCII-only strings. This ensures the **CDPAgent** unit tests compile correctly and maintain their coverage under C++20 standards.

1 filesmaint
6e95672Jan 7

This commit **fixes a build failure** within the **Hermes JavaScript engine**, specifically impacting compilation on **armv7 architectures** when running in Docker containers. It addresses a missing dependency by **adding the `<cstdint>` include** to `lib/Platform/Intl/impl_icu/IntlUtils.cpp`. This **maintenance fix** ensures the **Internationalization (Intl) component** can be correctly built, allowing Hermes to compile successfully in these specific environments and preventing build breaks for users targeting armv7.

2 fileswaste
3713fb1Dec 3

This commit performs a **refactoring** and **maintenance** task within the **JavaScript Interface (JSI)** by **renaming** the core JSI header file from `jsi/hermes.h` to `jsi/hermes-interfaces.h`. This change addresses potential naming confusion with another `hermes.h` file located under a different prefix, improving clarity for developers. The `API/hermes/hermes.h` file is updated to reflect this new include path, ensuring all internal references are correct. This update impacts any modules or projects, such as React Native, that directly include the JSI header, requiring them to update their include directives.

2 filesmaint
4bb24e2Dec 3

This commit **refactors** the **JSI (JavaScript Interface)** header file structure within the **React Native runtime** by renaming `jsi/hermes.h` to `jsi/hermes-interfaces.h`. This **maintenance** change addresses potential naming confusion with another `hermes.h` file, improving code clarity for developers. The update primarily affects internal **React Native** components, such as `ReactInstance.cpp`, which now correctly reference the new header path. This ensures a clearer distinction between the JSI-specific Hermes interfaces and other Hermes-related headers, with minimal downstream impact beyond requiring include path adjustments for modules utilizing these interfaces.

2 filesmaint
f327871Nov 20

This commit **improves the accuracy of memory performance testing** within the `react-native` package by forcing the `MemoryBaseline-itest.js` to execute in **HV32 mode**. This **testing infrastructure improvement** ensures that memory baseline limits for 'dev' and 'opt' environments are measured under conditions that closely match actual application execution. Consequently, this change enables the project to **revert to more realistic and potentially smaller memory size limits**, leading to more reliable and representative memory usage metrics for React Native applications.

1 filesmaint
11f6ffdNov 17

This commit **updates the default Hermes variant configuration** for internal React Native development. It introduces `DEFAULT_OSS_HERMES_VARIANT` to ensure **OSS tests continue to use legacy Hermes**, while the primary `DEFAULT_HERMES_VARIANT` is switched to **Static Hermes Stable (SH)** for internal builds. This **configuration update** affects the `react-native-fantom` test runner, modifying `getFantomTestConfigs` and `getBuckOptionsForHermes` to conditionally apply Hermes variants. Additionally, memory baseline tests in `MemoryBaseline-itest.js` and snapshot expectations in `expect-itest.js` are adjusted to accommodate the new default, ensuring internal development leverages Static Hermes Stable while maintaining compatibility for external contributions.

5 filesmaint
bbebefeNov 8

This commit **enhances the garbage collection instrumentation** within the **Hermes VM** by adding more detailed statistics to the `hermesInternalGetInstrumentedStats()` function. It introduces new fields like `numCompactions` and `generalStats` to the `HeapInfo` structure, allowing the reporting of average/max GC times, peak allocated bytes, and Hades-specific compaction and generation collection counts. This **new capability** provides richer data for performance analysis and debugging of the **Hermes JavaScript engine's memory management**. Specifically, the **`HadesGC` implementation** now populates these new statistics, making them available through the `HermesInternal` API for improved monitoring.

4 filesgrow
e32307eOct 8

This commit **reverts a previous deletion** to **restore essential debugging capabilities** for Hermes runtimes within React Native, addressing a breaking change introduced by an earlier commit. It reintroduces critical components like `HermesExecutorRuntimeAdapter` and `HermesInstanceRuntimeAdapter` within the **Hermes executor and runtime integration** to enable and manage debugging sessions through the **modern Hermes inspector**. This **bug fix** ensures that developers can properly utilize Hermes debugging tools, preventing regressions and maintaining compatibility. Additionally, the **Hermes engine build system** is updated to correctly expose the necessary inspector and inspector_chrome headers for Apple frameworks.

8 fileswaste
a811efbOct 3

This commit **cleans up** lingering references to the old `CDPHandler` within the **GitHub CI configuration**. It addresses an oversight from a previous removal, ensuring that all automated build and test jobs no longer refer to the deprecated component. This is a **maintenance** task that streamlines the CI setup and improves the **accuracy of the build system** by removing obsolete configurations. The change primarily affects the **development infrastructure** by updating CI job definitions to reflect the current codebase.

4 files–
36e1c0aOct 3

This commit performs **maintenance** by **removing deprecated Hermes debugger integration** from the React Native codebase. It specifically targets the **Hermes executor factory** (`HermesExecutorFactory.cpp`), eliminating the `HermesExecutorRuntimeAdapter` class and associated debugging logic from `DecoratedRuntime`. Additionally, the **test suite** (`ReactInstanceIntegrationTest.cpp`) is updated to remove the `LEGACY_HERMES` test mode and its setup, ensuring consistency with the removed components. This change simplifies the **React Native Hermes integration** by cleaning up unused and legacy debugging infrastructure.

10 filesmaint
d731556Sep 4

This commit introduces a **new capability** to the **React Native runtime**, enabling the `ReactInstance` to utilize **SH unit evaluation** for script loading. The `loadScript` function within `packages/react-native/ReactCommon/react/runtime/ReactInstance.cpp` is updated to conditionally invoke `evaluateSHUnit()` if an `IHermes::getSHUnitCreator()` is available, otherwise it defaults to `evaluateJavaScript()`. This enhancement provides a more flexible and potentially optimized mechanism for JavaScript execution, particularly when integrating with Hermes's SH unit capabilities.

1 filesgrow
31e8c6eSep 4

This commit **refactors** the **Hermes JavaScript engine's API** by relocating the core `IHermes` interface. Most Hermes-specific runtime methods, previously part of `IHermes` in `API/hermes/hermes.h`, are now defined in a new header, `API/jsi/jsi/hermes.h`. The original `IHermes` in `API/hermes/hermes.h` is renamed to `IHermesExtra` and retains only methods with specific dependencies, with `HermesRuntime` updated to inherit from it. This **API exposure** makes essential **Hermes runtime functionalities** directly accessible to React Native code, facilitating deeper integration and control over the engine.

2 filesgrow
606a424Sep 4

This commit performs a significant **API refactoring** by **removing the `IHermesExtra` interface** from the **Hermes runtime** and **relocating its `dumpOpcodeStats` method**. The `dumpOpcodeStats` functionality is now integrated into the **`jsi::Instrumentation` interface**, aligning it with other profiling and statistics dumping methods. This change **streamlines the JSI API**, improving **consistency and maintainability** across **JavaScript runtimes** that implement `jsi::Instrumentation`, and updates consumers like `TraceInterpreter.cpp` to use the new method location.

6 filesgrow
99c9b28Sep 4

This commit **refactors the Hermes JavaScript engine API** by consolidating debugging and profiling functionalities. It **moves** the `debugJavaScript()` and `dumpSampledTraceToProfile()` methods from the `IHermesExtra` interface to the core `IHermes` interface, as seen in `API/jsi/jsi/hermes.h`. Additionally, the `dumpBasicBlockProfileTrace()` method is **removed** from `HermesRuntimeImpl` in `API/hermes/hermes.cpp`, with users now expected to utilize `writeBasicBlockProfileTraceToFile()` for basic block profiling. This **API cleanup** simplifies the `IHermesExtra` interface and centralizes essential debugging capabilities within the main `IHermes` interface.

4 filesmaint
79402f8Sep 4

This commit introduces a **new feature** to the **Hermes JavaScript engine's JSI API**, enabling the dynamic retrieval and evaluation of "SH units." It adds a new `IHermesSHUnit` interface with a `getSHUnitCreator` method and refactors `evaluateSHUnit` within `IHermes` to utilize a new `SHUnitCreator` type alias. This allows users to compile Hermes with a specific preprocessor definition (`-DHERMES_SH_UNIT_FN`) to obtain a function pointer for a named SH unit. This function pointer can then be passed to `evaluateSHUnit` for execution, providing a more flexible and configurable way to interact with and test specific internal units of the Hermes engine.

1 filesgrow

Work Patterns

Beta

Commit activity distribution by hour and day of week. Shows when this developer is most active.

Collaboration

Beta

Developers who frequently work on the same files and symbols. Higher score means stronger code collaboration.

NavigaraNavigara
OrganizationsDistributionCompareResearch