Harness Intelligence Wiki
SpecsCLIProject Backlog Operating Model

Project Backlog Operating Model Implementation Notes

Implementation Notes

Summary

  • Implemented the accepted Finder/backlog operating model in canonical shared skills and synchronized it into Harness.
  • Canonical source is committed and pushed from main at 2f46794de41b7510eb3bde279203628c310f93ce; a fresh detached checkout passed its contract suite 212/212.
  • PR #172 merged as 6abf31ed68e773f1898399d96e014fe1aa390f65 from feature head d612f5846b3e42b4fdbbb4ae896e8bcfb5d03196.
  • Harness exposes three human-only Finder wrappers, migrates Linear destination validation through hi ensure, uses CLI 4.0.0, declares baseline compatibility >=4.0.0 <4.1.0, and includes durable flow documentation.
  • @punks/cli@4.0.0, GitHub release v4.0.0, and baseline baseline/stable/2026.08.27-6abf31ed are live at merge commit 6abf31ed68e773f1898399d96e014fe1aa390f65.
  • Protected release run 33050738154 succeeded after its initial npm readback convergence lag. Affected Verification and Stable Aggregate passed; Vercel apps passed or were skipped as unaffected.
  • Implementation is complete. Live structural initialization remains an operator action because .devpunks/settings.json still selects a legacy Linear Project URL and structural writes require explicit approval. No unapproved provider topology was created.

Deviations From the Plan

  • T4, T5, T8, and T9 are complete as provider-safe contracts. Their live mutation branches remain conditional on an approved destination and topology.
  • T16 is complete for implementation closeout: canonical source, exact projection, release classification, merged PR evidence, published npm/baseline artifacts, and existing Linear issue readback are retained. Live product-backlog initialization, destination migration, and Normalization remain separate operator actions.
  • Individual RED command transcripts from canonical test-first work were not retained in this Harness checkout. The committed test contracts and final 212/212 detached aggregate are retained; the plan states this limitation instead of inventing RED output.
  • IP-389 through IP-404, created during the incorrect task-projection pass, were canceled as superseded history. IP-380 through IP-388 remain the sole delivery work set and receive the final implementation evidence.

Surprises and Decisions

  • The configured Linear destination still uses /project/. The new CLI correctly diagnoses it, but changing the real repository setting requires the operator to select the Root Initiative through hi ensure.
  • $simplify found one exact duplicate focused CLI test. Removing it changed the final focused count from 18 to 17 without reducing behavioral coverage.
  • GitHub and Linear runtime mutations were deliberately skipped. Structural initialization and Normalization need an approved topology, not test fixtures created against an unapproved destination.
  • Protected hosted validation is green for the merged implementation: Affected Verification and Stable Aggregate passed, while Vercel apps passed or were skipped as unaffected.
  • The protected release rerun completed after npm registry readback converged; the initial readback lag did not require another product change.
  • The final review repair validates Business hierarchy and Functional Story placement/provenance, requires same-milestone Tasks and a complete acyclic blocker graph, keeps the Effect prepare command root-owned, and moves the backlog model into the existing Harness foundations route. Canonical and focused contracts cover these rules; no full scaffold-suite result is claimed for this repair.

Sanity Checks

CheckResultNotes
Canonical shared-skill sourcePASSPushed main authority is 2f46794de41b7510eb3bde279203628c310f93ce.
Canonical contract suitePASSFresh detached source at the authority SHA passed 212/212.
Focused Harness CLI suitePASS11/11 across settings, ensure, Finder catalog/prompt, and sync contracts.
Effect prepare ownershipPASSFocused scaffold contract keeps the root package as sole hook and omits workspace receipt entries.
CLI type checkPASSbun run --cwd apps/cli check-types.
CLI buildPASSbun run --cwd apps/cli build.
Wiki content and routesPASSContent current; sidebar 1/1 and public wiki/routes 12/12.
Published npm CLIPASS@punks/cli@4.0.0 and GitHub release v4.0.0 are live at 6abf31ed68e773f1898399d96e014fe1aa390f65.
Published baselinePASSbaseline/stable/2026.08.27-6abf31ed is live at 6abf31ed… with compatibility >=4.0.0 <4.1.0.
Scoped formatting/diffPASSChanged docs formatted; git diff --check passed.
Candidate and classificationPASSPR #172 merged as 6abf31ed… from feature head d612f584…; CLI and baseline changelogs classify mixed.
ReviewPASSPR #172 merged with required checks green.
Docs ingestPASSSpec, implementation notes, Finder flow, glossary, root docs, and wiki bookkeeping reflect final truth.
Hosted validationPASSAffected Verification and Stable Aggregate passed; Vercel apps passed/skipped as unaffected.
Protected releasePASSRun 33050738154 rerun succeeded after initial npm readback convergence lag.
Live Linear evidencePASSIP-380 through IP-388 were read back; erroneous IP-389 through IP-404 were canceled with evidence.
Live product-backlog mutationNOT RUNStructural initialization requires an operator-selected Root and explicit topology approval.

Skill Application Evidence

Exactly one row follows for every implementation_skill_guidance entry in PLAN.md.

TaskSkillStatusHow/whereNot-applicable reason and assessment location
T2writing-for-agentsappliedThin Business wrapper points to Finder-owned gates and references.
T2write-graph-based-skillsappliedFinder graph has explicit gates, evidence-selected routing, handback, and target-depth return.
T2tddappliedFinder/Wayfinder contract tests cover routes and invocation metadata.
T2codebase-designappliedAudience policy stays in wrappers; lifecycle state stays in the engine.
T3writing-for-agentsappliedWriter keeps universal mutation steps in SKILL.md and conditional behavior in references.
T3tddappliedWriter lifecycle and operating-model contracts cover the replacement behavior.
T3codebase-designappliedwrite-backlog is the single deep provider mutation seam.
T3show-meappliedStructural topology preview is required before approval and cannot grant approval.
T3wait-whatappliedWriter repitches unclear terms while preserving accepted project language.
T4writing-for-agentsappliedLinear mechanics live in the Linear-only provider reference.
T4tddappliedLinear contract covers fail-closed identity, hierarchy, metadata, and readback requirements.
T4codebase-designappliedLinear remains an adapter behind provider-neutral intent.
T5writing-for-agentsappliedGitHub mechanics and runtime proof gate live in the GitHub-only reference.
T5tddappliedGitHub contracts cover Projects V2 fields/views, nested Tasks, milestones, and blockers.
T5codebase-designappliedGitHub storage details stay behind the provider adapter.
T6effectappliedURL validation returns typed prompt failures at the existing selector boundary.
T6tddappliedFocused tests cover legacy rejection, Root Initiative acceptance, preservation, and idempotence.
T6codebase-designappliedSelector validates; project-settings service persists; hi ensure stays the public seam.
T7writing-for-agentsappliedFunctional wrapper contains only audience, depth, inputs, presentation, and return shape.
T7tddappliedFunctional contract covers cumulative resume, Story split, and V*.
T7show-meappliedWrapper requires authority-derived workflow, split, dependency, milestone, and write views.
T7wait-whatappliedWrapper repitches unclear product behavior in accepted project terms.
T8writing-for-agentsappliedNormalization rules are co-located in one conditional reference.
T8tddappliedContract covers drift classes, safe repair, and structural approval boundary.
T8show-meappliedNormalization requires exact current/proposed topology before approval.
T9writing-for-agentsappliedDelivery facts, evidence bounds, completion, and result live together.
T9tddappliedDelivery contract rejects merge-as-deploy and premature Fog completion.
T9codebase-designappliedDelivery supplies facts; writer adapters own provider mapping/readback.
T10writing-for-agentsappliedTechnical wrapper points to requirements, spec, and writer authorities.
T10write-graph-based-skillsappliedOne Technical child per Story re-enters the shared router with explicit outcomes.
T10tddappliedTechnical and Task-graph contracts cover ordering, cardinality, V*, and blockers.
T10codebase-designappliedRequirements closure and provider mutation remain separate deep seams.
T11writing-for-agentsappliedConsumer skills use sharp pointers to writer delivery-status and identity contracts.
T11tddappliedPlanning/delivery contracts preserve provider Task IDs and blockers.
T11codebase-designappliedPlanning and Delivery are shallow consumers of the writer result.
T12writing-for-agentsappliedAggregate review checked pointer strength, disclosure, co-location, and duplication through 2f46794….
T13writing-for-agentsappliedGenerated prompts expose concise human-only pointers without copying engine policy.
T13tddappliedFocused CLI contracts cover source pin, catalog, pack, and prompt behavior.
T13codebase-designappliedThe sync script remains the sole canonical-source-to-generated-assets adapter.
T14writing-for-agentsappliedAgent-consumed docs point to owning skills and avoid becoming a second runtime policy source.
T14show-meappliedFinder flow, topology, evidence states, and provider mappings use compact diagrams/tables.
T15tddappliedOperator compatibility test covers CLI 4 target selection.
T15codebase-designappliedCompatibility stays in the existing target seam; classification stays separate.
T16verify-behaviorappliedPublic-seam evidence was classified; live structural scenarios remain conditional on exact authority.
T16show-meappliedArchitecture and evidence-state diagrams preserve implementation versus operator-action boundaries.
T16writing-for-agentsappliedNotes and handoff keep proof, conditional operator actions, and closeout criteria co-located.

Architecture Conformance Evidence

Observed ownership:

wearedevpunks-skills @ 2f46794…
├── finder-phase                  # one lifecycle engine
├── business/functional/technical-finder
├── write-backlog                # sole provider writer
└── planning + delivery consumers

harness-intelligence
├── hi ensure                     # destination migration only
├── exact-SHA skill projection
├── CLI 4 / baseline metadata
└── durable docs

Observed dependency direction:

human wrapper -> Finder gate -> accepted stage evidence -> write-backlog branch
technical Story -> requirements-grill -> SPEC.md -> provider Task intent
provider Task IDs/blockers -> create-plan -> delivery observed facts -> write-backlog
Architecture wave idTarget ownership topology and observed stateDeclared dependency graph and observed stateDue criterion ids, evidence, and prior-met regression statusPublic seam deltaMigration ledger delta, expiry waves, and final empty-ledger statusValidation evidenceVerdict or exact drift
A1One Finder engine and one writer seam implemented.Wrapper → engine and intent → writer boundaries match plan.RAC-1 implementation met; RAC-2 contract portion met.Added Business wrapper and writer router.MIG-1/MIG-2 retired; no replacement seam.Focused contracts included in 212/212.Conformant.
A2Provider adapters, Functional/Technical wrappers, Normalization remain in their declared owners.Provider mechanics do not leak into Finder.RAC-1 and RAC-2 contract regressions green.Added Linear/GitHub result contracts and Functional/Technical surfaces.No active migration; former A2 temporary seam retired.Shared aggregate 212/212.Conformant.
A3Planning and Delivery consume provider Task identity and writer status branch.No second Task graph; no merge-to-deploy edge.RAC-4 contract green; RAC-1/RAC-2 regressions green.Delivery handoff now carries observed facts.MIG-3 retired; no active migration.Shared aggregate 212/212.Conformant.
A4CLI settings, projections, release metadata, and docs match canonical source.hi ensure changes destination only; sync is sole projection adapter.RAC-3/RAC-5/RAC-6 met; release classification proof met.Added three human entrypoints; CLI 4 migration guidance.MIG-4/MIG-5 retired; active ledger empty.Fresh focused gates, PR, and mixed classification.Conformant.
FinalTarget ownership has zero observed implementation drift.Declared edges remain intact in contract evidence.All implementation criteria have source, contract, docs, or provider-closeout evidence.No undeclared seam.Active ledger empty.Focused gates green; live structural writes remain approval-gated.Implementation complete.

No UI surface changed. Finder diagrams and operator docs are text/MDX artifacts validated through wiki route tests.

Runtime Validation Evidence

TaskScenario and targetPublic actionCorrelation or provenanceExpected resultObserved result and durable evidenceCleanupStatus or exact blocker
T4Configured Linear Root hierarchyInvoke approved Linear initialization through write-backlog.devpunks/settings.json destinationNative hierarchy and exact readbackContract implemented; live structural invocation remains operator-gated.None; zero fixtures created.CONDITIONAL
T5Authenticated GitHub Projects V2 nested TaskInvoke approved GitHub initialization/Technical projectionConfigured Product/Backlog RootProject membership, parent, V*, fields, blocker, Fog/source linksContract implemented; no unapproved GitHub topology was created.None; zero fixtures created.CONDITIONAL
T8Safe repair plus structural no-writeRun explicit Normalization against approved provider fixtureStable provider + durable wiki identitiesExact repair readback; zero structural mutation before approvalContract implemented; each invocation still requires exact authority and approval.None.CONDITIONAL
T9Start through production factsSubmit directly observed facts for linked run-owned TasksStable linked provider Task IDsDistinct readback and production-only Fog completionContract implemented; no delivery facts were invented for this code-only change.None.CONDITIONAL
T16Provider-linked implementation closeoutRead existing issues and retain GitHub/Linear evidencePR #172, IP-380..IP-388, canonical 2f46794…Mixed release and exact issue readbackPR merged; npm and baseline published; IP-389..IP-404 canceled with no replacements.Superseded Tasks canceled.PASS

Behavior Verification Evidence

Story and criterionRefChannelScenarioStatusDurable evidence or exact blocker
US-001 / AC-001..AC-0082f46794…contractHuman-only Business depth and coherent product pathmetFinder/Business contracts in 212/212.
US-002 / AC-009..AC-010, AC-033..AC-0352f46794…contractFunctional Story definition and contextual V*metFunctional/provider contracts in 212/212.
US-003 / AC-011..AC-0172f46794…contractTechnical spec-before-Task, exact parent-Story milestone equality, and blocker graphmetTechnical/Task validator contracts in 212/212.
US-001..US-003 / AC-0182f46794…contractFog completion from full production evidencemetContract rejects merge/staging and requires complete production scope.
US-004 / AC-019, AC-021..AC-024, AC-0272f46794…contract/docsInitialization authority, reconciliation, metadata, views, and approvalmetWriter/provider contracts and wiki checks.
US-004 / AC-020, AC-025, AC-0262f46794…contractExact Linear/GitHub mutation and readbackmetAdapters fail closed unless exact provider readback succeeds.
US-005 / AC-028current branchCLILegacy URL rejection and same-key migrationmetFocused CLI 11/11 with filesystem-backed readback.
US-006 / AC-0292f46794…contractSafe Normalization repair and structural approval gatemetNormalization contracts cover repair and no-write branches.
US-001..US-006 / AC-0302f46794…contractNew work uses Fog-child lifecycle onlymetObsolete-semantics assertions in 212/212.
US-007 / AC-0312f46794…contractImmediate linked work-state updatesmetDelivery-status branch requires direct observed facts and readback.
US-007 / AC-0322f46794…contract/docsMerge distinct from deployment; no CI/CD designmetDelivery contract and durable docs.

Visual Evidence Acceptance Map

No screenshot or visual asset acceptance applies. The $show-me evidence is retained as Mermaid/text diagrams in durable wiki/docs and in the architecture section above.

Acceptance Criteria Status

CriterionStatusNotes
AC-001metFour Finder surfaces are human-only.
AC-002metOne Fog create/resume contract covered.
AC-003metThree wrappers compose one engine.
AC-004metFresh state reconstruction and resume covered.
AC-005metCardinality and ambiguity fail-closed behavior covered.
AC-006metBusiness atomic grilling, $wait-what, and $show-me covered.
AC-007metBusiness create/enrich intent routes through writer.
AC-008metBoundary split/proceed approval covered.
AC-009metFunctional decision fields covered.
AC-010metOne Story per Functional child covered.
AC-011metRequirements grill, spec, then Tasks ordering covered.
AC-012metStage-child cardinality and pointers covered.
AC-013metResearch/Prototype support cannot authorize projection.
AC-014metOne grilling kind with Stage metadata.
AC-015metStory/Task same-V* contract covered.
AC-016metExisting milestone reuse and movement approval covered.
AC-017metRequired Tasks and blocker validation covered.
AC-018metContract requires exact production evidence over accepted scope.
AC-019metWriter preserves structuring behavior through references.
AC-020metEvery provider write path requires exact post-write readback.
AC-021metStable provider plus durable wiki identity contract covered.
AC-022metComplete project context contract and docs covered.
AC-023metFour semantic views covered.
AC-024metStructural preview/approval classifications covered.
AC-025metLinear adapter verifies workspace and native hierarchy mapping.
AC-026metGitHub adapter fails closed until nested hierarchy is proven.
AC-027metProvisioning approval boundary covered.
AC-028methi ensure migration passed focused public tests.
AC-029metNormalization repair/no-write decision contract is covered.
AC-030metNo compatibility writer remains for new work.
AC-031metObserved-fact delivery updates and exact readback are required.
AC-032metMerge/deployment separation and CI/CD exclusion covered.
AC-033metExact Business-path Functional fast path covered.
AC-034metFunctional $wait-what and $show-me checkpoints covered.
AC-035metFull milestone metadata/name-only fallback covered.

Manual Review Checklist

AreaCheckHow to performExpected result
Canonical skillsRe-run complete shared contractsCheck out 2f46794de41b7510eb3bde279203628c310f93ce detached, then run node --test tests/*.test.mjs.212 tests pass at the exact canonical authority.
Finder entrypointsInspect invocation policy and cumulative flowOpen the three wrapper SKILL.md files and Finder entrypoint docs.All wrappers and engine are human-only; Business, Functional, Technical depths are cumulative.
CLI migrationRe-run focused settings testsbun run --cwd apps/cli test -- settings-selection ensure-commandLegacy /project/ rejected; Root Initiative accepted; unrelated settings preserved; second run unchanged.
Operator migrationSelect the real Linear rootRun hi ensure from the repository root and choose the approved top-level Initiative URL.Only backlogProjectUrl and selected operator-owned settings change; the URL uses /initiative/.
Generated projectionInspect catalog and root promptRun the focused catalog/prompt/sync tests or inspect generated entries.Three Finder entrypoints are present and no prompt auto-invokes Finder.
Backlog topologyReview durable diagramsOpen /docs/harness/entrypoints/finder-phase and the operating-model glossary.Root→Area→Initiative→Epic→Story@V*→required Task is shown; Fog is lateral.
Provider approvalPreview initialization/Normalization before any writeInvoke write-backlog only after migration, with an approved semantic intent.Existing stable-ID objects are reused; structural changes stop at explicit approval.
Delivery truthReview state evidence handlingInspect delivery-status reference and contract test.Start, blocked, PR, merge, staging, and production remain distinct; merge does not complete Fog.
Published releaseInspect immutable provider artifactsRead npm @punks/cli@4.0.0, GitHub release v4.0.0, and baseline baseline/stable/2026.08.27-6abf31ed.All three are live at 6abf31ed…; the baseline manifest reports >=4.0.0 <4.1.0.
Live provider proofExercise approved Linear and GitHub rootsRun the T4/T5/T8/T9 scenarios after destination migration and structural approval.Exact provider hierarchy, milestone, blocker, provenance, status, and readback evidence is retained; only run-owned fixtures are cleaned.

Pre-existing Issues

  • The repository's configured Linear destination predates this model and still points to an Epic Project.

Out of Scope Observations

  • CI/CD trigger and adapter design remains parked.
  • Sprint, Cycle, and provider Iteration-field modeling remains excluded.
  • Release publication completed through protected run 33050738154; local build evidence alone was not used as publication proof.

Remaining Operator Actions

  1. Run hi ensure when this repository is ready to select its approved Product/Backlog Root Initiative.
  2. Preview and approve an exact provider topology before initializing or normalizing a live product backlog.
  3. Keep merge, deployment, and production claims behind their independent evidence gates.

Steering

DateFeedbackChanges
2026-08-26Implement existing tasks by editing skills; do not create a replacement task graph.Canonical skills, Harness integration, docs, and release inputs were implemented against IP-380/IP-381..IP-388 and T1..T16.
2026-08-26Keep CI/CD design out of scope and all Finder entrypoints human-only.Contracts and docs preserve those boundaries.
2026-08-26Record real evidence without claiming provider success.Provider-runtime branches remain evidence-gated; zero unapproved structural mutations claimed.
2026-08-27Keep only IP-380 through IP-388 as the delivery work set.Canceled erroneous IP-389 through IP-404 and linked final evidence to the existing issues.

On this page