Developer
Noah Encke
78610362+noencke@users.noreply.github.com
Performance
YoY:+3140%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 |
|---|---|---|---|---|
| 953af52 | This commit introduces a **new capability** by enabling "auto mode" for all **Claude AI models** within AI-enabled codespaces. It configures new `repoverlay` settings for `ff-claude`, `nori`, and `ff-oce` to set `defaultMode: "auto"` and `skipAutoPermissionPrompt: true`. Consequently, aliases like `claude`, `haiku`, `sonnet`, and `opus` will now default to this auto mode, allowing a background classifier to approve or block actions without requiring individual prompts, significantly streamlining the user experience for **AI agent interactions**. The `scripts/codespace-setup/agent-aliases.sh` script and `.devcontainer/ai-agent/GETTING_STARTED.md` documentation are updated to reflect these changes. | Mar 31 | 6 | grow |
| f8f0845 | This commit introduces a **new capability** by adding the `fluid-pr` skill, designed to guide agents in creating well-formed pull requests for the **Fluid Framework**. This **feature addition** provides comprehensive instructions on PR title conventions, proper body structure using the official template (including sections like `## Description`, `## Breaking Changes`, and `## Reviewer Guidance`), and the use of the `gh pr create` command. The new skill, documented in `.claude/skills/fluid-pr/SKILL.md`, enhances agent tooling by standardizing the PR submission process, ensuring adherence to project guidelines. | Mar 27 | 1 | maint |
| bc6669e | This commit introduces a **new `ff-oce-dashboard` skill** for the **OCE copilot agent**, enabling the automatic and efficient generation of a shift status dashboard. This **new capability** leverages parallel sub-agents for improved performance and fault tolerance across services, and the agent will now proactively suggest dashboard generation. Additionally, the `copilot-oce` command has been **refactored** to correctly boot the `ff-oce` agent as the primary agent, replacing the redundant `copilot-kusto` invocation. This **maintenance** and **refactoring** work, alongside a small Kusto querying optimization, significantly enhances the **OCE agent's usability and diagnostic capabilities** by providing a robust and easily repeatable dashboard generation process. | Mar 24 | 4 | grow |
| 56ba312 | This commit **refactors** the **Fluid Framework On-Call Engineer (FF-OCE) agent prompt** (`ff-oce.md`) to significantly improve its organization and clarity. It introduces a new "Quick Reference" section at the top, centralizing critical IDs, names, and constants, which streamlines information access for the agent. Crucially, this update also **fixes a bug** by adding **FF Hot and Azure Fluid Relay (AFR) teams to the ICM team list**, ensuring the agent can correctly identify and reference all relevant on-call teams, not just FFC. Furthermore, the commit consolidates and reorganizes OCE tasks into fewer, more focused subsections, enhancing the agent's ability to process and respond to incidents effectively by separating reference data from behavioral instructions. | Mar 23 | 1 | maint |
| b59e23d | This commit **refactors** the **`treeCheckout` internal API** within the `packages/dds/tree` package by **removing the redundant `branch` method** and consolidating its functionality into the existing `fork` method. The `ITreeCheckout` interface in `treeCheckout.ts` is updated to reflect this change, with all internal call sites in `schematizingTreeView.ts` and `sharedTree.ts` now consistently using `this.checkout.fork()`. This is a purely **internal API consolidation** effort, improving consistency and maintainability by eliminating a duplicate concept. The change has no impact on user-facing APIs, only affecting the internal implementation details of tree branching. | Mar 20 | 13 | maint |
| e80a48e | This commit **removes the deprecated `getBranch` API** from the **`SharedTree` module** within `packages/dds/tree`. This **maintenance** and **refactoring** effort cleans up an unused alpha API, which had no known customers. The core change involves deleting the `getBranch` implementation and updating numerous **test files** to utilize alternative branching mechanisms, such as the `fork` API or direct checkout access. This streamlines the API surface and includes **migration guidance** in the documentation for any potential downstream consumers. | Mar 20 | 11 | maint |
| c6702ba | This commit introduces a significant **refactoring** in the `shared-tree` package, where the `Checkout` object now **implements `TreeBranchAlpha`**, directly preparing for the future exposure of branches as a user-facing API. Key **transaction and branching logic**, including `runTransaction`, `merge`, and `rebaseOnto`, has been **relocated from `schematizingTreeView` into `treeCheckout.ts`**, with the view now delegating these operations. This **architectural change** simplifies internal delegation, makes the `rebase` function private, and updates associated test mocks to reflect `ITreeCheckout`'s new interface. The work is a foundational **preparation for a new capability**, aligning the `Checkout` object with its intended role as the primary "branch" object for users. | Mar 20 | 8 | maint |
| 6fd6ae7 | This commit significantly **improves the `ff-oce` agent's prompts and its Kusto querying capabilities**. It **enhances the `ff-oce` agent** by integrating the **WorkIQ MCP server** and adding detailed instructions for internal wiki navigation, testing Feature Flag changes against `office-bohemia`, and decoding ADO build API result codes. Concurrently, it **fixes the Kusto correlation ID hierarchy** within the `ff-oce-kusto` skill by replacing `Data_docId` with `Data_pageCorrelationId`. Additionally, a new section for **App Identification Fields** and a Kusto query example for error volume by `App_Name` are added to the Kusto query reference, collectively **improving the agent's operational guidance and the accuracy and utility of Kusto queries** for application-specific analysis. | Mar 18 | 3 | grow |
| fee491f | This commit **removes the `commitApplied` event** from the **tree branch** component, as it has been **superseded by the `changed` event**. This change primarily affects the **alpha version** of the `commitApplied` event, with the public version remaining untouched. It constitutes a **breaking change** for alpha users, who must now switch to using the `changed` event for relevant notifications. This is a **maintenance** and **refactoring** effort to streamline event handling within the tree branch subsystem. | Mar 18 | 6 | – |
| 3f16ac9 | This commit **refactors** the **`TreeBranchEvents` interface** within the **`@fluidframework/tree` DDS package** by removing its extension from `TreeViewEvents` and the omission of `commitApplied`. This change **decouples view-specific events from tree branches**, aligning with an ongoing architectural effort to treat branches as distinct entities from views. As a **breaking alpha API change**, consumers of `TreeBranchEvents` will need to adjust, now requiring the use of `hasRootSchema` to access view-related events if needed. The **`simple-tree` API** is updated to reflect this separation, and the **API reports** for `tree.alpha.api.md` and `fluid-framework.alpha.api.md` are adjusted accordingly. | Mar 18 | 3 | maint |
| 4e7f86c | This commit introduces **fault isolation** for **SharedTree branches**, ensuring that an error in one branch or view will only affect that specific instance, rather than the entire application. This **new capability** is implemented by providing each forked `SharedTree` checkout with its own `Breakable` instance, passed via an updated `clone` method signature in `IForestSubscription`, `chunkedForest`, and `objectForest`. Consequently, applications can now safely discard a faulty branch without impacting other active branches, significantly improving the **robustness** of the `SharedTree` subsystem. A minor **refactoring** also removes the unused `anchorset` parameter from the `forest.clone` API. | Mar 17 | 7 | maint |
| 74a3d1a | This commit introduces a **critical bug fix** to the `SharedTree`'s `applySerializedChange` method, resolving an **invariant violation** where only the view state was updated, not the underlying commit graph. The **core logic for applying changes** in `treeCheckout.ts` is now corrected to properly apply changes to the transaction branch and tag them with the revision, ensuring **data consistency** between the view and the commit graph. This significantly improves the **robustness of `SharedTree` operations**, especially concerning serialized changes and undo/redo capabilities. Comprehensive new tests have been added to `tree.spec.ts` to validate the corrected behavior, including scenarios involving transactions and revertibles. | Mar 4 | 2 | waste |
| 7275bb6 | This commit performs a **refactoring and cleanup** of the **`shared-tree` transaction management system**. It **removes the redundant `isInProgress()` method** from the `Transactor` interface and `TransactionStack` class, replacing all its usages with direct checks against the `size` property. Additionally, the `Transactor.size` method has been converted into a property for improved API consistency. This change impacts how transaction status is queried across various `SharedTree` operations, including mounting, applying operations, branching, and merging. The update simplifies the internal transaction API and is reflected in corresponding test updates across the `shared-tree` and `shared-tree-core` modules. | Feb 25 | 8 | maint |
| 5a266cf | This commit significantly **improves the alpha SharedTree transaction API** in preparation for its beta promotion. It **enhances `TreeContextAlpha.runTransaction`** by adding support for `params`, aligning its signature with `TreeBranchAlpha.runTransaction` for greater consistency across **SharedTree's transactional capabilities**. A key **behavior change** is introduced where **asynchronous transactions now explicitly error if another transaction is already in progress**, enforcing a more conservative concurrency policy to improve robustness. Additionally, the commit includes **refactoring** such as moving `UnhydratedTreeContext` to its own file and cleaning up the `Transactor` API by removing the `isAsync` parameter. These changes streamline the API, improve robustness, and clarify usage for developers working with **SharedTree's transactional capabilities** through **comprehensive documentation improvements**. | Feb 23 | 20 | maint |
| ffa62f4 | This commit introduces a **new `Tree.context` API** within the **`packages/dds/tree`** module, providing a more generalized way to interact with tree nodes. This **refactoring** establishes `TreeContext` as the most general type, enabling operations like `runTransaction` on both hydrated and unhydrated nodes, thereby simplifying transaction management. Consequently, the less semantically clear `Tree.branch` API is **deprecated**, requiring consumers to adopt `Tree.context().isBranch()` for accessing tree branches. This change enhances the clarity and consistency of the **Simple-tree API** by refining the hierarchy of tree access types and improving the robustness of transaction handling. | Feb 19 | 13 | grow |
| 69c8d0c | This commit **improves API clarity** by **removing the `@system` API release tag** from the `Tree`, `TreeAlpha`, and `TreeBeta` interfaces within the **`packages/dds/tree`** and **`packages/framework/fluid-framework`** modules. This **documentation maintenance** addresses an issue where the tag, present only on the type definitions, incorrectly caused a "system API warning" to appear in the documentation for these publicly intended APIs. By removing this misleading tag, the change resolves potential confusion for users and LLMs, encouraging broader adoption of these core data structure APIs. The modification primarily affects API report files and JSDoc comments, ensuring a more accurate representation of the intended API surface without altering the underlying functionality. | Feb 11 | 13 | maint |
| 18b0e28 | This commit performs a significant **refactoring** across the **`tree-agent`** and **`tree-agent-langchain`** packages by **removing all Zod-based implementations** for method and property schema annotations. The change standardizes the internal type definition system to exclusively use `typeFactory`, which supersedes the previous Zod integration. This impacts core components like `methodBinding.ts`, `propertyBinding.ts`, and `renderSchemaTypeScript.ts` within `tree-agent`, as well as the `chatModel.ts` in `tree-agent-langchain`, ensuring all schema generation and handling now relies on the unified `typeFactory` approach. The work simplifies the codebase, removes a dependency, and establishes a more consistent and maintainable type system for defining agent capabilities. | Feb 10 | 14 | maint |
| d7cec0a | This commit performs a **refactoring** within the **Tree Agent framework** to **simplify the type factory schema rendering logic**. It **removes an unnecessary `instanceOfLookup` map** from the `renderTypeFactoryTypeScript` function, as the required schema information is now directly accessible on the type object itself. This change **reduces code complexity** and **improves maintainability** by eliminating a redundant data structure that was an artifact of a previous migration. Specifically, the `renderType` function in `renderSchemaTypeScript.ts` no longer passes the `instanceOfsTypeFactory` parameter, and `renderTypeFactoryTypeScript.ts` directly accesses the schema. Associated test files, such as `typeFactory.spec.ts` and `typeFactoryRendering.spec.ts`, have been updated to reflect the removal of this map and its related assertions. | Feb 5 | 7 | maint |
| 8fe5725 | This commit significantly **refactors** and **optimizes** the **SharedTree's internal comparison functions** and B-tree implementations. It removes the performance-bottlenecking `defaultComparator` from `sorted-btree` and introduces new, type-safe comparators for core types like `ChangesetLocalId` and `RevisionTag`. A critical **bug fix** addresses an issue in the `RevisionTag` comparator where 'root' was incorrectly equated with numbers. These changes improve the **robustness, type safety, and performance** of SharedTree's change processing and data structures. | Jan 31 | 14 | maint |
| 095e0ea | This commit introduces **new `TypeFactory` types** within the **`tree-agent` framework**, enabling the definition and rendering of `date`, `promise`, `intersection`, and `function` types in generated TypeScript. This **new capability** significantly expands the expressiveness of the `tree-agent`'s schema definition by extending `treeAgentTypes.ts` and implementing rendering logic in `renderTypeFactoryTypeScript.ts`. Additionally, it includes a **refactoring** of the TypeScript rendering logic in `renderSchemaTypeScript.ts` to improve line indentation for multi-line types, methods, and properties, enhancing the readability of the output. The `prompt` generation has been updated to utilize these new `typeFactory` features, showcasing a more representative use of functions and improving the overall quality of generated code. | Jan 16 | 8 | grow |
This commit introduces a **new capability** by enabling "auto mode" for all **Claude AI models** within AI-enabled codespaces. It configures new `repoverlay` settings for `ff-claude`, `nori`, and `ff-oce` to set `defaultMode: "auto"` and `skipAutoPermissionPrompt: true`. Consequently, aliases like `claude`, `haiku`, `sonnet`, and `opus` will now default to this auto mode, allowing a background classifier to approve or block actions without requiring individual prompts, significantly streamlining the user experience for **AI agent interactions**. The `scripts/codespace-setup/agent-aliases.sh` script and `.devcontainer/ai-agent/GETTING_STARTED.md` documentation are updated to reflect these changes.
This commit introduces a **new capability** by adding the `fluid-pr` skill, designed to guide agents in creating well-formed pull requests for the **Fluid Framework**. This **feature addition** provides comprehensive instructions on PR title conventions, proper body structure using the official template (including sections like `## Description`, `## Breaking Changes`, and `## Reviewer Guidance`), and the use of the `gh pr create` command. The new skill, documented in `.claude/skills/fluid-pr/SKILL.md`, enhances agent tooling by standardizing the PR submission process, ensuring adherence to project guidelines.
This commit introduces a **new `ff-oce-dashboard` skill** for the **OCE copilot agent**, enabling the automatic and efficient generation of a shift status dashboard. This **new capability** leverages parallel sub-agents for improved performance and fault tolerance across services, and the agent will now proactively suggest dashboard generation. Additionally, the `copilot-oce` command has been **refactored** to correctly boot the `ff-oce` agent as the primary agent, replacing the redundant `copilot-kusto` invocation. This **maintenance** and **refactoring** work, alongside a small Kusto querying optimization, significantly enhances the **OCE agent's usability and diagnostic capabilities** by providing a robust and easily repeatable dashboard generation process.
This commit **refactors** the **Fluid Framework On-Call Engineer (FF-OCE) agent prompt** (`ff-oce.md`) to significantly improve its organization and clarity. It introduces a new "Quick Reference" section at the top, centralizing critical IDs, names, and constants, which streamlines information access for the agent. Crucially, this update also **fixes a bug** by adding **FF Hot and Azure Fluid Relay (AFR) teams to the ICM team list**, ensuring the agent can correctly identify and reference all relevant on-call teams, not just FFC. Furthermore, the commit consolidates and reorganizes OCE tasks into fewer, more focused subsections, enhancing the agent's ability to process and respond to incidents effectively by separating reference data from behavioral instructions.
This commit **refactors** the **`treeCheckout` internal API** within the `packages/dds/tree` package by **removing the redundant `branch` method** and consolidating its functionality into the existing `fork` method. The `ITreeCheckout` interface in `treeCheckout.ts` is updated to reflect this change, with all internal call sites in `schematizingTreeView.ts` and `sharedTree.ts` now consistently using `this.checkout.fork()`. This is a purely **internal API consolidation** effort, improving consistency and maintainability by eliminating a duplicate concept. The change has no impact on user-facing APIs, only affecting the internal implementation details of tree branching.
This commit **removes the deprecated `getBranch` API** from the **`SharedTree` module** within `packages/dds/tree`. This **maintenance** and **refactoring** effort cleans up an unused alpha API, which had no known customers. The core change involves deleting the `getBranch` implementation and updating numerous **test files** to utilize alternative branching mechanisms, such as the `fork` API or direct checkout access. This streamlines the API surface and includes **migration guidance** in the documentation for any potential downstream consumers.
This commit introduces a significant **refactoring** in the `shared-tree` package, where the `Checkout` object now **implements `TreeBranchAlpha`**, directly preparing for the future exposure of branches as a user-facing API. Key **transaction and branching logic**, including `runTransaction`, `merge`, and `rebaseOnto`, has been **relocated from `schematizingTreeView` into `treeCheckout.ts`**, with the view now delegating these operations. This **architectural change** simplifies internal delegation, makes the `rebase` function private, and updates associated test mocks to reflect `ITreeCheckout`'s new interface. The work is a foundational **preparation for a new capability**, aligning the `Checkout` object with its intended role as the primary "branch" object for users.
This commit significantly **improves the `ff-oce` agent's prompts and its Kusto querying capabilities**. It **enhances the `ff-oce` agent** by integrating the **WorkIQ MCP server** and adding detailed instructions for internal wiki navigation, testing Feature Flag changes against `office-bohemia`, and decoding ADO build API result codes. Concurrently, it **fixes the Kusto correlation ID hierarchy** within the `ff-oce-kusto` skill by replacing `Data_docId` with `Data_pageCorrelationId`. Additionally, a new section for **App Identification Fields** and a Kusto query example for error volume by `App_Name` are added to the Kusto query reference, collectively **improving the agent's operational guidance and the accuracy and utility of Kusto queries** for application-specific analysis.
This commit **removes the `commitApplied` event** from the **tree branch** component, as it has been **superseded by the `changed` event**. This change primarily affects the **alpha version** of the `commitApplied` event, with the public version remaining untouched. It constitutes a **breaking change** for alpha users, who must now switch to using the `changed` event for relevant notifications. This is a **maintenance** and **refactoring** effort to streamline event handling within the tree branch subsystem.
This commit **refactors** the **`TreeBranchEvents` interface** within the **`@fluidframework/tree` DDS package** by removing its extension from `TreeViewEvents` and the omission of `commitApplied`. This change **decouples view-specific events from tree branches**, aligning with an ongoing architectural effort to treat branches as distinct entities from views. As a **breaking alpha API change**, consumers of `TreeBranchEvents` will need to adjust, now requiring the use of `hasRootSchema` to access view-related events if needed. The **`simple-tree` API** is updated to reflect this separation, and the **API reports** for `tree.alpha.api.md` and `fluid-framework.alpha.api.md` are adjusted accordingly.
This commit introduces **fault isolation** for **SharedTree branches**, ensuring that an error in one branch or view will only affect that specific instance, rather than the entire application. This **new capability** is implemented by providing each forked `SharedTree` checkout with its own `Breakable` instance, passed via an updated `clone` method signature in `IForestSubscription`, `chunkedForest`, and `objectForest`. Consequently, applications can now safely discard a faulty branch without impacting other active branches, significantly improving the **robustness** of the `SharedTree` subsystem. A minor **refactoring** also removes the unused `anchorset` parameter from the `forest.clone` API.
This commit introduces a **critical bug fix** to the `SharedTree`'s `applySerializedChange` method, resolving an **invariant violation** where only the view state was updated, not the underlying commit graph. The **core logic for applying changes** in `treeCheckout.ts` is now corrected to properly apply changes to the transaction branch and tag them with the revision, ensuring **data consistency** between the view and the commit graph. This significantly improves the **robustness of `SharedTree` operations**, especially concerning serialized changes and undo/redo capabilities. Comprehensive new tests have been added to `tree.spec.ts` to validate the corrected behavior, including scenarios involving transactions and revertibles.
This commit performs a **refactoring and cleanup** of the **`shared-tree` transaction management system**. It **removes the redundant `isInProgress()` method** from the `Transactor` interface and `TransactionStack` class, replacing all its usages with direct checks against the `size` property. Additionally, the `Transactor.size` method has been converted into a property for improved API consistency. This change impacts how transaction status is queried across various `SharedTree` operations, including mounting, applying operations, branching, and merging. The update simplifies the internal transaction API and is reflected in corresponding test updates across the `shared-tree` and `shared-tree-core` modules.
This commit significantly **improves the alpha SharedTree transaction API** in preparation for its beta promotion. It **enhances `TreeContextAlpha.runTransaction`** by adding support for `params`, aligning its signature with `TreeBranchAlpha.runTransaction` for greater consistency across **SharedTree's transactional capabilities**. A key **behavior change** is introduced where **asynchronous transactions now explicitly error if another transaction is already in progress**, enforcing a more conservative concurrency policy to improve robustness. Additionally, the commit includes **refactoring** such as moving `UnhydratedTreeContext` to its own file and cleaning up the `Transactor` API by removing the `isAsync` parameter. These changes streamline the API, improve robustness, and clarify usage for developers working with **SharedTree's transactional capabilities** through **comprehensive documentation improvements**.
This commit introduces a **new `Tree.context` API** within the **`packages/dds/tree`** module, providing a more generalized way to interact with tree nodes. This **refactoring** establishes `TreeContext` as the most general type, enabling operations like `runTransaction` on both hydrated and unhydrated nodes, thereby simplifying transaction management. Consequently, the less semantically clear `Tree.branch` API is **deprecated**, requiring consumers to adopt `Tree.context().isBranch()` for accessing tree branches. This change enhances the clarity and consistency of the **Simple-tree API** by refining the hierarchy of tree access types and improving the robustness of transaction handling.
This commit **improves API clarity** by **removing the `@system` API release tag** from the `Tree`, `TreeAlpha`, and `TreeBeta` interfaces within the **`packages/dds/tree`** and **`packages/framework/fluid-framework`** modules. This **documentation maintenance** addresses an issue where the tag, present only on the type definitions, incorrectly caused a "system API warning" to appear in the documentation for these publicly intended APIs. By removing this misleading tag, the change resolves potential confusion for users and LLMs, encouraging broader adoption of these core data structure APIs. The modification primarily affects API report files and JSDoc comments, ensuring a more accurate representation of the intended API surface without altering the underlying functionality.
This commit performs a significant **refactoring** across the **`tree-agent`** and **`tree-agent-langchain`** packages by **removing all Zod-based implementations** for method and property schema annotations. The change standardizes the internal type definition system to exclusively use `typeFactory`, which supersedes the previous Zod integration. This impacts core components like `methodBinding.ts`, `propertyBinding.ts`, and `renderSchemaTypeScript.ts` within `tree-agent`, as well as the `chatModel.ts` in `tree-agent-langchain`, ensuring all schema generation and handling now relies on the unified `typeFactory` approach. The work simplifies the codebase, removes a dependency, and establishes a more consistent and maintainable type system for defining agent capabilities.
This commit performs a **refactoring** within the **Tree Agent framework** to **simplify the type factory schema rendering logic**. It **removes an unnecessary `instanceOfLookup` map** from the `renderTypeFactoryTypeScript` function, as the required schema information is now directly accessible on the type object itself. This change **reduces code complexity** and **improves maintainability** by eliminating a redundant data structure that was an artifact of a previous migration. Specifically, the `renderType` function in `renderSchemaTypeScript.ts` no longer passes the `instanceOfsTypeFactory` parameter, and `renderTypeFactoryTypeScript.ts` directly accesses the schema. Associated test files, such as `typeFactory.spec.ts` and `typeFactoryRendering.spec.ts`, have been updated to reflect the removal of this map and its related assertions.
This commit significantly **refactors** and **optimizes** the **SharedTree's internal comparison functions** and B-tree implementations. It removes the performance-bottlenecking `defaultComparator` from `sorted-btree` and introduces new, type-safe comparators for core types like `ChangesetLocalId` and `RevisionTag`. A critical **bug fix** addresses an issue in the `RevisionTag` comparator where 'root' was incorrectly equated with numbers. These changes improve the **robustness, type safety, and performance** of SharedTree's change processing and data structures.
This commit introduces **new `TypeFactory` types** within the **`tree-agent` framework**, enabling the definition and rendering of `date`, `promise`, `intersection`, and `function` types in generated TypeScript. This **new capability** significantly expands the expressiveness of the `tree-agent`'s schema definition by extending `treeAgentTypes.ts` and implementing rendering logic in `renderTypeFactoryTypeScript.ts`. Additionally, it includes a **refactoring** of the TypeScript rendering logic in `renderSchemaTypeScript.ts` to improve line indentation for multi-line types, methods, and properties, enhancing the readability of the output. The `prompt` generation has been updated to utilize these new `typeFactory` features, showcasing a more representative use of functions and improving the overall quality of generated code.
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.