27 KiB
Tasks: Spec 439 - Branch Topology and Local Evidence Truth
Input: specs/439-branch-topology-local-evidence-truth/spec.md and plan.md Tests: Required during implementation; deterministic Pest 4 fixtures precede the corresponding implementation. Scope: Narrow Constitution branch amendment, directly conflicting authoritative instructions, repository branch/diff tooling, local test-lane evidence/result semantics, focused tests, and final implementation report only. Implementation state: Implementation and final reconciliation were executed. Paired clean-baseline attribution found no Spec 439 functional regression, no confirmed performance regression, no Fast Feedback hard-budget breach, and no local activation blocker matching the specified fail criteria. Final verdict is merge-ready locally subject to live verification that the Gitea check is not already a required merge boundary.
Format
Task lines use:
- [ ] T### [P?] [US?] Action in exact file/component
Phase: N | Refs: FR-... / INV-... | Depends: ... | Evidence: ...
- [P]: May run in parallel only when the task is file-disjoint and every earlier phase gate has passed.
- [US1-US5]: Maps to the user stories in spec.md.
- A task is marked complete only after its stated implementation evidence exists.
Phase 0 - Revalidate Spec Readiness
Purpose: Reconfirm current repository and governance truth before any mutation.
- T001 Revalidate the active package at specs/439-branch-topology-local-evidence-truth/, current branch, HEAD, dirty state, local dev/platform-dev/website-dev refs, Amendment Procedure, and absence of a mandatory separate Amendment Spec. Phase: 0 | Refs: FR-001, FR-002, FR-007, INV-001, INV-020 | Depends: none | Evidence: captured preflight facts for later Phase 8 report; no fetch and no file mutation.
- T002 Identify the exact obsolete universal-dev rule and every directly conflicting authoritative instruction in .specify/memory/constitution.md, Agents.md, and preflight-confirmed branch instruction files; baseline Specs 437/438. Phase: 0 | Refs: FR-003, FR-004, FR-006, FR-052, INV-003, INV-019 | Depends: T001 | Evidence: exact file/line inventory and checksums/diff baseline retained for Phase 8.
Phase 0 Exit Gate: The governance process, stale rule, direct consumers, defects, and protected historical specs are known. Any material mismatch is reconciled in the active artifacts before T003.
Phase 1 - Apply the Narrow Constitution Branch-Topology Amendment
Purpose: Make the canonical governance rule match the declared three-branch topology before dependent implementation.
- T003 [US1] Apply the narrowly scoped amendment to .specify/memory/constitution.md, changing only the universal feature-branch rule plus the required Sync Impact/version/date metadata. Phase: 1 | Refs: FR-001, FR-002, FR-004, INV-001, INV-003 | Depends: Phase 0 Exit Gate | Evidence: focused Constitution diff containing no unrelated principle change.
- T004 [US1] Define dev, platform-dev, and website-dev roles in .specify/memory/constitution.md. Phase: 1 | Refs: FR-003, FR-008, FR-009, FR-010, INV-004, INV-005, INV-006, INV-007 | Depends: T003 | Evidence: canonical three-role table or equivalent normative text.
- T005 [US1] Define platform, website, cross-stream/promotion, and repository-governance routing in .specify/memory/constitution.md, including explicit target requirements and no wrong-family/HEAD~1 fallback. Phase: 1 | Refs: FR-003, FR-011, FR-012, FR-013, FR-024, FR-025, INV-007, INV-008, INV-009 | Depends: T004 | Evidence: normative base/target/baseline and fail-closed language matching spec.md.
- T006 [US1] Validate the Constitution amendment against its Amendment Procedure, including rationale, impacted templates/specs/instructions, SemVer rationale, unchanged Ratified date, updated Last Amended, Sync Impact coherence, and unrelated-principle diff safety. Phase: 1 | Refs: FR-002, FR-004, FR-005, INV-002, INV-003 | Depends: T005 | Evidence: recorded Phase 1 PASS gate; failure stops every T007-T061 task.
Hard Gate: T006 MUST pass before any Phase 2-8 file is changed. No dependent task may run in parallel with Phase 1.
Phase 2 - Synchronize Directly Conflicting Authoritative Instructions
Purpose: Align authoritative branch guidance only after the Constitution is canonical.
- T007 [US1] Synchronize the confirmed conflicting branch rules in Agents.md and only preflight-confirmed authoritative branch instructions; retain valid promotion/platform guidance and residualize unrelated drift. Phase: 2 | Refs: FR-006, FR-033, INV-002, INV-003, INV-019 | Depends: T006 PASS | Evidence: focused instruction diff and search showing one canonical topology with no completed/deferred spec edits.
Phase 2 Exit Gate: Current authoritative branch instructions agree with the amended Constitution; unrelated docs/skills remain untouched or explicitly residualized.
Phase 3 - Implement Branch-Family and Concrete-Reference Resolution
Purpose: Prove and implement the single two-stage resolver contract.
- T008 [US2] Create or update apps/platform/tests/Feature/Guards/BranchTopologyContractTest.php with deterministic temporary-repository helpers and no network. Phase: 3 | Refs: FR-014-FR-028, FR-051, INV-010-INV-012, INV-020 | Depends: Phase 2 Exit Gate | Evidence: focused test file exists and initially fails against missing/old resolver behavior.
- T009 [US2] Add BS-001 through BS-004 fixtures for platform/website remote-ref priority and local-ref fallback in BranchTopologyContractTest.php. Phase: 3 | Refs: FR-009, FR-010, FR-021, FR-022 | Depends: T008 | Evidence: expected family/ref/merge-base assertions for both streams.
- T010 [US3] Add Stage 1 signal-priority and validation fixtures for explicit input, PR target, active spec metadata, and branch-name plus repository-scope hints. Phase: 3 | Refs: FR-014-FR-018 | Depends: T008 | Evidence: candidate-family assertions for each source without branch-name-only success.
- T011 [US3] Add BS-010 and BS-011 conflict/ambiguity fixtures, including explicit family platform plus PR target website-dev. Phase: 3 | Refs: FR-016, FR-017, FR-019, FR-020, INV-011 | Depends: T010 | Evidence: actionable non-zero conflict diagnostics and confirmation no diff ran.
- T012 [US2] Add BS-006 through BS-009 missing-ref and diverged-history fixtures for platform and website. Phase: 3 | Refs: FR-022, FR-024, FR-028, INV-008, INV-012 | Depends: T009 | Evidence: no dev/origin-dev/HEAD~1 fallback and feature-only changed paths.
- T013 [US3] Add BS-005 and BS-012 fixtures for explicit promotion to dev and rejection of an explicit ref from the wrong family. Phase: 3 | Refs: FR-011, FR-023, FR-025, INV-007, INV-009 | Depends: T010 | Evidence: explicit promotion succeeds; wrong-family ref fails before merge-base work.
- T014 [US2] Add success/failure diagnostics assertions in BranchTopologyContractTest.php for family, expected branch, selected ref, target, merge base, base range, conflicts, attempted refs, override guidance, and no-diff confirmation. Phase: 3 | Refs: FR-026, FR-027 | Depends: T011-T013 | Evidence: complete diagnostic contract assertions.
- T015 [US2] Implement Stage 1 family resolution in scripts/resolve-feature-base using exactly the priority and conflict rules in spec.md and plan.md. Phase: 3 | Refs: FR-014, FR-015, FR-016, FR-017, FR-018, FR-019, FR-020, INV-010, INV-011 | Depends: T010, T011 | Evidence: Stage 1 fixtures pass; no silent dev default.
- T016 [US2] Implement Stage 2 concrete-ref, ancestry, and merge-base resolution in scripts/resolve-feature-base. Phase: 3 | Refs: FR-021-FR-025, FR-028, INV-008, INV-010, INV-012 | Depends: T009, T012, T013, T015 | Evidence: remote/local priority, wrong-family rejection, and merge-base fixtures pass.
- T017 [US2] Implement stable human-readable and minimal machine-readable success/failure output in scripts/resolve-feature-base. Phase: 3 | Refs: FR-026, FR-027 | Depends: T014-T016 | Evidence: all diagnostic assertions pass.
- T018 [US2] Add shell syntax/portability and executable-contract coverage for scripts/resolve-feature-base in BranchTopologyContractTest.php or the smallest existing guard contract. Phase: 3 | Refs: NFR deterministic/portable tooling, FR-051 | Depends: T017 | Evidence: bash syntax and focused contract checks pass without network.
- T019 [US2] Run the focused resolver contract and capture BS-001 through BS-012 expected/actual outputs for Phase 8. Phase: 3 | Refs: SC-003, SC-005, SC-006, FR-054 | Depends: T018 | Evidence: twelve BS fixtures green with family/ref/merge-base/exit details.
Phase 3 Exit Gate: The two-stage resolver is green, fixed in scope, and uses no dev/HEAD~1 fallback for ordinary stream work.
Phase 4 - Update Local Diff Guards and Repository-Side Workflow Declarations
Purpose: Make existing consumers use the resolver without expanding CI.
- T020 [US2] Extend the focused guard contract for scripts/check-ui-productization-coverage before implementation, covering explicit base preservation, resolver output, fail-before-diff, and all working-tree change sources. Phase: 4 | Refs: FR-029-FR-031 | Depends: Phase 3 Exit Gate | Evidence: failing guard integration assertions.
- T021 [US2] Update scripts/check-ui-productization-coverage to consume the resolved family/ref/merge base and remove origin/dev/HEAD~1 stream fallbacks. Phase: 4 | Refs: FR-024, FR-029, FR-031, INV-008, INV-012 | Depends: T020 | Evidence: focused guard contract passes and prints the selected baseline.
- T022 [US2] Preserve committed, staged, unstaged, and untracked active-feature paths in scripts/check-ui-productization-coverage. Phase: 4 | Refs: FR-030 | Depends: T021 | Evidence: four change-source fixtures pass.
- T023 [P] [US3] Inspect .gitea/workflows/test-pr-fast-feedback.yml and existing workflow contracts to determine repo-locally whether the actual PR target can be supplied without live Gitea. Phase: 4 | Refs: FR-031, FR-032, FR-051, FR-053 | Depends: Phase 3 Exit Gate | Evidence: recorded local syntax/contract decision; no remote call.
- T024 [US3] If T023 is provable, minimally update .gitea/workflows/test-pr-fast-feedback.yml to pass the actual target through the unified contract; otherwise leave it unchanged and record the residual. Phase: 4 | Refs: FR-031, FR-032, FR-053 | Depends: T023 | Evidence: focused diff or explicit no-change residual; no trigger/lane/schedule/deployment change.
- T025 [US3] Update only directly affected workflow contract tests under apps/platform/tests/Feature/Guards/ to prove target coherence and no CI expansion. Phase: 4 | Refs: FR-032, FR-049, FR-053 | Depends: T024 | Evidence: workflow contracts pass and assert unchanged triggers/jobs/lanes/schedules.
- T026 [US2] Run the focused guard/workflow contract set and retain outputs for Phase 8. Phase: 4 | Refs: SC-009, FR-054 | Depends: T022, T025 | Evidence: guard and applicable workflow tests green; remote behavior explicitly unclaimed.
Phase 4 Exit Gate: Local diff truth uses the resolver; any workflow declaration change is minimal, repo-proven, and non-expansive.
Phase 5 - Repair Local Test/Report Evidence Truth
Purpose: Preserve execution truth and make required evidence contradictions fail closed.
- T027 [US4] Add an original non-zero execution persistence fixture to apps/platform/tests/Unit/Support/TestLaneReportTest.php. Phase: 5 | Refs: FR-034, FR-036, EF-001 | Depends: Phase 4 Exit Gate | Evidence: failing report metadata/CI summary assertions.
- T028 [US4] Add report-refresh failure and successful positive-control fixtures to TestLaneReportTest.php. Phase: 5 | Refs: FR-035, FR-037, FR-042, EF-001, EF-002 | Depends: T027 | Evidence: refresh cannot replace failure; valid pass remains pass.
- T029 [US5] Add JUnit existence, parse-validity, test/failure/error/skipped count, and evidence-status fixtures to TestLaneReportTest.php. Phase: 5 | Refs: FR-039, FR-041, EF-005, EF-006 | Depends: T027 | Evidence: missing/malformed/failure/error controls.
- T030 [US4] Add process/JUnit/report contradiction and dual test/report failure fixtures to TestLaneReportTest.php. Phase: 5 | Refs: FR-038, FR-040, EF-005, EF-007 | Depends: T028, T029 | Evidence: both contexts remain visible and non-zero.
- T031 [P] [US4] Extend apps/platform/tests/Feature/Guards/TestLaneCommandContractTest.php so lane/report wrappers must propagate derived final results. Phase: 5 | Refs: FR-034-FR-038, FR-049 | Depends: Phase 4 Exit Gate | Evidence: failing wrapper propagation assertions.
- T032 [US4] Minimally extend apps/platform/tests/Support/TestLaneReport.php with stored execution/evidence metadata while preserving existing valid consumers. Phase: 5 | Refs: FR-034, FR-042 | Depends: T027-T030 | Evidence: schema/positive-control tests pass.
- T033 [US4] Update TestLaneReport::finalizeLane() and TestLaneManifest::runLane() in apps/platform/tests/Support/ to preserve execution truth for later final-result derivation. Phase: 5 | Refs: FR-034, FR-036, FR-037 | Depends: T032 | Evidence: failed execution remains failed in stored artifacts.
- T034 [US4] Update TestLaneManifest::renderLatestReport() to consume stored execution truth and remove hard-coded success/unconditional zero behavior. Phase: 5 | Refs: FR-035, FR-037, EF-001, EF-002 | Depends: T033 | Evidence: refresh negative/positive controls pass.
- T035 [US5] Extend TestLaneReport::parseJUnit() with validity/count/status/path metadata. Phase: 5 | Refs: FR-039, FR-041, EF-005, EF-006 | Depends: T029, T032 | Evidence: all JUnit validity and diagnostic-path fixtures pass.
- T036 [US4] Preserve dual test/report failure and contradiction contexts in TestLaneReport.php and TestLaneManifest.php. Phase: 5 | Refs: FR-038, FR-040, EF-007 | Depends: T030, T033-T035 | Evidence: dual-failure and contradiction fixtures pass.
- T037 [US4] Run the focused evidence/report/command contracts and retain outputs for Phase 8. Phase: 5 | Refs: SC-004, SC-007, FR-054 | Depends: T031-T036 | Evidence: EF-001, EF-002, EF-005, EF-006, EF-007 controls green.
Phase 5 Exit Gate: Failed execution or invalid/contradictory required evidence cannot become PASS through report generation or refresh.
Phase 6 - Repair Blocking/Advisory Budget Truth
Purpose: Make existing authoritative enforcement profiles determine the final result.
- T038 [US5] Add a blocking fast-feedback pull-request final-exit fixture to apps/platform/tests/Feature/Guards/CiLaneFailureClassificationContractTest.php. Phase: 6 | Refs: FR-043, FR-045, EF-003 | Depends: Phase 5 Exit Gate | Evidence: failing non-zero final-exit assertion.
- T039 [US5] Add an advisory confidence overrun positive control to CiLaneFailureClassificationContractTest.php. Phase: 6 | Refs: FR-043, FR-046, EF-004 | Depends: T038 | Evidence: visible warning and zero absent another failure.
- T040 [P] [US5] Add missing/malformed active blocking-input coverage to apps/platform/tests/Unit/Support/TestLaneBudgetTest.php. Phase: 6 | Refs: FR-048 | Depends: Phase 5 Exit Gate | Evidence: failing fail-closed budget input assertions.
- T041 [US5] Implement one final-result derivation path in TestLaneReport.php and TestLaneManifest.php for execution, evidence, report generation, and authoritative blocking/advisory outcomes. Phase: 6 | Refs: FR-043, FR-045, FR-046, FR-048, FR-049, INV-014-INV-017 | Depends: T038-T040 | Evidence: EF-003/EF-004 and existing failure controls pass.
- T042 [US5] Update scripts/platform-test-lane, scripts/platform-test-report, and apps/platform/composer.json only where necessary to propagate the derived final result without duplicating policy. Phase: 6 | Refs: FR-044, FR-049 | Depends: T041, T031 | Evidence: wrapper/Composer contracts pass; no policy literals added.
- T043 [US5] Verify apps/platform/tests/Support/TestLaneBudget.php thresholds/profiles are unchanged and remain the sole authority. Phase: 6 | Refs: FR-043, FR-044, FR-047 | Depends: T041, T042 | Evidence: focused diff plus existing budget tests.
- T044 [US5] Run the focused budget/final-result contract set and retain outputs for Phase 8. Phase: 6 | Refs: SC-004, SC-007, SC-008, FR-054 | Depends: T042, T043 | Evidence: EF-003 and EF-004 controls green with expected final exits.
Phase 6 Exit Gate: Blocking profiles block, advisory profiles warn, thresholds remain unchanged, and every reusable entry point shares one final-result contract.
Phase 7 - Complete Negative Fixtures and Run Focused Proof
Purpose: Execute all required local proof and scope guards after implementation convergence.
- T045 Complete and reconcile every BS-001 through BS-012 fixture in BranchTopologyContractTest.php, removing duplicate or weaker controls. Phase: 7 | Refs: FR-014-FR-028, INV-010-INV-012, SC-003, SC-005, SC-006 | Depends: Phase 6 Exit Gate | Evidence: twelve unique branch fixtures with expected diagnostics/exits.
- T046 Complete and reconcile every EF-001 through EF-007 fixture across TestLaneReportTest.php, TestLaneBudgetTest.php, and CiLaneFailureClassificationContractTest.php. Phase: 7 | Refs: FR-034-FR-049, INV-013-INV-017, SC-004, SC-007, SC-008 | Depends: Phase 6 Exit Gate | Evidence: seven unique evidence fixtures with expected statuses/exits.
- T047 Add/update apps/platform/tests/Feature/Guards/ConstitutionBranchTopologyContractTest.php proving canonical roles, no universal-dev wording, amendment metadata coherence, and no unrelated-principle drift. Phase: 7 | Refs: FR-001-FR-007, INV-001-INV-003, SC-001, SC-002 | Depends: Phase 6 Exit Gate | Evidence: governance contract proves final amendment content, metadata, authorized boundary, unrelated-scope safety, and dependent-instruction consistency; it is final-state corroboration, not historical chronology.
- T048 Run the focused Constitution, instruction, branch resolver, and changed-file guard contract tests via Sail. Phase: 7 | Refs: FR-001-FR-033, INV-001-INV-012, SC-001-SC-006 | Depends: T045, T047 | Evidence: recorded commands, counts, assertions, and exits.
- T049 Run TestLaneReportTest.php, TestLaneBudgetTest.php, CiLaneFailureClassificationContractTest.php, and TestLaneCommandContractTest.php via Sail. Phase: 7 | Refs: FR-034-FR-049, INV-013-INV-017, SC-004, SC-007, SC-008 | Depends: T046 | Evidence: recorded commands, counts, assertions, and exits.
- T050 Run TestLaneArtifactsContractTest.php, TestLaneManifestTest.php, and only directly affected workflow contract tests via Sail. Phase: 7 | Refs: FR-041, FR-049, SC-009 | Depends: T026, T046 | Evidence: artifact/manifest/workflow contracts green.
- T051 Run ./scripts/platform-test-lane fast-feedback with pull-request context and confidence with mainline-push context; do not add Heavy Governance to regain proof. Phase: 7 | Refs: FR-043-FR-049, INV-014-INV-017, TEST-GOV-001, SC-007-SC-009 | Depends: T048-T050 | Evidence: actual lane/budget/baseline/trend exits and artifacts.
- T052 Run Sail Pint on dirty PHP files and document the result. Phase: 7 | Refs: FR-050, FR-054, INV-018, INV-019, Constitution Quality Gates | Depends: T051 | Evidence: formatter result with no unrelated file changes.
- T053 Run git diff --check, allowed-path checks, amendment final-state and evidence-sufficiency review, and byte/diff verification that Specs 437/438 and forbidden runtime/UI paths are unchanged. Phase: 7 | Refs: FR-004, FR-050, FR-052, SC-002, SC-010, SC-011, INV-003, INV-018, INV-019 | Depends: T052 | Evidence: clean diff/scope/final-contract/history-safety checks; no wall-clock chronology is claimed.
- T054 Verify no fetch, remote mutation, PR creation, branch protection, deployment activation, long-lived branch merge/rebase/synchronization, or remote-verification claim occurred. Phase: 7 | Refs: FR-051, FR-053, INV-020 | Depends: T053 | Evidence: explicit local-only close-out statement.
Phase 7 Exit Gate: Every local invariant and fixture is green or honestly failed; scope and phase-order checks are clean.
Phase 8 - Produce Implementation Report and Final Reconciliation
Purpose: Create the implementation report only after all producing evidence exists.
- T055 Create specs/439-branch-topology-local-evidence-truth/implementation-report.md with branch/HEAD/dirty-state/preflight and per-file FR/INV traceability. Phase: 8 | Refs: FR-054 | Depends: Phase 7 Exit Gate | Evidence: report exists with complete preflight and changed-file map.
- T056 Record the Constitution amendment rationale, impacted artifacts, SemVer decision, Last Amended value, focused diff, Phase 1 validation, and amendment-first evidence sufficiency, including process attestation, final-state corroboration, and checkpoint status. Phase: 8 | Refs: FR-001-FR-007, SC-001, SC-002, INV-001-INV-003 | Depends: T055 | Evidence: the report records the final amendment, exact boundary and unrelated-scope controls, synchronized dependents, absence of conflicting final state, and the process attestation. No pre-mutation commit/tag/patch/snapshot checkpoint was required; no independent historical chronology is retroactively claimed.
- T057 Record BS-001 through BS-012 with topology, signals, selected family/ref, target, merge base, changed paths, diagnostics, expected/actual result, and exit. Phase: 8 | Refs: SC-003, SC-005, SC-006, FR-054 | Depends: T019, T045, T055 | Evidence: complete twelve-row BS matrix.
- T058 Record EF-001 through EF-007 with execution, evidence, report, budget, expected/actual final status, and exit. Phase: 8 | Refs: SC-004, SC-007, SC-008, FR-054 | Depends: T037, T044, T046, T055 | Evidence: complete seven-row EF matrix.
- T059 Record test/lane rationale, actual results, test-governance outcome, budget/baseline/trend impact, remote Gitea/website-delivery/deployment residuals, and unrelated drift disposition.
Phase: 8 | Refs: TEST-GOV-001, FR-053, FR-054 | Depends: T051, T054-T058 | Evidence:
evidence/baseline-attribution.jsonand the report record native and identical-selection paired runs, exact JUnit multiset deltas, unchanged budgets, baseline debt, activation impact, and bounded external residuals. - T060 Record Product Surface/browser/Human Product Sanity N/A, Livewire v4 compliance, provider registration unchanged at bootstrap/providers.php, global-search/destructive-action/asset/deployment posture, visible complexity, and completed-spec safety. Phase: 8 | Refs: PSC-001, UI-COV-001, FR-050, FR-052 | Depends: T055 | Evidence: complete no-surface/no-runtime implementation-report close-out.
- T061 Reconcile every FR-001 through FR-054, INV-001 through INV-020, T001 through T061, BS/EF fixture, focused test, paired baseline attribution, lane, budget/activation result, residual, and Definition-of-Done item; set the exact final verdict without converting a failed lane into PASS.
Phase: 8 | Refs: FR-054, SC-012 | Depends: T056-T060 | Evidence:
evidence/baseline-attribution.json, current test evidence, task state, residuals, andimplementation-report.mdagree on the final verdict.
Dependencies and Execution Order
- Phase 0 blocks Phase 1.
- T006 is the global hard gate and blocks every T007-T061 task.
- Phase 2 blocks Phase 3 and all dependent implementation.
- Phase 3 blocks the guard portion of Phase 4.
- Phase 4 must finish before final branch/workflow proof.
- Phase 5 blocks Phase 6 because final-result derivation depends on stored execution/evidence truth.
- Phase 6 blocks consolidated EF proof.
- Phase 7 follows all implementation phases.
- Phase 8 is strictly last and is the only phase that creates implementation-report.md.
Parallel Opportunities
- No task is parallelizable before T006.
- T023 may inspect workflow syntax while T020-T022 work on the guard after Phase 3 passes.
- T031 may add wrapper contract coverage while T027-T030 work in the Unit report test file.
- T040 may add budget-input tests after Phase 5 while T038-T039 work in a different Feature test file.
- Focused proof tasks T048-T050 run sequentially unless a future task update marks a file-disjoint command explicitly [P].
- All shared edits to .specify/memory/constitution.md, Agents.md, scripts/resolve-feature-base, TestLaneReport.php, and TestLaneManifest.php are single-owner.
- [P] never overrides a phase gate or same-file sequencing.
Requirement and Evidence Coverage
| Contract | Tasks |
|---|---|
| FR-001-FR-007 / INV-001-INV-003 | T001-T007, T047, T056, T061 |
| FR-008-FR-013 / INV-004-INV-009 | T004-T005, T009-T013, T045, T057 |
| FR-014-FR-028 / INV-010-INV-012 | T008-T019, T045, T048, T057 |
| FR-029-FR-033 | T007, T020-T026, T048, T059 |
| FR-034-FR-042 / INV-013, INV-016-INV-017 | T027-T037, T046, T049-T050, T058 |
| FR-043-FR-049 / INV-014-INV-015 | T038-T046, T049-T051, T058-T059 |
| FR-050-FR-054 / INV-018-INV-020 | T001-T002, T053-T061 |
| BS-001-BS-012 | T009-T014, T019, T045, T048, T057 |
| EF-001-EF-007 | T027-T030, T038-T041, T044, T046, T049-T050, T058 |
Test Governance Checklist
- Lane assignment remains Unit for evidence/result/budget logic and bounded Feature for governance/branch/wrapper/workflow contracts.
- No Heavy-Governance, Browser, or PostgreSQL family is added.
- Temporary Git/JUnit/report fixtures remain deterministic, network-free, and database-free.
- Shared fixtures/helpers/default context are not widened.
- Focused commands cover the change without unrelated lane cost.
- Browser proof remains N/A - no rendered UI surface changed.
- Human Product Sanity remains N/A and Product Surface implementation-report fields are completed in Phase 8.
- Existing thresholds remain unchanged and blocking/advisory outcomes are reported honestly.
- Final test-governance outcome is recorded in Phase 8.
Explicit Non-Goals During Task Execution
- Do not start T007 or any later task before T006 passes.
- Do not implement Spec 438 or modify completed/deferred historical specs.
- Do not change product runtime, website runtime, UI, routes, models, migrations, services, policies, jobs, providers, customer output, RBAC, OperationRun, or product audit behavior.
- Do not create a generic branch/release/governance framework.
- Do not perform general Constitution, instruction, skill, architecture, security, Ledger, Roadmap, or Spec Candidates cleanup.
- Do not activate new Gitea CI, branch protection, deployment, heavy/browser/PostgreSQL lanes, or merge gates.
- Do not fetch, mutate remotes, merge, rebase, synchronize, rename, or delete long-lived branches.
- Do not relax budget thresholds or reclassify blocking policy merely to obtain green output.
Implementation Tracking Note
- The earlier Spec-Correction run left T001-T061 open; the current implementation loop updates checkboxes only after evidence exists.
- At requirements-preparation close-out no implementation report existed; it was created only during Phase 8.
- Runtime, browser, and lane evidence is claimed only by the producing tasks below.