fix: restore executable bit on hypatia-cli.sh (stripped by #749) - #750
Merged
Conversation
PR #749 (coderabbitai[bot], "Add docstrings") rewrote hypatia-cli.sh through a GitHub write API that carries path and contents but no file mode, so the blob landed at 100644. The demotion is invisible in the diff -- it lives in the tree object, not the patch text -- and it took effect 65 seconds after 8f0d1ae. Every consumer that invokes the wrapper directly now dies with /home/runner/hypatia/hypatia-cli.sh: Permission denied ##[error]Hypatia scanner execution failed with exit 126 so the scan step fails before it can emit annotations or upload findings, and the downstream deposit job fails too on the missing artifact. Measured: comparing the full recursive trees of 8f0d1ae and 1247395 (935 blobs each) shows exactly ONE mode change, this file. Every other .sh in the repo root is still 100755; this was the only 100644 among them. Contents are untouched -- the docstrings from #749 are kept, only the mode is restored.
Contributor
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. 💤 Files selected but had no reviewable changes (1)
⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (1)
You can disable this status message by setting the Use the checkbox below for a quick retry:
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.
PR #749 (
coderabbitai[bot], "Add docstrings") rewrotehypatia-cli.shthrough a GitHub write API that carries path and contents but no file mode, so the blob landed at100644. The demotion is invisible in the diff — it lives in the tree object, not the patch text.Timeline
8f0d1aec(#747, the stdout fix)100755✅12473951(#749, docstrings)100644❌65 seconds.
Effect on consumers
Every consumer that invokes the wrapper directly now dies before it can do anything:
Run Hypatia scan = failure→Emit check annotations,Upload hypatia findingsand the verdict step are all skipped, and the downstreamDeposit findings for gitbot-fleetjob then fails onArtifact not found for name: hypatia-findings. Observed live onhyperpolymath/scaffoldiarun33749291439(started 11:22:03Z) and on four more repos. The split is temporal, not invocation-shape: every consumer run after 11:01:01Z fails this way. The two repos that still scanned cleanly —hybrid-automation-routerrun33714565319(04:18:31Z) andsession-sentinelrun33714770073(04:21:59Z) — are pre-demotion witnesses, and would fail with 126 if re-run today.Scope, measured not assumed
Comparing the full recursive trees of
8f0d1aecand12473951— 935 blobs each — yields exactly one mode change, this file. Every other.shin the repo root is100755; this was the only100644among them, and the file carries#!/usr/bin/env bash.What this diff does
Restores the mode. Nothing else — the blob SHA is
87e4470bbefore and after, so the docstrings from #749 are kept byte-for-byte. A mode change cannot be expressed through GraphQLcreateCommitOnBranch, which is the API shape that caused this, so this is a real signed git commit (%G?=G).Consumers clone
mainunpinned, so merging cures the fleet on the next run with no per-repo change.