test(installer): bind execution coverage callers
This commit is contained in:
+60
@@ -0,0 +1,60 @@
|
||||
# #1050 C1 fix round — Round 6 caller coupling and production archive binding
|
||||
|
||||
BASE HEAD
|
||||
- df705828a439c6795cd47c938ed7f838b956ebf3
|
||||
- Reviews 114 (rev-security-02) and 115 (be-coder-06) independently reproduced the same caller-level mutant: ignoring arms_status in the workflow left the focused helper suite green.
|
||||
- Both reviewers confirmed the production aggregation was correct and requested test reachability, not a logic rewrite.
|
||||
- rev-974 separately deleted only the production e2e-install-test.sh .mosaic-test-work tar exclusion; the copied-selector suite remained green.
|
||||
|
||||
RED
|
||||
- After adding the four-cell caller truth-table expectations but before creating the workflow helper:
|
||||
bash tools/verify-greenfield-execution-coverage.test.sh => rc=1
|
||||
The expected helper did not exist, so the test could not reach a passing aggregation implementation.
|
||||
- Prior independent controls:
|
||||
ignore-arms workflow mutant => rc=0 before this round (reviews 114/115)
|
||||
delete-production-archive-exclusion mutant => rc=0 before this round (rev-974 exact-head sandbox)
|
||||
|
||||
IMPLEMENTATION
|
||||
- Extracted the existing set +e / two checks / status capture / final OR into tools/verify-greenfield-execution-coverage-gate.sh without changing its semantics.
|
||||
- .woodpecker/greenfield-install.yml now invokes that helper directly; its inline duplicate was removed.
|
||||
- The focused suite invokes the same helper used by the workflow across all four cells:
|
||||
cases PASS / arms FAIL => RED
|
||||
cases FAIL / arms PASS => RED
|
||||
both FAIL => both diagnostic outputs and RED
|
||||
both PASS => GREEN
|
||||
- The archive-purity test now first locates the production checkout-archive command in tools/e2e-install-test.sh and requires its .mosaic-test-work exclusion, then proves the exclusion's archive effect.
|
||||
- GREENFIELD_COVERAGE_GATE and GREENFIELD_E2E_INSTALLER are test-only subject injection seams used to prove the requested mutants; production paths remain the defaults.
|
||||
|
||||
MUTATION CONTROLS
|
||||
- ignore-arms aggregation helper => focused suite rc=1
|
||||
- ignore-cases aggregation helper => focused suite rc=1
|
||||
- always-RED aggregation helper => focused suite rc=1
|
||||
- delete only production .mosaic-test-work archive exclusion => focused suite rc=1
|
||||
- restored production subjects => greenfield execution coverage tests passed
|
||||
- final mutant workspace: /tmp/c1-round6-final-mutants.u0ZaL6
|
||||
- logs: /tmp/c1-round6-final-gate-ignore-arms.log, /tmp/c1-round6-final-gate-ignore-cases.log, /tmp/c1-round6-final-gate-always-red.log, /tmp/c1-round6-final-archive-mutant.log
|
||||
|
||||
FENCED FILES
|
||||
- tools/e2e-install-test.sh HEAD/worktree SHA-256: a93113565aa69f2c6f3d792b78251021bb3bbe3f7813d5fed547ab0099fa3b98 (byte-identical)
|
||||
- tools/fixtures/greenfield-expected-red.tsv HEAD/worktree SHA-256: baae06c664d0ab7ffe4c32ec106bfcb6f9dd74b46461d3c4440b73dc582af1a2 (byte-identical)
|
||||
- No per-case disposition or #869 wiring changed.
|
||||
|
||||
LOCAL BASELINES
|
||||
- /home free before build: 11G
|
||||
- bash -n focused scripts: PASS
|
||||
- ShellCheck focused scripts: PASS
|
||||
- bash tools/verify-greenfield-execution-coverage.test.sh: PASS
|
||||
- pnpm test:installer: PASS
|
||||
- pnpm typecheck: PASS (45/45)
|
||||
- pnpm lint: PASS (25/25)
|
||||
- pnpm format:check: PASS
|
||||
- woodpecker-cli lint --strict .woodpecker/greenfield-install.yml: PASS
|
||||
- git diff --check: PASS
|
||||
|
||||
INDEPENDENT REVIEW
|
||||
- Codex code review: APPROVE, confidence 0.94, seven files reviewed, zero findings. It confirmed the workflow invokes the exact four-cell-tested helper, both diagnostics remain observable, and archive purity binds to the production selector.
|
||||
- Codex security review: risk NONE, confidence 0.97, seven files reviewed, zero findings. It confirmed fail-closed behavior, quoted inputs, repository-controlled production arguments, and no new secret/injection/access-control exposure.
|
||||
- The code-review sandbox could not execute the dynamic suite because its filesystem is read-only; the local measured baselines and mutation controls above provide dynamic evidence.
|
||||
|
||||
PENDING
|
||||
- commit, queue guard, one lease-pinned push, provider attribution read-back
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Required artifacts
|
||||
|
||||
- [x] `docs/PRD.md` exists; #1050 C1 requirement 13 binds the complete in-scope remote stack source chain, and requirement 15 binds pipeline-level exact case+arm execution coverage without checkout-state contamination.
|
||||
- [x] `docs/PRD.md` exists; #1050 C1 requirement 13 binds the complete in-scope remote stack source chain, and requirement 15 binds pipeline-level exact case+arm execution coverage, executable aggregation, and production-bound archive purity.
|
||||
- [x] User guide: not applicable; no user-facing production installer behavior changed.
|
||||
- [x] Admin guide: not applicable; no operator procedure or deployment behavior changed.
|
||||
- [x] Developer guide: existing `docs/guides/installer-state-machine.md` defines the fail-closed installer model; the C1-specific remote-arm contract and evidence live in the PRD, scratchpad, and scoped verification report.
|
||||
@@ -22,4 +22,5 @@
|
||||
- [x] Round-3 Codex code review APPROVE (confidence 0.92, zero findings) and security re-review risk NONE (confidence 0.96, zero findings). The initial HIGH trust-root finding remains documented as the canonical signed-provenance deferral, not hidden.
|
||||
- [x] Round-4 review cycle closed: two blocking Codex findings (missing dependency ordering; production manifest comments misparsed) were accepted and fixed. Final code review APPROVE (confidence 0.94, zero findings) and security risk NONE (confidence 0.96, zero findings).
|
||||
- [x] Round-5 exact arm coverage and archive-purity controls reviewed: Codex code APPROVE (confidence 0.93, zero findings) and security risk NONE (confidence 0.96, zero findings).
|
||||
- [x] Round-6 executable aggregation and production archive-selector binding reviewed: Codex code APPROVE (confidence 0.94, zero findings) and security risk NONE (confidence 0.97, zero findings).
|
||||
- [x] Canonical evidence remains in-repo. No external publishing action was requested or performed.
|
||||
|
||||
Reference in New Issue
Block a user