Skip to content

fix: restore executable bit on hypatia-cli.sh (stripped by #749) - #750

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/restore-hypatia-cli-exec-bit
Sep 3, 2026
Merged

fix: restore executable bit on hypatia-cli.sh (stripped by #749)#750
hyperpolymath merged 1 commit into
mainfrom
fix/restore-hypatia-cli-exec-bit

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Sep 3, 2026

Copy link
Copy Markdown
Owner

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.

Timeline

commit time mode
8f0d1aec (#747, the stdout fix) 10:59:56Z 100755
12473951 (#749, docstrings) 11:01:01Z 100644

65 seconds.

Effect on consumers

Every consumer that invokes the wrapper directly now dies before it can do anything:

/home/runner/hypatia/hypatia-cli.sh: Permission denied
##[error]Hypatia scanner execution failed with exit 126

Run Hypatia scan = failureEmit check annotations, Upload hypatia findings and the verdict step are all skipped, and the downstream Deposit findings for gitbot-fleet job then fails on Artifact not found for name: hypatia-findings. Observed live on hyperpolymath/scaffoldia run 33749291439 (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-router run 33714565319 (04:18:31Z) and session-sentinel run 33714770073 (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 8f0d1aec and 12473951 — 935 blobs each — yields exactly one mode change, this file. Every other .sh in the repo root is 100755; this was the only 100644 among them, and the file carries #!/usr/bin/env bash.

What this diff does

Restores the mode. Nothing else — the blob SHA is 87e4470b before and after, so the docstrings from #749 are kept byte-for-byte. A mode change cannot be expressed through GraphQL createCommitOnBranch, which is the API shape that caused this, so this is a real signed git commit (%G? = G).

Consumers clone main unpinned, so merging cures the fleet on the next run with no per-repo change.

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.
@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

💤 Files selected but had no reviewable changes (1)
  • hypatia-cli.sh
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: 3c1b9c38-b158-4b9d-ae25-cc2b33a49262

📥 Commits

Reviewing files that changed from the base of the PR and between 1247395 and 91ad569.

📒 Files selected for processing (1)
  • hypatia-cli.sh

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath merged commit a6fb851 into main Sep 3, 2026
79 of 98 checks passed
@hyperpolymath
hyperpolymath deleted the fix/restore-hypatia-cli-exec-bit branch September 3, 2026 12:30
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