Skip to content

Commit 68c1bbb

Browse files
Merge branch 'main' into security/remediate-critical-injection
2 parents b38dda4 + 02f17de commit 68c1bbb

214 files changed

Lines changed: 87332 additions & 1624 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 0 additions & 44 deletions
This file was deleted.

.gitattributes

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,4 @@ Containerfile text eol=lf
4343
*.gz binary
4444
# Lock files
4545
Cargo.lock text eol=lf -diff
46-
flake.lock text eol=lf -diff
4746
shared-context/learning/*.jsonl filter=lfs diff=lfs merge=lfs -text

.github/workflows/boj-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
timeout-minutes: 10
1111
steps:
1212
- name: Checkout
13-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
13+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
1414
- name: Trigger BoJ Server (Casket/ssg-mcp)
1515
run: |
1616
# Send a secure trigger to boj-server to build this repository

.github/workflows/casket-pages.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ jobs:
2121
timeout-minutes: 30
2222
steps:
2323
- name: Checkout
24-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
24+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4
2525

2626
- name: Checkout casket-ssg
27-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
27+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4
2828
with:
2929
repository: hyperpolymath/casket-ssg
3030
path: .casket-ssg

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ jobs:
4141

4242
steps:
4343
- name: Checkout
44-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
44+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
4545

4646
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@87557b9c84dde89fdd9b10e88954ac2f4248e463 # v3
47+
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v3
4848
with:
4949
languages: ${{ matrix.language }}
5050
build-mode: ${{ matrix.build-mode }}
5151

5252
- name: Perform CodeQL Analysis
53-
uses: github/codeql-action/analyze@87557b9c84dde89fdd9b10e88954ac2f4248e463 # v3
53+
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v3
5454
with:
5555
category: "/language:${{ matrix.language }}"

.github/workflows/dogfood-gate.yml

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,16 @@ jobs:
2626

2727
steps:
2828
- name: Checkout repository
29-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
29+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
3030

3131
- name: Check for A2ML files
3232
id: detect
3333
run: |
34-
COUNT=$(find . -name '*.a2ml' -not -path './.git/*' | wc -l)
34+
# audits/assail-classifications.a2ml is panic-attack's user-classification
35+
# registry — an S-expression dialect by that tool's spec (see panic-attack
36+
# CLAUDE.md), not the TOML-like manifest A2ML this gate validates. Exclude
37+
# it rather than feeding it to a validator for a different dialect.
38+
COUNT=$(find . -name '*.a2ml' -not -path './.git/*' -not -name 'assail-classifications.a2ml' | wc -l)
3539
echo "count=$COUNT" >> "$GITHUB_OUTPUT"
3640
if [ "$COUNT" -eq 0 ]; then
3741
echo "::warning::No .a2ml manifest files found. Every RSR repo should have 0-AI-MANIFEST.a2ml"
@@ -43,6 +47,19 @@ jobs:
4347
with:
4448
path: '.'
4549
strict: 'false'
50+
# Re-state the action's default carve-outs (a custom value REPLACES
51+
# the default list), plus panic-attack's user-classification
52+
# registry: that file is an S-expression dialect by panic-attack's
53+
# spec, not the TOML-like manifest A2ML this action validates.
54+
paths-ignore: |
55+
vendor/
56+
vendored/
57+
verified-container-spec/
58+
.audittraining/
59+
integration/fixtures/
60+
test/fixtures/
61+
tests/fixtures/
62+
assail-classifications.a2ml
4663
4764
- name: Write summary
4865
run: |
@@ -71,7 +88,7 @@ jobs:
7188

7289
steps:
7390
- name: Checkout repository
74-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
91+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
7592

7693
- name: Check for K9 files
7794
id: detect
@@ -121,7 +138,7 @@ jobs:
121138

122139
steps:
123140
- name: Checkout repository
124-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
141+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
125142

126143
- name: Scan for invisible characters
127144
id: lint
@@ -186,7 +203,7 @@ jobs:
186203

187204
steps:
188205
- name: Checkout repository
189-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
206+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
190207

191208
- name: Check for Groove manifest
192209
id: groove
@@ -247,7 +264,7 @@ jobs:
247264

248265
steps:
249266
- name: Checkout repository
250-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
267+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
251268

252269
- name: Generate dogfooding scorecard
253270
run: |

.github/workflows/e2e.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
timeout-minutes: 30
1515
steps:
16-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
16+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
1717
- name: Install PyYAML (for workflow YAML validation)
1818
run: pip install pyyaml --quiet
1919
- name: Run E2E tests

.github/workflows/hypatia-dispatch-intake.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
timeout-minutes: 10
2020
steps:
2121
- name: Checkout gitbot-fleet
22-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
22+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4
2323
with:
2424
fetch-depth: 0
2525

.github/workflows/inbox-steward.yml

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ on:
4242
required: false
4343
default: 'false'
4444
type: boolean
45-
# Scheduled sweep
46-
schedule:
47-
# Every 15 minutes
48-
- cron: '*/15 * * * *'
45+
# NEUTERED 2026-06-16 (owner directive: never auto-merge security/dep PRs).
46+
# The */15 autonomous sweep cron was removed so this workflow no longer runs
47+
# unattended. It still runs on PR/review/check events and workflow_dispatch for
48+
# MONITORING; the auto-merge job itself is gated OFF by default (see below).
4949

5050
permissions:
5151
contents: write
@@ -219,10 +219,13 @@ jobs:
219219
"repos/${{ github.repository }}/pulls/$PR_NUM/reviews" \
220220
--jq '[.[] | select(.state == "APPROVED")] | length')
221221
222-
# Check 6: Author is trusted or has approval
222+
# Check 6: Approval is REQUIRED.
223223
AUTHOR=$(echo "$PR" | jq -r '.user.login')
224-
TRUSTED_AUTHORS="hyperpolymath|dependabot|renovate"
225-
IS_TRUSTED=$(echo "$AUTHOR" | grep -E "$TRUSTED_AUTHORS" && echo "true" || echo "false")
224+
# NEUTERED 2026-06-16 (owner directive: never auto-merge without human
225+
# review). The trusted-author approval-bypass (hyperpolymath|dependabot|
226+
# renovate merging with ZERO approvals) is removed: no author bypasses
227+
# the approval requirement.
228+
IS_TRUSTED="false"
226229
227230
# Validate
228231
ALL_CHECKS_PASSED="true"
@@ -280,11 +283,15 @@ jobs:
280283
runs-on: ubuntu-latest
281284
timeout-minutes: 10
282285
needs: validate-prs
283-
if: needs.validate-prs.outputs.auto_merge_candidates != '[]' && inputs.dry_run != 'true'
286+
# NEUTERED 2026-06-16 (owner directive: security/dep PRs are manual-review only).
287+
# Auto-merge is gated behind an explicit, default-OFF opt-in. Until the repo
288+
# variable INBOX_STEWARD_AUTOMERGE is set to 'true', this job NEVER runs and
289+
# nothing is auto-merged. Re-enable deliberately, and only with human-gated review.
290+
if: vars.INBOX_STEWARD_AUTOMERGE == 'true' && needs.validate-prs.outputs.auto_merge_candidates != '[]' && inputs.dry_run != 'true'
284291

285292
steps:
286293
- name: Checkout gitbot-fleet
287-
uses: actions/checkout@v6
294+
uses: actions/checkout@v7
288295
with:
289296
fetch-depth: 0
290297

@@ -373,7 +380,7 @@ jobs:
373380

374381
steps:
375382
- name: Checkout gitbot-fleet
376-
uses: actions/checkout@v6
383+
uses: actions/checkout@v7
377384

378385
- name: Send dispatch to Hypatia
379386
env:

.github/workflows/learning-loop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222

2323
steps:
2424
- name: Checkout gitbot-fleet
25-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
25+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4
2626
with:
2727
lfs: true # shared-context/learning/*.jsonl is LFS-tracked (Item 60)
2828

0 commit comments

Comments
 (0)