--- issue: 106 issue_title: "document opencode compatibility" --- # Retro: #106 — document opencode compatibility ## Final Retrospective (2026-05-07T04:00:00Z) ### Session summary Wrote `docs/opencode-compatibility.md` comparing shared concepts and divergences with OpenCode's permission system. The initial draft contained three factual errors about our own codebase's capabilities, each requiring user correction and a follow-up commit. Released as part of v5.6.1. ### Observations #### What went well - The iterative review style (one concern per user message) kept commits atomic and easy to verify. - Reference material (OpenCode source, Pi mono) was available locally, enabling source-level verification of OpenCode's behavior. #### What caused friction (agent side) - `missing-context` — Claimed "No arity table; matches against full command string" without checking `src/bash-arity.ts` or closed issues. The user had to ask "I thought we did the bash arity thing." Impact: 1 extra commit, 1 user correction. - `missing-context` — Wrote "Deprecated and removed" for `doom_loop` without recalling that Pi never supported it (dead code). The user corrected the framing. Impact: 2 extra commits (one to fix wording, one to merge into OpenCode-only surfaces row). - `missing-context` — Said OpenCode's tree-sitter path extraction was "superior" and implied we used heuristics, when `src/external-directory.ts` already has a full tree-sitter implementation (#74, v4.2.0). The user had to point this out. Impact: 1 extra commit to correct. All three errors share the same root cause: writing claims about "what this extension lacks" without verifying against `src/`, `docs/retro/`, or closed issues. The plan's Background section was written from the web search and OpenCode source — not cross-checked against our own shipped state. #### What caused friction (user side) - The user had to provide three corrections that could have been self-discovered. Each was a simple "did you check our code?" moment. No strategic judgment was needed — this was mechanical oversight the agent should handle autonomously. ### Changes made 1. Added MD028 (adjacent blockquotes) guidance to `AGENTS.md` § Markdown. 2. Added "verify claims against own codebase" rule to `AGENTS.md` § Notes for Agents.