gates: run poster-facts last, matching the docstring order
gates / gates (push) Successful in 5m56s

scripts/test_repo_gates_docstring.py pins the numbered list in repo_gates.py's
docstring against the GATES table IN ORDER. I listed poster-facts as 17 but
inserted it before decoy-coverage, so the sets matched and the order did not:
'same set, different order'. Caught on DooPlex, where script-tests runs (it
needs fcntl and cannot run on Windows).

Moved the table entry after decoy-coverage rather than renumbering the
docstring: the gate genuinely belongs last, since it only reports.
This commit is contained in:
2026-10-09 18:15:55 +02:00
parent a08bd3cbd5
commit 0e9e5260ae
+4 -4
View File
@@ -173,6 +173,10 @@ GATES = [
# R-421 — every registered gate across all four repos ships with a decoy test, or is
# named in the exemption list with its row. Registered LAST, after every runner was green:
# a failing gate refuses every push, which is what instructions_gate learned the hard way.
("decoy-coverage", os.path.join(SCRIPTS, "decoy_coverage_gate.py"),
[ROOT, os.path.join(os.path.dirname(ROOT), "felhom-controller"),
os.path.join(os.path.dirname(ROOT), "felhom-agent"),
os.path.join(os.path.dirname(ROOT), "app-catalog-felhom.eu")], True, False),
# The system poster is a DRAWING made in Claude Design from felhom-system-poster.facts.md;
# nothing in this repo renders it, so nothing mechanical keeps the two together. This gate warns
# when the facts file has a newer commit than the poster. It NEVER fails a push, on purpose: a
@@ -180,10 +184,6 @@ GATES = [
# until a human with another tool was free -- and `--no-verify` is forbidden here, so the only
# way out would be deleting the gate. Fast: two `git log -1` calls.
("poster-facts", os.path.join(SCRIPTS, "poster_facts_gate.py"), [ROOT], True, False),
("decoy-coverage", os.path.join(SCRIPTS, "decoy_coverage_gate.py"),
[ROOT, os.path.join(os.path.dirname(ROOT), "felhom-controller"),
os.path.join(os.path.dirname(ROOT), "felhom-agent"),
os.path.join(os.path.dirname(ROOT), "app-catalog-felhom.eu")], True, False),
]
VERDICT = {0: "OK", 1: "FAILED", 2: "INCONCLUSIVE"}