Problem
#812 fixed a journal path that shipped broken in v5.10.0: under OpenCode, opencode-plugin.js spawned a journal.cjs the build no longer puts beside it, the plugin's own try/catch swallowed MODULE_NOT_FOUND, and every OpenCode session recorded nothing while aidd telemetry still read OpenCode as covered.
The real-host acceptance in cli/scripts/smoke-real.sh did run opencode run on this machine, and passed: it only asserts the bridge module loads and the host exits 0. It installs the smoke fixture, not aidd-telemetry, so nothing in it can see a journal that stays empty. The unit guard #812 added pins the literal against the build contract; nothing pins that a real host, on the real installed layout, writes a line.
Scope
cli/scripts/smoke-real.sh: in the opencode section, install the repository's own aidd-telemetry into a throwaway project through aidd setup, turn measurement on, run opencode run, and assert the project's run journal holds a session_start line with "tool":"opencode".
- Same shape as the existing opencode run: auth missing or a timeout is a SKIP naming why, never a PASS.
Acceptance criteria
Prior art in this repository
Out of scope
- The same live-journal proof for Claude Code, Codex, Copilot and Cursor: each costs a real model call and has its own trust prompt (Codex needs one interactive approval). A separate issue if this one proves its worth.
Problem
#812 fixed a journal path that shipped broken in v5.10.0: under OpenCode,
opencode-plugin.jsspawned ajournal.cjsthe build no longer puts beside it, the plugin's owntry/catchswallowedMODULE_NOT_FOUND, and every OpenCode session recorded nothing whileaidd telemetrystill read OpenCode as covered.The real-host acceptance in
cli/scripts/smoke-real.shdid runopencode runon this machine, and passed: it only asserts the bridge module loads and the host exits 0. It installs the smoke fixture, notaidd-telemetry, so nothing in it can see a journal that stays empty. The unit guard #812 added pins the literal against the build contract; nothing pins that a real host, on the real installed layout, writes a line.Scope
cli/scripts/smoke-real.sh: in the opencode section, install the repository's ownaidd-telemetryinto a throwaway project throughaidd setup, turn measurement on, runopencode run, and assert the project's run journal holds asession_startline with"tool":"opencode".Acceptance criteria
../hooks/aidd-telemetry/journal.cjsflipped back to./journal.cjs), the new check is red and names the empty journal.opencode auth listshows a credential.FAILstays 0.Prior art in this repository
cli/scripts/smoke-real.sh, section "opencode: the bridge it wrote is loadable" (the realopencode runthis extends).scripts/__tests__/opencode-plugin.test.jsandbuild.unit.test.tsfrom fix(telemetry): opencode reads journal.cjs where the build puts it #812 (the staged-layout and literal guards).Out of scope