Skip to content

fix(gate-55): port the OBJECT route form fix — the package was behind hydra - #137

Merged
rubenvdlinde merged 1 commit into
mainfrom
fix/port-gate55-object-route
Aug 3, 2026
Merged

fix(gate-55): port the OBJECT route form fix — the package was behind hydra#137
rubenvdlinde merged 1 commit into
mainfrom
fix/port-gate55-object-route

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Second casualty of the same drift that cost gates 62/63.

hydra's development carries a48e65e2 fix(gate-55): catch the OBJECT route form, not just string route values; the package's check_detail_page_discipline.py predates it by 25 lines.

The fix catches "route": {"name": "<pageId>", "query": {...}} — the object form stats-block entries use to deep-link a KPI. The renderer calls router.resolve({name, query}) in a computed and reads .href, so an unresolvable name throws and the page emits console errors. A gate inspecting only string route values never saw it.

Found resolving hydra#512: the file is deleted in the delegation branch and modified on development, so either mechanical resolution loses something. That is twice in one merge — the exact drift the delegation exists to end, appearing while the delegation is still in flight.

⚠️ My first attempt wrote an empty file — I ran git show origin/development:… inside the .github clone, where that ref doesn't exist (it's hydra's). git show on a missing ref produced nothing, the redirect truncated the file, and the diff read 453 deletions. An absence manufactured by a wrong lookup, caught only because 453 deletions is an implausible shape for a one-commit port. The diff is now +25/-0.

Unblocks hydra#512 → openbuild#104.

… hydra

Second casualty of the same drift that cost gates 62/63. hydra's
`development` carries `a48e65e2 fix(gate-55): catch the OBJECT route form, not
just string route values`, and the package's copy of
`check_detail_page_discipline.py` predates it by 25 lines.

The fix catches `"route": {"name": "<pageId>", "query": {...}}` — the object form
stats-block entries use to deep-link a KPI. The renderer calls
`router.resolve({name, query})` inside a computed and reads `.href` off the
result, so an unresolvable name throws and the page emits console errors. A gate
that only inspected string route values never saw it.

Found while resolving hydra#512's merge: the file is deleted in the delegation
branch and modified on development, so taking either side silently loses
something. That is now twice in one merge — the exact drift the delegation exists
to end, appearing while the delegation is still in flight.

⚠️ Worth stating plainly: my first attempt at this port wrote an EMPTY file,
because I ran `git show origin/development:…` inside the .github clone, where
that ref does not exist — it is hydra's. `git show` on a missing ref produced
nothing, the redirect truncated the file, and the diff read "453 deletions".
An absence manufactured by a wrong lookup, caught only because 453 deletions is
an implausible shape for a one-commit port. The diff is now +25/-0, which is
what a port of a 25-line fix should look like.

py_compile clean.
@rubenvdlinde
rubenvdlinde merged commit e123b55 into main Aug 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant