TenantAtlas/specs/439-branch-topology-local-evidence-truth/tasks.md
Ahmed Darrazi 8144a3be78
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 7m2s
feat: implement spec 439 branch and evidence truth
2026-07-11 21:13:42 +02:00

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.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.
  • 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, 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

  • 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.