Skip to content

feat(acp): complete capability matrix - #44

Open
yan-ad wants to merge 16 commits into
Blankeos:mainfrom
yan-ad:feat/acp-capability-gaps
Open

feat(acp): complete capability matrix#44
yan-ad wants to merge 16 commits into
Blankeos:mainfrom
yan-ad:feat/acp-capability-gaps

Conversation

@yan-ad

@yan-ad yan-ad commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Complete the Crabcode ACP capability matrix and make crabcode acp fully functional across session lifecycle, prompts, tools, permissions, commands, MCP, terminals, questions, cancellation, and usage accounting.

Highlights

  • complete persisted session lifecycle with cursor pagination, hierarchy metadata, stable message IDs, fork isolation, close, and delete
  • support persistent image/audio prompt attachments with legacy attachment migration and WAV/MP3 audio routing
  • stream full and structured tool results, normalized locations, native diffs/media/resources, and MCP annotations/metadata
  • preserve real permission tool-call IDs and provide non-mutating preflight diffs, including multi-file apply_patch
  • forward interactive questions through capability-gated ACP form elicitation
  • embed client-hosted terminals with create/wait/output/kill/release and cancellation support
  • add ACP /compact, local /skills and /mcp, custom command overrides, and explicit unknown-command errors
  • retain provider stop reasons and authoritative input/output/cache usage with persisted, cache-aware cost accounting
  • add stdio subprocess initialization and clean-EOF integration coverage
  • update _docs/acp.mdx so all Crabcode-side capability areas are marked Full, with editor/model/protocol requirements documented separately

Storage and compatibility

  • adds persistence fields/migrations for authoritative usage and durable attachment metadata
  • attachments are stored per session under Crabcode state storage and copied independently on fork
  • _meta.crabcode extensions expose hierarchy and detailed usage while preserving ACP compatibility
  • unsupported future MCP content remains available through lossless raw/text fallback

Validation

  • focused ACP, session, persistence, provider, MCP, permission, question, terminal, attachment, audio, compaction, and tool tests pass
  • ACP stdio subprocess lifecycle test passes
  • cargo check passes
  • cargo fmt passes
  • scripts/check-aisdk-boundary.sh passes

The repository-wide suite still exposes pre-existing shared global test-state coupling when session tests run in one process. Those session tests pass with isolated XDG_STATE_HOME; two unrelated existing failures remain in model-cache fixture and renderer-path assertions.

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