Skip to content

fix(ci): repin governance-reusable off phantom SHA 8f31a5a4 - #95

Merged
hyperpolymath merged 2 commits into
mainfrom
fix/repin-governance-phantom-pin-20260915
Sep 15, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
fix/repin-governance-phantom-pin-20260915

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

Repins this repo's governance.yml from 8f31a5a4 to da2c748a (standards main).

Why

8f31a5a4 is a phantom SHA — it does not exist in hyperpolymath/standards.
Discriminator: gh api repos/hyperpolymath/standards/compare/main...8f31a5a4 returns
404. A real-but-stale pin returns behind; only a nonexistent one 404s.

A caller pinned to a nonexistent ref cannot start. The run is created with
jobs.total_count == 0 and emits no check run at all — so the required context
governance / Code quality + docs never reports, and this repo has been reading
greener than a healthy one while its governance gate was silently absent.

Scope

Pin line only. No ruleset was edited and the required status check is unchanged.
This is plan C8 — fix the workflow, not the rule. Owner ruling R-U, 2026-09-15.

Known cosmetic defect left alone deliberately: the duplicated
# This workflow is managed by gh actions-lock. banner is a separate recorded
tool defect and is out of scope here.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TCKh98NmUmfvgpuGyJbNu8

8f31a5a4ba591d544b65f91f6d78b136e07756f0 does not exist in hyperpolymath/standards: compare/main...8f31a5a4 returns
404, not "behind". A caller pinned to a nonexistent ref cannot start. The run is
created with jobs.total_count == 0 and emits NO check run, so the required context
"governance / Code quality + docs" never reports and the repo reads GREENER than a
healthy one.

Repinned to da2c748aad55c1a1dcba00b60fe4a35017bc6540 (standards main, 2026-09-14T20:13:37Z).

Owner ruling R-U 2026-09-15: fix the workflow, not the rule (plan C8). No ruleset
was edited; the required status check is unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TCKh98NmUmfvgpuGyJbNu8
@github-actions

github-actions Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
actions/hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml da2c748aad55c1a1dcba00b60fe4a35017bc6540 🟢 6.2
Details
CheckScoreReason
Maintained🟢 1030 commit(s) and 27 issue activity found in the last 90 days -- score normalized to 10
Dependency-Update-Tool🟢 10update tool detected
Code-Review🟢 8Found 11/13 approved changesets -- score normalized to 8
Security-Policy🟢 10security policy file detected
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow⚠️ 0dangerous workflow patterns detected
Binary-Artifacts🟢 8binaries present in source code
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Signed-Releases⚠️ -1no releases found
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies🟢 9dependency not pinned by hash detected -- score normalized to 9
License🟢 10license file detected
Fuzzing🟢 10project is fuzzed
SAST🟢 9SAST tool detected but not run on all commits
Branch-Protection⚠️ 1branch protection is not maximal on development and all release branches
Vulnerabilities🟢 64 existing vulnerabilities detected
Contributors🟢 6project has 2 contributing companies or organizations -- score normalized to 6
CI-Tests🟢 1014 out of 14 merged PRs checked by a CI test -- score normalized to 10

Scanned Files

  • .github/workflows/hypatia-scan.yml

@coderabbitai

coderabbitai Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Warning

Review limit reached

Next included review available in 14 minutes.

Check out review usage here.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 327c72d4-fc73-4f78-8474-17ac32a0a5ee

📥 Commits

Reviewing files that changed from the base of the PR and between fbbbc9c and 05f79d4.

📒 Files selected for processing (1)
  • .github/workflows/hypatia-scan.yml

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 517e208a-6bf0-4ec9-a101-9be870d40625

📥 Commits

Reviewing files that changed from the base of the PR and between 4155dd1 and fbbbc9c.

📒 Files selected for processing (1)
  • .github/workflows/governance.yml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (5)
  • GitHub Check: Build and Test Casket-SSG + Gnosis (ubuntu-latest, 9.6.6)
  • GitHub Check: Build and Test Casket-SSG + Gnosis (ubuntu-latest, 9.4.8)
  • GitHub Check: Build and Test Casket-SSG + Gnosis (macos-latest, 9.4.8)
  • GitHub Check: Build and Test Casket-SSG + Gnosis (macos-latest, 9.6.6)
  • GitHub Check: build
⚠️ CI failures not shown inline (17)

GitHub Actions: Governance / 1_governance _ Workflow security linter.txt: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run if [ "$GITHUB_REPOSITORY" = hyperpolymath/standards ]; then
 �[36;1mif [ "$GITHUB_REPOSITORY" = hyperpolymath/standards ]; then�[0m
 �[36;1m  SCRIPT=scripts/check-descriptile-policy.sh�[0m
 �[36;1melse�[0m
 �[36;1m  SCRIPT=.standards-dupkey/scripts/check-descriptile-policy.sh�[0m
 �[36;1mfi�[0m
 �[36;1mbash "$SCRIPT"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 55:    @[ -f ".machine_readable/STATE.a2ml" ] && grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/STATE.a2ml | head -1 | xargs -I{} echo "Phase: {}" || true
 552:    `@if` [ -f ".machine_readable/STATE.a2ml" ]; then \
 ##[error]Policy requires a retired descriptile path; use .machine_readable/descriptiles/ and reconcile existing files

GitHub Actions: Governance / governance _ Workflow security linter: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run if [ "$GITHUB_REPOSITORY" = hyperpolymath/standards ]; then
 �[36;1mif [ "$GITHUB_REPOSITORY" = hyperpolymath/standards ]; then�[0m
 �[36;1m  SCRIPT=scripts/check-descriptile-policy.sh�[0m
 �[36;1melse�[0m
 �[36;1m  SCRIPT=.standards-dupkey/scripts/check-descriptile-policy.sh�[0m
 �[36;1mfi�[0m
 �[36;1mbash "$SCRIPT"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 55:    @[ -f ".machine_readable/STATE.a2ml" ] && grep -oP 'phase\s*=\s*"\K[^"]+' .machine_readable/STATE.a2ml | head -1 | xargs -I{} echo "Phase: {}" || true
 552:    `@if` [ -f ".machine_readable/STATE.a2ml" ]; then \
 ##[error]Policy requires a retired descriptile path; use .machine_readable/descriptiles/ and reconcile existing files

GitHub Actions: Governance / 2_governance _ Security policy checks.txt: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run FAILED=false
 �[36;1mFAILED=false�[0m
 �[36;1mWEAK_CRYPTO=$(grep -rE 'md5\(|sha1\(' --include="*.py" --include="*.rb" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" . 2>/dev/null | grep -v 'checksum\|cache\|test\|spec' | head -5 || true)�[0m
 �[36;1mif [ -n "$WEAK_CRYPTO" ]; then�[0m
 �[36;1m  echo "::warning::Weak crypto (MD5/SHA1) detected — ADVISORY, does not fail this job. Use SHA256+:"�[0m
 �[36;1m  echo "$WEAK_CRYPTO"�[0m
 �[36;1mfi�[0m
 �[36;1mHTTP_URLS=$(grep -rE 'http://[^l][^o][^c]' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.yaml" --include="*.yml" . 2>/dev/null | grep -v 'localhost\|127.0.0.1\|example\|test\|spec' | head -5 || true)�[0m
 �[36;1mif [ -n "$HTTP_URLS" ]; then�[0m
 �[36;1m  echo "::warning::HTTP URLs found — ADVISORY, does not fail this job. Use HTTPS:"�[0m
 �[36;1m  echo "$HTTP_URLS"�[0m
 �[36;1mfi�[0m
 �[36;1mSECRETS=$(grep -rEi '(api_key|apikey|secret_key|password)\s*[=:]\s*["\x27][A-Za-z0-9+/=]{20,}' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.env" . 2>/dev/null | grep -v 'example\|sample\|test\|mock\|placeholder' | head -3 || true)�[0m
 �[36;1mif [ -n "$SECRETS" ]; then�[0m
 �[36;1m  echo "::error::Potential hardcoded secrets detected — this FAILS the job:"�[0m

GitHub Actions: Governance / governance _ Security policy checks: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run FAILED=false
 �[36;1mFAILED=false�[0m
 �[36;1mWEAK_CRYPTO=$(grep -rE 'md5\(|sha1\(' --include="*.py" --include="*.rb" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" . 2>/dev/null | grep -v 'checksum\|cache\|test\|spec' | head -5 || true)�[0m
 �[36;1mif [ -n "$WEAK_CRYPTO" ]; then�[0m
 �[36;1m  echo "::warning::Weak crypto (MD5/SHA1) detected — ADVISORY, does not fail this job. Use SHA256+:"�[0m
 �[36;1m  echo "$WEAK_CRYPTO"�[0m
 �[36;1mfi�[0m
 �[36;1mHTTP_URLS=$(grep -rE 'http://[^l][^o][^c]' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.yaml" --include="*.yml" . 2>/dev/null | grep -v 'localhost\|127.0.0.1\|example\|test\|spec' | head -5 || true)�[0m
 �[36;1mif [ -n "$HTTP_URLS" ]; then�[0m
 �[36;1m  echo "::warning::HTTP URLs found — ADVISORY, does not fail this job. Use HTTPS:"�[0m
 �[36;1m  echo "$HTTP_URLS"�[0m
 �[36;1mfi�[0m
 �[36;1mSECRETS=$(grep -rEi '(api_key|apikey|secret_key|password)\s*[=:]\s*["\x27][A-Za-z0-9+/=]{20,}' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.env" . 2>/dev/null | grep -v 'example\|sample\|test\|mock\|placeholder' | head -3 || true)�[0m
 �[36;1mif [ -n "$SECRETS" ]; then�[0m
 �[36;1m  echo "::error::Potential hardcoded secrets detected — this FAILS the job:"�[0m

GitHub Actions: Governance / governance _ Security policy checks: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run set -uo pipefail
 �[36;1mset -uo pipefail�[0m
 �[36;1mDIR=.github/canonical-references�[0m
 �[36;1mif [ ! -d "$DIR" ]; then�[0m
 �[36;1m  echo "ℹ️  [R5] no $DIR/ — skipped (repo has not opted in)"�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mif ! command -v python3 >/dev/null 2>&1; then�[0m
 �[36;1m  echo "❌ [R5] python3 missing on runner — required for YAML rule parsing"�[0m
 �[36;1m  exit 2�[0m
 �[36;1mfi�[0m
 �[36;1mpython3 - <<'PY'�[0m
 �[36;1mimport os, sys, glob, subprocess�[0m
 �[36;1mtry:�[0m
 �[36;1m    import yaml�[0m
 �[36;1mexcept ImportError:�[0m
 �[36;1m    sys.exit("❌ [R5] PyYAML not installed on runner; install python3-yaml")�[0m
 �[36;1m�[0m
 �[36;1mdir_ = ".github/canonical-references"�[0m
 �[36;1mfiles = sorted(glob.glob(f"{dir_}/*.yml") + glob.glob(f"{dir_}/*.yaml"))�[0m
 �[36;1mif not files:�[0m
 �[36;1m    print(f"ℹ️  [R5] {dir_}/ has no .yml/.yaml rules — skipped")�[0m
 �[36;1m    sys.exit(0)�[0m
 �[36;1m�[0m
 �[36;1mtotal = 0�[0m
 �[36;1mfor rf in files:�[0m
 �[36;1m    with open(rf, encoding="utf-8") as fh:�[0m
 �[36;1m        cfg = yaml.safe_load(fh)�[0m
 �[36;1m    if not isinstance(cfg, dict):�[0m
 �[36;1m        print(f"❌ [R5] {rf}: top-level must be a mapping"); total += 1; continue�[0m
 �[36;1m    rid  = cfg.get("id", os.path.basename(rf))�[0m
 �[36;1m    desc = cfg.get("description", "")�[0m
 �[36;1m    pats = cfg.get("patterns") or []�[0m
 �[36;1m    canon = cfg.get("canonical_pointer", "")�[0m
 �[36;1m    scope = (cfg.get("scope") or {})�[0m
 �[36;1m    includes = scope.get("include") or []�[0m
 �[36;1m    if not pats or not includes:�[0m
 �[36;1m        print(f"❌ [R5:{rid}] missing patterns or scope.include in {rf}")�[0m
 �[36;1m        total += 1; continue�[0m
 �[36;1m    # exclude self-references�[0m
 �[36;1m    skip = set(["CHANGELOG.md", "CHANGELOG.adoc", rf])�[0m
 �[36;1m    if canon: skip.add(canon)�[0m
 �[36;1m    rule_hits = 0�[0m
 �[36;1m    for f_ in includes:�[0m
 �[36;1m        if f_ in skip or not os...

GitHub Actions: Governance / 5_governance _ Language _ package anti-pattern policy.txt: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run SCRIPT=".standards-checkout/scripts/check-ts-allowlist.sh"
 �[36;1mSCRIPT=".standards-checkout/scripts/check-ts-allowlist.sh"�[0m
 �[36;1mif [ ! -f "$SCRIPT" ] && [ "$GITHUB_REPOSITORY" = "hyperpolymath/standards" ] \�[0m
 �[36;1m   && [ -f scripts/check-ts-allowlist.sh ]; then�[0m
 �[36;1m  SCRIPT="scripts/check-ts-allowlist.sh"�[0m
 �[36;1m  echo "Using this repository's own copy (standards self-check)."�[0m
 �[36;1mfi�[0m
 �[36;1mif [ ! -f "$SCRIPT" ]; then�[0m
 �[36;1m  echo "::error::check-ts-allowlist gate not found in standards@main or locally"�[0m

GitHub Actions: Governance / governance _ Language _ package anti-pattern policy: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run SCRIPT=".standards-checkout/scripts/check-ts-allowlist.sh"
 �[36;1mSCRIPT=".standards-checkout/scripts/check-ts-allowlist.sh"�[0m
 �[36;1mif [ ! -f "$SCRIPT" ] && [ "$GITHUB_REPOSITORY" = "hyperpolymath/standards" ] \�[0m
 �[36;1m   && [ -f scripts/check-ts-allowlist.sh ]; then�[0m
 �[36;1m  SCRIPT="scripts/check-ts-allowlist.sh"�[0m
 �[36;1m  echo "Using this repository's own copy (standards self-check)."�[0m
 �[36;1mfi�[0m
 �[36;1mif [ ! -f "$SCRIPT" ]; then�[0m
 �[36;1m  echo "::error::check-ts-allowlist gate not found in standards@main or locally"�[0m

GitHub Actions: Governance / governance _ Language _ package anti-pattern policy: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run SCRIPT=".standards-checkout/tools/policy/check-language-policy.sh"
 �[36;1mSCRIPT=".standards-checkout/tools/policy/check-language-policy.sh"�[0m
 �[36;1mif [ ! -f "$SCRIPT" ] && [ -f tools/policy/check-language-policy.sh ]; then�[0m
 �[36;1m  SCRIPT="tools/policy/check-language-policy.sh"�[0m
 �[36;1m  echo "Using this repository's own copy (standards self-check)."�[0m
 �[36;1mfi�[0m
 �[36;1mif [ ! -f "$SCRIPT" ]; then�[0m
 �[36;1m  echo "::error::language-policy gate not found in standards@main or locally"�[0m

GitHub Actions: Governance / 7_governance _ Check Workflow Staleness.txt: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run bash .standards-history/scripts/check-workflow-staleness.sh .
 �[36;1mbash .standards-history/scripts/check-workflow-staleness.sh .�[0m
 shell: /usr/bin/bash -e {0}
 env:
   GITHUB_***REDACTED_SECRET_ASSIGNMENT***
   STALENESS_STANDARDS_DIR: /home/runner/work/casket-ssg/casket-ssg/.standards-history
 ##[endgroup]
 Staleness Check against Standards SHA: 874ffe5839095bd9b181eb465ec20fb473cda7c5
 Recency window: <= 50 commits behind HEAD OR <= 14 days old.
 ##[error]hypatia-scan-reusable.yml pin cc58c0cb23f7 is not a commit of hyperpolymath/standards reachable from main (confirmed against the GitHub compare API, not just this runner's clone). It may be forged, from a fork, or from rewritten history. Pin a published standards commit.

GitHub Actions: Governance / governance _ Check Workflow Staleness: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run bash .standards-history/scripts/check-workflow-staleness.sh .
 �[36;1mbash .standards-history/scripts/check-workflow-staleness.sh .�[0m
 shell: /usr/bin/bash -e {0}
 env:
   GITHUB_***REDACTED_SECRET_ASSIGNMENT***
   STALENESS_STANDARDS_DIR: /home/runner/work/casket-ssg/casket-ssg/.standards-history
 ##[endgroup]
 Staleness Check against Standards SHA: 874ffe5839095bd9b181eb465ec20fb473cda7c5
 Recency window: <= 50 commits behind HEAD OR <= 14 days old.
 ##[error]hypatia-scan-reusable.yml pin cc58c0cb23f7 is not a commit of hyperpolymath/standards reachable from main (confirmed against the GitHub compare API, not just this runner's clone). It may be forged, from a fork, or from rewritten history. Pin a published standards commit.

GitHub Actions: Governance / 12_governance _ Guix packaging policy (Nix retired).txt: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run # Move the checker OUT of the scanned tree and delete the standards
 �[36;1m# Move the checker OUT of the scanned tree and delete the standards�[0m
 �[36;1m# checkout before scanning: the gate walks the whole caller tree, so�[0m
 �[36;1m# a packaging file shipped inside .standards-checkout/ would satisfy�[0m
 �[36;1m# the policy on the caller's behalf (same trap as the baseline job).�[0m
 �[36;1mcp .standards-checkout/scripts/check-package-policy.sh "$RUNNER_TEMP/"�[0m
 �[36;1mrm -rf .standards-checkout�[0m
 �[36;1mbash "$RUNNER_TEMP/check-package-policy.sh" .�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ##[error]Package policy violation: no packaging found.

GitHub Actions: Governance / governance _ Guix packaging policy (Nix retired): fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run # Move the checker OUT of the scanned tree and delete the standards
 �[36;1m# Move the checker OUT of the scanned tree and delete the standards�[0m
 �[36;1m# checkout before scanning: the gate walks the whole caller tree, so�[0m
 �[36;1m# a packaging file shipped inside .standards-checkout/ would satisfy�[0m
 �[36;1m# the policy on the caller's behalf (same trap as the baseline job).�[0m
 �[36;1mcp .standards-checkout/scripts/check-package-policy.sh "$RUNNER_TEMP/"�[0m
 �[36;1mrm -rf .standards-checkout�[0m
 �[36;1mbash "$RUNNER_TEMP/check-package-policy.sh" .�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ##[error]Package policy violation: no packaging found.

GitHub Actions: Governance / 13_governance _ Well-Known (RFC 9116 + RSR).txt: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run SECTXT=""
 �[36;1mSECTXT=""�[0m
 �[36;1m[ -f ".well-known/security.txt" ] && SECTXT=".well-known/security.txt"�[0m
 �[36;1m[ -f "security.txt" ] && SECTXT="security.txt"�[0m
 �[36;1mif [ -z "$SECTXT" ]; then�[0m
 �[36;1m  echo "::warning::No security.txt found."�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mgrep -q "^Contact:" "$SECTXT" || { echo "::error::Missing Contact field"; exit 1; }�[0m

GitHub Actions: Governance / governance _ Well-Known (RFC 9116 + RSR): fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run SECTXT=""
 �[36;1mSECTXT=""�[0m
 �[36;1m[ -f ".well-known/security.txt" ] && SECTXT=".well-known/security.txt"�[0m
 �[36;1m[ -f "security.txt" ] && SECTXT="security.txt"�[0m
 �[36;1mif [ -z "$SECTXT" ]; then�[0m
 �[36;1m  echo "::warning::No security.txt found."�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mgrep -q "^Contact:" "$SECTXT" || { echo "::error::Missing Contact field"; exit 1; }�[0m

GitHub Actions: Governance / governance _ Well-Known (RFC 9116 + RSR): fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run MIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)
 �[36;1mMIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)�[0m
 �[36;1mif [ -n "$MIXED" ]; then�[0m
 �[36;1m  echo "::error::Mixed content (HTTP in HTML)"�[0m

GitHub Actions: Governance / 14_governance _ Actions lockfile verify.txt: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run set -uo pipefail
 �[36;1mset -uo pipefail�[0m
 �[36;1mif [ "$GITHUB_REPOSITORY" = hyperpolymath/standards ]; then�[0m
 �[36;1m  SRC=scripts�[0m
 �[36;1m  echo "Using this repository's own gate + verifier (standards self-lint)."�[0m
 �[36;1melse�[0m
 �[36;1m  SRC=.standards-lock/scripts�[0m
 �[36;1mfi�[0m
 �[36;1mfor f in check-actions-lock-gate.sh update-actions-lock.sh; do�[0m
 �[36;1m  if [ ! -f "$SRC/$f" ]; then�[0m
 �[36;1m    echo "::error::actions-lock gate: $f not found in $SRC (standards checkout at the explicit helper pin failed?)"�[0m

GitHub Actions: Governance / governance _ Actions lockfile verify: fix(ci): repin governance-reusable off phantom SHA 8f31a5a4

Conclusion: failure

View job details

##[group]Run set -uo pipefail
 �[36;1mset -uo pipefail�[0m
 �[36;1mif [ "$GITHUB_REPOSITORY" = hyperpolymath/standards ]; then�[0m
 �[36;1m  SRC=scripts�[0m
 �[36;1m  echo "Using this repository's own gate + verifier (standards self-lint)."�[0m
 �[36;1melse�[0m
 �[36;1m  SRC=.standards-lock/scripts�[0m
 �[36;1mfi�[0m
 �[36;1mfor f in check-actions-lock-gate.sh update-actions-lock.sh; do�[0m
 �[36;1m  if [ ! -f "$SRC/$f" ]; then�[0m
 �[36;1m    echo "::error::actions-lock gate: $f not found in $SRC (standards checkout at the explicit helper pin failed?)"�[0m
🔇 Additional comments (1)
.github/workflows/governance.yml (1)

18-18: LGTM!


📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated the governance workflow to use a newer version of its shared workflow configuration.

Walkthrough

The governance job now references a newer pinned commit of the reusable hyperpolymath/standards workflow.

Changes

Governance workflow

Layer / File(s) Summary
Update reusable workflow pin
.github/workflows/governance.yml
The governance job uses commit da2c748aad55c1a1dcba00b60fe4a35017bc6540 instead of the previous pinned commit.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~2 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to fbbbc

The governance workflow can invoke the updated reusable workflow, so this pin-only change is ready to merge.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: repinning the governance workflow from a nonexistent SHA.
Description check ✅ Passed The description directly explains the workflow pin change, its cause, its impact, and the deliberate scope of the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

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

A rabbit checks the workflow line
The governance pin is fresh and fine
One SHA hops into place
The checks now start their steady race
Ears up for every green sign

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

coderabbitai[bot]
coderabbitai Bot previously approved these changes Sep 15, 2026
hypatia-scan.yml called hypatia-scan-reusable.yml at cc58c0cb, which does not
resolve (422). GitHub rejected the file at parse time, so the run recorded
`failure` with zero jobs and uploaded no SARIF. The code_scanning ruleset rule
therefore waited forever for a Hypatia result that could never arrive, blocking
the PR while every required status check was green.

Repins onto da2c748a, the same blob this PR already uses for
governance-reusable.yml. The caller passes no inputs and the reusable only
input is optional with a default, so the contract is unchanged. Verified green
first on knot-rider#56, where Hypatia SARIF went from 0 to 1 analysis.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TCKh98NmUmfvgpuGyJbNu8
@hyperpolymath
hyperpolymath merged commit 231f726 into main Sep 15, 2026
23 of 32 checks passed
@hyperpolymath
hyperpolymath deleted the fix/repin-governance-phantom-pin-20260915 branch September 15, 2026 19:36
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