#906 — OpenCode V1 copresence upgrade boundary (source inspection, not E2E)
OBSERVED_AT=2026-10-12T11:47:45Z
SOURCE_COMMIT=4a22ef47e09c3b0a4a122020661a325ca32575be
Published pair inspected: CLI 2.3.0-preview.171 / runtime 2.5.0-preview.137.
This commit adds documentation only. No runtime implementation or release.

Evidence:
- agent-node/src/cli.ts: ensureOpencodeCopresenceRuntime does not forward the
  persisted session into openOpenCodeCopresenceRuntime.
- agent-node/src/runtime/opencode-copresence/runtime.ts:
  openVettedOpenCodeCopresence creates a V1 session with POST /session on each
  launch; close stops the recorded attach and its owned server process group.
- agent-node/src/runtime/opencode-acp/child-env.ts:
  buildOpencodeChildEnv creates fresh writable XDG roots in safe and unsafe
  modes. cleanupOpencodeChildEnv releases the tracked launch tree after exit.
- Therefore merely forwarding the saved session ID cannot preserve history.
  Retaining a previous writable DB root would alter the established isolation
  boundary, not constitute a small resume fix.

Read-only selected-node observation:
- An existing independent V1/copresence node was idle with zero in-flight and
  queued tasks, still running runtime .118 under the old CLI .151 wrapper.
- Its bridge-owned serve and recorded attach remained running. Its config
  contained a saved session, but no upgrade or session migration was attempted.
- The new .171/.137 private install remains inactive for that node.
- No node identity, config, model, provider, credentials or session was changed.
- No credential values, conversation history or binary payloads were read.

Limits and follow-up:
- Product tests added/executed this round: 0. Source inspection is not PASS.
- Existing #1075 main/source/Actions/publication acceptance remains independent
  of this older node's operational upgrade. No completed criterion reopened.
- Persistent V2 server PR2645 is a separate candidate, not V1 recovery proof.
- Next implementation must preserve history through a supported, scoped
  recovery path without weakening fresh-root ownership or version validation.
- Docs CI will validate this patch separately; no local product suite is run.
- First head 89a46fea failed docs-integrity only because the two new CLI
  version-bound statements were absent from RELEASE-SOP's assertion inventory.
  Both documents are now registered; no scanner, baseline or assertion relaxed.
- Cleanup: no new process/container, production probe or restart to undo.
