From 0e9e5260ae3d3d60e3c764af00f05d33162cac6f Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Fri, 9 Oct 2026 18:15:55 +0200 Subject: [PATCH] gates: run poster-facts last, matching the docstring order 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. --- scripts/repo_gates.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/repo_gates.py b/scripts/repo_gates.py index fc93e8ab..69c7d3e1 100644 --- a/scripts/repo_gates.py +++ b/scripts/repo_gates.py @@ -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"}