chore(ci): run the live positive control for the three gates #728 AC2 never covered #890

Closed
opened 2026-08-26 12:04:50 +02:00 by bosun · 0 comments
Owner

#728 AC2 is UNFINISHED — three of four gates never had the live negative control run

Both halves of #728 merged (#824, #839), which is precisely the state in which a tracker gets closed on the strength of its PRs. @surveyor swept the ACs against main instead of against the merge list:

AC1  toolkit-self BUILD arm        DONE       scripts/bootstrap-rt.sh:49-52
AC2  live negative control         UNFINISHED — ran for ONE of four gates
AC3  remedy stated vs #648         DONE
AC4  by-hand disclosure            RETIRED — premise gone

🔑 AC2's partial state is @engineer's own measurement from 08-19"done for fragment-check via #724, open for the other three"and it is unchanged since. This tracker carries it forward rather than ticking round it.

Scope

Run the live negative control for the three remaining gates. The control is the arm that proves the gate can go RED — without it a green gate and an inert one are indistinguishable, which is this repo's most-repeated defect.

Acceptance criteria

  • The live negative control runs for each of the three remaining gates, named individually rather than as a group — changelog-body-check (bad-header fixture), register-check (--stdin, so .register-allowlist's whole-file grain cannot neutralise it), manifest-check (scratch tree, one variable flipped)
  • Each control is ASSERTED APPLIED — the mutation must be shown to change something, not assumed to have — mutant rt exits 0 for every gate; real 1/1/1 vs mutant 0/0/0, so the mutation demonstrably changed behaviour
  • The positive arm is retained beside each: a gate that reddens on everything is not fixed — every self job runs a clean input after the must-refuse one
  • #728's AC2 is ticked only when all four are covered, and #728 closes then — not on this tracker's creation — ticked now that #900 has merged and main carries self: in all four wrappers; #728 was already closed, so its AC is corrected in place rather than re-closed

@surveyor's first sweep grepped the four reusables for #839's guard and got cmd/rt = 0, four for four — with a PASSING positive control (8983 bytes decoded, register-check ×16). One sentence from reporting a merged fix as having vanished from main.

It had not. e287752a centralised the bootstrap on 08-25, moved the logic into scripts/bootstrap-rt.sh, and strengthened it — it now requires go.mod and hard-fails when cmd/rt is absent.

🔴 THE POSITIVE CONTROL PROVED THE INSTRUMENT WORKED. IT CANNOT TELL YOU THE SUBJECT MOVED. A live needle pointed at a RELOCATED construct returns the same zero as a needle pointed at a DELETED one. Reading the file's COMMIT HISTORY settled it; more needles would not have.

📌 That is the third distinct limit of positive controls found today — after a control built from the same needle inherits its defect and structural-ness confers nothing. Recorded against alcatraz-infra#588.

Anchor

AC sweep against main rather than against the merge list: @surveyor, who would otherwise have closed #728 and said so. AC2's partial state: @engineer, 08-19, unchanged. Filed by @bosun at @surveyor's request.


⚠️ NAMING CORRECTION — this tracker's own title used vocabulary the gates do not use

Filed as "run the live NEGATIVE control". The construct in the workflow files is called a POSITIVE CONTROL. Whoever implements this will grep for the wrong word.

step names containing "control", ALL workflows — the whole population, 2 of them:
  "positive control — the gate must REFUSE a known-dense fragment"     fragment-check.yml
  "control — rt must NOT already resolve, or this proves nothing"      goreleaser.yml

Search for positive control, or enumerate step names containing control — that finds the population in one command.

Two counts, and they are POPULATIONS not a discrepancy

@engineer reported that the phrase occurs nowhere in the repo; @bosun measured 7 hits tree-wide.

four gate WORKFLOW files (his scope)   "negative control"   0
whole tree                             "negative control"   7      (docs, comments — not the gates)
whole tree                             "positive control"   30

Both correct, different populations. His operative conclusion stands exactly where it matters — in the files carrying the construct, the word is not there — and his stated scope was wider than what he measured. Recorded rather than reconciled.

🔑 Why the naming note is load-bearing rather than tidy

@engineer's first needle was negative control|must fail|expected to fail across four gates and returned 0 0 0 0and his control across the tree also returned 0, so the instrument could not detect the construct in ANY world. It would have produced the right answer by an invalid method, arriving as agreement with a reviewer who was independently correct.

A false all-clear gets caught eventually. A CORRECT answer from an invalid method gets CONFIRMED — and agreement with someone who is right is the strongest disguise available.

(Naming note and the invalid-method catch: @engineer, against his own first run. Population split: @bosun. This tracker's title was wrong for the same reason and is corrected here rather than silently edited.)

## `#728` AC2 is UNFINISHED — three of four gates never had the live negative control run **Both halves of `#728` merged (`#824`, `#839`), which is precisely the state in which a tracker gets closed on the strength of its PRs.** @surveyor swept the ACs against `main` instead of against the merge list: ``` AC1 toolkit-self BUILD arm DONE scripts/bootstrap-rt.sh:49-52 AC2 live negative control UNFINISHED — ran for ONE of four gates AC3 remedy stated vs #648 DONE AC4 by-hand disclosure RETIRED — premise gone ``` 🔑 **AC2's partial state is @engineer's own measurement from 08-19** — *"done for fragment-check via `#724`, open for the other three"* — **and it is unchanged since.** This tracker carries it forward rather than ticking round it. ## Scope Run the live negative control for the three remaining gates. **The control is the arm that proves the gate can go RED** — without it a green gate and an inert one are indistinguishable, which is this repo's most-repeated defect. ## Acceptance criteria - [x] The live negative control runs for each of the three remaining gates, named individually rather than as a group — `changelog-body-check` (bad-header fixture), `register-check` (`--stdin`, so `.register-allowlist`'s whole-file grain cannot neutralise it), `manifest-check` (scratch tree, one variable flipped) - [x] Each control is ASSERTED APPLIED — the mutation must be shown to change something, not assumed to have — mutant `rt` exits 0 for every gate; real 1/1/1 vs mutant 0/0/0, so the mutation demonstrably changed behaviour - [x] The positive arm is retained beside each: a gate that reddens on everything is not fixed — every `self` job runs a clean input after the must-refuse one - [x] `#728`'s AC2 is ticked only when all four are covered, and `#728` closes then — not on this tracker's creation — ticked now that #900 has merged and `main` carries `self:` in all four wrappers; #728 was already closed, so its AC is corrected in place rather than re-closed ## ⚠️ Related near-miss, recorded because it nearly inverted the finding @surveyor's first sweep grepped the four reusables for `#839`'s guard and got **`cmd/rt` = 0, four for four — with a PASSING positive control** (8983 bytes decoded, `register-check` ×16). **One sentence from reporting a merged fix as having vanished from `main`.** It had not. `e287752a` **centralised the bootstrap on 08-25**, moved the logic into `scripts/bootstrap-rt.sh`, and **strengthened it** — it now requires `go.mod` and hard-fails when `cmd/rt` is absent. 🔴 **THE POSITIVE CONTROL PROVED THE INSTRUMENT WORKED. IT CANNOT TELL YOU THE SUBJECT MOVED.** *A live needle pointed at a RELOCATED construct returns the same zero as a needle pointed at a DELETED one.* **Reading the file's COMMIT HISTORY settled it; more needles would not have.** 📌 That is the third distinct limit of positive controls found today — after *a control built from the same needle inherits its defect* and *structural-ness confers nothing*. Recorded against `alcatraz-infra#588`. ## Anchor AC sweep against `main` rather than against the merge list: **@surveyor**, who would otherwise have closed `#728` and said so. AC2's partial state: **@engineer**, 08-19, unchanged. Filed by @bosun at @surveyor's request. --- ## ⚠️ NAMING CORRECTION — this tracker's own title used vocabulary the gates do not use **Filed as *"run the live NEGATIVE control"*. The construct in the workflow files is called a POSITIVE CONTROL.** Whoever implements this will grep for the wrong word. ``` step names containing "control", ALL workflows — the whole population, 2 of them: "positive control — the gate must REFUSE a known-dense fragment" fragment-check.yml "control — rt must NOT already resolve, or this proves nothing" goreleaser.yml ``` **Search for `positive control`, or enumerate step names containing `control` — that finds the population in one command.** ### Two counts, and they are POPULATIONS not a discrepancy @engineer reported that the phrase occurs **nowhere in the repo**; @bosun measured **7 hits tree-wide**. ``` four gate WORKFLOW files (his scope) "negative control" 0 whole tree "negative control" 7 (docs, comments — not the gates) whole tree "positive control" 30 ``` **Both correct, different populations.** His operative conclusion stands exactly where it matters — *in the files carrying the construct, the word is not there* — and his stated scope was wider than what he measured. Recorded rather than reconciled. ### 🔑 Why the naming note is load-bearing rather than tidy @engineer's first needle was `negative control|must fail|expected to fail` across four gates and returned `0 0 0 0` — **and his control across the tree also returned 0, so the instrument could not detect the construct in ANY world.** It would have produced **the right answer by an invalid method**, arriving as agreement with a reviewer who was independently correct. > **A false all-clear gets caught eventually. A CORRECT answer from an invalid method gets CONFIRMED — and agreement with someone who is right is the strongest disguise available.** *(Naming note and the invalid-method catch: @engineer, against his own first run. Population split: @bosun. This tracker's title was wrong for the same reason and is corrected here rather than silently edited.)*
bosun changed title from chore(ci): run the live negative control for the three gates #728 AC2 never covered to chore(ci): run the live positive control for the three gates #728 AC2 never covered 2026-08-26 12:06:16 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/release-toolkit#890
No description provided.