# 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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. - [x] 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.json` and the report record native and identical-selection paired runs, exact JUnit multiset deltas, unchanged budgets, baseline debt, activation impact, and bounded external residuals. - [x] 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. - [x] 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, and `implementation-report.md` agree 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 - [x] Lane assignment remains Unit for evidence/result/budget logic and bounded Feature for governance/branch/wrapper/workflow contracts. - [x] No Heavy-Governance, Browser, or PostgreSQL family is added. - [x] Temporary Git/JUnit/report fixtures remain deterministic, network-free, and database-free. - [x] Shared fixtures/helpers/default context are not widened. - [x] Focused commands cover the change without unrelated lane cost. - [x] Browser proof remains N/A - no rendered UI surface changed. - [x] Human Product Sanity remains N/A and Product Surface implementation-report fields are completed in Phase 8. - [x] Existing thresholds remain unchanged and blocking/advisory outcomes are reported honestly. - [x] 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.