fix(gates): port gates 62 and 63 into the package — they were about to be lost - #136
Merged
Conversation
…o be lost
hydra#512 makes hydra delegate to this package and reduces its own
run-hydra-gates.sh from 3,599 lines to a 53-line shim. It conflicts with hydra's
`development` in exactly one file: the runner it replaces.
The conflict is SUBSTANTIVE, not mechanical. Commit e30cd435 ("ADR-079
settings-surface placement + ADR-080 store plane, with gates 62/63") added 36
lines to hydra's runner while that runner was being deleted. Taking the shim
drops both gates; taking hydra's undoes the delegation. Neither mechanical
resolution is correct.
So the gates come here, where the implementation now lives:
gate 62 store-plane (ADR-080) — store / templates / catalogue are
three distinct concepts
gate 63 settings-surface (ADR-079)
Both are driven by scripts/lib/check_store_and_settings_surface.py, which was
also absent from the package and is ported with them. A gate whose helper is
missing does not fail loudly — it fails in whatever way the shell happens to
produce, which is the class of defect this package exists to remove.
The declared count moves 61 → 63 in the summary line. That number should not
live in prose anywhere else: it read 61 while only 59 gates actually reported,
because gates 24 and 33 skip silently, and a hard-coded count in a document is
exactly how that went unnoticed for as long as it did.
PROVED both directions, not just that it runs:
violating tree (a menu entry naming the STORE concept with the wrong icon)
-> FAIL src/manifest.json: menu entry 'Store' names the STORE concept but
renders 'WrongIcon' — Tier A requires 'StoreOutline'
-> exit 1
clean tree
-> checked 1 manifest(s): 0 failure(s)
-> exit 0
A gate only ever observed passing is indistinguishable from one that cannot
fail, so the failing case is the half that matters.
bash -n and py_compile clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
hydra#512 makes hydra delegate to this package (runner: 3,599 lines → a 53-line shim). It conflicts with hydra's
developmentin exactly one file — the runner it replaces — and the conflict is substantive.e30cd435(ADR-079 settings-surface + ADR-080 store plane, with gates 62/63) added 36 lines to hydra's runner while that runner was being deleted. Taking the shim drops both gates; taking hydra's undoes the delegation.So the gates come here, where the implementation now lives:
scripts/lib/check_store_and_settings_surface.pywas also absent from the package and is ported with them. A gate whose helper is missing doesn't fail loudly — it fails however the shell happens to, which is the defect class this package exists to remove.Declared count 61 → 63 in the summary line only. That number must not live in prose: it read 61 while 59 actually reported, because gates 24 and 33 skip silently.
Proved both directions
A gate only ever observed passing is indistinguishable from one that cannot fail.