Repository navigation
feat(runner-policy): add ci-workflows v0.42.0 intake contracts - #783
Conversation
Register intake-triage.yml and intake-label-needs-triage.yml at the v0.42.0 tag 182aca3ad32b79fd002def94e58eb498ac49e7af. Each equals its v0.39.8 entry plus the one input ci-workflows#741 added: floor-label on intake-triage, human-label on intake-label-needs-triage. Secrets, workflow and job permissions, and runs-on routing are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj
Codex Review SummaryThis 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. |
|
Claude finished @kyle-sexton's task in 1m 50s —— View job Security review — no findings
Scope: This PR only registers two new Checked against the v0.39.8 entries already in the file (policy.json#L22-L39, policy.json#L172-L180) against the new v0.42.0 entries (policy.json#L40-L58, policy.json#L181-L189):
No permission widening, secret exposure, or ref-pinning weakening — GitHub Actions hardening concerns of that kind are zizmor's lane regardless. No logic/trust-boundary issue specific to this diff. 0 findings. claude-lane-summary: lane=claude-security-review sha=0084a2545806ea43dfa975d83c78a3838969f22b run=38314261563 |
|
Claude finished @kyle-sexton's task in 2m 43s —— View job Claude's code review
Scope checked: the three changed files — Verified directly (not just author-claimed):
Finding (posted inline on No other correctness, architecture, or maintainability issues found in the diff. claude-lane-summary: lane=claude-review sha=0084a2545806ea43dfa975d83c78a3838969f22b run=38314261574 |
|
claude-security-review has reviewed this pull request through 909896d; a later push is reviewed from there. |
|
claude-review has reviewed this pull request through 909896d; a later push is reviewed from there. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj
|
Claude finished @kyle-sexton's task in 33s —— View job Claude's code review
Scope: incremental diff only — Change: the v0.42.0 registration paragraph now ends with "Signed off by hand on 2026-10-12." This is exactly the fix for this lane's prior finding (missing hand-sign-off attestation on a secret-capable contract entry). The wording matches the established convention used by the other paragraphs in this section (e.g. "...were signed off by hand on 2026-10-05.", "...were signed off by hand on 2026-10-09." at README.md#L1100, #L1152), and the date matches the commit date of No new findings. claude-lane-summary: lane=claude-review sha=909896d56aff63c9c574c9fb1a4a834fd755e292 run=38314924939 |
No related issue: runner-policy contract for ci-workflows v0.42.0 (ci-workflows#741)
Summary
Lets callers pin the intake lanes at ci-workflows v0.42.0, where the triage lane sets the Issue Type and clears the
needs-triagefloor (melodic-software/ci-workflows#741).Fix
components/runner-policy/policy.jsongains two contracts at182aca3ad32b79fd002def94e58eb498ac49e7af(v0.42.0), each its v0.39.8 entry plus the one new input:intake-triage.ymlfloor-label(needs-triage)CLAUDE_CODE_OAUTH_TOKEN, unchangedcontents: read,issues: write, unchangedintake-label-needs-triage.ymlhuman-label(needs-human)issues: write, unchangedclaude-argsexists onintake-triage.ymlat both tags but stays out ofallowedInputs, matching the v0.39.8 entry. The README gains a rollout note, andrunner-policy.test.mjsasserts each v0.42.0 entry is its v0.39.8 entry plus that input and that exactly two v0.42.0 keys exist.fixtures/historical-contracts.jsonis unchanged: it holds retired contracts only.Verification
on.workflow_call(inputs, secrets), workflowpermissionsand jobpermissionsof both files at594987a(v0.39.8) and182aca3(v0.42.0): only the two inputs differ. The new steps use the job's existinggithub.token; nouses:, secret or permission is added.npm run test:runner-policy: 301/301 pass.npm run lint:runner-policy: "Runner policy passed."Related
🤖 Generated with Claude Code
https://claude.ai/code/session_01W6SjPvY7DmXBGzboeCq8nj