Skip to content

deed: attest egress for the three secret-bearing workflows (standards ADR-009) - #259

Merged
hyperpolymath merged 4 commits into
mainfrom
claude/happy-sagan-mwnm7h
Oct 27, 2026
Merged

hyperpolymath merged 4 commits into
mainfrom
claude/happy-sagan-mwnm7h

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

This adds the (egress …) clause to rsr-template-repo_chora.deed, as decided in metadatastician/standards#1352 (ADR-009). It means the template's secret-bearing jobs satisfy Hypatia RE001 (hyperpolymath/hypatia#964) without step-security/harden-runner. No workflow changes.

Changes

  • An (egress …) clause, added through scripts/deed-clause.sh append, with one entry per job:
    • push-email-notify.yml / notify: the four SMTP secrets, endpoint secret:SMTP_HOST.
    • sonarqube.yml / sonarqube: SONAR_TOKEN, endpoints sonarcloud.io and *.sonarcloud.io.
    • build-notification.yml / trigger-boj: BOJ_SERVER_URL, endpoints secret:BOJ_SERVER_URL and var:BOJ_SERVER_URL. The workflow's documented secret fallback is kept and attested, not removed.
  • Every entry says :enforcement none, which is a true answer: the boundary is recorded, and nothing enforces it at run time yet.

RSR Quality Checklist

Required

  • Tests pass: deed_lint.js OK; deed_egress.js OK (3 egress jobs)
  • Code is formatted: written through the canonical deed writer
  • Linter is clean: check-no-a2ml and check-no-placeholders pass. check-root-shape fails identically on main (pre-existing).
  • No banned language patterns
  • No unsafe blocks without // SAFETY: comments (n/a)
  • No banned functions (n/a)
  • SPDX license headers present (no new files)
  • No secrets, credentials, or .env files included. Secret names only.

As Applicable

  • Repo deed updated: a new (egress …) clause
  • Repo deed (ecosystem) / (meta): unchanged
  • docs/status/ROADMAP.adoc: unchanged
  • Documentation: the clause carries its own rationale comment, and the spec lives in standards
  • CHANGELOG: none kept for deed edits here

Testing

With the hypatia change, RE001 run on this tree gives 3 findings on main and 0 on this branch.

Repos minted from the template inherit the entries. Existing repos are not affected by a workflow re-sync: each needs the entries added to its own deed. That sweep is listed as owed in ADR-009, and RE001's fix text gives the exact entry.

Screenshots

n/a


Generated by Claude Code

… ADR-009)

Adds the (egress …) clause to rsr-template-repo_chora.deed, through
scripts/deed-clause.sh append, for push-email-notify (notify), sonarqube
(sonarqube) and build-notification (trigger-boj). Each entry lists exactly the
secrets the job reads, the endpoints outside GitHub it reaches, and
:enforcement none. No workflow changes; harden-runner is not adopted.

Hypatia RE001 (with hyperpolymath/hypatia's matching change) accepts these
entries in place of step-security/harden-runner. On this tree it reports
3 RE001 findings at main and 0 with this clause. Every repo minted from the
template inherits the entries; existing repos need them added to their own
deed (the sweep owed in ADR-009).

Checks: deed_lint OK; deed_egress OK (3 egress jobs); check-no-a2ml and
check-no-placeholders pass. check-root-shape fails identically at main.

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

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 45 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 3f452fa and 9997306.

Files selected for processing: 1
  • rsr-template-repo_chora.deed
  • 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.

hyperpolymath commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner Author

Updated after #260 and #258 merged. This branch now includes both.

The root-shape, estate-audit and OpenSSF failures are fixed on main, and the merge brought those fixes into this branch.

One failure remains, and it doesn't come from this PR. The Hypatia Security Scan and the Static Analysis Gate report 1 critical finding: Required file missing. The template now ships LICENSE.adoc, but the Hypatia version this repo pins still checks for a plain LICENSE file. The same check is red on main at 3f452fa (run 40434075321).

The fix already exists: hyperpolymath/hypatia#963, followed by a HYPATIA_SHA bump here, as tracked in #258. I haven't ported that bump into this PR, because it depends on #963 merging first.

This PR changes only rsr-template-repo_chora.deed, by adding the (egress …) clause. That clause passes deed_lint and the egress profile check.


Generated by Claude Code

@hyperpolymath
hyperpolymath marked this pull request as ready for review October 27, 2026 01:32
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-27T01:48:25.788796Z 9997306 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e747e6cefd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rsr-template-repo_chora.deed Resolved
Codex review (P1): the sonarqube job's egress entry listed only the
SonarCloud hosts. Verified in SonarSource/sonarqube-scan-action at v8.3.0:
action.yml defaults scannerBinariesUrl to binaries.sonarsource.com, and
src/main/gpg-verification.js (signature verification is on by default)
imports the signing key from keyserver.ubuntu.com, falling back to
keys.openpgp.org. All three join :endpoints, and :reason says why.

The SMTP action fetches only its own release asset from github.com, which
the profile treats as the implicit GitHub platform, so its entry stays.
deed_lint and the egress profile pass; RE001 on this tree: 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4QvDithtn5Xk5MbSPm4Px
@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 enabled auto-merge (squash) October 27, 2026 01:40
@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit ad478ff into main Oct 27, 2026
46 of 48 checks passed
@hyperpolymath
hyperpolymath deleted the claude/happy-sagan-mwnm7h branch October 27, 2026 01:49
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