NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

WillieHabi

Developer

WillieHabi

143546745+williehabi@users.noreply.github.com

36 commits~8 files/commit

Performance

YoY:+392%
2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthAug'25158 performance
Growth Trend↑174%vs prior period
Avg Files/Commit8files per commit
Active Days32of 455 days
Top RepoFluidFramework36 commits

Effort Over Time

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

Bug Behavior

Beta

Bugs introduced vs. fixed over time.

No bugs introduced or fixed in this period.

Investment Quality

Beta

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

37%Productive TimeGrowth 84% + Fixes 16%
63%Maintenance Time
0%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
307eb07This commit implements a **bug fix** and **refactoring** within the **`@fluidframework/tree`** package to resolve issues with cross-package schema consumption. Previously, consumer packages compiling against `tree` generated incorrect `.d.ts` import paths because all API entrypoints referenced a shared `index.js`. The change introduces dedicated entrypoint files for each API tier (e.g., `./alpha`, `./beta`) under `src/entrypoints/`, ensuring each export path maps to its own `.js` and `.d.ts` file. This significantly improves the **correctness of type declarations** for downstream consumers and streamlines the **API surface management** for `tree`.Mar 1633maint
11f1842This commit **adds compile-time tests** to the `import-testing` package, specifically documenting a known **TypeScript type resolution bug** within the `tree` package's exports. The bug causes TypeScript to generate **invalid import paths** for different API tiers (e.g., `./alpha`) when they point to the same JavaScript module, leading to incorrect type resolution for schemas like `ObjectNodeSchema`. These tests use `@ts-expect-error` to highlight the current `TS2322` failures across Node16 ESM/CJS and Bundler ESM targets. This **test addition** provides crucial validation for a future fix that will introduce distinct JS entrypoints for each `tree` API tier.Mar 1318maint
f838524This commit introduces a **documentation update** by adding a new changeset entry to clarify existing system behavior. It explicitly documents that the **self attendee** (the current user) is announced via the `attendeeConnected` **presence event**. This ensures the project's changelog accurately reflects the behavior of the **presence system**, providing clearer understanding of how attendee connection events are broadcast for the local user.Jan 201maint
f41dea7This **bug fix** addresses an issue within the **`@fluidframework/presence`** package where the **self-attendee** was not correctly announcing its connection via the `attendeeConnected` event upon initial client connection. The change enables this crucial event emission within the **`systemWorkspace`** to ensure accurate local client presence notifications. Additionally, the commit introduces significant **test refactoring**, including a new `prepareDisconnectedPresence` helper for testing initial connection states and clearer local client identifiers, alongside comprehensive new test cases for the self-attendee's connection lifecycle. This improves the reliability of **presence tracking** for the current user and enhances the robustness of the presence test infrastructure.Jan 1610maint
6a840e2This commit delivers a **bug fix** for the **container-runtime**'s summarization logic, resolving an issue where the `fullTree` flag was not correctly propagated to `trySummarizeWithRetries`. Previously, the system would always generate incremental summaries, even when **on-demand full tree summaries** were explicitly requested via the `Fluid.Summarizer.FullTree.OnDemand` configuration, due to `fullTree: false` being hardcoded in the retry mechanism. The solution involves modifying `runningSummarizer.ts` to pass `summarizeOptions` through `summarizeOnDemand` and `summarizeOnDemandWithRetries` to `trySummarizeWithRetries`, ensuring the `fullTree` flag is respected. This guarantees that **full tree summaries** are correctly generated when configured, enhancing the reliability and configurability of the **summarization subsystem**. New telemetry verification in end-to-end tests confirms the `fullTree` flag's accurate reflection in `Summarize_generate` events.Dec 292waste
4c11907This commit **fixes** consistent failures in the **Azure client E2E tests** by updating the `EditManager` format version for ephemeral summary trees. It specifically changes the version from 2 to 3 within `tree7` and `tree8` in `packages/service-clients/end-to-end-tests/azure-client/src/test/ephemeralSummaryTrees.ts`. This **maintenance** addresses an issue where the discontinued format v2 caused **SharedTree** ephemeral container tests to fail in the Service Clients E2E pipeline. The update ensures these critical tests, particularly those using `createContainerWithSharedTree` and `createLoadContainerWithSharedTree`, can execute successfully against current Fluid Framework versions.Dec 51maint
bc9d88bRevert "fix(server): lockdown ioredis-mock dependency (#25715)" (#25718)Nov 126–
75166aaThis commit **locks down the `ioredis-mock` dependency** to version `8.9.0` within the **server** component. This **maintenance fix** addresses a critical build error observed in the **Pages** module when `ioredis-mock` is automatically updated to version `8.13.0` during a feature flag (FF) to Pages bump. By pinning the dependency, the change ensures the stability of the **Pages** build process and mitigates immediate problems, serving as a temporary solution while the root cause of the incompatibility is investigated.Oct 207–
a9d0156This commit **temporarily disables** a specific **end-to-end test** within the `packages/test/test-end-to-end-tests/src/test/summarization/onDemandSummarizerApi.spec.ts` suite. The test, named "on-demand summary succeeds while normal summary is inflight", was causing **non-deterministic timeouts** and generating noise in PR checks. This **maintenance change** aims to improve CI stability by skipping the problematic test while further investigation into its flakiness is conducted. The **on-demand summarization feature** itself remains unaffected, but its specific test coverage for this scenario is paused to prevent build failures.Oct 151maint
4fc1a72This commit introduces a **new capability** for **on-demand summarization** within the **container loader** and **container runtime** subsystems. A new public API, `loadSummarizerContainerAndMakeSummary`, allows external callers to load a dedicated summarizer client, produce a summary, and then dispose of it immediately. To facilitate this, a new `ISummaryConfigurationWithSummaryOnRequest` configuration is added, which modifies the internal **summarizer client election and heuristic logic** to bypass standard operations for these specific requests. This provides a streamlined and efficient method for generating summaries for specific use cases without impacting the regular, long-running summarizer process.Oct 1316grow
100aeffThis commit introduces **new end-to-end multiprocess tests** for the **`Latest` and `LatestMap` presence state objects** within the `service-clients/azure-client` package. It **enhances the test harness** by refactoring `childClient.ts` and adding new `messageTypes.ts` to enable child clients to register for workspaces, set, and retrieve values for these presence state objects, replacing the `ExperimentalPresenceManager`. A new `orchestratorUtils.ts` file centralizes helper functions for managing child processes and verifying presence state updates. This **testing enhancement** significantly **improves test coverage and reliability** for these critical **presence features**, ensuring their correct behavior in a distributed, multiprocess environment.Aug 284grow
5fa574aThis commit introduces a **more granular connection status** for **Fluid container extensions**, resolving an issue where the previous `isConnected` flag was too restrictive for read-only clients. It **enhances the `ContainerRuntime` and `ContainerContext`** by implementing a new `JoinedStatus` (`joinedForReading`, `joinedForWriting`, `disconnected`) and a `getJoinedStatus` method, allowing extensions to accurately determine the client's ability to interact with the service. This **feature enhancement** is critical for **Presence** and other signal-based extensions, enabling them to function correctly and send signals even when a client is in read-only mode. The change involves **API updates** in `container-definitions` and **refactoring** across `container-loader` and `container-runtime` to propagate and utilize this new, accurate connection information.Aug 424maint
77612f3This commit introduces a **new feature** to the **`container-loader`** package, enabling the configuration of an optional connection retry timeout. A new `retryConnectionTimeoutMs` property has been added to `IContainerCreateProps` and the `Container` class, which is then utilized by the **`ConnectionManager`** to limit the duration of connection retry attempts. This enhancement allows services to define a maximum time for re-establishing a connection, ensuring that actual connection errors are surfaced more quickly rather than prolonged generic timeouts. The change includes implementation in `connectionManager.ts` and corresponding unit tests.Jul 223grow
7c76de4This commit introduces **telemetry logging** within the **ODSP driver** to monitor join session attempts, failures, and successes. Specifically, it adds logging to the `connectToDeltaStream` function in `odspDelayLoadedDeltaStream.ts` for the first session attempt. This **observability enhancement** aims to diagnose and understand gaps and timeouts occurring after the `SocketModuleLoaded` event, improving insights into the **ODSP driver's delta stream connection process**. The added telemetry will help identify root causes of connection issues and improve the stability of the **ODSP driver**.Jul 81grow
6f37b54This commit **fixes a flaky end-to-end test** within the `test-end-to-end-tests` package, specifically `groupIdOffline.spec.ts`, which previously failed intermittently due to undefined handles. The issue stemmed from the second container not being fully synchronized after loading. To resolve this, the change introduces `await provider.ensureSynchronized()` to guarantee the container is synced before attempting to retrieve data from its root directory. This **bug fix** significantly improves the reliability of the **data virtualization** test suite, preventing false negatives and ensuring more accurate results for offline group ID functionality.Jul 11maint
60d1d5fThis commit delivers a **bug fix** addressing an **eventual consistency bug** within the **`container-runtime`**'s op rebasing mechanism. Previously, `Outbox.flushInternal` incorrectly skipped re-basing for single-message batches, which caused reentrant operations to be mishandled. The fix involves **removing the message length check** in `outbox.ts` to ensure all reentrant ops, including single-message ones, are properly rebased and resubmitted. This change is particularly critical for the **`pact-map`** DDS, where "accept" operations are single-message reentrant ops; `pactMap.ts` is updated to correctly handle and allow resubmission of these "accept" ops, preventing data inconsistencies during migrations.Jul 14waste
54ac531This commit performs a significant **refactoring** within the **ContainerRuntime** to improve the clarity of connection state management. It renames the misleading `connected` parameter and internal variable to `canSendOps` in various `setConnectionState` methods and related logic. This change clarifies that the boolean indicates whether the container is both connected and able to send operations, rather than just being connected. The **container-definitions API**, **container-loader**, and core **container-runtime** components are updated to reflect this more accurate semantic meaning, enhancing code readability and reducing potential for misinterpretation of connection state.Jun 46maint
9e7bbd3This commit performs a **refactoring** within the **client-presence** module, specifically **renaming** and standardizing a core type alias. The `AcknowledgmentIdType` alias has been updated to `AcknowledgmentId` within `packages/framework/presence/src/protocol.ts`. This **maintenance** change ensures consistent type definitions for acknowledgment identifiers used in `DatastoreUpdateMessage` and `AcknowledgementMessage` interfaces. The update improves code clarity and consistency for the **presence protocol** without introducing any functional changes.Jun 21maint
8a2d212This commit introduces a **new capability** for the **client-presence subsystem** by implementing an **acknowledgment mechanism** for targeted signals. It defines new protocol message types, including an `acknowledgementID` field, and updates the `PresenceDatastoreManager` to send targeted acknowledgment messages when an `acknowledgementId` is present in an inbound signal. Furthermore, it enhances the system by passing **runtime feature support** (`supportedFeatures`) to the presence manager, allowing it to dynamically determine the availability of targeted signals. This work is crucial for enabling more reliable and sophisticated signal handling within **Presence**, particularly for future targeted signal capabilities.Jun 210grow
7178615This commit **refactors** the **client-presence** package by **removing the deprecated `lookupClient` method** from the `PresenceRuntime` and `StateDatastore` interfaces and their implementations. All previous calls to `lookupClient` are now replaced with the more robust and correctly typed `presence.attendees.getAttendee` API. This change leverages the improved reliability of the `attendees` property within the **Presence** system, simplifying client lookup logic across `latestMapValueManager.ts`, `latestValueManager.ts`, and `presenceStates.ts`. The **refactoring** enhances the internal consistency and correctness of client identification within the **Presence** system, addressing previous typing inaccuracies and streamlining the codebase.May 296maint
307eb07Mar 16

This commit implements a **bug fix** and **refactoring** within the **`@fluidframework/tree`** package to resolve issues with cross-package schema consumption. Previously, consumer packages compiling against `tree` generated incorrect `.d.ts` import paths because all API entrypoints referenced a shared `index.js`. The change introduces dedicated entrypoint files for each API tier (e.g., `./alpha`, `./beta`) under `src/entrypoints/`, ensuring each export path maps to its own `.js` and `.d.ts` file. This significantly improves the **correctness of type declarations** for downstream consumers and streamlines the **API surface management** for `tree`.

33 filesmaint
11f1842Mar 13

This commit **adds compile-time tests** to the `import-testing` package, specifically documenting a known **TypeScript type resolution bug** within the `tree` package's exports. The bug causes TypeScript to generate **invalid import paths** for different API tiers (e.g., `./alpha`) when they point to the same JavaScript module, leading to incorrect type resolution for schemas like `ObjectNodeSchema`. These tests use `@ts-expect-error` to highlight the current `TS2322` failures across Node16 ESM/CJS and Bundler ESM targets. This **test addition** provides crucial validation for a future fix that will introduce distinct JS entrypoints for each `tree` API tier.

18 filesmaint
f838524Jan 20

This commit introduces a **documentation update** by adding a new changeset entry to clarify existing system behavior. It explicitly documents that the **self attendee** (the current user) is announced via the `attendeeConnected` **presence event**. This ensures the project's changelog accurately reflects the behavior of the **presence system**, providing clearer understanding of how attendee connection events are broadcast for the local user.

1 filesmaint
f41dea7Jan 16

This **bug fix** addresses an issue within the **`@fluidframework/presence`** package where the **self-attendee** was not correctly announcing its connection via the `attendeeConnected` event upon initial client connection. The change enables this crucial event emission within the **`systemWorkspace`** to ensure accurate local client presence notifications. Additionally, the commit introduces significant **test refactoring**, including a new `prepareDisconnectedPresence` helper for testing initial connection states and clearer local client identifiers, alongside comprehensive new test cases for the self-attendee's connection lifecycle. This improves the reliability of **presence tracking** for the current user and enhances the robustness of the presence test infrastructure.

10 filesmaint
6a840e2Dec 29

This commit delivers a **bug fix** for the **container-runtime**'s summarization logic, resolving an issue where the `fullTree` flag was not correctly propagated to `trySummarizeWithRetries`. Previously, the system would always generate incremental summaries, even when **on-demand full tree summaries** were explicitly requested via the `Fluid.Summarizer.FullTree.OnDemand` configuration, due to `fullTree: false` being hardcoded in the retry mechanism. The solution involves modifying `runningSummarizer.ts` to pass `summarizeOptions` through `summarizeOnDemand` and `summarizeOnDemandWithRetries` to `trySummarizeWithRetries`, ensuring the `fullTree` flag is respected. This guarantees that **full tree summaries** are correctly generated when configured, enhancing the reliability and configurability of the **summarization subsystem**. New telemetry verification in end-to-end tests confirms the `fullTree` flag's accurate reflection in `Summarize_generate` events.

2 fileswaste
4c11907Dec 5

This commit **fixes** consistent failures in the **Azure client E2E tests** by updating the `EditManager` format version for ephemeral summary trees. It specifically changes the version from 2 to 3 within `tree7` and `tree8` in `packages/service-clients/end-to-end-tests/azure-client/src/test/ephemeralSummaryTrees.ts`. This **maintenance** addresses an issue where the discontinued format v2 caused **SharedTree** ephemeral container tests to fail in the Service Clients E2E pipeline. The update ensures these critical tests, particularly those using `createContainerWithSharedTree` and `createLoadContainerWithSharedTree`, can execute successfully against current Fluid Framework versions.

1 filesmaint
bc9d88bNov 12

Revert "fix(server): lockdown ioredis-mock dependency (#25715)" (#25718)

6 files–
75166aaOct 20

This commit **locks down the `ioredis-mock` dependency** to version `8.9.0` within the **server** component. This **maintenance fix** addresses a critical build error observed in the **Pages** module when `ioredis-mock` is automatically updated to version `8.13.0` during a feature flag (FF) to Pages bump. By pinning the dependency, the change ensures the stability of the **Pages** build process and mitigates immediate problems, serving as a temporary solution while the root cause of the incompatibility is investigated.

7 files–
a9d0156Oct 15

This commit **temporarily disables** a specific **end-to-end test** within the `packages/test/test-end-to-end-tests/src/test/summarization/onDemandSummarizerApi.spec.ts` suite. The test, named "on-demand summary succeeds while normal summary is inflight", was causing **non-deterministic timeouts** and generating noise in PR checks. This **maintenance change** aims to improve CI stability by skipping the problematic test while further investigation into its flakiness is conducted. The **on-demand summarization feature** itself remains unaffected, but its specific test coverage for this scenario is paused to prevent build failures.

1 filesmaint
4fc1a72Oct 13

This commit introduces a **new capability** for **on-demand summarization** within the **container loader** and **container runtime** subsystems. A new public API, `loadSummarizerContainerAndMakeSummary`, allows external callers to load a dedicated summarizer client, produce a summary, and then dispose of it immediately. To facilitate this, a new `ISummaryConfigurationWithSummaryOnRequest` configuration is added, which modifies the internal **summarizer client election and heuristic logic** to bypass standard operations for these specific requests. This provides a streamlined and efficient method for generating summaries for specific use cases without impacting the regular, long-running summarizer process.

16 filesgrow
100aeffAug 28

This commit introduces **new end-to-end multiprocess tests** for the **`Latest` and `LatestMap` presence state objects** within the `service-clients/azure-client` package. It **enhances the test harness** by refactoring `childClient.ts` and adding new `messageTypes.ts` to enable child clients to register for workspaces, set, and retrieve values for these presence state objects, replacing the `ExperimentalPresenceManager`. A new `orchestratorUtils.ts` file centralizes helper functions for managing child processes and verifying presence state updates. This **testing enhancement** significantly **improves test coverage and reliability** for these critical **presence features**, ensuring their correct behavior in a distributed, multiprocess environment.

4 filesgrow
5fa574aAug 4

This commit introduces a **more granular connection status** for **Fluid container extensions**, resolving an issue where the previous `isConnected` flag was too restrictive for read-only clients. It **enhances the `ContainerRuntime` and `ContainerContext`** by implementing a new `JoinedStatus` (`joinedForReading`, `joinedForWriting`, `disconnected`) and a `getJoinedStatus` method, allowing extensions to accurately determine the client's ability to interact with the service. This **feature enhancement** is critical for **Presence** and other signal-based extensions, enabling them to function correctly and send signals even when a client is in read-only mode. The change involves **API updates** in `container-definitions` and **refactoring** across `container-loader` and `container-runtime` to propagate and utilize this new, accurate connection information.

24 filesmaint
77612f3Jul 22

This commit introduces a **new feature** to the **`container-loader`** package, enabling the configuration of an optional connection retry timeout. A new `retryConnectionTimeoutMs` property has been added to `IContainerCreateProps` and the `Container` class, which is then utilized by the **`ConnectionManager`** to limit the duration of connection retry attempts. This enhancement allows services to define a maximum time for re-establishing a connection, ensuring that actual connection errors are surfaced more quickly rather than prolonged generic timeouts. The change includes implementation in `connectionManager.ts` and corresponding unit tests.

3 filesgrow
7c76de4Jul 8

This commit introduces **telemetry logging** within the **ODSP driver** to monitor join session attempts, failures, and successes. Specifically, it adds logging to the `connectToDeltaStream` function in `odspDelayLoadedDeltaStream.ts` for the first session attempt. This **observability enhancement** aims to diagnose and understand gaps and timeouts occurring after the `SocketModuleLoaded` event, improving insights into the **ODSP driver's delta stream connection process**. The added telemetry will help identify root causes of connection issues and improve the stability of the **ODSP driver**.

1 filesgrow
6f37b54Jul 1

This commit **fixes a flaky end-to-end test** within the `test-end-to-end-tests` package, specifically `groupIdOffline.spec.ts`, which previously failed intermittently due to undefined handles. The issue stemmed from the second container not being fully synchronized after loading. To resolve this, the change introduces `await provider.ensureSynchronized()` to guarantee the container is synced before attempting to retrieve data from its root directory. This **bug fix** significantly improves the reliability of the **data virtualization** test suite, preventing false negatives and ensuring more accurate results for offline group ID functionality.

1 filesmaint
60d1d5fJul 1

This commit delivers a **bug fix** addressing an **eventual consistency bug** within the **`container-runtime`**'s op rebasing mechanism. Previously, `Outbox.flushInternal` incorrectly skipped re-basing for single-message batches, which caused reentrant operations to be mishandled. The fix involves **removing the message length check** in `outbox.ts` to ensure all reentrant ops, including single-message ones, are properly rebased and resubmitted. This change is particularly critical for the **`pact-map`** DDS, where "accept" operations are single-message reentrant ops; `pactMap.ts` is updated to correctly handle and allow resubmission of these "accept" ops, preventing data inconsistencies during migrations.

4 fileswaste
54ac531Jun 4

This commit performs a significant **refactoring** within the **ContainerRuntime** to improve the clarity of connection state management. It renames the misleading `connected` parameter and internal variable to `canSendOps` in various `setConnectionState` methods and related logic. This change clarifies that the boolean indicates whether the container is both connected and able to send operations, rather than just being connected. The **container-definitions API**, **container-loader**, and core **container-runtime** components are updated to reflect this more accurate semantic meaning, enhancing code readability and reducing potential for misinterpretation of connection state.

6 filesmaint
9e7bbd3Jun 2

This commit performs a **refactoring** within the **client-presence** module, specifically **renaming** and standardizing a core type alias. The `AcknowledgmentIdType` alias has been updated to `AcknowledgmentId` within `packages/framework/presence/src/protocol.ts`. This **maintenance** change ensures consistent type definitions for acknowledgment identifiers used in `DatastoreUpdateMessage` and `AcknowledgementMessage` interfaces. The update improves code clarity and consistency for the **presence protocol** without introducing any functional changes.

1 filesmaint
8a2d212Jun 2

This commit introduces a **new capability** for the **client-presence subsystem** by implementing an **acknowledgment mechanism** for targeted signals. It defines new protocol message types, including an `acknowledgementID` field, and updates the `PresenceDatastoreManager` to send targeted acknowledgment messages when an `acknowledgementId` is present in an inbound signal. Furthermore, it enhances the system by passing **runtime feature support** (`supportedFeatures`) to the presence manager, allowing it to dynamically determine the availability of targeted signals. This work is crucial for enabling more reliable and sophisticated signal handling within **Presence**, particularly for future targeted signal capabilities.

10 filesgrow
7178615May 29

This commit **refactors** the **client-presence** package by **removing the deprecated `lookupClient` method** from the `PresenceRuntime` and `StateDatastore` interfaces and their implementations. All previous calls to `lookupClient` are now replaced with the more robust and correctly typed `presence.attendees.getAttendee` API. This change leverages the improved reliability of the `attendees` property within the **Presence** system, simplifying client lookup logic across `latestMapValueManager.ts`, `latestValueManager.ts`, and `presenceStates.ts`. The **refactoring** enhances the internal consistency and correctness of client identification within the **Presence** system, addressing previous typing inaccuracies and streamlining the codebase.

6 filesmaint

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