Skip to content

Finalize Phase 5 VS Code UX and Agent Reliability - #7

Merged
LonelyQuantum merged 84 commits into
mainfrom
dev/vscode-extension-ux-refine
Jun 14, 2026
Merged

LonelyQuantum merged 84 commits into
mainfrom
dev/vscode-extension-ux-refine

Conversation

@LonelyQuantum

Copy link
Copy Markdown
Owner

Finalize Phase 5 VS Code UX and Agent Reliability

Summary

This PR completes Phase 5 by polishing the VS Code extension into a Codex-like workflow and hardening the underlying agent/runtime paths needed for longer real-world tasks.

Changes

  • Add VS Code launch/tasks configuration and tracked mini test projects under test/projects/agent_misc_tests.
  • Improve Sidebar Chat UX with inline approvals, conversation-focused rendering, Markdown rendering, message edit/resend, steering, stop control, run deletion, run history paging, and compact activity summaries.
  • Add DeepSeek API key/model UX using SecretStorage, redaction, provider status/recovery actions, and Output Channel diagnostics.
  • Add Git workflow helpers for commit message and PR description generation.
  • Harden agent runtime behavior around tool argument recovery, unknown tools, large patch payloads, model turn continuation approval, provider retry handling, and workspace changed-file tracking.
  • Extend RPC/protocol support for delete run, steer, load run events, typed run summaries, approval persistence, batched events, and structured provider configuration errors.
  • Improve Run Log resilience by recovering stale or damaged summaries from events.jsonl.
  • Update Phase 5 docs and roadmap, and add Phase 6 AGENT performance tuning as the next planned phase.

Testing

  • cargo fmt --all
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test -p prole-coder-agent-core run_log
  • cargo test -p prole-coder-agent-core turn_loop_requests_approval_to_continue_after_model_turn_budget
  • cargo test -p prole-coder-agent-rpc
  • pnpm --filter prole-coder-vscode test
  • pnpm --filter prole-coder-vscode typecheck
  • git diff --check

- Add Sidebar Settings access and RPC args docs
- Retry transient DeepSeek send failures
- Improve Windows shell encoding and length-limit summary retry
- Render horizontal rules in safe DOM Markdown
- Clarify table escape handling for backslashes
- Preserve non-string timeline body values defensively
- Extend webview/E2E probes for historical Markdown replay
- Document follow-up renderer unit test work
- Require approval for bulk patches and workspace policy file edits
- Add approval consistency and recoverable patch failure tests
- Document auto-approval limits and review response
- raise DeepSeek default output token budget
- retry length-truncated tool calls instead of failing runs
- persist edited-message hiding in Sidebar webview state
- bound patch preview hunk-count tolerance
- update Phase 5 docs and review response
- Extract the webview Markdown renderer with smoke and behavior tests
- Carry edit-resend supersedes metadata through protocol, RPC, and run logs
- Hide superseded user messages in chat and automatic context
- Tighten supersedes turnId validation and document protocol constraints
- replace provider/send controls with theme-colored SVG icons
- make model turn budget continue through approval with cancellation checks
- harden PowerShell CLIXML progress filtering on raw bytes
- document pending automatic chat mode inference
### Summary

Stabilized long-running agent turns and refined the VS Code sidebar approval/chat UX.

### Changes

- Added transient DeepSeek/provider transport error classification and retry handling.
- Reset provider retry quota after approved model-turn-budget continuations.
- Recovered missing tool-call reasoning with tool-name context instead of failing the turn.
- Returned recoverable `apply_patch` preview/filter errors as failed tool results so the model can retry.
- Added `model_turn_budget` as a schema-only built-in tool.
- Improved approval snapshots by truncating long command/output fields and omitting duplicated command details.
- Rendered provider retry events as collapsed work-log entries.
- Refined approval cards with Command / Scope / Previous output sections and card-level scrolling.
- Tightened composer busy-state behavior, including stable send/stop icon switching and hiding the mode selector while running.
- Updated Phase 5 planning docs with the PowerShell `2>&1` false-failure follow-up.
- Hide the sidebar run-mode selector and infer ask/edit/plan/review from user text.
- Support explicit prefixes like /ask and plan: while stripping them before sending.
- Remove the unused forcedRunMode webview path.
- Prioritize question-like prompts over edit keywords during inference.
- Add Windows PowerShell guidance to avoid 2>&1 on verification commands.
- Update P5-16c/P5-16d docs and related tests.
- Add turn steering RPC support and busy-state steer input handling
- Improve conversation-level approval reuse and grouped work-log rendering
- Harden read-only shell allowlist for rg/git edge cases
- Stabilize Windows process-tree cancellation coverage
- Update Phase 5 docs and code review response
- Classify unknown tool risk by name tokens instead of substring matches
- Move pending steer delivery cleanup out of render item construction
- Document timeline process-item retention and shell Activity counting intent
- Add targeted regression coverage for unknown tool risk and steer cleanup
- Add lazy shell baseline snapshots for changedFiles and stricter verification command detection
- Expose run summary metadata and historical event paging through RPC/protocol boundaries
- Restore older sidebar timeline events from run logs without replaying approvals
- Synchronize webview history loading with extension-side ack instead of timer-based throttling
- Update Phase 5 docs and code review response
- Replace bool literal assert comparison with assert!
- Use an array for fixture events that only need iteration
- Mark Phase 5 complete and add Phase 6 performance tuning plan
- Add tracked clean mini test projects and ignore local working copies
- Harden run log recovery, RPC run summaries, approval persistence, and timeline handling
- Update protocol and VS Code docs for review follow-ups
@LonelyQuantum
LonelyQuantum merged commit 1a3b5db into main Jun 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant