Don Jayamanne
90d · built 2026-07-24
90-day totals
- Commits
- 160
- Grow
- 21.7
- Maintenance
- 16.8
- Fixes
- 5.0
- Total ETV
- 43.5
Where this dev ranks
Percentile against the global top-100 leaderboard (all-time totals).
- By commits
- Top 23 %
- By Growth share
- Top 16 %
30-day trajectory
Last 30 days vs. the 30 days before. Up arrows on Growth and ETV mean improvement; up arrow on Fixes share means more time on fixes (worse).
↓-39.1 %
vs 69 prior
↑+10.1 pp
recent vs prior
↑+2.2 pp
recent vs prior
Daily performance
Daily ETV, stacked by Growth, Maintenance and Fixes.
Work-mix over time
Share of Growth / Maintenance / Fixes over a rolling 7-day window. Reads as 'where is effort flowing right now'.
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
Most impactful commits
Top 20 by ETV in the 90-day window.
- 2.2ETVfeat: Enhance agent host session management with custom agent support (#317398) * feat: Enhance agent host session management with custom agent support - Introduced ISessionAgentRef interface to represent custom agent references in session management. - Updated AgentHostSessionAdapter to handle agent selection and state updates. - Implemented setAgent method in BaseAgentHostSessionsProvider to manage agent changes and dispatch relevant actions. - Enhanced session-related interfaces and types to include agent properties. - Added tests for agent selection, effective agent resolution, and custom agent handling in various scenarios. - Integrated agent host agent picker into remote agent host contributions. * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * feat: Improve agent host session state handling and event firing logic * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * feat: Update agent handling and customization logic across multiple files * feat: Remove optional agent property from IChat interface * feat: Update agent host picker options and remove unused root state variable * feat: Update agent name resolution to return undefined when no matching plugin agent is found * feat: Add agents property to customization in PluginController * feat: Add tests for SessionCustomizationUpdated agent handling in sessionReducer * feat: Enhance test agent context creation with optional file service parameter * feat: Add test for publishing parsed agents in SessionCustomizationUpdated * feat: Update getCustomAgents to collect and coalesce agents from session customizations --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>github.com-microsoft-vscode · 35d33ab4 · 2026-05-21
- 2.1ETVfeat: Implement session Git state management and commit operations (#318734) * feat: Implement session Git state management and commit operations * refactor: Remove unused methods and imports from AgentServicegithub.com-microsoft-vscode · 305b74c5 · 2026-06-04
- 1.6ETVchat: delegate agent-host sessions (#321702) * chat: delegate agent-host sessions - Pass transcript handoff as an attachment so the prompt stays user-authored. - Route agent-host delegation through the correct session-opening path in VS Code and Agents Window. - Preserve attachment round-tripping and existing Agents Window behavior while matching the updated SDK behavior. Fixes #319819 (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: preserve paste attachment rendering - Keeps normal pasted chat context as opaque simple attachments so existing paste chips render as before. - Uses delegation transcript metadata, not display kind, to restore transcript handoff attachments. - Updates attachment restore coverage to distinguish tagged transcripts from display-kind-only paste attachments. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * chat: remove generic attachment tooltip - Avoids changing generic restored attachment UI while preserving metadata-based delegation transcript restore. - Keeps normal simple attachment rendering behavior narrowly scoped to the existing generic path. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: remove delegation diagnostic logging - Removes temporary attachment and delegation trace logging added while diagnosing transcript handoff. - Restores the Copilot attachment log to its previous low-detail trace shape. - Reverts the unintended API proposal type change so proposal versions remain supported. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: fix agent host paste attachment test - Completes the paste attachment request test with the chat turn completion event used by the state-driven test helper. - Keeps the assertion that normal paste variables stay simple attachments without paste display kind. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: skip unused repo lookup for agents delegation - Avoids computing chat initial session options for the Agents Window agent-host delegation path where they are not consumed. - Keeps repository options for paths that pass them through workbench chat session creation. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Revert "chat: skip unused repo lookup for agents delegation" This reverts commit b67d77c92034dea41175dad8fd2d5b8d9a6e81b0. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>github.com-microsoft-vscode · a40ad8d6 · 2026-06-17
- 1.6ETVConfig-action slash commands for Copilot agent-host chat inputs (#326807) * Config-action slash commands for Copilot agent-host chat inputs Add permission/mode slash commands (e.g. /yolo, /autopilot on|off, /autopilot <objective>, /plan <prompt>) for Copilot agent-host chat sessions in both the editor window and the Agents window. Selecting one toggles the corresponding session-config axis (autoApprove or mode) and updates the permission/mode pickers, instead of sending a chat turn. Items are produced server-side by the Copilot completion provider and carry an `action` bag on the completion attachment `_meta`; a shared client accept-handler runs the elevated-permission confirmation for elevated autoApprove values and applies the change via a per-window seam (editor: AHP dispatch/provisional; Agents: provider.setSessionConfigValue). Toggle items insert nothing (insertText ''); prompt items keep `/cmd ` plus an argument hint. On send, the leading token is stripped and the mode re-applied so it is not dispatched to the runtime. Elevated auto-approve items are omitted when enterprise policy disables global auto-approval. The old hardcoded permission commands are unscoped from agent-host Copilot sessions so the completion pipeline solely owns them. Fixes #325890 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Scope Agents-window config-action completions to the input's session The Agents-window `AgentHostInputCompletionHandler` resolved the window-global `ISessionsService.activeSession`, so accepting a config completion in a non-active composer could apply the permission/mode change to a different (same-type) session. Create the handler via the input's scoped instantiation service and resolve the session from the input-scoped `ISessionContext` instead, matching how the sibling `SlashCommandHandler` and the editor-window handler bind to their own input's session. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add support for Autopilot in elevated auto-approve level check --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>github.com-microsoft-vscode · d7465d6f · 2026-07-21
- 1.4ETVfeat(chat): add agent host chat input pickers and configuration cache (#314904) * feat(chat): add agent host chat input pickers and configuration cache * Updates * Oops * Updatesgithub.com-microsoft-vscode · f805f09c · 2026-05-12
- 1.3ETVfeat: Introduce ChangesetFileMonitorCoordinator for session-specific file monitoring (#318284) * feat: Introduce ChangesetFileMonitorCoordinator for session-specific file monitoring - Added ChangesetFileMonitorCoordinator to manage file monitoring for changesets. - Integrated ChangesetFileMonitorCoordinator into ChangesetSessionCoordinator. - Updated ChangesetSessionCoordinator to handle session restoration, materialization, and disposal with file monitoring. - Implemented IAgentHostFileMonitorService to provide file monitoring capabilities. - Created AgentHostFileMonitorService to manage file watching with debounce and exclusion options. - Added tests for ChangesetSessionCoordinator and AgentHostFileMonitorService to ensure correct functionality. * refactor: encapsulate file monitor acquisition in a dedicated function * docs: enhance documentation for ChangesetFileMonitorCoordinator lifecycle and monitoring behavior * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>github.com-microsoft-vscode · ffcfa845 · 2026-05-27
- 1.2ETVfeat: implement checkpoint service integration with git operations (#317427) * feat: implement checkpoint service integration with git operations - Added new methods to IAgentHostGitService for capturing working trees, committing trees, updating refs, deleting refs, resolving refs, and computing file diffs between refs. - Integrated checkpoint service into AgentService and related classes to manage session data and git state. - Enhanced AgentSideEffects to capture turn checkpoints and baseline checkpoints for sessions. - Updated SessionDataService to emit events before deleting session data, allowing for async cleanup. - Modified session database schema to include checkpoint references and added methods to manage them. - Updated tests to cover new checkpoint functionalities and ensure proper integration with existing services. * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * feat: enhance agent host services with checkpoint integration and update diff parsing * test: update turn complete test to await promise resolution for accurate assertions --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>github.com-microsoft-vscode · 9c67e1f5 · 2026-05-20
- 1.0ETVfeat(chat): Introduce custom agents service and mode synchronizer for agent host sessions (#318676) * feat(chat): Introduce custom agents service and mode synchronizer for agent host sessions - Added `IAgentHostCustomAgentsService` to manage custom agents for agent host sessions. - Implemented `WorkbenchAgentHostCustomAgentsService` to handle agent state and subscriptions. - Created `AgentHostModeSynchronizer` to synchronize chat modes with backend session states. - Refactored `AgentCustomizationItemProvider` to utilize the new custom agents service. - Removed deprecated custom agent picker and related code. - Updated chat input components to integrate with the new agent host functionalities. - Enhanced session state management for better handling of agent customizations. * feat(agentHost): add ILogService dependency to AgentHostAgentPickerContribution * refactor(agentHost): remove unused import for onUnexpectedError * feat(agentHost): add IAgentHostCustomAgentsService and NullAgentHostCustomAgentsService stubs for testinggithub.com-microsoft-vscode · 8afab2a4 · 2026-05-28
- 1.0ETVfeat: Implement changeset state caching and management in AgentHost (#318096) * feat: Implement changeset state caching and management in AgentHost * Fixes * fix: Update restoreSessionIfChangesetSubscription to return void and clarify handling of non-changeset URIs * refactor: Simplify changeset eviction logic and improve comments for clarity * feat: Add releaseBranchChanges method and enhance session summary change notificationsgithub.com-microsoft-vscode · dfe5c857 · 2026-05-25
- 0.9ETVRefactor CopilotSlashCommandCompletionProvider to streamline command options and improve completion item generation (#324811) * Refactor CopilotSlashCommandCompletionProvider to streamline command options and improve completion item generation * Enhance CopilotSlashCommandCompletionProvider to include argument hints in completion items and update tests accordingly * Add argument hint support for agent-host slash commands and related tests * Refactor CopilotSlashCommandCompletionProvider to improve hint handling for structured input choicesgithub.com-microsoft-vscode · d04a990a · 2026-07-07
- 0.9ETVfeat: implement GitHub pull request operations in agent host (#318256) * feat: Implement GitHub Pull Request functionality in Agent Host - Refactor ProtocolServerHandler to delegate changeset operations to AgentService. - Introduce AgentHostOctoKitService for minimal GitHub REST client operations. - Add tests for AgentHostPullRequestOperationHandler to validate PR creation and handling. - Enhance session test helpers with additional Git service methods. - Create unit tests for AgentHostOctoKitService to ensure correct API interactions. - Update logging and error handling in various components related to GitHub operations. - Ensure proper integration of changeset operations in the logging agent connection. * fix: Remove duplicate import of IAgentService in agentHost files * feat: Add GITHUB_REPO_PROTECTED_RESOURCE for GitHub repository write operations * fix: Include changesetKind and changesetUri in PR operation tests for GitHub branchesgithub.com-microsoft-vscode · 5fd902d5 · 2026-06-05
- 0.8ETVfeat(chat): Enhance chat session management and user preferences (#324726) - Introduced IChatModeChangeEvent to track user-initiated mode changes. - Updated ChatInputPart to handle user-initiated chat mode changes and fire events accordingly. - Refactored session type handling in DelegationSessionPickerActionItem and SessionTypePickerActionItem to utilize storage service for user-selected session types. - Added new utility functions for managing user-selected session types in chatSessionTypePreference.ts. - Updated constants and session management logic to consider remembered session types and user preferences. - Enhanced ChatEditorInput and ChatViewPane to utilize computed default session types and handle errors gracefully. - Added tests for AgentHostModeSynchronizer and updated existing tests to cover new session type logic and preferences.github.com-microsoft-vscode · 87b6a1ae · 2026-07-07
- 0.7ETVchat: send agent host completion attachments (#320703) * chat: send agent host completion attachments - Adds hidden ranged attachments for accepted Agent Host skill and command completions so providers receive the selected completion metadata with the user message. - Tracks accepted completion ranges instead of rediscovering slash tokens from provider metadata, preserving provider-owned _meta and avoiding collisions. - Converts ranged file, skill, and command variables to AHP attachments so chat history and requests stay aligned. Fixes https://github.com/microsoft/vscode/issues/317907 (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chat: address agent host completion review - Replaces existing hidden Agent Host completion entries when the same id is accepted again so updated metadata and range tracking stay in sync. - Marks request variable entry imports as type-only to avoid unnecessary runtime dependencies. (Commit message generated by Copilot) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>github.com-microsoft-vscode · eaf41b7e · 2026-06-10
- 0.7ETVagentHost: refresh static changesets after git state (#320564) * agentHost: refresh static changesets after git state Use runtime git metadata as a fallback for Branch Changes when the persisted diff base is absent, refresh Branch and Uncommitted changesets after git state attaches, and mark cached static changesets as computing during background refreshes.\n\nScope temp-index git staging to changed pathspecs so nested repos and large checkouts do not require full-tree staging.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agentHost: add changeset refresh debug logs Add low-noise debug logging for git-state-triggered static refreshes, Branch Changes base-branch fallback, preserved cached uncommitted snapshots, and scoped temp-index staging counts.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agentHost: preserve git failure contracts Keep temp-index git failures on the existing undefined-return path instead of throwing through changeset and checkpoint callers.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agentHost: remove temp-index timeout changes Keep temp-index git operations on the same timeout behavior they had before the scoped pathspec change.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * agentHost: avoid eager status path parsing Only parse the full changed path list when temp-index diffing is needed for untracked files.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>github.com-microsoft-vscode · 6492bafb · 2026-06-09
- 0.7ETVfeat: Enhance command handling and completion for runtime commands (#322976) - Updated `MockCopilotSession` to include aliases and input hints for commands. - Modified command invocation logic to support trailing text as input for commands like `/env` and `/review`. - Improved slash command parsing to retain raw input for better handling of multiline commands. - Enhanced completion provider to include runtime command descriptions and hints in completion items. - Added tests for new command behaviors and completion scenarios, ensuring robust handling of runtime commands. - Updated `AgentHostInputCompletionHandler` to provide detailed command descriptions in completion suggestions.github.com-microsoft-vscode · 0f1b95cb · 2026-06-25
- 0.7ETVfeat(chat): implement AgentHostSessionListStore for managing agent-host sessions (#322333) * feat(chat): implement AgentHostSessionListStore for managing agent-host sessions - Introduced AgentHostSessionListStore to manage and cache agent-host sessions. - Added interfaces for session list connection, entries, and notifications. - Implemented methods for session management including refresh, add, update, and remove. - Integrated workspace context filtering for session visibility. - Updated tests to cover new session list store functionality and ensure correct behavior during session notifications and refresh operations. * fix(agent host): pass sessionListStore to _handleRootStateChange and _registerAgent methods * refactor(chat): improve session handling and event emissions in AgentHostSessionListController and AgentHostSessionListStoregithub.com-microsoft-vscode · a61ad46f · 2026-06-24
- 0.7ETVAdd AI-generated Agent Host session titles (#320887) * Add AI-generated agent host session titles Generate agent host session titles with a Copilot utility request after seeding the first-message fallback title. Guard generated title application against manual renames, cancel pending generation on session disposal, and persist generated custom titles. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>github.com-microsoft-vscode · c3f4c307 · 2026-06-11
- 0.6ETVAdd completions service and slash command support for Copilot CLI (#316520) * Add completions service and slash command support for Copilot CLI - Introduced IAgentHostCompletions to expose completions service in AgentService. - Implemented CopilotSlashCommandCompletionProvider for handling slash commands. - Enhanced chat input completion handling to support command and skill attachments. - Updated tests for new completions and command parsing functionality. * Skip slash command for now * Disable compact for now. * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * ignore compact * Add _meta property to command and skill attachments for metadata preservation --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>github.com-microsoft-vscode · 1fbe0acb · 2026-05-15
- 0.6ETVfix: improve changeset reconciliation performance in Agents window (#321744) - Investigated and resolved a ~16s main-thread freeze when opening a third session in the Agents window. - Optimized changeset updates by eliminating unnecessary full rebuilds of all files on every envelope. - Implemented per-file memoization using `mapObservableArrayCached` to reduce URI parsing and GC churn. - Introduced throttling for changeset updates to coalesce rapid envelopes, improving responsiveness. - Refactored `diffsToChanges` to `diffToChange` for better clarity and performance. - Updated tests to ensure performance improvements and validate that only changed files trigger recomputes.github.com-microsoft-vscode · dd5600fc · 2026-06-17
- 0.6ETVAdd Copilot Agent Host runtime slash commands (#321595) * Add Copilot Agent Host runtime slash commands Gate /env, /review, and /security-review on runtime command availability before showing completions or invoking them. Route runtime command results through the existing Agent Host turn handling so text results render as markdown and agent prompts continue through the SDK send path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Cache Copilot runtime slash command availability Avoid repeated session.commands.list RPCs while resolving runtime-gated slash command completions by caching the builtin command set per session for a short TTL. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Increase runtime slash command cache TTL Use a 30 second TTL for the Copilot runtime slash command availability cache. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Reuse slash command input helper Use the shared commandExpectsInput helper when deciding whether to pass runtime slash command input during invocation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Escape plain runtime command output Escape markdown syntax for runtime slash command text results unless the runtime explicitly marks the result as markdown. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Send review slash commands as prompts Treat /review and /security-review as prompt-invoked slash commands like /research instead of invoking them through session.rpc.commands.invoke. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>github.com-microsoft-vscode · 874c6cba · 2026-06-16