diff --git a/docs/opencode-parity.md b/docs/opencode-parity.md index e9281aab..1ad0fb83 100644 --- a/docs/opencode-parity.md +++ b/docs/opencode-parity.md @@ -181,6 +181,30 @@ Each phase is independently shippable. Nothing here is a big-bang rewrite. --- +## If you are picking this up cold + +Phases 0 and 1 are ready to implement as written. Phase 2 is a **decision**, not a task — do not start it +as work. + +**Reproduce each defect before fixing it.** The B-list came from read-only surveys, and one of those +surveys reasoned from a dead file for part of its report (see below). Only the event-path claim was +re-verified at source. Every B item names its files and lines; open them and confirm the defect is real +and still present before changing anything. A "fix" to something that was never broken is worse than the +defect, because the next reader will trust it. + +Two that are worth extra care: + +- **B2** is a six-hop chain from `ChatDetailPanel` down to `isClaudeModel`. Confirm the whole chain + rather than the endpoints — it is the kind of claim that is right in outline and wrong about which hop + drops the value. +- **B1** implies OpenCode sessions are invisible in the UI today. That is trivially checkable by opening + `/chat` and looking. Do that first: it either confirms the whole B-list's provenance in one glance, or + tells you the surveys were working from a stale tree. + +This machine and the home-lab server run the same repo but not necessarily the same OpenCode binary. +Both `runner.ts:38` and `client.ts:170` pin behaviour to "verified against opencode 1.17.9" with nothing +enforcing it, so check the installed version before trusting any NDJSON shape in here. + ## Two things to verify before trusting any of this - The surveys initially disagreed about which file is the live event path. **`runner.ts:174-214` is