Skip to content

ci(hypatia): re-sync the scan to the template — token, Dependabot scope, 7c10e5d (Hypatia findings, part 2) - #356

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/kind-clarke-aqpe7a
Oct 27, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
claude/kind-clarke-aqpe7a

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Part 2 of fixing the Hypatia findings on echo-types. Part 1 (#354) took the template's hypatia-scan.yml as it stood then. That version silently dropped every API-backed rule, because it passed the scanner no token. The fix went into the template first (hyperpolymath/rsr-template-repo#258 and #261). This PR takes the merged result, byte-identical.

Change Why
The scan step gets GITHUB_TOKEN: ${{ github.token }}, scoped to that step Hypatia's code-scanning, Dependabot, branch-protection and baseline-health rules return [] without a token. It is github.token, not secrets.*, so RE001 stays clear.
vulnerability-alerts: read on the job Lets the Dependabot (DA) rules read alerts. security-events: write covers only code scanning.
HYPATIA_SHA d73f76b → 7c10e5d This scanner accepts LICENSE.adoc and REUSE LICENSES/ (hyperpolymath/hypatia#963). It no longer demands 0-AI-MANIFEST.a2ml (hyperpolymath/hypatia#960).
Cache key …-${{ env.HYPATIA_SHA }} A pin bump now rebuilds the scanner. Before, it reused the old build under a hard-coded key.
upload-sarif moves to codeql-action v4.39.1 (9b32540) Matches the template.

actions.lock is updated to match. hypatia-scan.yml now lists codeql-action at 9b32540, and that pin has its dependency entry. The v4.38.0 entry stays, because the metadatastician/standards reusable workflows still pin it.

What this does not cover

  • Secret-scanning alerts. No GITHUB_TOKEN permission can read them, so the per-repo scan never sees them. The workflow comment says so. They will come from a separate, private estate-wide sweep with a dedicated read-only token, not from this repository.
  • The finding count will go up. The API-backed rules are scanning again, so expect findings that were unscanned under ci: re-sync three workflows to the rsr-template-repo canon (Hypatia findings, part 1) #354, not new problems.

Verification


Generated by Claude Code

…pe, 7c10e5d (Hypatia findings, part 2)

Takes rsr-template-repo's hypatia-scan.yml as merged in #258 and #261,
byte-identical:

- The scan step gets GITHUB_TOKEN (github.token, scoped to that step), so
  Hypatia's API-backed rules run again instead of returning [] silently.
- The job gains vulnerability-alerts: read for the Dependabot rules.
- The scanner pin moves from d73f76b to 7c10e5d. That version accepts
  LICENSE.adoc and REUSE LICENSES/ (hypatia#963) and no longer requires
  0-AI-MANIFEST.a2ml (hypatia#960).
- The cache key follows HYPATIA_SHA, so a pin bump rebuilds the scanner.
- upload-sarif moves to codeql-action v4.39.1, as the template pins it.

actions.lock is updated to match: hypatia-scan.yml now pins codeql-action
at 9b32540 (v4.39.1), and that pin gets its dependency entry. The v4.38.0
entry stays because the standards reusable workflows still use it.

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

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: d5fda37e-9554-418c-8757-30ca77cde618
Commits

Reviewing files that changed from the base of the PR and between 71d6dd6 and 9e09346.

Files ignored due to path filters: 1
  • .github/workflows/actions.lock is excluded by !**/*.lock
Files selected for processing: 1
  • .github/workflows/hypatia-scan.yml

Included review availability: This review used your included allowance. 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: cold-check
  • GitHub Check: check
  • GitHub Check: Hypatia Neurosymbolic Analysis
  • GitHub Check: analyze (actions, none)
  • GitHub Check: semgrep-cloud-platform/scan
Additional comments: 4
.github/workflows/hypatia-scan.yml: 4

33-33: LGTM!

Also applies to: 35-35

57-57: LGTM!

80-86: LGTM!

106-106: LGTM!

📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated the security scanning workflow and its report-upload component.
    • The scan can now access code-scanning and dependency alerts; access to secret-scanning alerts remains unchanged.

The Hypatia scan workflow adds Dependabot alert read permission and passes github.token to the scan step. It updates the pinned Hypatia commit, its cache key, and the SARIF upload action version.

Changes: Hypatia scan workflow

Layer / File(s) Summary
Scan permissions and pinned versions
.github/workflows/hypatia-scan.yml
The workflow grants read access to Dependabot vulnerability alerts and passes github.token to the scan step. It updates the Hypatia commit and cache key, and changes the SARIF upload action pin from v4.38.0 to v4.39.1.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Possibly related issues

Possibly related PRs

  • hyperpolymath/echo-types#354: Both PRs update .github/workflows/hypatia-scan.yml as part of synchronising the Hypatia workflow with its template.
Merge Risk: Minimal · up to 9e093

The workflow permissions and action pins are consistent, with no concrete merge-blocking risk identified.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly identifies the CI workflow, the Hypatia scan, and the main synchronisation changes. It is specific and related to the pull request.
Description check Passed The description directly explains the Hypatia workflow updates, token permissions, pin changes, cache behaviour, lock-file update, scope limits, and verification.
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.
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@linear-code
linear-code Bot marked this pull request as ready for review October 27, 2026 02:31
@coderabbitai

coderabbitai Bot commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Add Carrot credits or activate Agent usage billing to use Autofix

@hyperpolymath
hyperpolymath merged commit 1939e7e into main Oct 27, 2026
9 checks passed
@hyperpolymath
hyperpolymath deleted the claude/kind-clarke-aqpe7a branch October 27, 2026 02:47
hyperpolymath added a commit to hyperpolymath/rsr-template-repo that referenced this pull request Oct 27, 2026
#262)

## Summary

This moves the template's pinned Hypatia commit from `7c10e5d` (#261) to
`be98f74`, the merge commit of hyperpolymath/hypatia#970. It brings in
four scanner changes:

- **Secret-scanning alerts:** fetches follow pagination, time out after
30 s per request, and report an error instead of a truncated list.
- **SC-010 (local Scorecard licence check):** accepts `LICENSE.adoc` and
REUSE `LICENSES/`, so it agrees with root hygiene. Before, one scan
could report both "licence present" and "No LICENSE file found".
- **REUSE `LICENSES/`:** a file counts only if its name is an SPDX
identifier (vendored list, SPDX 3.29.0) or a `LicenseRef-` id. A stray
`LICENSES/notes.txt` no longer passes.
- **RE001:** now scoped to credentials exposed to code the job cannot
vouch for (hyperpolymath/hypatia#966).

## Changes

- `.github/workflows/hypatia-scan.yml`: `HYPATIA_SHA`. The cache key
follows it.
- `.github/workflows/static-analysis-gate.yml`: the escript cache key
and the fetch.
- `.github/workflows/dogfood-gate.yml`: the checkout `ref` and the
oracle cache key.

`7c10e5d` appeared nowhere else in the repository.

## RSR Quality Checklist

### Required

- [x] Tests pass: this PR's own `Hypatia Security Scan`,
`static-analysis-gate` and `dogfood-gate` runs exercise the new pin.
Those are the checks that matter here.
- [x] Code is formatted (pin values only; no structural change)
- [x] Linter is clean (all three workflows still parse)
- [x] No banned language patterns
- [x] No `unsafe` blocks without `// SAFETY:` comments
- [x] No banned functions
- [x] SPDX licence headers present (unchanged files)
- [x] No secrets, credentials, or `.env` files included

### As Applicable

None apply: this is a pin bump with no change to state, integrations,
architecture or dependencies.

## Testing

- Every `7c10e5d` occurrence is replaced (`grep` finds none left), and
the three workflows parse.
- The new scanner's REUSE and licence behaviour is unit-tested in
hyperpolymath/hypatia#970: 84 of 84 pass locally, and CI there was green
before merge.
- I could not run the full scan locally, because hex.pm is unreachable
from this environment. The scan runs on this PR are the end-to-end
check.

**Downstream:** repositories synced from the template, including
echo-types since hyperpolymath/echo-types#356, keep `7c10e5d` until they
re-sync.

---
_Generated by [Claude
Code](https://claude.ai/code/session_01P4yFkxW5Heb8p2YW7ZYs9F)_

Co-authored-by: Claude <noreply@anthropic.com>
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.

2 participants