5e8a82c3c4
gates / gates (push) Successful in 18s
New runbooks/nightly-rotation.md; observations_gate.py reads every section (R-471); target-selection.md names real paths (R-461); R-93 carries the fact that drill-r50 is gone. Register: R-473/R-474/R-466/R-471/R-453/R-461 and v0.240.0's R-477/R-478/R-480/R-482/R-484/R-485/R-486 closed; R-481, R-483, R-487, R-488, R-489 opened. 09 §6.1, 07 §6, CONTEXT, STATUS note. Evidence: audits/nightly-2026-09-13-adventurelog/, audits/v0240-2026-09-13/.
15 lines
1021 B
Plaintext
15 lines
1021 B
Plaintext
=== R-471 red-proof — the R-419 decoy shape: a second '## Observations' block appended to a real REPORT.md, holding one unmarked item ===
|
|
--- OLD parser (git HEAD 681c3d6, first section only) ---
|
|
OK 3. FILED R-479
|
|
OK 4. FILED R-480
|
|
OK 5. FILED R-474
|
|
observations gate OK — every observation is either filed or explicitly declared
|
|
old-rc=0 (0 = the unmarked item was NOT seen — LIVE HOLE)
|
|
--- NEW parser (every section) ---
|
|
item 1: A real finding. It carries no FILED marker and no NOT-A-FINDING marker at all.
|
|
neither `FILED: R-NNN` nor `NOT-A-FINDING: <reason>`
|
|
|
|
An observation that lives only in REPORT.md has a lifetime of ONE SESSION — this file is overwritten every time. That is how the cooldown-grain finding was lost on 2026-08-23 and had to be re-derived the next day.
|
|
Fix: add `FILED: R-NNN` naming the row you opened for it, or `NOT-A-FINDING: <why this is not worth a row>`. Opening the row is the default; declaring is the exception and needs its reason stated.
|
|
new-rc=1
|