Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/ci-readonly-pool-plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"cargo-hauler": patch
---

Add read-only CI planning that starts workers only for lanes with eligible tests or queued-check maintenance. Drains share admission logic and revalidate the advisory plan under their lane lock.
10 changes: 8 additions & 2 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Cargo Hauler CI
description: Drain ready pull requests through isolated warm workers and report each tested snapshot.
inputs:
mode:
description: route decides PR delegation; enqueue reserves checks; drain tests delegated PRs.
description: route decides delegation; enqueue reserves checks; plan lists needed lanes; drain tests PRs.
default: drain
manager-workflow:
description: Trusted workflow owning admission check creation.
Expand All @@ -11,7 +11,7 @@ inputs:
description: Native PR workflow whose exact-head delegation receipt admits work.
default: ci.yml
token:
description: Short-lived job token with contents/read, pull-requests/read, and checks/write.
description: Short-lived job token. Plan needs contents, pull-requests, checks and actions read; enqueue/drain need checks write.
required: true
recipe:
description: CI recipe in the checked-out trusted default branch.
Expand All @@ -29,6 +29,12 @@ inputs:
description: Optional comma-separated PR numbers for a bounded trial.
default: ''
outputs:
lanes:
description: JSON array of recipe lane IDs needing execution or queued-check maintenance (plan mode).
value: ${{ steps.drain.outputs.lanes }}
count:
description: Number of lanes in the plan. Planning is read-only and advisory.
value: ${{ steps.drain.outputs.count }}
decision:
description: delegated or native, from route mode.
value: ${{ steps.drain.outputs.decision }}
Expand Down
2 changes: 1 addition & 1 deletion artifact/agent-bundle.compile-evidence.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion artifact/agent-bundle.manifest.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion artifact/hooks/event-route-session-start.claude.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31798,7 +31798,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "session/start";
const capabilityRevision = "2.1.260";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-session-start.codex.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31798,7 +31798,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "session/start";
const capabilityRevision = "0.147.0";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-session-start.cursor.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31798,7 +31798,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "session/start";
const capabilityRevision = "2026-08-28";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-stop.claude.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31798,7 +31798,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "stop";
const capabilityRevision = "2.1.260";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-stop.codex.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31798,7 +31798,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "stop";
const capabilityRevision = "0.147.0";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-stop.cursor.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31798,7 +31798,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "stop";
const capabilityRevision = "2026-08-28";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-after.claude.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31797,7 +31797,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "tool/after";
const capabilityRevision = "2.1.260";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-after.claude.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -22607,7 +22607,7 @@ var __webpack_modules__ = {
return withEventState(signal, async (bindings)=>{
const gate = await (0, _agent_bundle_runtime_request__rspack_import_6.iC)({
invocation: {
artifactEpoch: "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d",
artifactEpoch: "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-after.codex.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31797,7 +31797,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "tool/after";
const capabilityRevision = "0.147.0";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-after.codex.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -22607,7 +22607,7 @@ var __webpack_modules__ = {
return withEventState(signal, async (bindings)=>{
const gate = await (0, _agent_bundle_runtime_request__rspack_import_6.iC)({
invocation: {
artifactEpoch: "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d",
artifactEpoch: "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-after.cursor.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31797,7 +31797,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "tool/after";
const capabilityRevision = "2026-08-28";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-after.cursor.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -22607,7 +22607,7 @@ var __webpack_modules__ = {
return withEventState(signal, async (bindings)=>{
const gate = await (0, _agent_bundle_runtime_request__rspack_import_6.iC)({
invocation: {
artifactEpoch: "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d",
artifactEpoch: "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-before.claude.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31797,7 +31797,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "tool/before";
const capabilityRevision = "2.1.260";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-before.claude.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20486,7 +20486,7 @@ var __webpack_modules__ = {
return withEventState(signal, async (bindings)=>{
const gate = await (0, _agent_bundle_runtime_request__rspack_import_6.iC)({
invocation: {
artifactEpoch: "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d",
artifactEpoch: "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-before.codex.execute.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -31797,7 +31797,7 @@ var __webpack_modules__ = {
var _agent_bundle_runtime__rspack_import_9 = __webpack_require__("./node_modules/.pnpm/@agent-bundle+runtime@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+@agent-bundle+run_e5293a7115b1d1bcd59ded4b7703c7d1/node_modules/@agent-bundle/runtime/dist/40.js");
var agent_bundle_event_ipc__rspack_import_4 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-ipc.js");
var agent_bundle_event_project__rspack_import_5 = __webpack_require__("./node_modules/.pnpm/agent-bundle@https+++pkg.pr.new+ScriptedAlchemy+agent-bundle+agent-bundle@899755dc6d_@a_11f3fc4764ad88a24cb031ff69ba885f/node_modules/agent-bundle/dist/event-project.js");
const artifactEpoch = "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d";
const artifactEpoch = "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243";
const flightArtifactEpoch = "cargo-hauler@0.11.1";
const canonicalEvent = "tool/before";
const capabilityRevision = "0.147.0";
Expand Down
2 changes: 1 addition & 1 deletion artifact/hooks/event-route-tool-before.codex.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20486,7 +20486,7 @@ var __webpack_modules__ = {
return withEventState(signal, async (bindings)=>{
const gate = await (0, _agent_bundle_runtime_request__rspack_import_6.iC)({
invocation: {
artifactEpoch: "3c31bd66f086d30daf08a873fab5dfbdeb28c722a01b174d79d35cac834da87d",
artifactEpoch: "704a5edd23d6b5836d24e5b13e00d98b15fb568976354da11f302e0848d83243",
hostContractRevision: capabilityRevision,
kind: "event",
operationId: `event:${canonicalEvent}`,
Expand Down
Loading
Loading