type: goal

text: Runplan-v2 runs appear in the overdeck /plans panel: collector stops latching its harness control-api connection at boot; fresh generation-tagged pointer-file resolution per poll, invalidate on network/timeout/401, deploy live.


type: methodology

text: Contract in docs/specs/2026-07-29-plans-dual-plane-design.md is source of truth. TDD against collector/src/adapters/harness.test.ts patterns; disk-discovery tests use tmpdir harnessHome fixtures, never the fixed-endpoint helper. Public HarnessAdapter interface unchanged; no new config keys; no new files.


type: intent

text: User cannot see or control plans executed by runplan v2 in the overdeck UI. Root cause is a boot-time connection latch in the collector, not a schema mismatch. Union of the deprecated wedged v1 plane was reviewed and REJECTED - do not resurrect it.


type: direction

verbatim: currently, there is no observability in overdeck ui to the plans running via runplan harness v2. the plans just dont appear there at all


verbatim: use /brainstorm i want you to use runplan v2 with profile codex to execute this plan


note: Delivery is not done at land: overdeck-collector.service runs from ~/.local/share/overdeck/deploy (origin/main clone). ship.sh postland runs packaging/deploy-local.sh which fetches origin/main and restarts services - landing MUST include push.


note: Live acceptance must assert a concrete runId from the v2 control-api /runs appears in collector /state plans panel with owner==v2, using both bearer tokens (~/.harness/token for control-api, ~/.config/overdeck/token for collector). Unauthenticated or owner-only checks pass vacuously.


type: task

seat: coder

tier: medium

desc: Read docs/plans/2026-07-29-plans-dual-plane.md Task 1 (Connection freshness in harness adapter) for the full contract; spec docs/specs/2026-07-29-plans-dual-plane-design.md is normative. Replace boot-time harness connection latch with generation-tagged per-poll resolution + classified invalidation. Acceptance: cd collector && bun run test -- src/adapters/harness.test.ts. Commit only: collector/src/adapters/harness.ts collector/src/adapters/harness.test.ts. Work only inside the current worktree; leave changes committed on disk; do not push and do not switch branches.


note: Plan doc Task 2 (Deliver and prove live) is NOT an engine task: v2 lands (merge to main + push) only at plan end, so deploy+acceptance runs AFTER the engine exits, executed by the orchestrating session per the plan doc contract.