NavigaraNavigara
OrganizationsDistributionCompareResearch
NavigaraNavigara
OrganizationsDistributionCompareResearch
All developers

Dmitry Vyukov

Developer

Dmitry Vyukov

dvyukov@google.com

269 commits~5 files/commit

Performance

YoY:+1088%
2026Previous year

Insights

Key patterns and highlights from this developer's activity.

Peak MonthJan'261192 performance
Growth Trend↑108%vs prior period
Avg Files/Commit5files per commit
Active Days65of 455 days
Top Reposyzkaller269 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.

40%Productive TimeGrowth 75% + Fixes 25%
29%Maintenance Time
32%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
4933dbaThis commit **enhances error handling** within the **`aflow` package's LLM agent** by recognizing an additional API error code. It **fixes** an issue where the system did not properly handle API error code 499 (cancelled) during LLM error parsing. Specifically, the `parseLLMErrorImpl` function in `pkg/aflow/llm_agent.go` now includes this error in the list that triggers a retry mechanism. This ensures that **cancelled LLM API requests** are correctly identified and lead to a retry, improving the overall robustness of LLM interactions. A new test case has been added to verify this enhanced retry logic.Mar 232waste
64e2142This commit introduces a **bug fix** within the **`pkg/aflow`** module, specifically addressing an issue with **MCP tool naming conventions**. It **modifies the `registerMCP` function** in `mcp.go` to **replace hyphens with underscores** in **MCP tool names** during registration. This change is critical to prevent the generation of **invalid Python method names** in downstream **MCP clients**, ensuring proper client-side integration and functionality. A new test in `pkg/aflow/flow/flows_test.go` has also been added to validate that MCP tool names adhere to this corrected format, preventing future regressions.Mar 162waste
2f7f359This commit introduces a **new capability** to the **`pkg/aflow`** package by adding a `session-initializer` **MCP tool**, which is crucial for populating session state and substituting workflow arguments in the Multi-Component Pipeline system. It significantly **enhances the MCP system's data flow** by modifying `registerMCPAction` to return structured action results, making critical outputs like `ReproducedCrashReport` directly accessible for subsequent tools. Additionally, the commit includes a **refactoring** of schema generation within `pkg/aflow/schema.go` and updates `docs/mcp.md` with manual testing instructions for the **MCP server**, effectively **fixing #6929**.Mar 123grow
4efadf0This commit **refactors** the **`aflow` package** by **renaming output fields** within the **`action/crash` module**. Specifically, the `BugTitle` and `CrashReport` fields in the `reproduceResult` struct are now `ReproducedBugTitle` and `ReproducedCrashReport` to prevent naming conflicts with original bug data. This change ensures that workflows consuming these outputs, such as those in the **`flow/patching` module**, can clearly distinguish between original and reproduced crash information. The update prevents potential data clashes and enhances the clarity of crash reproduction results within the **`aflow` system**.Mar 122maint
b4075e2This commit **disables specific tests** for the **`grepper` tool** within `pkg/aflow/tool` on non-Linux operating systems. It addresses a **test failure** on platforms like OpenBSD, where the error message for "bad expression" differs from the expected output. By adding a `//go:build linux` directive to `grepper_test.go`, the **test suite** will now exclusively run on **Linux**, preventing CI instability on other OSes. This is a **maintenance fix** to ensure test reliability across different environments.Mar 111maint
e09601fThis commit **enhances error reporting** by systematically displaying verbose output from failed binary executions across the system. It introduces a new utility function, `osutil.VerboseMessage`, to extract detailed error information, which is then integrated into the **`syz-agent`** and the **`syz-aflow`** tool. This change **refactors** existing custom error handling in `pkg/aflow` modules, replacing ad-hoc solutions with a unified approach. The primary impact is providing **more useful error messages** for operations like `git` or `make` failures, significantly improving debugging and diagnostic capabilities.Mar 117maint
a5f32a4This commit **repairs** a **bug** in the **AI job access check** within the `dashboard/app` module, specifically affecting the `filterJobsAccess` function. Previously, the system would attempt to select more than 1000 bugs, causing a `datastore_v3: BAD_REQUEST` API error. The fix **limits the number of bugs processed** to avoid this API failure, ensuring the **AI job access check** operates reliably and correctly filters access levels for AI jobs.Mar 111waste
b19feb2This commit **enhances the `pkg/aflow` module** by preventing the registration of **MCP tools with duplicate names**, which previously led to unpredictable tool selection. It introduces validation logic in `pkg/aflow/mcp.go` to ensure unique tool identifiers, while also ignoring specific tools like `set-results` and those created in tests. As part of this **bug fix**, the conflicting `crash-reproducer` tool in `pkg/aflow/tool/syzlang` is **renamed to `reproduce-crash`** to resolve an existing naming conflict. This **refactoring** and **validation addition** significantly improves the **robustness and predictability** of the `aflow` system's tool management.Mar 105maint
feb3353This commit **enhances error handling** within the **`pkg/aflow`** module's **LLM agent** by expanding the `parseLLMErrorImpl` function. It now correctly identifies and categorizes **gateway timeouts** and a specific **'quota exceeded' message** from Generative AI services. This **bug fix** improves the robustness of the system by enabling more precise retry logic and better operational resilience when interacting with LLMs. New test cases have been added in `llm_agent_test.go` to validate these expanded error parsing capabilities, ensuring the system can more effectively manage transient and resource-related issues.Mar 102waste
6972f30This commit introduces a **new capability** within the **`aflow` package** by replacing the `Provide` action with a dedicated `Flow.Consts` field for defining fixed initial inputs. This **refactoring** clarifies that these inputs are flow properties rather than actions, integrating them directly into the flow registration and execution context (`pkg/aflow/execute.go`). The change simplifies syntax by using a map for constants and required **maintenance** updates to existing test helpers and numerous test cases, along with new tests for `Flow.Consts` functionality. This ensures a more semantically accurate and less verbose way to configure initial flow states.Mar 912maint
86baf83This commit **enhances the `pkg/aflow/flow/repro` module** by providing **syzkaller program and syscall syntax documentation** directly to the LLM agent. A new file, `docs/docs.go`, was added to embed this crucial information, which is then integrated into the agent's prompt within `pkg/aflow/flow/repro/repro.go`. This **new capability** aims to improve the LLM agent's understanding and accuracy when generating or analyzing syzkaller programs, ensuring it has all necessary syntax details. The change directly impacts the **AI agent's ability to process syzkaller-related tasks** more effectively.Mar 92grow
adb99c9This commit **enhances the crash reproducer agent** within the `pkg/aflow/flow/repro` module by **integrating codesearch and grepper tools**. This **new feature** allows the agent to access and analyze kernel source code, which is critical for effectively creating bug reproducers. Additionally, the commit includes a minor **refinement to the agent's prompt instructions**. This improvement significantly aids in the debugging process by providing the agent with better context and search capabilities, thereby streamlining the generation of accurate bug reproducers.Mar 91grow
176beadThis commit introduces the **new capability to collect execution coverage** during syzkaller program testing and crash reproduction. It involves **refactoring** the `pkg/aflow/action/crash` module to integrate coverage collection into its reproduction logic and extending the `pkg/instance` package's program execution environment to handle and parse coverage data. Core components like `pkg/bisect`, `syz-ci/jobs`, and `syz-cluster/pkg/retest` are updated to propagate the new `collectCoverage` parameter. This **foundational work** provides the necessary plumbing for future features that will utilize this coverage information, such as improved crash analysis or seed generation, addressing requirements like those in #6878. While not yet fully wired into existing workflows, it establishes the infrastructure for advanced coverage-driven development.Mar 612grow
62866b7This commit introduces a new `Tools` utility function within the **`pkg/aflow`** module to safely combine multiple tool slices. This **new capability** prevents potential aliasing issues and subtle bugs that can arise when managing tool sets for agents. Existing tool combination logic in `pkg/aflow/flow/assessment` and `pkg/aflow/flow/patching` sub-modules has been **refactored** to leverage this new `aflow.Tools` function. This change improves code robustness and simplifies tool management across various agent flows by providing a dedicated, safe mechanism for tool aggregation.Mar 64grow
31e9c88This commit **refactors** the **`syz-agent`**'s update logic by simplifying its handling of `SyzkallerCommit` data, as this information is now consistently provided by the dashboard. Specifically, the `CheckLatest` function within `pkg/updater/updater.go` has been **renamed to `checkLatest`**, making it an unexported, internal utility. This **maintenance** work ensures that the agent's codebase remains lean and avoids redundant logic, improving the overall clarity and efficiency of the **`pkg/updater`** module. The change reflects that the `syz-agent` no longer needs to independently determine `SyzkallerCommit` information, as the dashboard consistently supplies it with job crash data.Mar 52maint
982448aThis commit **refactors** the handling of `syzkaller` commit information within the **`pkg/aflow/flow/repro`** package. It streamlines the `ReproInputs` struct by removing the `SyzkallerCommit` field, simplifying its definition. Instead, the `syzkaller` git revision is now provided directly during the flow's initialization, ensuring this critical detail is managed more explicitly at the point of use. This **refactoring** improves the clarity and directness of how `syzkaller` versioning is integrated into the `repro` process, affecting the internal structure and initialization logic of `repro` inputs.Mar 51maint
6dc90bbThis commit introduces a **new capability** to programmatically retrieve a list of system call description files, primarily affecting the `pkg/aflow/tool/syzlang` package. It embeds `linux/*.txt` files into the `sys/syz-sysgen` binary using `go:embed` to make them accessible via the new `DescriptionFiles` function. This functionality is then integrated into the **reproducibility flow** within `pkg/aflow/flow/repro`, ensuring that bug templates now include the relevant description files for improved debugging. A generic `Provide` function was also added to `pkg/aflow/action.go` to support this integration, enhancing the overall `aflow` ecosystem.Mar 55grow
df2e85dThis commit **fixes a data race** within the **`dashboard/app` module** concerning the `localUIConfig`. The **bug fix** addresses an issue where concurrent access to the UI configuration could lead to unpredictable behavior or test failures. It achieves this by modifying `dashboard/app/app_test.go` to ensure `localUIConfig` is properly initialized and checked via `checkConfig` within the test setup's `init` function. This change significantly improves the **robustness of the dashboard's UI configuration handling** and enhances the reliability of its test suite by preventing race conditions during configuration setup.Feb 252maint
96b1aa4This commit introduces a **new capability** to automatically apply an **'actionable' label** to bugs following **AI moderation**, enabling their auto-upstreaming. The `aiBugLabel` function within the **dashboard's AI component** (`dashboard/app/ai.go`) now leverages a newly defined `ModerationOutputs` struct from `pkg/aflow/ai/ai.go` to determine actionability. This change standardizes the output of the **Aflow moderation flow** and integrates the new `ActionableLabel` constant into the system. The primary impact is streamlining the bug triaging process by automating the identification and upstreaming of actionable issues.Feb 245grow
94a9671This commit introduces a **new capability** to the **dashboard application**, allowing users to efficiently filter and view only **AI jobs that require moderation**. The backend logic in `dashboard/app/ai.go` was updated within the `handleAIJobsPage` function to incorporate this new 'Needs Moderation' filter and enhance the overall job filtering mechanism. Concurrently, the `dashboard/app/templates/ai_jobs.html` template was modified to integrate this filter into the user interface and improve usability by automatically submitting the filter form when a workflow selection changes, removing the need for a manual submit button. This enhancement significantly **streamlines the moderation workflow** for AI jobs, making it easier for administrators to identify and act on tasks requiring their attention.Feb 242grow
4933dbaMar 23

This commit **enhances error handling** within the **`aflow` package's LLM agent** by recognizing an additional API error code. It **fixes** an issue where the system did not properly handle API error code 499 (cancelled) during LLM error parsing. Specifically, the `parseLLMErrorImpl` function in `pkg/aflow/llm_agent.go` now includes this error in the list that triggers a retry mechanism. This ensures that **cancelled LLM API requests** are correctly identified and lead to a retry, improving the overall robustness of LLM interactions. A new test case has been added to verify this enhanced retry logic.

2 fileswaste
64e2142Mar 16

This commit introduces a **bug fix** within the **`pkg/aflow`** module, specifically addressing an issue with **MCP tool naming conventions**. It **modifies the `registerMCP` function** in `mcp.go` to **replace hyphens with underscores** in **MCP tool names** during registration. This change is critical to prevent the generation of **invalid Python method names** in downstream **MCP clients**, ensuring proper client-side integration and functionality. A new test in `pkg/aflow/flow/flows_test.go` has also been added to validate that MCP tool names adhere to this corrected format, preventing future regressions.

2 fileswaste
2f7f359Mar 12

This commit introduces a **new capability** to the **`pkg/aflow`** package by adding a `session-initializer` **MCP tool**, which is crucial for populating session state and substituting workflow arguments in the Multi-Component Pipeline system. It significantly **enhances the MCP system's data flow** by modifying `registerMCPAction` to return structured action results, making critical outputs like `ReproducedCrashReport` directly accessible for subsequent tools. Additionally, the commit includes a **refactoring** of schema generation within `pkg/aflow/schema.go` and updates `docs/mcp.md` with manual testing instructions for the **MCP server**, effectively **fixing #6929**.

3 filesgrow
4efadf0Mar 12

This commit **refactors** the **`aflow` package** by **renaming output fields** within the **`action/crash` module**. Specifically, the `BugTitle` and `CrashReport` fields in the `reproduceResult` struct are now `ReproducedBugTitle` and `ReproducedCrashReport` to prevent naming conflicts with original bug data. This change ensures that workflows consuming these outputs, such as those in the **`flow/patching` module**, can clearly distinguish between original and reproduced crash information. The update prevents potential data clashes and enhances the clarity of crash reproduction results within the **`aflow` system**.

2 filesmaint
b4075e2Mar 11

This commit **disables specific tests** for the **`grepper` tool** within `pkg/aflow/tool` on non-Linux operating systems. It addresses a **test failure** on platforms like OpenBSD, where the error message for "bad expression" differs from the expected output. By adding a `//go:build linux` directive to `grepper_test.go`, the **test suite** will now exclusively run on **Linux**, preventing CI instability on other OSes. This is a **maintenance fix** to ensure test reliability across different environments.

1 filesmaint
e09601fMar 11

This commit **enhances error reporting** by systematically displaying verbose output from failed binary executions across the system. It introduces a new utility function, `osutil.VerboseMessage`, to extract detailed error information, which is then integrated into the **`syz-agent`** and the **`syz-aflow`** tool. This change **refactors** existing custom error handling in `pkg/aflow` modules, replacing ad-hoc solutions with a unified approach. The primary impact is providing **more useful error messages** for operations like `git` or `make` failures, significantly improving debugging and diagnostic capabilities.

7 filesmaint
a5f32a4Mar 11

This commit **repairs** a **bug** in the **AI job access check** within the `dashboard/app` module, specifically affecting the `filterJobsAccess` function. Previously, the system would attempt to select more than 1000 bugs, causing a `datastore_v3: BAD_REQUEST` API error. The fix **limits the number of bugs processed** to avoid this API failure, ensuring the **AI job access check** operates reliably and correctly filters access levels for AI jobs.

1 fileswaste
b19feb2Mar 10

This commit **enhances the `pkg/aflow` module** by preventing the registration of **MCP tools with duplicate names**, which previously led to unpredictable tool selection. It introduces validation logic in `pkg/aflow/mcp.go` to ensure unique tool identifiers, while also ignoring specific tools like `set-results` and those created in tests. As part of this **bug fix**, the conflicting `crash-reproducer` tool in `pkg/aflow/tool/syzlang` is **renamed to `reproduce-crash`** to resolve an existing naming conflict. This **refactoring** and **validation addition** significantly improves the **robustness and predictability** of the `aflow` system's tool management.

5 filesmaint
feb3353Mar 10

This commit **enhances error handling** within the **`pkg/aflow`** module's **LLM agent** by expanding the `parseLLMErrorImpl` function. It now correctly identifies and categorizes **gateway timeouts** and a specific **'quota exceeded' message** from Generative AI services. This **bug fix** improves the robustness of the system by enabling more precise retry logic and better operational resilience when interacting with LLMs. New test cases have been added in `llm_agent_test.go` to validate these expanded error parsing capabilities, ensuring the system can more effectively manage transient and resource-related issues.

2 fileswaste
6972f30Mar 9

This commit introduces a **new capability** within the **`aflow` package** by replacing the `Provide` action with a dedicated `Flow.Consts` field for defining fixed initial inputs. This **refactoring** clarifies that these inputs are flow properties rather than actions, integrating them directly into the flow registration and execution context (`pkg/aflow/execute.go`). The change simplifies syntax by using a map for constants and required **maintenance** updates to existing test helpers and numerous test cases, along with new tests for `Flow.Consts` functionality. This ensures a more semantically accurate and less verbose way to configure initial flow states.

12 filesmaint
86baf83Mar 9

This commit **enhances the `pkg/aflow/flow/repro` module** by providing **syzkaller program and syscall syntax documentation** directly to the LLM agent. A new file, `docs/docs.go`, was added to embed this crucial information, which is then integrated into the agent's prompt within `pkg/aflow/flow/repro/repro.go`. This **new capability** aims to improve the LLM agent's understanding and accuracy when generating or analyzing syzkaller programs, ensuring it has all necessary syntax details. The change directly impacts the **AI agent's ability to process syzkaller-related tasks** more effectively.

2 filesgrow
adb99c9Mar 9

This commit **enhances the crash reproducer agent** within the `pkg/aflow/flow/repro` module by **integrating codesearch and grepper tools**. This **new feature** allows the agent to access and analyze kernel source code, which is critical for effectively creating bug reproducers. Additionally, the commit includes a minor **refinement to the agent's prompt instructions**. This improvement significantly aids in the debugging process by providing the agent with better context and search capabilities, thereby streamlining the generation of accurate bug reproducers.

1 filesgrow
176beadMar 6

This commit introduces the **new capability to collect execution coverage** during syzkaller program testing and crash reproduction. It involves **refactoring** the `pkg/aflow/action/crash` module to integrate coverage collection into its reproduction logic and extending the `pkg/instance` package's program execution environment to handle and parse coverage data. Core components like `pkg/bisect`, `syz-ci/jobs`, and `syz-cluster/pkg/retest` are updated to propagate the new `collectCoverage` parameter. This **foundational work** provides the necessary plumbing for future features that will utilize this coverage information, such as improved crash analysis or seed generation, addressing requirements like those in #6878. While not yet fully wired into existing workflows, it establishes the infrastructure for advanced coverage-driven development.

12 filesgrow
62866b7Mar 6

This commit introduces a new `Tools` utility function within the **`pkg/aflow`** module to safely combine multiple tool slices. This **new capability** prevents potential aliasing issues and subtle bugs that can arise when managing tool sets for agents. Existing tool combination logic in `pkg/aflow/flow/assessment` and `pkg/aflow/flow/patching` sub-modules has been **refactored** to leverage this new `aflow.Tools` function. This change improves code robustness and simplifies tool management across various agent flows by providing a dedicated, safe mechanism for tool aggregation.

4 filesgrow
31e9c88Mar 5

This commit **refactors** the **`syz-agent`**'s update logic by simplifying its handling of `SyzkallerCommit` data, as this information is now consistently provided by the dashboard. Specifically, the `CheckLatest` function within `pkg/updater/updater.go` has been **renamed to `checkLatest`**, making it an unexported, internal utility. This **maintenance** work ensures that the agent's codebase remains lean and avoids redundant logic, improving the overall clarity and efficiency of the **`pkg/updater`** module. The change reflects that the `syz-agent` no longer needs to independently determine `SyzkallerCommit` information, as the dashboard consistently supplies it with job crash data.

2 filesmaint
982448aMar 5

This commit **refactors** the handling of `syzkaller` commit information within the **`pkg/aflow/flow/repro`** package. It streamlines the `ReproInputs` struct by removing the `SyzkallerCommit` field, simplifying its definition. Instead, the `syzkaller` git revision is now provided directly during the flow's initialization, ensuring this critical detail is managed more explicitly at the point of use. This **refactoring** improves the clarity and directness of how `syzkaller` versioning is integrated into the `repro` process, affecting the internal structure and initialization logic of `repro` inputs.

1 filesmaint
6dc90bbMar 5

This commit introduces a **new capability** to programmatically retrieve a list of system call description files, primarily affecting the `pkg/aflow/tool/syzlang` package. It embeds `linux/*.txt` files into the `sys/syz-sysgen` binary using `go:embed` to make them accessible via the new `DescriptionFiles` function. This functionality is then integrated into the **reproducibility flow** within `pkg/aflow/flow/repro`, ensuring that bug templates now include the relevant description files for improved debugging. A generic `Provide` function was also added to `pkg/aflow/action.go` to support this integration, enhancing the overall `aflow` ecosystem.

5 filesgrow
df2e85dFeb 25

This commit **fixes a data race** within the **`dashboard/app` module** concerning the `localUIConfig`. The **bug fix** addresses an issue where concurrent access to the UI configuration could lead to unpredictable behavior or test failures. It achieves this by modifying `dashboard/app/app_test.go` to ensure `localUIConfig` is properly initialized and checked via `checkConfig` within the test setup's `init` function. This change significantly improves the **robustness of the dashboard's UI configuration handling** and enhances the reliability of its test suite by preventing race conditions during configuration setup.

2 filesmaint
96b1aa4Feb 24

This commit introduces a **new capability** to automatically apply an **'actionable' label** to bugs following **AI moderation**, enabling their auto-upstreaming. The `aiBugLabel` function within the **dashboard's AI component** (`dashboard/app/ai.go`) now leverages a newly defined `ModerationOutputs` struct from `pkg/aflow/ai/ai.go` to determine actionability. This change standardizes the output of the **Aflow moderation flow** and integrates the new `ActionableLabel` constant into the system. The primary impact is streamlining the bug triaging process by automating the identification and upstreaming of actionable issues.

5 filesgrow
94a9671Feb 24

This commit introduces a **new capability** to the **dashboard application**, allowing users to efficiently filter and view only **AI jobs that require moderation**. The backend logic in `dashboard/app/ai.go` was updated within the `handleAIJobsPage` function to incorporate this new 'Needs Moderation' filter and enhance the overall job filtering mechanism. Concurrently, the `dashboard/app/templates/ai_jobs.html` template was modified to integrate this filter into the user interface and improve usability by automatically submitting the filter form when a workflow selection changes, removing the need for a manual submit button. This enhancement significantly **streamlines the moderation workflow** for AI jobs, making it easier for administrators to identify and act on tasks requiring their attention.

2 filesgrow

Work Patterns

Beta

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

Collaboration

Beta

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

NavigaraNavigara
OrganizationsDistributionCompareResearch