Harness Intelligence Wiki
SpecsCLIWayfinder Lifecycle Upgrade

Wayfinder Lifecycle Upgrade Implementation Notes

Wayfinder Lifecycle Upgrade Implementation Notes

Progress

  • T0-T11 complete. Canonical skills were reviewed, committed, and pushed at 9f1e1a057c50a7074f1bb6a9d9c15c358c0c5bff; Harness synced that exact SHA.
  • Harness integration was committed and pushed at 4f89074315a7c04e418d5bfb08c7b51e25862941.
  • Private/internal and public docs ingest are complete. No baseline or package release was performed.

Decisions And Deviations

  • The user explicitly authorized implementation without SPEC.md; none was created, repaired, or marked implemented.
  • Execution changed from sequential to parallel by explicit user instruction. Ownership was narrowed: this lane owns T2-T5 only.
  • The first required behavior in every T2-T5 slice captured real RED. Additional focused RED cycles covered UI safety and out-of-scope convergence. Remaining invariants were checked through behavior-focused aggregate contracts rather than brittle prose snapshots.
  • One planned search command was corrected after zsh treated an unquoted backtick as an unmatched quote; the rerun used single-quoted patterns.
  • Readonly review found four in-scope gaps. Each received a focused RED/GREEN cycle: compiler dependency/coverage integrity, durable-report parent ownership, Finder provider-mutation delegation, and decision-rich prototype verdicts.
  • Later cross-lane reviews found provider preflight, update-existing mutation, immutable remote authority, retention, taxonomy fallback, provider body parity, and stale consumer/docs gaps. Each was fixed with a focused RED/GREEN cycle.
  • Canonical directory parity excludes three untracked empty local directories. All 645 tracked files at the pushed SHA match all 645 CLI files byte-for-byte; the CLI tree contains no extra files.
  • apps/cli check reaches one unrelated pre-existing Oxlint finding at src/scripts/publish-release.test.ts:226: six assertions exceed the configured maximum of five. Targeted touched-scope lint, format, types, and tests pass.

No UI evidence applies. This work changes reusable instruction contracts, catalog/routing text, and Markdown documentation; it does not change interactive product UI.

Runtime Validation Evidence

  • Canonical branch: team/stefan/wayfinder-lifecycle
  • Canonical commit: 9f1e1a057c50a7074f1bb6a9d9c15c358c0c5bff
  • Local HEAD, upstream, and remote branch SHA matched before sync.
  • Harness sync receipt records the same SHA.
  • Harness branch: team/stefan/wayfinder-lifecycle
  • Harness commit: 4f89074315a7c04e418d5bfb08c7b51e25862941
  • Harness local HEAD, upstream, and remote branch SHA match; its worktree is clean.
  • 645 tracked canonical files equal 645 CLI files byte-for-byte; no extra CLI files exist.
  • Local baseline contains prototype-phase; context/projection tests ran in owned temporary roots. Active .agents mirrors were not updated from an unpublished baseline.

Sanity Checks

  • node --test --test-name-pattern="prototype" tests/wayfinder-lifecycle.contract.test.mjs — 4/4 passed.
  • node --test --test-name-pattern="wayfinder|finder" tests/wayfinder-lifecycle.contract.test.mjs — 3/3 passed.
  • node --test --test-name-pattern="research|docs ingest" tests/wayfinder-lifecycle.contract.test.mjs — 3/3 passed.
  • node --test --test-name-pattern="create-spec|requirements phase|spec compiler" tests/wayfinder-lifecycle.contract.test.mjs — 3/3 passed.
  • node --test tests/*.test.mjs in canonical skills — 54/54 passed.
  • Canonical changed-Markdown relative-link audit — 38 files passed.
  • git diff --check in canonical skills — passed before commit; source clean after push.
  • Harness sync tests — 9/9 passed.
  • Harness focused aggregate — 87/87 passed.
  • Harness context/projection subset — 50/50 passed.
  • Harness TypeScript and targeted Oxlint/Oxfmt — passed.
  • bun run --cwd apps/wiki check:content — passed.
  • bun run --cwd apps/wiki check — passed.
  • Broad apps/cli check — blocked only by pre-existing publish-release.test.ts:226 vitest(max-expects) (6 > 5).

Manual Review Checklist

AreaCheckHow to performExpected result
PrototypeHuman verdict loopRead prototype-phase/SKILL.md and follow accept, iterate, and reject branchesIterate commits updated decision evidence; reject records rationale and returns the unresolved question; accept/reject return immutable verdict evidence to Finder
FinderResumable frontierRead finder-phase/SKILL.md plus references/convergence.md with a claimed ticketDestination, mode, dependencies, semantic claim/resolution, delegated provider writes, child evidence, repair, and recomputed frontier remain explicit
ResearchDurable mode boundaryCompare ordinary parallel-research output with DURABLE-REPORT.mdOrdinary audits remain response-only; durable mode has 2-4 readonly lanes and one report writer
SpecCompiler boundaryRead create-spec/SKILL.md, readiness reference, fixture, and templateIt asks no questions; blocked dependencies, uncovered stories, and dangling Covers fail atomically; valid input is remotely retained and yields a verified stable blob URL
BacklogProjection and lifecycle updateRead write-backlog/SKILL.md, REFERENCE.md, and one provider adapterPre-spec intake, claim/release/resolve, and post-spec epic/story projection are distinct; every graph is preflighted before mutation
DistributionImmutable syncInspect apps/cli/.devpunks-cache/skills-sync.json and run the focused sync testReceipt and default source equal 9f1e1a057c50a7074f1bb6a9d9c15c358c0c5bff
RoutingPhase discoveryInspect the planning pack and generated root guidancePlanning exposes Finder, Wayfinder, and prototype-phase; research keeps the prototype primitive; spec precedes backlog

Remaining Work

  • None in scope. The broad CLI check still reports the pre-existing unrelated publish-release.test.ts:226 max-expects finding; focused touched-scope proof is green and that file was not changed.

On this page