R-404 CLOSED with the ruling; R-417 CLOSED by cause removal; R-418/419/420 filed
gates / gates (push) Successful in 17s
gates / gates (push) Successful in 17s
THE RULING WAS NEITHER OPTION AS FRAMED. Both offered answers - narrow the gate, or leave it and write waivers - argued about the gate, and the gate was never the problem. DIAGNOSIS, from live source: golden_currency_gate.py never looks at the push. It compares the controller's newest CHANGELOG heading against this repo's bake evidence and returns the same verdict whatever you are pushing - correct for a standing invariant, wrong as a push gate. And controller_gates.py had NO golden-currency entry at all. So the repo where a release happens never checked, and the repo that cannot create the debt was refused on every push. 18 of the last 24 pushes here touched no code - measured, and the new classifier agrees EXACTLY - most of them by construction, because the controller's code is in one repo and its register lives in this one. SIX of those 18 were bake records, so the push that PAYS the debt is itself documents-only: the gate was blocking its own cure. Not the waiver its docstring prescribes: that clause was written for a release nobody wants a golden for. R-417 was a release we DID want a golden for, on a night the runbook forbade baking. A waiver would have recorded a lie. RULING: block the push that can create the debt, notify the push that cannot. The gate's logic, exit codes and wording are BYTE-IDENTICAL. Only the consequence changed, for one gate, on one kind of push, with a loud ADVISORY block so nothing goes quiet. R-242's vouch half is amended in place to say it is UNTOUCHED and still open - a baked-but-unvouched golden still passes both the gate and the new notice. Do not read R-404's closure as closing it. FILED: R-418 - this runner's docstring listed ELEVEN gates while THIRTEEN were registered; one-register and closed-register ran undocumented since 2026-08-24. Enumeration fixed here, the correspondence is still unenforced. R-419 - observations_gate.py accepts an item whose body merely CONTAINS "NOT-A-FINDING", even in prose disclaiming it; found by accident when a planted test observation passed and my live validation proved nothing. R-420 - controller_gates.py could not express a non-blocking gate at all before today. Register: OPEN 171 -> 172, CLOSED 158 -> 160.
This commit is contained in:
@@ -37,28 +37,29 @@ nothing.*
|
||||
two register lines in the hub (already live). No customer action, no data migration, no
|
||||
credential change.
|
||||
|
||||
4. **Whether a documents-only push should still be checked for a missing golden** (R-404). We have now
|
||||
skipped that check **eight times**, each time for a written reason: it runs on every push to the
|
||||
website/documentation repository, including pushes that change nothing a machine installs.
|
||||
**A guard we correctly skip eight times is teaching us to skip it.**
|
||||
**The case for narrowing it:** a documents-only push cannot be the one that finishes a release, so
|
||||
only checking pushes that touch real code would fire on exactly the risky ones and end the habit.
|
||||
**The case against:** the check was earned — a release went out while machines were still being
|
||||
installed with the previous one, three times in three days — and narrowing a guard is how the thing
|
||||
it was built for comes back.
|
||||
**If you do nothing:** nothing breaks, the skipping stays routine, and the count keeps rising.
|
||||
I have NOT changed it; this is yours to decide and mine to build.
|
||||
|
||||
5. **Whether to change the hub password** (R-350). I printed it into my own session log on 20 August.
|
||||
4. **Whether to change the hub password** (R-350). I printed it into my own session log on 20 August.
|
||||
Not in git, not in any saved file — in the log on this machine. **If you do nothing:** it stays as
|
||||
it is, at the risk you accept by leaving it. I can change it without ever showing you the new one.
|
||||
|
||||
6. **`demo-hp`'s network setup does not match our own notes** (R-338) — the machine works, the page is
|
||||
5. **`demo-hp`'s network setup does not match our own notes** (R-338) — the machine works, the page is
|
||||
wrong, or the other way round. **If you do nothing:** the page keeps misleading the next session,
|
||||
as it misled one by an hour.
|
||||
|
||||
## Decided — and what would reopen each
|
||||
|
||||
- **The missing-golden warning is now pointed at the people who can act on it (R-404). DECIDED
|
||||
2026-09-01, and built the same day.** The warning was aimed at the wrong repository: the one where
|
||||
a release actually happens never checked at all, while the one that only holds documents was
|
||||
refused on every push — including the push that RECORDS a golden bake, which is the very act that
|
||||
clears the warning. So the check was blocking its own cure, and we had skipped it thirteen times.
|
||||
**What changed:** the release repository now prints a reminder the moment a release is committed
|
||||
(it never blocks — you cannot bake a golden for a version you have not pushed yet), and the
|
||||
documents repository still runs the check on every push and still says so loudly, but only refuses
|
||||
a push that touches real code. **Every other check still blocks everything, always.** Nothing was
|
||||
silenced and no product code changed. **Reopens if:** a release ever ships without a golden and
|
||||
nobody noticed — that would mean the reminder is not reaching anyone, and the answer would be to
|
||||
make the release repository refuse rather than remind.
|
||||
|
||||
- **Getting old backups back yourself: NOT BUILT, deliberately.** **Reopens if:** a real customer
|
||||
asks. *(R-312)*
|
||||
- **The unopenable old copy on `demo-felhom`: KEPT as a test fixture** — the only state in existence
|
||||
|
||||
Reference in New Issue
Block a user