Skip to content

feat(operations): restack runner-assignment audit on deterministic toolchain - #94

Draft
seonghobae wants to merge 16 commits into
build/deterministic-npm-toolchain-on-mainfrom
feat/actions-runner-assignment-audit-on-toolchain
Draft

feat(operations): restack runner-assignment audit on deterministic toolchain#94
seonghobae wants to merge 16 commits into
build/deterministic-npm-toolchain-on-mainfrom
feat/actions-runner-assignment-audit-on-toolchain

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Purpose

Clean stacked successor for superseded Draft #88 on the deterministic package-manager predecessor #91. This Draft starts from exact #91 head ebde3720ee27292be0ce3315986e0438dd66af9f and preserves only the runner-assignment operational-evidence slice while retaining #91 package-manager/install-script/lockfile controls.

Fresh exact source boundary

#88 was closed only after this replacement preserved its whole 10-path workstream and produced fresh application/reviewer evidence. Old #88 checks/reviews do not transfer.

Implemented evidence / credential boundary

The audit is read-only and exact-head/run-ID bound. Fully paginated filter=all job evidence distinguishes runner assignment from workflow/test conclusion and from dependency/environment-protection waiting:

  • fresh isolated unassigned queue: non-passing PENDING;
  • isolated unassigned queue beyond bounded grace: fail-closed runner_assignment_stalled;
  • assigned runner followed by a failed workflow: assignment evidence may PASS while the workflow/check conclusion remains separately failed.

A fresh security review of the rebuilt operator found that spawnSync("gh", …, { env: process.env }) unnecessarily inherited every ambient secret/proxy/HOME setting. The test-first correction now exposes a fail-closed createGhSubprocessEnvironment() contract. The gh child receives only:

  • PATH for executable resolution;
  • the explicit read-only GH_TOKEN;
  • pinned GH_HOST=github.com;
  • NO_COLOR=1.

Ambient GITHUB_TOKEN, NVIDIA_NIM_API_KEY, Maintainer/Reviewer App private material, proxy variables, HOME, and unrelated process state do not cross into this diagnostic subprocess. The retained report is credential-free and explicitly has no required-check, formal-review, merge, release, or deployment authority.

Fresh exact-head verification

For unchanged exact head f33930dcbd800ba1018a82de0151b7579d4d1b74 on live base ebde3720ee27292be0ce3315986e0438dd66af9f:

  • application ci run 31378914501: terminal success;
  • reviewer-ci run 31378914523: terminal success;
  • application CI exact checkout verified f33930dcbd800ba1018a82de0151b7579d4d1b74 and live base before/after verification;
  • Node 24.19.0 / npm 11.17.0; lockfile change control passed with zero changed package nodes;
  • npm ci --legacy-peer-deps=false --install-links=false: 0 vulnerabilities;
  • release:verify: 75 test files / 712 tests passed, configured statements/branches/functions/lines all 100%, npm audit --audit-level=high 0 vulnerabilities;
  • the non-strict KPI step intentionally reported SKIP because no production 30-day log is present; this is not operational/acquisition PASS;
  • acquisition manifest generation explicitly retains missing final-gate evidence (production KPI/provenance, security-validation evidence, release publication, production deployment/attestation/governance, revenue, transfer evidence);
  • formal GitHub reviews: 0;
  • inline review threads: 0;
  • GitHub reports the content graph mergeable.

Central Security Scan remains absent because this PR targets a feature base. That absence is non-passing defer_until_trigger, not scanner success and not automatically an infrastructure failure.

Dependency / merge sequence

This PR remains Draft because its base is #91's feature branch. Safe integration order is:

  1. build(reproducibility): restack deterministic npm toolchain #91 reaches protected main under actual live governance;
  2. rebuild/refresh this 10-path runner-assignment delta onto the then-current protected lineage rather than assuming squash ancestry;
  3. require fresh exact-head application CI, reviewer-ci and an eligible protected-base Security Scan on the refreshed head;
  4. exercise the read-only operator from protected source against real assigned/running plus malformed/stale/dependency/protection-wait cases;
  5. satisfy the actual live ruleset and qualifying independent-review requirements before merge.

Historical organization billing/runner-group/enterprise-policy cause remains unresolved unless authorized evidence proves it. No repair/self-modifying workflow, protection weakening, synthetic approval, force push, version bump or release is introduced.

Related: #27, #30, #77, #79, #88, #91

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 49dea513-7b69-4d7d-b15a-3cd2ae1c3808

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

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