Commit Graph
8979 Commits
Author SHA1 Message Date
can1357 aa2c580b22 feat(coding-agent): implemented dynamic rendering and state syncing
- Improved real-time screen rendering by implementing dynamic builder functions for vibe mode components.
- Optimized cursor and spinner rendering to re-derive state from shared mutable options on every paint.
- Added session snapshotting and improved wait logic to accurately detect settled turns and running sessions.
- Ensured reliable toolset restoration during mode transitions through updated logic and new contract tests.
2026-07-11 05:47:56 +02:00
can1357 acd893536d feat(coding-agent): introduced vibe mode for persistent background agents
- Implemented /vibe mode providing persistent background worker sessions and five new specialized management tools.
- Developed a multi-view UI featuring a mini-composer for tool calls and a TV wall for real-time worker status, traces, and output monitoring.
- Integrated shimmering effects and stable screen ordering to enhance worker state visibility and session management.
- Added comprehensive unit tests for Vibe tool renderers and updated runtime registry logic to support rich screen snapshots.
2026-07-11 05:47:56 +02:00
can1357 514a8ca6c8 docs(api): updated status line test helpers to include vibe mode support
- Added vibeMode property to mock context in status line unit tests.
- Ensured test helper functions maintain consistency with updated segment context.
2026-07-11 05:47:56 +02:00
can1357 b60cbb83b7 test(vibe): validated vibe runtime session lifecycle and concurrency behavior
- Implemented test suite for VibeSessionRegistry covering lifecycle state management, session spawning, and turn execution.
- Added verification for session steering, turn queuing, and subagent follow-up behavior within active sessions.
- Validated concurrency handling in the registry including multi-session wait mechanics and result suppression.
- Incorporated session cleanup logic verification for both individual kill operations and mass termination via killAll.
2026-07-11 05:47:56 +02:00
can1357 1ab9c367ed feat(vibe): integrated vibe mode with interactive interface
- Implemented Vibe mode to enable worker session management and director-role context injection.
- Added a `/vibe` slash command and integrated status line UI to display mode activity.
- Configured restricted toolsets and guards to prevent concurrent conflicts with existing Goal or Plan modes.
- Provided system prompts and tool templates to support specialized agent communication and task orchestration.
2026-07-11 05:47:56 +02:00
can1357 75bac085a7 feat(vibe): implemented persistent worker session infrastructure
- Introduced a registry and runtime for managing persistent worker subagent sessions.
- Added lifecycle management capabilities including spawning, dispatching, waiting, and terminating background jobs.
- Implemented TUI visualization tools to track and render worker session states.
- Enabled subagent session continuation via follow-up turn processing.
2026-07-11 05:47:55 +02:00
can1357 54af1c03fd fix(coding-agent): ensured provider errors are surfaced to ACP clients
- Added a fallback to emit error messages during `agent_end` if no error was previously streamed during the turn.
- Added tracking to prevent duplicate error messages when a provider error is successfully delivered during streaming.
- Added a stderr hint for interactive users launching the ACP server directly from a terminal.
2026-07-11 05:47:55 +02:00
can1357 295655255a test(coding-agent): validated behavioral consistency across core toolset
- Added regression tests for browser eval envelope to verify accurate error surfacing and type handling.
- Validated glob tool output to distinguish between incomplete timed-out scans and empty results.
- Verified exact raw range extraction in read tool to ensure no unwanted context padding is returned.
- Confirmed that numbered range reads maintain necessary context padding for readability.
2026-07-11 05:47:55 +02:00
can1357 530faffd23 fix(coding-agent): clarified timeout status in glob scans to prevent misleading empty results
- Removed definitive "No files found" message when glob scans time out to prevent misleading claims of file absence.
- Updated timeout notice to explicitly state that results are incomplete and provide actionable guidance on scoping the search.
- Modified TUI renderer to display "No matches before timeout (scan incomplete)" status instead of "No files found" for timed-out scans.
2026-07-11 05:47:55 +02:00
can1357 d993b13c80 fix(coding-agent): strengthened browser interaction reliability and error transparency
- Implemented a try/catch envelope for browser evaluations to surface detailed page-side JS exceptions and detect unsupported Promise returns.
- Added transparent error reporting for cmux browser surface limitations regarding screenshot clipping and full-page captures.
- Forced tab activation before screenshot capture to prevent stale or sibling-tab image data in shared-endpoint environments.
2026-07-11 05:47:54 +02:00
can1357 83fbefac29 fix(coding-agent): disabled context padding for raw file reads
- Disable context expansion in raw mode to ensure verbatim content extraction.
- Enforce strict adherence to requested line ranges when raw selectors are used.
- Remove padding in range calculations to prevent indistinguishable context lines in raw output.
2026-07-11 05:47:54 +02:00
can1357 2f97b7fe4b feat(coding-agent): removed plan subagent
- Removed the `plan` agent definition and associated prompt file from bundled agents.
- Updated documentation to reflect the removal of `plan` from available subagents.
- Cleaned up related tests to remove references to the deprecated agent.
2026-07-11 05:47:54 +02:00
can1357 1c6f5dc18f feat(coding-agent/prompts): refined agent delegation logic and constraints
- Clarified that the agent must handle top-level scoping, planning, and cross-slice contracts before delegating work.
- Restricted subagent usage to scenarios with genuine parallelism, discouraging "spawn-one-then-wait" patterns.
- Updated criteria for inline work to include cases with only a single runnable slice, preventing unnecessary handoffs.
2026-07-11 05:47:54 +02:00
can1357 fd2d4616a6 chore: bump version to 16.4.2 2026-07-11 00:17:35 +02:00
can1357 a99f46e941 chore: update changelogs 2026-07-11 00:17:04 +02:00
can1357 3e90576228 test(coding-agent): updated mcp profile auth binding tests
- Added AbortSignal expectation to auth binding test assertions.
2026-07-11 00:13:49 +02:00
can1357 531880c620 feat: improved json serialization for bigint values
- Introduced `stringifyJson` helper to preserve bigint precision by serializing them as decimal strings.
- Replaced native `JSON.stringify` across compaction and session management modules to prevent serialization errors when handling bigint values in tool arguments.
- Added regression tests in `agent` and `coding-agent` packages to ensure bigint tool arguments remain intact through compaction and persistence flows.
2026-07-11 00:12:29 +02:00
can1357 1758a6c749 Merge remote-tracking branch 'origin/farm/6d5f8413/fix-mcp-oauth-refresh-race' 2026-07-11 00:10:43 +02:00
can1357 1b490044ff feat(coding-agent): centralized task orchestration and prompt policy logic
- Centralized task concurrency and delegation logic by moving instructions from individual tool descriptions to the system prompt.
- Introduced conditional system prompt logic to handle model-specific task policies, including support for GPT-5.6.
- Added infrastructure for task concurrency normalization and IRC steering state within the system prompt configuration.
- Refactored prompt inputs and session logic to enable dynamic system prompt updates based on model-specific policy cohorts.
2026-07-11 00:03:53 +02:00
roboomp b60dc669ea fix(auth): fenced oauth refresh writes
- Fenced final OAuth refresh update and terminal-disable CAS statements by row id, serialized credential data, active lease owner, and unexpired lease time.
- Passed an AbortSignal through MCP OAuth token refresh and bounded owned refresh operations below the lease TTL while awaiting the aborted fetch to settle.
- Added regressions for stolen-lease update/disable attempts and timed-out MCP token fetch abort behavior.

Fixes #5081
2026-07-10 21:49:18 +00:00
roboomp cb32853130 fix(auth): renewed oauth refresh leases
- Renewed durable OAuth refresh leases while token refreshes are in flight so slow endpoints cannot let a peer steal the row and replay a rotating refresh token.
- Let CAS update and disable storage errors propagate instead of collapsing them into peer-win misses.
- Added regressions for lease renewal and CAS storage failure propagation.

Fixes #5081
2026-07-10 21:15:04 +00:00
roboomp cf021ad393 fix(auth): serialized mcp oauth refreshes
- Added durable SQLite refresh ownership for stored OAuth rows, with canonical re-read before refresh and compare-and-set persistence.
- Routed MCP proactive and forced OAuth refresh through the shared owner so waiters reuse the winner's rotated credential.
- Added MCP regression tests for shared SQLite refresh ownership and stale invalid_grant losers.

Fixes #5081
2026-07-10 20:25:49 +00:00
can1357 395e4a5fcf chore: bump version to 16.4.1 2026-07-10 20:50:59 +02:00
can1357 60c9ad625e feat(coding-agent/prompts): updated advisor system prompt behavior
- Instruct the advisor to stop policing scope, ambition, or backwards compatibility unless explicitly requested by the user.
- Adjust the blocker criteria to require explicit contradictions of user instructions rather than subjective assessments of refactor size or scope.
2026-07-10 20:36:23 +02:00
Victor Araújo bce6aa89a4 fix(mcp): included OAuth scopes in dynamic client registration
Clerk and similar providers bind DCR clients to only the scopes declared at
registration. Authorize then requests scopes_supported (including openid),
which rejects with "client is not allowed to request scope 'openid'". Match
Claude Code by sending config.scopes as RFC 7591 scope on the DCR body.
2026-07-10 15:08:28 -03:00
can1357 a0f7266fbc chore: bump version to 16.4.0 2026-07-10 14:11:05 +02:00
can1357 68bc6ba605 test(coding-agent): updated thinking model metadata expectations
- Update Ollama discovery tests to reflect the wire effort vocabulary.
- Adjust model registry test expectations to treat adaptive effort ladders as verbatim, removing the legacy effortMap backfilling behavior.
2026-07-10 14:10:41 +02:00
can1357 e8add61016 fix(debug): stopped native fallback for missing delve
- Kept missing language-specific adapters from falling through to native debuggers.
- Resolved nested launch roots before session-local binaries and PATH, including explicit adapters and go.work workspaces.
- Added actionable install/configuration errors and deterministic regression coverage.

Fixes #5037
2026-07-10 14:06:57 +02:00
can1357 520f6f9bcc feat(catalog): standardized reasoning effort configuration
- Transitioned DeepSeek models to an explicit `[High, Max]` effort ladder, removing stale alias maps.
- Updated the OpenAI compatibility layer to enforce authoritative `supportsReasoningEffort` and `omitReasoningEffort` flags.
- Synchronized `models.json` definitions to reflect accurate reasoning effort capabilities across the catalog.
2026-07-10 13:59:54 +02:00
can1357 eae4580a36 chore: update changelogs 2026-07-10 13:40:13 +02:00
can1357 d435385ab1 feat: introduced max reasoning effort tier across model and rpc systems
- Introduced `Max` as a first-class reasoning effort tier across all packages, including AI providers, coding agent configurations, and RPC protocols.
- Refactored model effort ladders to use wire-exact mappings and removed legacy effort aliasing (e.g., `max-to-xhigh` mapping).
- Updated model registry and provider configurations to support `Max` tier routing, color themes, and UI icon associations.
- Expanded test suites to provide end-to-end coverage for the new reasoning tier, including updated compatibility and fallback scenarios.
2026-07-10 13:39:42 +02:00
can1357 6813fa128f test: aligned ai and tui test contracts with recent stream and paint changes
- Asserted the terminal [DONE] sentinel frame in raw SSE capture since onSseEvent observers receive every wire frame as it arrives.
- Included updatedAtMs in credential block persistence expectations per the broker snapshot contract from issue #4980.
- Taught VirtualTerminal the no-ED2 destructive paint bytes: ED3 history clears now invalidate the offset-keyed text cache instead of bypassing emulation, keeping legacy full-clear recreation only for the WASM trap workaround.
- Refreshed the advisor parity comment for UUIDv7 provider session ids.
2026-07-10 13:21:06 +02:00
can1357 558e0bd085 test(coding-agent): aligned advisor and reload tests with uuidv7 session ids
- Updated advisor provider-options parity assertions to the UUIDv7 provider session identity introduced for issue #5040 instead of the retired -advisor suffix.
- Disabled codex websocket prewarm in the responses-replay harness so seeded provider-state stubs are not replaced before reload closes them.
2026-07-10 12:58:54 +02:00
can1357 6dbbfbe1e0 feat(coding-agent): renamed explore agent to scout
- Renamed the `explore` agent to `scout` throughout prompt templates, agent definitions, and configuration schemas.
- Updated documentation and internal tool references to reflect the new agent identity.
2026-07-10 12:51:50 +02:00
can1357 2d2a10ab9d style(coding-agent): sorted merged agent imports 2026-07-10 12:40:49 +02:00
can1357 5809c1a637 chore(changelog): normalized merged unreleased entries 2026-07-10 12:40:49 +02:00
can1357 17c7c6d0f8 fix(agent): preserve external abort boundaries 2026-07-10 12:37:46 +02:00
can1357 390a4ae927 fix(coding-agent): reconcile late MCP discovery 2026-07-10 12:37:46 +02:00
can1357 2bf8f43b67 fix(agent): keep incremental yields budget-bound 2026-07-10 12:37:46 +02:00
can1357 a3c0d536cc Merge PR #4971: fix(agent): stop terminal yield loops after IRC wake 2026-07-10 12:37:38 +02:00
can1357 3862e0c945 Merge PR #5016: fix(cli): preserve MCP tools when --tools filters built-ins 2026-07-10 12:37:37 +02:00
can1357 cec1639242 Merge PR #5014: fix(agent): commit yield before budget abort 2026-07-10 12:37:37 +02:00
can1357 09977ac0ad Merge PR #5023: fix(bash): avoid aborting native timeout signals 2026-07-10 12:37:36 +02:00
can1357 f4283e035a Merge PR #4994: fix(auth): decouple login success from model refresh 2026-07-10 12:37:36 +02:00
can1357 f8a927e5cb Merge PR #5043: fix(lsp): handle go.work workspace diagnostics 2026-07-10 12:37:36 +02:00
can1357 5d6e9a92d7 Merge PR #4999: fix(coding-agent): restore ask tool timeout fallback 2026-07-10 12:37:36 +02:00
can1357 2f49172374 Merge PR #4990: fix(mcp): keep macOS stdio servers attached 2026-07-10 12:37:36 +02:00
can1357 88630e2faa Merge PR #4984: fix(session): skip snapcompact frames in collapsed transcripts 2026-07-10 12:37:35 +02:00
can1357 70754dfa01 fix(coding-agent): hardened same-realm runtime guards from PR review
- setCwd now updates the saved __omp_session__ stack entry so a deferred
  cross-runtime setCwd is visible to the runtime's next run (review should-fix)
- JsRuntime installation asserts realm ownership before mutating globals;
  a first init during another runtime's live run fails via init-failed
  instead of clobbering the active run's globals
- cmux runCmuxCode marks the armed cancel rejection as handled so a sync
  setup throw under an already-aborted signal cannot become an unhandled
  rejection (review P2)
- credited #4907 in the changelog entry
2026-07-10 12:33:53 +02:00
can1357 674c7a252a Merge branch 'main' into pr-4907 2026-07-10 12:22:24 +02:00