fix: the Hypatia gate still could not fire -- the availability probe was unsatisfiable - #5
Merged
Merged
Conversation
…y vacuous
The previous fix closed one route to a falsely-clean findings file. There are
two. This closes the second: the scanner AVAILABILITY PROBE.
`[ -d "$HOME/hypatia/scanner" ]` is unsatisfiable -- hypatia has no scanner/
directory -- so `ready` was always false, "Run Hypatia scan" was always skipped,
and "Create stub findings" wrote a clean `[]`, making the gate unconditionally
green. Separately, `${REPO_OWNER}/hypatia` 404s for any owner but hyperpolymath,
producing the same silent stub via `2>/dev/null || true` plus continue-on-error.
Verified live: on the previous PR's merge run, exactly the three repos carrying
these two probe defects reported `Run Hypatia scan = skipped` with
`Create stub findings = success`, and no others.
- probe `[ -f "$HOME/hypatia/mix.exs" ]`, the file the project has
- hardcode hyperpolymath for the hypatia and panic-attack sources
- promote the silent ::notice:: to ::error:: so unavailability is visible
- drop the vestigial `mv hypatia ../hypatia-v2` (the scan calls hypatia-cli.sh)
Unavailability still yields a green check; that pass/fail policy is escalated
separately rather than decided here.
|
Warning Review limit reachedNext included review available in 32 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
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.



The gate still could not fire — a second, independent route to a fake-clean result
The recent
--exit-zerofix closed one route by whichstatic-analysis-gate.ymlproduced afalsely-clean
hypatia-findings.json. Step-level verification of that merge showed there are two,and this PR closes the other.
Fail on critical security findingsgates oncritical == 0inhypatia-findings.json. Two separatepaths write a clean
[]without the scanner ever reaching a verdict:scan . > f.json 2>&1folds stderr into the payload →jqfails →|| echo '[]'fallbackCreate stub findingswrites[]Route 2, measured
Two defects, both failing closed to green:
[ -d "$HOME/hypatia/scanner" ]is unsatisfiable.hyperpolymath/hypatiahas noscanner/directory — its top-level dirs are
lib cli clients config … tools tui verification verify. Thetest can never be true, so the scan step was always skipped.
${REPO_OWNER}/hypatiais a 404 for any owner buthyperpolymath(
metadatastician/hypatiadoes not exist), so the clone silently failed under2>/dev/null || true.Evidence this was live, not theoretical
Job-step conclusions on the merge run of the previous PR, across the 11 repos it landed in:
for exactly a2ml-validate-action, hybrid-automation-router and gossamer, and for no others. A
census of the probe expression across all 91 staged workflow files predicted precisely those repos
(85 correct
mix.exsprobes, 3scanner/, 3${REPO_OWNER}) — prediction and observation matchedfile-for-file. Note
Clone and build Hypatia = successis not evidence the scanner ran: the stepis
continue-on-error: true.What this PR changes
[ -f "$HOME/hypatia/mix.exs" ]— the file the project actually has.hyperpolymath/hypatia(andhyperpolymath/panic-attack) instead of${REPO_OWNER}.::notice::into a::error::annotation, so a genuinely unavailable scanner isvisible in the run rather than passing quietly.
The vestigial
mv hypatia ../hypatia-v2is dropped: the scan step invokes"$HOME/hypatia/hypatia-cli.sh", never the moved binary.Deliberately NOT changed — a policy question for the owner
Unavailability still yields
[]and a green check. Making it fail would mean any hypatia outagereddens every repo at once; that is a real availability trade-off and an estate-wide policy call, not
something to decide inside one PR. The
::error::annotation makes the situation loud in themeantime. The principle at stake — a gate that cannot run must not report success — is raised
separately for a ruling.