Skip to content

fix(C0-4): perf_gate.sh — an Arm A that measured nothing on a c=1-only receipt says so (REPORT ArmA scaling: c=1 only, no scaling measured) and the gate never turns an arm's silence into VERDICT PASS; selftest rows both polarities (PMAT-978, #2893, #2830) - #3007

Open
noahgift wants to merge 4 commits into
mainfrom
agent/C0-4

Conversation

@noahgift

@noahgift noahgift commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

PP-066 DAG row C0-4 (issue #2893; defect #2830; epic #2873; ticket PMAT-978; owner perf-gate; receipt docs/audits/impl-PMAT-978-receipt.md, status: partial until merged).

The defect (#2830, observed on lambda): on a receipt whose only band is c=1, Arm A (arm_a_self_regression, PP-31) walks every print and fires none — c=1 is the denominator — and the gate reads the silence as "nothing failed": VERDICT PASS over a measurement that never happened.

What lands: every Arm A line goes through one say() that records the arm spoke; when it measured nothing it prints REPORT ArmA scaling: c=1 only, no scaling measured, and an arm's silence is never turned into PASS. Multi-band output unchanged. --selftest rows arm_a_c1_only_not_pass (RED polarity, RED first at 7e4b9ee) and arm_a_multi_band_ok. Contract: an invariant under a_ratchet_compares_quantities and FALSIFY-PP-LLAMA-001-PERF-GATE-012 in contracts/pp-llama-001-perf-gate-v1.yaml (existing contract; README counts unchanged).

Acceptance, re-run by the orchestrator on c330894

A_i rc
bash scripts/perf_gate.sh --selftest — carries arm_a_c1_only_not_pass (expect=fail ok) and arm_a_multi_band_ok (expect=pass ok) 0
bashrs lint scripts/perf_gate.sh (0 errors) · pv validate · pv lint · check_contract_test_binding.sh · check_contract_enforcement.sh · check_no_claim_literals.sh · check_roadmap_diff_additive.sh · check_readme_claims.sh 0 each

Mutation — RED, then restored GREEN: the REPORT print site replaced by a no-op → arm_a_c1_only_not_pass BROKE ("fail but never said REPORT ArmA scaling: c=1 only, no scaling measured"); the silent-arm rule also demoted self_regress_fail and phase_guard_a_merge — an arm that says nothing cannot PASS anything. Restored → every row green.

Recorded: the card names arm_a_scaling, PP-31 renamed it arm_a_self_regression — same silence, current name. Receipt for this PR itself: advisory, not produced (driver A1).

@noahgift
noahgift enabled auto-merge September 6, 2026 06:45
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

§13.11 rung 1 — quorum shadow verdict

S13-SHADOW pr=3007 head=a7c8c0cd0b9690d0c82a46570ecced9599726ae9 verdict=REFUSE class=Q1 arm_rc=1

Shadow mode: this records a verdict and merges nothing. A refusal
to arm is not a block (§13 adds zero rows to §7) — the pull request is
exactly as green as it was.

…nly receipt and the gate still says VERDICT PASS (#2830)

Pmat-Ticket: PMAT-978
…y receipt says so (REPORT ArmA scaling: c=1 only, no scaling measured) and the gate never turns an arm's silence into VERDICT PASS; selftest rows both polarities (PMAT-978, #2893, #2830)

Pmat-Ticket: PMAT-978
…ing says so and is never read as PASS (invariant + FALSIFY-PP-LLAMA-001-PERF-GATE-012) (PMAT-978, #2893)

Pmat-Ticket: PMAT-978
@noahgift

noahgift commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto origin/main @ 3792afa3d (after G-11 #3020 landed). Dropped commit 9fe4bee2a (chore(roadmap): PMAT-978 kind:code label) — it wrote docs/roadmaps/roadmap.yaml, which G-11a now forbids in a row PR (DAG status is derived from receipts, not written by row PRs). The other four commits (RED test 7e4b9ee→989ad169d, fix c330894→a8426b269, contract 32bc134→fb59e06ac, receipt f14e19f→a7c8c0cd0) cherry-picked cleanly onto the new base with no conflicts.

Re-verified at HEAD (a7c8c0cd0):

  • bash scripts/perf_gate.sh --selftest → rc 0, 109/109 rows including arm_a_c1_only_not_pass (expect=fail ok) and arm_a_multi_band_ok (expect=pass ok)
  • bashrs lint scripts/perf_gate.sh → 0 errors
  • pv validate contracts/pp-llama-001-perf-gate-v1.yaml → 0 errors, 0 warnings
  • bash scripts/check_contract_test_binding.sh → rc 0, baseline unchanged
  • bash scripts/check_row_pr_write_set.sh --base origin/main --head HEAD --branch agent/C0-4 → PASS, 4 changed paths, no shared file touched

@noahgift

noahgift commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

Auto-merge armed (already was). Currently BLOCKED in the queue on two unrelated fleet issues: #3028/PR #3030 (roadmap.yaml duplicate ids redding ci / security on every PR) and a fleet-wide gap in scripts/pmat_bin.sh's pinned analyser on some runner hosts (paiml/infra#468). Not this PR's diff — will merge once both clear.

@noahgift
noahgift disabled auto-merge September 7, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant