Skip to content

ci(pipeline): re-pin ci-pipeline.yml to standards#989 squash SHA ed5e3f65 - #122

Merged
hyperpolymath merged 2 commits into
mainfrom
secqual/repin-ci-pipeline-f95130bb
Sep 22, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
secqual/repin-ci-pipeline-f95130bb

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

Re-pins this repository's standards-pipeline.yml caller from 2eb9bb19 to
f95130bb — the squash merge of hyperpolymath/standards#985.

Why

2eb9bb19 predates #985, which fixed the ci-pipeline detect gate. Every caller
still on the old pin runs the pre-fix gate. The workflow is pull_request-triggered
only, so the failure is latent: it does not manifest until the next PR is opened here.

What moves

Two lines, together:

Line From To
provenance comment @ 2eb9bb19 — ci-pipeline.yml blob d2583657. @ f95130bb — ci-pipeline.yml blob 8bcdeaf2.
uses: ref ...ci-pipeline.yml@2eb9bb19... ...ci-pipeline.yml@f95130bb...

A SHA bump that leaves the blob comment behind is a phantom pin — it names a tree
it can no longer be checked against — so both change or neither does.

Why f95130bb and not current main

main has since moved to d1bd7f42 (#988, a changelog fix). f95130bb was chosen
deliberately:

  • ci-pipeline.yml is byte-identical at both — blob 8bcdeaf2 either way.
  • f95130bb is the reviewed revision: the commit #985 was merged as.
  • Its only failing checks are SonarCloud Code Analysis and the mirror trio
    (mirror-gitea, mirror-disroot, mirror-codeberg) — all four are listed in
    standards' own config/rulesets/gates.json under never_required_workflows.
    Nothing ci-pipeline-related is red there.

ci-pipeline.yml pins its own sub-reusables fully-qualified at 571cc734 rather than
./, so this pin selects only which ci-pipeline.yml is read — not its dependencies.

Verification

  • Pre-flight refused to edit unless the exact pre-fix SHA and the expected
    provenance-comment shape were both present.
  • Post-flight asserted exactly 2/2 changed lines, no residue of 2eb9bb19 or
    d2583657, and the new SHA present.
  • Commit is SSH-signed (%G? = G).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ji1bq3TypfycfUPAR7hSxR

This caller was pinned to 2eb9bb19, which predates hyperpolymath/standards#985.
That commit fixed the ci-pipeline detect gate; every caller still on 2eb9bb19
runs the pre-fix gate and goes red on its next pull_request.

Re-pins to f95130bb (the #985 squash merge) and updates the provenance comment
to the matching blob 8bcdeaf2. Both lines move together: a SHA bump that leaves
a stale blob comment behind is a phantom pin, unverifiable against the tree it
claims to name.

f95130bb was chosen over current main (d1bd7f42) deliberately: ci-pipeline.yml
is byte-identical at both (blob 8bcdeaf2), f95130bb is the reviewed revision,
and its only red checks are SonarCloud and the mirror trio -- all four listed
in standards' own config/rulesets/gates.json never_required_workflows.

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

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

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: 86b445d5-9a12-4716-aa66-f6e0b8cc76a1

📥 Commits

Reviewing files that changed from the base of the PR and between bde8614 and be2b085.

📒 Files selected for processing (1)
  • .github/workflows/standards-pipeline.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. (23)
  • GitHub Check: pipeline / Secret scanning / shell-secrets
  • GitHub Check: pipeline / Secret scanning / rust-secrets
  • GitHub Check: pipeline / Secret scanning / gitleaks
  • GitHub Check: hypatia / Hypatia Neurosymbolic Analysis
  • GitHub Check: pipeline / SAST (semgrep)
  • GitHub Check: governance / Trusted-base reduction policy
  • GitHub Check: pipeline / Detect ecosystems
  • GitHub Check: governance / Licence consistency
  • GitHub Check: governance / Language / package anti-pattern policy
  • GitHub Check: governance / Well-Known (RFC 9116 + RSR)
  • GitHub Check: governance / Guix primary / Nix fallback policy
  • GitHub Check: governance / Security policy checks
  • GitHub Check: governance / Check Workflow Staleness
  • GitHub Check: governance / Code quality + docs
  • GitHub Check: governance / Workflow security linter
  • GitHub Check: scan / gitleaks
  • GitHub Check: spark-theatre-gate / SPARK Theatre Gate
  • GitHub Check: scan / shell-secrets
  • GitHub Check: scan / rust-secrets
  • GitHub Check: build
  • GitHub Check: lint-workflows
  • GitHub Check: analyze (actions, none)
  • GitHub Check: lint-workflows
🔇 Additional comments (1)
.github/workflows/standards-pipeline.yml (1)

36-36: LGTM!

Also applies to: 42-42


📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated the standards pipeline to use a newer, immutable workflow revision.
    • Updated the associated reference information for the revised workflow.
    • This keeps automated standards checks aligned with the selected workflow version and improves the reliability of future pipeline runs.

Walkthrough

The standards pipeline now invokes the shared CI workflow at commit ed5e3f651305dd1ce0d0b5d2d08b97a963634632. The accompanying comment references commit ed5e3f65 and blob ea87c43a.

Changes

Standards workflow update

Layer / File(s) Summary
Update standards workflow pin
.github/workflows/standards-pipeline.yml
The pipeline job uses the new immutable commit. The comment now references commit ed5e3f65 and blob ea87c43a.

Priority: ⬇️ Low

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

Change: Bug fix

Merge Risk: ⚪ Minimal · up to be2b0

The pin update is ready to merge with no identified correctness or availability risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
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.
Title check ✅ Passed The title clearly identifies the workflow pin update and names the target standards revision. It matches the main change.
Description check ✅ Passed The description explains the workflow pin update, provenance comment, rationale, and verification. It is relevant, but it refers to the superseded SHA f95130bb rather than the final SHA ed5e3f65 shown…

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 pipeline line
A newer pin now holds it fine
The commit stays fixed and clear
The workflow follows without fear
The comment matches what is near

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

@hyperpolymath

Copy link
Copy Markdown
Owner Author

⛔ Do not merge — superseded by hyperpolymath/standards#989

Converted to draft to keep it out of the merge queue. This is reversible:
gh pr ready <N> restores it.

This PR re-pins ci-pipeline.yml to f95130bb, which predates #989 and carries
both defects #989 cures
. Measured, not assumed:

$ gh api repos/hyperpolymath/standards/contents/.github/workflows/ci-pipeline.yml \
    ?ref=f95130bbcbc8917bfec8f8875fa810ad93b08871 --jq .content | base64 -d \
  | grep -nE '^\s+ref:|exit 1|refused'
949:          ref: a2ff696a      # unfetchable abbreviated SHA — the ledger checkout fails
270:              exit 1         # detect's own hard refusal — two judges, not one
(refused: 0 occurrences — no `refused` output at this SHA)

Merging this would move the caller from a stale-but-latent 2eb9bb19 pin to a callee
where the exemption ledger fetch fails, is swallowed by continue-on-error, is
treated as empty, and then fails closed — while detect exits 1 regardless. The
refusing pilots go red again, for no gain, in either merge order.

Correct sequence: merge #989 first, then retarget this PR to #989's squash SHA
(tracked as the re-pin wave, one caller first so the squash SHA is exercised before
the other four follow).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ji1bq3TypfycfUPAR7hSxR

@hyperpolymath
hyperpolymath marked this pull request as draft September 22, 2026 18:39
@hyperpolymath
hyperpolymath marked this pull request as ready for review September 22, 2026 18:51
@coderabbitai

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown

Coding Agent task started: View task and status

The task will inspect the CI failures, validate its fix, and commit the fix to this branch automatically.

Note: Fixing CI failures is a beta feature and may encounter errors. Expect some limitations and changes as we gather feedback and continue to improve it.

f95130bb predated hyperpolymath/standards#989 and carried both defects that PR
cures: the exemption-ledger checkout read `ref: a2ff696a` (an abbreviated SHA,
which `git fetch` cannot resolve) and `detect` did its own `exit 1`, so a
ledgered repository went red regardless of its exemption.

Re-pins to ed5e3f65 - the squash merge of #989 on standards' main - where the
ledger is read at `${{ job.workflow_sha }}` and `report` is the single judge.

Proven on the pilot before this wave: AcceleratorGate.jl#40, dispatch run
35770740241, printed `ledger read at
'ed5e3f651305dd1ce0d0b5d2d08b97a963634632'` - the callee's own commit, 40 hex,
non-empty - and the run was green while correctly refusing.

The provenance comment moves with the pin: a stale comment is a phantom pin.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ji1bq3TypfycfUPAR7hSxR
@hyperpolymath hyperpolymath changed the title ci(pipeline): re-pin ci-pipeline.yml to standards f95130bb ci(pipeline): re-pin ci-pipeline.yml to standards#989 squash SHA ed5e3f65 Sep 22, 2026
@hyperpolymath
hyperpolymath merged commit 184cb06 into main Sep 22, 2026
34 of 35 checks passed
@hyperpolymath
hyperpolymath deleted the secqual/repin-ci-pipeline-f95130bb branch September 22, 2026 19:20
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