Repository navigation
fix(edges): fetch reusable sources over https only, redirects included - #25
Conversation
Port of the rsr-template-repo#290 commit 8ffc72a, which merged there after this repository's port (#20) had already merged without it. SonarCloud flagged the curl in reusable_source (C security rating on new code, #20): -L follows redirects to any protocol, so a redirect could downgrade the fetch to plain http. Pin both the request and its redirects to https with --proto and --proto-redir. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BYbQRtNu216R13jtZLmoqs
|
Warning Review limit reachedYou'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 43 minutes. View limit details
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. |
|
🟠 indeterminate · commit Advisory: 11 row(s), worst 🔴 high (0 critical, 9 high) — reported, never grading the change.
Hypatia scan: error — the scanner produced no findings array
panic-attack assail: 14 finding(s)
pons asinorum: 9 finding(s)
finishingbot (release readiness): 173 finding(s)
glambot (presentation quality): 93 finding(s)
rhodibot (RSR compliance): 13 finding(s)
accessibilitybot: not_applicable — template default: enrol once the repository serves HTML
cipherbot: not_applicable — template default: enrol once the repository implements cryptography
echidnabot: not_applicable — template default: enrol once the repository carries proofs and an ECHIDNA engine is configured
panicbot: not_applicable — panic-attack is already graded by the verdict grid's own panic-attack row, from static-analysis-gate.yml evidence; enrolling panicbot would report one scanner twice and give two rows that can disagree
seambot: not_applicable — template default: enrol once a seam register exists at spec/seams/seam-register.json
sustainabot: not_applicable — reserved fleet slot; no adapter exists (gitbot-fleet bots/sustainabot/README.adoc)
Scope: static findings reported by each row's tool at the named commit. The table grades only findings in files this change touches, so the colour answers "does this change introduce anything?", not "what does the whole repository still carry?". Standing findings are counted in each accordion and in report.json; the baseline filter remains the place where acknowledged debt is recorded. The lane state is the worst GATING row; advisory rows are listed and counted but never set it. Purple, red, yellow and blue grade the worst GRADED finding present; orange is evidence missing, malformed or a scanner that did not run; grey is an explicit scope exclusion with its reason. No row is a security certification. report.json, badge.json and the raw findings are in the verdict-grid artifact on the linked run. |
|
Canon lockstep is red on this PR, and the failure isn't this PR's. It fails identically on The cause is the canon itself. On 2026-11-07, metadatastician/standards' There is no fix to port. SonarCloud's quality gate now passes on this head. That clears the C security rating that #20 merged with. Generated by Claude Code |
|
estate-rules is red on this PR, and the failure isn't this PR's. It fails the same way on The failing step is There is no small fix to port. rsr-template-repo fixed this over a series of PRs: #275 (the mint records its answers), #291, #293 (mint and replay regressions) and #294 (the regression control stays valid in an instantiated descendant). #294 was also backported to one descendant. Those changes touch Generated by Claude Code |
…o Canon lockstep goes green here) Canon lockstep is red on main. standards' canon.lock records 2.1.5 (#1424: gate table 0.3.1 and the applicability policy changed; the criteria did not), and this deed declared 2.1.3. Port of hyperpolymath/rsr-template-repo#298, the spine's adoption. - secret-types_chora.deed (canon): :version 2.1.3 to 2.1.5, and :gates-sha256 2f31f46d… to 5c510bba…. The criteria hash is unchanged. The (provenance) clause keeps 2.1.3: it records the canon this repository was minted against, which is history. - tests/workflows/governance_policy_test.sh expects the 2.1.5 tuple. That test already fails on main earlier, on the governance.yml pull_request filter that #15's caller carries; this does not change that. canon.lock marks 2.1.5 status "draft"; this adopts the identity the lock records, which is what the lockstep gate compares. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BYbQRtNu216R13jtZLmoqs
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
#27) ## Summary Canon lockstep is red on `main`. standards' `canon.lock` now records canon 2.1.5 (metadatastician/standards#1424): the gate table moved to 0.3.1 and the applicability policy changed, but the criteria did not. This deed still declares 2.1.3. This ports hyperpolymath/rsr-template-repo#298, the template's adoption. I've also ported the same commit into #25 and #26 so Canon lockstep goes green there; the port becomes a no-op once this PR merges. ## Changes - **`secret-types_chora.deed` `(canon …)`**: `:version` goes from 2.1.3 to 2.1.5, and `:gates-sha256` from `2f31f46d…` to `5c510bba…`. The criteria hash is unchanged. - **The `(provenance)` clause keeps 2.1.3.** It records the canon this repository was minted against, which is history. - **`tests/workflows/governance_policy_test.sh`** now expects the 2.1.5 tuple. ## RSR Quality Checklist ### Required - [x] Linter is clean: the DEED lint passes against standards@8e48b1c. - [x] No banned language patterns - [x] No secrets, credentials, or `.env` files included - [ ] Tests pass: `governance_policy_test.sh` already fails on `main`, before it reaches the canon assertion. Its first check rejects `governance.yml`'s `pull_request: branches: [main, master]` filter, which came in with #15's canonical caller. This PR doesn't change that; `deed-field.sh` returns the 2.1.5 tuple. ## Testing `deed-field.sh` returns version 2.1.5, criteria `6a5aa885…` and gates `5c510bba…`, the same values `canon.lock` has on standards `main`. `canon.lock` still marks 2.1.5 as `status = "draft"`. This PR adopts the identity the lock records, which is what the lockstep gate compares. --- _Generated by [Claude Code](https://claude.ai/code/session_01BYbQRtNu216R13jtZLmoqs)_ Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
|
My earlier merge (ba2484f) took #32's head before #32 was updated (3bf7f8e), because the local ref was stale. So this branch lacked main's later changes (the template sync #28, canon 2.1.5 #27, https-only edges #25) and kept some #26-only text. This merge corrects that. Each conflicted file is a 3-way merge on 3bf7f8e (the #32 commit the earlier merge used), so only this PR's legs changes are carried onto main. Files the legs work does not own take main's version: tests/workflows/governance_policy_test.sh, and docs/proof-debt.adoc except its legs bullet (this restores #32's dated W-1 record). The receipt is regenerated. The diff against main is now the legs work: the Rocq and Lean sources, check-legs.sh, the legs CI job, the receipt's (legs) block and RECONCILED leg states (PWG-2ii derived), and the matching doc lines. Checked with Agda 2.6.4.3, Coq 8.18.0 and Lean 4.24.0: check.sh, minimal-laws.sh, check-legs.sh, grade-receipt.sh --check (15 modules), check-escape-hatches.sh, the invisible-character scan and tests/workflows/governance_policy_test.sh. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0136P7ZmAsYpFA9gxfQLF3F6 Signed-off-by: Claude <noreply@anthropic.com>



Summary
This ports commit 8ffc72a from hyperpolymath/rsr-template-repo#290. That commit landed in the template after this repository's port, #20, had already merged without it. It clears the SonarCloud failure "C Security Rating on New Code" that #20 merged with.
reusable_sourceinscripts/check-workflow-edges.shfetches a called workflow withcurl -fsSL. Because of-L, curl follows redirects to any protocol, so a redirect could downgrade the fetch to plain http. That is the SonarCloud annotation on line 150 ("Not enforcing HTTPS here might allow for redirections to insecure websites").Changes
scripts/check-workflow-edges.sh: line 150 now passes--proto =https --proto-redir =httpsto curl, so both the request and any redirect must stay on https.RSR Quality Checklist
Required
bash tests/workflows/workflow_edges_test.shpasses 46 checks, andbash scripts/check-workflow-edges.shpasses on this tree.unsafeblocks without// SAFETY:comments.envfiles includedAs Applicable
Nothing here applies: this is a one-flag change to a check script.
Testing
Known reds on
main, not this PR'smain(eee4e40) is red on three checks this PR does not touch:canon.lockmoved to draft 2.1.5 on 2026-11-07, with a new gates hash. The deed declares 2.1.3. The template's main is red on the same check. The spine adopts first, per[canon].order.just repo-initon a Use-this-template child reports one unfilled token.Generated by Claude Code