NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

João Westerberg

Developer

João Westerberg

westerberg@google.com

37 commits~9 files/commit

Performance

2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthMar'26635 performance
Growth Trend↑132%vs prior period
Avg Files/Commit9files per commit
Active Days24of 455 days
Top Repoadk-go37 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.

31%Productive TimeGrowth 78% + Fixes 22%
35%Maintenance Time
34%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
e44b228This commit introduces a **new shared test suite** (`session/session_test/service_suite.go`) to **standardize testing** for various session service implementations within the **`session` module**. It **refactors existing tests** for the `database`, `inmemory`, and `vertexai` session services to utilize this common suite, reducing test code duplication. This **refactoring** significantly improves the **test infrastructure** by ensuring consistent and comprehensive validation across different session backends. The change enhances maintainability and reliability for the core session management functionality.Mar 3156maint
68be1e5This commit **fixes a bug** within the **LLM streaming response aggregator** (`internal/llminternal/stream_aggregator`) where the `Close` method failed to correctly preserve and propagate critical information. Specifically, **original error codes, error messages, and the LLM's finish reason** were not consistently maintained during stream aggregation. This ensures that downstream consumers reliably receive **accurate termination details** for LLM responses, particularly in scenarios involving tool calls or unexpected stream endings. The fix is validated by new test cases and updates to existing test expectations, confirming proper preservation of these details.Mar 243maint
d2bedd0This commit implements **conformance fixes** to support changes in the YAML format and progressive SSE, primarily by enhancing the **replay plugin** within the conformance testing framework. It **modifies the `LLMRecording` structure** to allow for multiple LLM responses and updates the `replay_plugin` logic to correctly retrieve and verify these. A new mechanism is introduced in `invocation_replay_state` to **track consumed recordings**, improving the accuracy and robustness of **conformance testing** for complex LLM interactions. Minor style adjustments were also made to descriptions in `internal/configurable/conformance/functions.go` and `tool/exitlooptool/tool.go`.Mar 236grow
81dfe5eThis commit introduces **progressive Server-Sent Events (SSE)** support to the `streamingResponseAggregator` and enables **parallel execution of function calls** within the LLM's `base_flow`. This **new capability** significantly enhances the efficiency and responsiveness of streaming interactions by allowing partial text and function call arguments to be processed as they arrive, and by executing multiple function calls concurrently. The `internal/llminternal/stream_aggregator.go` module was **refactored** to manage this progressive aggregation, while `internal/llminternal/base_flow.go` was updated to orchestrate parallel function calls via `runOneStep` and `handleFunctionCalls`. Additionally, a **bug fix** in `Genai2LLMResponse` addresses correct handling of `FinishReasonStop` with empty content, ensuring more robust response processing. Extensive **testing** was added to validate these new features, including replay tests for parallel function calls across various Gemini models.Mar 1711maint
2cd8611This commit introduces a **new capability** by registering an `ExampleTool` factory within the `configurable` system, allowing for dynamic creation and integration of this new tool. It also **enhances the `LLM Agent`'s instruction generation** for agent transfers, specifically by modifying how existing parts of the prompt are updated and including formatted target names. The work includes **refactoring** within the `replay plugin` to adjust error handling and remove unnecessary delays. A significant portion of this commit involves **updating numerous HTTP replay test data files** across various `agent` and `tool` modules to align with the revised system instructions and tool definitions, ensuring the test suite remains consistent with the updated LLM prompt structures.Mar 1139maint
487e99bThis commit introduces a **new capability** by adding a configurable `pathPrefix` to the **API launcher**, enabling custom routing paths for the API. The `cmd/launcher/web/api/api.go` module now supports normalizing leading and trailing slashes for this prefix, enhancing flexibility in **API endpoint configuration**. Concurrently, the `cmd/launcher/web/web.go` module receives a **fix** to correctly iterate and set up only active sub-launchers, improving the robustness of the web launcher's initialization. This work provides greater control over **API routing** and refines the overall launcher architecture.Mar 103waste
3ad76f7This commit introduces a **new feature** by adding `RunOption` types to the **`runner` module**, most notably the `WithStateDelta` option, to enhance state management during execution. The `Run` and `appendMessageToSession` methods in `runner/runner.go` are modified to accept and process these new options, allowing for dynamic state adjustments. Furthermore, the `RunSSEHandler` in `server/adkrest/controllers/runtime.go` is updated to incorporate `runner.WithStateDelta`, enabling the passing of **state deltas from incoming requests** directly to the runner. This significantly improves the flexibility of the **runner's execution context**, allowing external systems to influence its state dynamically.Mar 102grow
7dc8c38This commit primarily delivers a **feature enhancement** for the **Gemini tool** and improves the **formatting of tool names** within LLM outputs. The `geminitool` now accepts a **custom description** during its instantiation, providing greater flexibility, with `RegisterToolFactory` updated to pass this new argument. Concurrently, the `internal/llminternal/contents_processor` module has been refined to display tool names in generated function call and response messages using backticks, significantly enhancing readability. This work also includes a minor formatting adjustment for the `exit_loop` tool's description and comprehensive test updates to align with these changes. The overall impact is a more adaptable `geminitool` and clearer, more consistent presentation of tool interactions.Mar 109maint
9e3f789This commit performs a **refactoring** and **maintenance** task by ensuring the `ArtifactDelta` field within `session.EventActions` is consistently initialized to an empty map. This change primarily affects the **event handling and callback mechanisms** across the `agent`, `internal/context`, `internal/llminternal`, and `session` modules, preventing potential nil pointer issues when accessing artifact change tracking data. Specifically, `ArtifactDelta` is now initialized during event creation via `session.NewEvent` and within various callback context and agent flow functions like `NewCallbackContext` and `runBeforeAgentCallbacks`. Numerous **unit tests** across the system have been updated to correctly reflect this new initialization behavior, ensuring robust handling of artifact deltas.Mar 914maint
95eeec3This commit introduces a **new capability** by adding an **example tool** within the `tool/exampletool` module, designed to enhance LLM requests. This tool dynamically injects few-shot examples as system instructions into the LLM prompt, improving the model's contextual understanding and response quality. It incorporates crucial **sanitization logic** for boundary tags like "End few-shot" to prevent prompt manipulation. Comprehensive unit tests in `tool/exampletool/tool_test.go` validate its functionality across various scenarios, including different model types and example formats, ensuring robust and reliable operation.Mar 92maint
d8e57c0This commit introduces a **new `replayPlugin`** within the **ADK conformance framework**, designed to enable deterministic replay of recorded LLM and tool interactions. The plugin, implemented primarily in `replay_plugin.go`, intercepts ADK callbacks such as `beforeModel` and `beforeTool` to mock responses using pre-defined `LLMRecording` and `ToolRecording` data structures. This **new capability** significantly enhances **conformance testing** by providing a reliable mechanism to validate agent logic against fixed interaction sequences, improving test stability and debugging efficiency. It also includes utilities in `yaml_utils.go` to normalize "Python-isms" in recorded data, ensuring seamless unmarshaling and broader compatibility for the replay process.Mar 95grow
9eb5c28This commit **introduces a new configurable agent system** and an **ADK CLI initializer**, enabling the definition and loading of agents, tools, and callbacks directly from YAML configurations. It establishes the `internal/configurable` package with utilities for registering and resolving these components, alongside conformance examples for various functions and callbacks. The new `cmd/internal/adkcli/main.go` provides a CLI entry point to scan for `root_agent.yaml` files and launch agents, significantly enhancing the **Agent Development Kit's (ADK) initialization and configurability** for testing and deployment.Mar 68grow
e820a66This commit introduces a **feature enhancement** to the **`model/gemini` package** by integrating an `http.RoundTripper` to merge additional header values into outgoing requests. Concurrently, it implements a **defensive programming fix** within the `NewModel` constructor, ensuring that the provided `http.Client` configuration is copied to prevent unintended mutation of the original client. This change significantly improves the **flexibility of API request customization** for the Gemini model and enhances **client configuration stability**, verified by new comprehensive test cases.Mar 54maint
3bd585cThis commit **enhances the data models** for `LLMResponse` and `adkrest` events to include previously missing fields. Specifically, a **new `ModelVersion` field** is added to the `model.LLMResponse` struct, which is now populated from `genai` responses via `internal/llminternal/converters/converters.go`, providing more granular model information. Concurrently, the **`server/adkrest/internal/models` event data model** is expanded with additional fields, and a custom `MarshalJSON` method is introduced to correctly handle `genai.FunctionCall` arguments. This **feature enhancement** improves data fidelity and compatibility across the system, particularly for LLM responses and event logging within the `adkrest` module, with corresponding **test cases** updated to reflect these model changes.Mar 56grow
5763064This commit **refactors** the **`SequentialAgent`** within the `agent/workflowagents` subsystem by **removing its direct dependency on `LoopAgent`**. This significant architectural change simplifies the `SequentialAgent`'s internal structure and execution model, promoting greater independence. The creation logic for `New` has been reimplemented, and a new `Run` method is introduced to enable direct sequential execution, streamlining how sequential workflows are managed. This work enhances the modularity and maintainability of the agent system by reducing inter-agent coupling.Mar 41maint
7cffa80This commit primarily **fixes race conditions and deadlocks** within the **parallel agent** and **session management** subsystems. It introduces **thread-safe event appending and state updates** in `InMemorySession` by adding mutexes and cloning data, while also modifying the `All` method in `session/database/session.go` to prevent deadlocks. These changes ensure proper synchronization between sub-agents and the main runner, centralizing concurrency management and preventing data corruption. New tests, including `TestParallelAgent_StateSync` and a deadlock test for `AppendEvent`, have been added to validate these concurrency fixes. This significantly improves the **stability and reliability** of concurrent operations and parallel agent execution.Mar 47waste
762bb0eThis commit introduces a **new `functioncallmodifier` plugin** to enhance the **LLM agent's ability to dynamically manage and process function calls**. This **new capability** allows the system to **modify function call declarations before model invocation** and then **extract specific arguments to the session state after the model's response**. To support this, the `internal/llminternal/base_flow.go` module was updated to populate function call IDs in LLM responses, ensuring proper integration. The plugin is thoroughly covered by **new unit and integration tests**, with related test infrastructure refactored to use a shared Gemini client configuration utility.Feb 612maint
7535be3This commit provides a **bug fix** to ensure **temporary state deltas** are correctly applied to the **local session state** within an invocation, preventing inconsistencies and potential panics. Specifically, the `session` module's `appendEvent` and `updateSessionState` methods across `database`, `inmemory`, and `vertexai` implementations were modified to apply these deltas locally while trimming them before persistence in the event history. This reordering and explicit handling of temporary state ensures that agents, such as the `loopagent`, operate with the most current session data. A nil check was also added in `agent/workflowagents/loopagent/agent.go` as a defensive measure. New tests were added to verify this behavior across different session types, significantly improving overall **session management reliability**.Feb 69waste
b1b9bd8This commit introduces a **new feature** to enable **human-in-the-loop confirmation** for actions performed by **MCP toolsets**. It integrates confirmation logic into the `Run` method of `tool/functiontool/function.go`, allowing tools to request user approval based on either static configuration flags or dynamic `RequireConfirmationProvider` implementations defined within `tool/mcptoolset/set.go`. This enhancement provides greater **safety and control** by requiring explicit user consent before sensitive operations are executed by **MCP tools**. The change includes comprehensive test cases and new HTTP recording data to validate various confirmation scenarios.Feb 215maint
af06c01This commit **fixes a bug** where the `InvocationID` was incorrectly replaced or lost when an `InvocationContext` was duplicated or updated. The core change modifies the `internal/context` package, ensuring `NewInvocationContext` preserves an existing `InvocationID` and the `InvocationID` accessor uses the stored parameter. This fix propagates the correct `InvocationID` within the **LLM agent's** `run` method, the **parallel agent's** sub-agent context creation, and the **runner's** context updates during message appending. The change guarantees consistent invocation tracking across various agent and runner operations, significantly improving traceability and debugging.Feb 24waste
e44b228Mar 31

This commit introduces a **new shared test suite** (`session/session_test/service_suite.go`) to **standardize testing** for various session service implementations within the **`session` module**. It **refactors existing tests** for the `database`, `inmemory`, and `vertexai` session services to utilize this common suite, reducing test code duplication. This **refactoring** significantly improves the **test infrastructure** by ensuring consistent and comprehensive validation across different session backends. The change enhances maintainability and reliability for the core session management functionality.

56 filesmaint
68be1e5Mar 24

This commit **fixes a bug** within the **LLM streaming response aggregator** (`internal/llminternal/stream_aggregator`) where the `Close` method failed to correctly preserve and propagate critical information. Specifically, **original error codes, error messages, and the LLM's finish reason** were not consistently maintained during stream aggregation. This ensures that downstream consumers reliably receive **accurate termination details** for LLM responses, particularly in scenarios involving tool calls or unexpected stream endings. The fix is validated by new test cases and updates to existing test expectations, confirming proper preservation of these details.

3 filesmaint
d2bedd0Mar 23

This commit implements **conformance fixes** to support changes in the YAML format and progressive SSE, primarily by enhancing the **replay plugin** within the conformance testing framework. It **modifies the `LLMRecording` structure** to allow for multiple LLM responses and updates the `replay_plugin` logic to correctly retrieve and verify these. A new mechanism is introduced in `invocation_replay_state` to **track consumed recordings**, improving the accuracy and robustness of **conformance testing** for complex LLM interactions. Minor style adjustments were also made to descriptions in `internal/configurable/conformance/functions.go` and `tool/exitlooptool/tool.go`.

6 filesgrow
81dfe5eMar 17

This commit introduces **progressive Server-Sent Events (SSE)** support to the `streamingResponseAggregator` and enables **parallel execution of function calls** within the LLM's `base_flow`. This **new capability** significantly enhances the efficiency and responsiveness of streaming interactions by allowing partial text and function call arguments to be processed as they arrive, and by executing multiple function calls concurrently. The `internal/llminternal/stream_aggregator.go` module was **refactored** to manage this progressive aggregation, while `internal/llminternal/base_flow.go` was updated to orchestrate parallel function calls via `runOneStep` and `handleFunctionCalls`. Additionally, a **bug fix** in `Genai2LLMResponse` addresses correct handling of `FinishReasonStop` with empty content, ensuring more robust response processing. Extensive **testing** was added to validate these new features, including replay tests for parallel function calls across various Gemini models.

11 filesmaint
2cd8611Mar 11

This commit introduces a **new capability** by registering an `ExampleTool` factory within the `configurable` system, allowing for dynamic creation and integration of this new tool. It also **enhances the `LLM Agent`'s instruction generation** for agent transfers, specifically by modifying how existing parts of the prompt are updated and including formatted target names. The work includes **refactoring** within the `replay plugin` to adjust error handling and remove unnecessary delays. A significant portion of this commit involves **updating numerous HTTP replay test data files** across various `agent` and `tool` modules to align with the revised system instructions and tool definitions, ensuring the test suite remains consistent with the updated LLM prompt structures.

39 filesmaint
487e99bMar 10

This commit introduces a **new capability** by adding a configurable `pathPrefix` to the **API launcher**, enabling custom routing paths for the API. The `cmd/launcher/web/api/api.go` module now supports normalizing leading and trailing slashes for this prefix, enhancing flexibility in **API endpoint configuration**. Concurrently, the `cmd/launcher/web/web.go` module receives a **fix** to correctly iterate and set up only active sub-launchers, improving the robustness of the web launcher's initialization. This work provides greater control over **API routing** and refines the overall launcher architecture.

3 fileswaste
3ad76f7Mar 10

This commit introduces a **new feature** by adding `RunOption` types to the **`runner` module**, most notably the `WithStateDelta` option, to enhance state management during execution. The `Run` and `appendMessageToSession` methods in `runner/runner.go` are modified to accept and process these new options, allowing for dynamic state adjustments. Furthermore, the `RunSSEHandler` in `server/adkrest/controllers/runtime.go` is updated to incorporate `runner.WithStateDelta`, enabling the passing of **state deltas from incoming requests** directly to the runner. This significantly improves the flexibility of the **runner's execution context**, allowing external systems to influence its state dynamically.

2 filesgrow
7dc8c38Mar 10

This commit primarily delivers a **feature enhancement** for the **Gemini tool** and improves the **formatting of tool names** within LLM outputs. The `geminitool` now accepts a **custom description** during its instantiation, providing greater flexibility, with `RegisterToolFactory` updated to pass this new argument. Concurrently, the `internal/llminternal/contents_processor` module has been refined to display tool names in generated function call and response messages using backticks, significantly enhancing readability. This work also includes a minor formatting adjustment for the `exit_loop` tool's description and comprehensive test updates to align with these changes. The overall impact is a more adaptable `geminitool` and clearer, more consistent presentation of tool interactions.

9 filesmaint
9e3f789Mar 9

This commit performs a **refactoring** and **maintenance** task by ensuring the `ArtifactDelta` field within `session.EventActions` is consistently initialized to an empty map. This change primarily affects the **event handling and callback mechanisms** across the `agent`, `internal/context`, `internal/llminternal`, and `session` modules, preventing potential nil pointer issues when accessing artifact change tracking data. Specifically, `ArtifactDelta` is now initialized during event creation via `session.NewEvent` and within various callback context and agent flow functions like `NewCallbackContext` and `runBeforeAgentCallbacks`. Numerous **unit tests** across the system have been updated to correctly reflect this new initialization behavior, ensuring robust handling of artifact deltas.

14 filesmaint
95eeec3Mar 9

This commit introduces a **new capability** by adding an **example tool** within the `tool/exampletool` module, designed to enhance LLM requests. This tool dynamically injects few-shot examples as system instructions into the LLM prompt, improving the model's contextual understanding and response quality. It incorporates crucial **sanitization logic** for boundary tags like "End few-shot" to prevent prompt manipulation. Comprehensive unit tests in `tool/exampletool/tool_test.go` validate its functionality across various scenarios, including different model types and example formats, ensuring robust and reliable operation.

2 filesmaint
d8e57c0Mar 9

This commit introduces a **new `replayPlugin`** within the **ADK conformance framework**, designed to enable deterministic replay of recorded LLM and tool interactions. The plugin, implemented primarily in `replay_plugin.go`, intercepts ADK callbacks such as `beforeModel` and `beforeTool` to mock responses using pre-defined `LLMRecording` and `ToolRecording` data structures. This **new capability** significantly enhances **conformance testing** by providing a reliable mechanism to validate agent logic against fixed interaction sequences, improving test stability and debugging efficiency. It also includes utilities in `yaml_utils.go` to normalize "Python-isms" in recorded data, ensuring seamless unmarshaling and broader compatibility for the replay process.

5 filesgrow
9eb5c28Mar 6

This commit **introduces a new configurable agent system** and an **ADK CLI initializer**, enabling the definition and loading of agents, tools, and callbacks directly from YAML configurations. It establishes the `internal/configurable` package with utilities for registering and resolving these components, alongside conformance examples for various functions and callbacks. The new `cmd/internal/adkcli/main.go` provides a CLI entry point to scan for `root_agent.yaml` files and launch agents, significantly enhancing the **Agent Development Kit's (ADK) initialization and configurability** for testing and deployment.

8 filesgrow
e820a66Mar 5

This commit introduces a **feature enhancement** to the **`model/gemini` package** by integrating an `http.RoundTripper` to merge additional header values into outgoing requests. Concurrently, it implements a **defensive programming fix** within the `NewModel` constructor, ensuring that the provided `http.Client` configuration is copied to prevent unintended mutation of the original client. This change significantly improves the **flexibility of API request customization** for the Gemini model and enhances **client configuration stability**, verified by new comprehensive test cases.

4 filesmaint
3bd585cMar 5

This commit **enhances the data models** for `LLMResponse` and `adkrest` events to include previously missing fields. Specifically, a **new `ModelVersion` field** is added to the `model.LLMResponse` struct, which is now populated from `genai` responses via `internal/llminternal/converters/converters.go`, providing more granular model information. Concurrently, the **`server/adkrest/internal/models` event data model** is expanded with additional fields, and a custom `MarshalJSON` method is introduced to correctly handle `genai.FunctionCall` arguments. This **feature enhancement** improves data fidelity and compatibility across the system, particularly for LLM responses and event logging within the `adkrest` module, with corresponding **test cases** updated to reflect these model changes.

6 filesgrow
5763064Mar 4

This commit **refactors** the **`SequentialAgent`** within the `agent/workflowagents` subsystem by **removing its direct dependency on `LoopAgent`**. This significant architectural change simplifies the `SequentialAgent`'s internal structure and execution model, promoting greater independence. The creation logic for `New` has been reimplemented, and a new `Run` method is introduced to enable direct sequential execution, streamlining how sequential workflows are managed. This work enhances the modularity and maintainability of the agent system by reducing inter-agent coupling.

1 filesmaint
7cffa80Mar 4

This commit primarily **fixes race conditions and deadlocks** within the **parallel agent** and **session management** subsystems. It introduces **thread-safe event appending and state updates** in `InMemorySession` by adding mutexes and cloning data, while also modifying the `All` method in `session/database/session.go` to prevent deadlocks. These changes ensure proper synchronization between sub-agents and the main runner, centralizing concurrency management and preventing data corruption. New tests, including `TestParallelAgent_StateSync` and a deadlock test for `AppendEvent`, have been added to validate these concurrency fixes. This significantly improves the **stability and reliability** of concurrent operations and parallel agent execution.

7 fileswaste
762bb0eFeb 6

This commit introduces a **new `functioncallmodifier` plugin** to enhance the **LLM agent's ability to dynamically manage and process function calls**. This **new capability** allows the system to **modify function call declarations before model invocation** and then **extract specific arguments to the session state after the model's response**. To support this, the `internal/llminternal/base_flow.go` module was updated to populate function call IDs in LLM responses, ensuring proper integration. The plugin is thoroughly covered by **new unit and integration tests**, with related test infrastructure refactored to use a shared Gemini client configuration utility.

12 filesmaint
7535be3Feb 6

This commit provides a **bug fix** to ensure **temporary state deltas** are correctly applied to the **local session state** within an invocation, preventing inconsistencies and potential panics. Specifically, the `session` module's `appendEvent` and `updateSessionState` methods across `database`, `inmemory`, and `vertexai` implementations were modified to apply these deltas locally while trimming them before persistence in the event history. This reordering and explicit handling of temporary state ensures that agents, such as the `loopagent`, operate with the most current session data. A nil check was also added in `agent/workflowagents/loopagent/agent.go` as a defensive measure. New tests were added to verify this behavior across different session types, significantly improving overall **session management reliability**.

9 fileswaste
b1b9bd8Feb 2

This commit introduces a **new feature** to enable **human-in-the-loop confirmation** for actions performed by **MCP toolsets**. It integrates confirmation logic into the `Run` method of `tool/functiontool/function.go`, allowing tools to request user approval based on either static configuration flags or dynamic `RequireConfirmationProvider` implementations defined within `tool/mcptoolset/set.go`. This enhancement provides greater **safety and control** by requiring explicit user consent before sensitive operations are executed by **MCP tools**. The change includes comprehensive test cases and new HTTP recording data to validate various confirmation scenarios.

15 filesmaint
af06c01Feb 2

This commit **fixes a bug** where the `InvocationID` was incorrectly replaced or lost when an `InvocationContext` was duplicated or updated. The core change modifies the `internal/context` package, ensuring `NewInvocationContext` preserves an existing `InvocationID` and the `InvocationID` accessor uses the stored parameter. This fix propagates the correct `InvocationID` within the **LLM agent's** `run` method, the **parallel agent's** sub-agent context creation, and the **runner's** context updates during message appending. The change guarantees consistent invocation tracking across various agent and runner operations, significantly improving traceability and debugging.

4 fileswaste

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