Skip to content

Wave 10: CI jobs a diff fires, repo-settings audit - #2155

Merged
remigiusz-antczak merged 1 commit into
mainfrom
land/wave-1030w10
Oct 30, 2026
Merged

remigiusz-antczak merged 1 commit into
mainfrom
land/wave-1030w10

Conversation

@remigiusz-antczak

Copy link
Copy Markdown
Collaborator

Wave 10: four lane commits squashed into one. The commit message has the detail per item.

What changes

  1. CI jobs a diff fires (refs Delivery-pipeline optimizer: map, deduplicate, then tune and re-measure #1559): ci_cost_advisor.py ROOT --diff BASE lists the pull_request jobs a diff triggers, with their run: lines, so a fix lane runs them locally or names them left to CI. An unreadable workflow is listed as UNPARSED, never dropped.
  2. **/ path filters: **/Dockerfile now matches a root Dockerfile, as GitHub specifies.
  3. Repository-settings audit: repo_settings_audit.py reads settings a diff review cannot see (branch protection and rulesets, the Actions token default, deploy keys, webhooks, environments, secret scanning). Anything it cannot read in full is not checked, never clean. Output is counts and booleans only.
  4. Test hygiene: advisor tests no longer leave a temp dir behind.

Verification

  • Head 5a0e5e59b: all 20 affected suites pass, run one at a time; test_skill_index_split.py re-run 7/7 after its 300-byte budget bump for the new index row. test-ci-gates.sh is left to CI.
  • Cheap gates pass on the tip before that bump; privacy re-run on the bumped test and identity gate on 5a0e5e59b: pass.
  • Live read-only repo_settings_audit.py run: counts and booleans only.

🤖 Generated with Claude Code

Delivery (refs #1559):
- ci_cost_advisor.py ROOT --diff BASE lists every pull_request workflow job
  the committed diff BASE...HEAD fires, with its run: lines, so a fix lane
  knows which CI jobs to run locally (or name "left to CI") before it pushes
  to a repo it does not own. It applies the cost model's types, branches,
  paths and paths-ignore rules; branches filters are matched against the
  branch BASE names, never against --default-branch, and a sha or tag BASE
  lists each branch-gated job tagged "(branches: unchecked)" instead of
  dropping it. A workflow the parser cannot read but that names pull_request
  is listed as UNPARSED, and one line names the workflows that start only on
  push, merge_group or workflow_run. Jobs that build images or start
  containers (including services: and container:) are tagged [runtime].
  Read-only and offline.
- A segment-leading **/ in a paths filter now also matches no directory, as
  GitHub's filter cheat sheet specifies, so **/Dockerfile matches a root
  Dockerfile. The fix is in the glob matcher shared with the cost model.
- scripts/test_ci_cost_advisor.py no longer leaves a temp dir behind on every
  run; NoTempLeak re-runs the file in a child with a private TMPDIR.

Security (repository settings):
- agentic-delivery/scripts/repo_settings_audit.py: a read-only audit of the
  GitHub settings a diff review cannot see (default-branch protection and
  rulesets together, the Actions token default, review approval and allowed
  actions, collaborator counts, write deploy keys, insecure webhooks,
  unprotected environments, secret scanning and push protection). A 403 or
  404, a reply missing a field the check reads, an unreadable list item and a
  list of 1000 or more are "not checked" rows, never clean; a 404 "Branch not
  protected" is a finding only when the reply shows admin for the token.
  Counts and booleans only: no login, email, key title, hook URL or API
  message text is printed. Routed from agentic-delivery/SKILL.md and
  references/tool-hub.md (legitify and OpenSSF Scorecard named as the OSS
  options); sources and fetch dates in docs/standards-index.md.
- scripts/test_skill_index_split.py: the script-lookup budget grows by 300
  bytes for the new index row (measured 22162).

size-budget-raise: .claude/skills/deep-code-review/references/parallel-audit.md 39795→40669 one routed bullet: run the CI jobs a fix diff fires, or name them left to CI
size-budget-raise: .claude/skills/agentic-delivery/SKILL.md 7202→7457 one route row for repo_settings_audit.py
size-budget-raise: .claude/skills/deep-code-review/references/tool-hub.md 14455→15368 one Repo settings section holding the repo_settings_audit.py row and its OSS options

Tests: 20/20 affected suites pass, run one at a time (19 on the tip before the budget bump, then test_skill_index_split 7/7 after it; repo_settings_audit 55/55, ci_cost_advisor 80 with 1 skip); test-ci-gates.sh left to CI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@remigiusz-antczak
remigiusz-antczak merged commit 183bbb4 into main Oct 30, 2026
10 checks passed
@remigiusz-antczak
remigiusz-antczak deleted the land/wave-1030w10 branch October 30, 2026 17:19
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.

1 participant