@ai-dossier/sched 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -10
- package/dist/dispatch.d.ts +2 -0
- package/dist/dispatch.d.ts.map +1 -1
- package/dist/dispatch.js +1 -0
- package/dist/dispatch.js.map +1 -1
- package/dist/engine.d.ts +18 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +202 -3
- package/dist/engine.js.map +1 -1
- package/dist/enqueue.d.ts +5 -7
- package/dist/enqueue.d.ts.map +1 -1
- package/dist/enqueue.js +10 -12
- package/dist/enqueue.js.map +1 -1
- package/dist/groundtruth.d.ts +19 -0
- package/dist/groundtruth.d.ts.map +1 -1
- package/dist/groundtruth.js +32 -0
- package/dist/groundtruth.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/labels.d.ts +58 -0
- package/dist/labels.d.ts.map +1 -0
- package/dist/labels.js +79 -0
- package/dist/labels.js.map +1 -0
- package/dist/persist.d.ts.map +1 -1
- package/dist/persist.js +7 -0
- package/dist/persist.js.map +1 -1
- package/dist/scheduler.d.ts +7 -1
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +9 -2
- package/dist/scheduler.js.map +1 -1
- package/dist/state.d.ts +4 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +15 -1
- package/dist/state.js.map +1 -1
- package/dist/status.d.ts +7 -0
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +1 -0
- package/dist/status.js.map +1 -1
- package/dist/types.d.ts +37 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -3
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -120,11 +120,13 @@ where every mechanical supervision decision is code, not remembered prose:
|
|
|
120
120
|
run-log-recorded, run-log-no-usage, run-log-skipped, run-log-failed, engine-stale,
|
|
121
121
|
engine-auto-upgrade-attempted, engine-auto-upgrade-failed, …) is
|
|
122
122
|
appended to `events.jsonl`; `sched status` shows the live phase per unit, plus each
|
|
123
|
-
slot's `gen` and `fenced` state (#504).
|
|
124
|
-
|
|
125
|
-
(#537) are journaled OUTSIDE the engine — `sched
|
|
126
|
-
|
|
127
|
-
|
|
123
|
+
slot's `gen` and `fenced` state (#504).
|
|
124
|
+
`engine-stale`/`engine-auto-upgrade-attempted`/`engine-auto-upgrade-failed`
|
|
125
|
+
(#537) are journaled OUTSIDE the engine — `sched start`'s CLI-side staleness check
|
|
126
|
+
appends them directly, not through `tick()`. The label events
|
|
127
|
+
(`label-blocked`/`label-check-failed`/`label-cleared`) come from BOTH sides: `sched
|
|
128
|
+
enqueue` appends the first two at enqueue time before dispatch (#507), and since #544
|
|
129
|
+
the engine appends all three from its own per-tick label re-check. `slot-released` (#525) marks the exact tick a held
|
|
128
130
|
slot reaches `idle` on a per-issue dispatch terminal path — verified completion,
|
|
129
131
|
external-advance, a direct failure, a blocked dependent's release, or a
|
|
130
132
|
detached-ship park — carrying the freed `slot` id and a closed `reason`
|
|
@@ -324,6 +326,13 @@ double-counting (opencode) a prior one. 1.6.0 states migrate on load, backfillin
|
|
|
324
326
|
to `null` — an in-flight dispatch's start time and log position are unknown, not zero —
|
|
325
327
|
as do 1.7.0 states (#523 took 1.7.0 for the batch fields; these two landed after it).
|
|
326
328
|
Both reset with the slot on release (`CLEARED_SLOT_FIELDS`).
|
|
329
|
+
|
|
330
|
+
Schema 1.9.0: `SchedState` gains `last_label_poll_at` (ISO string or null — when the
|
|
331
|
+
engine last re-read hard-block labels, #544 below). 1.8.0 and earlier states migrate on
|
|
332
|
+
load, backfilling `null`: no label re-check ever ran under them, so the first tick after
|
|
333
|
+
the upgrade polls immediately rather than waiting out a throttle window it has no
|
|
334
|
+
evidence for — the exact backfill, not a guess.
|
|
335
|
+
|
|
327
336
|
## Batch dispatch (#523)
|
|
328
337
|
|
|
329
338
|
`batch-dispatch.ts`'s `runBatchTick` — called from `tick()` after the issue-level pass,
|
|
@@ -396,7 +405,9 @@ import {
|
|
|
396
405
|
runLoop, // the sched start loop (tick, sleep, repeat)
|
|
397
406
|
type TickResult, // what one tick did (spawned/parked/merge-accepted/stale-reconciled/
|
|
398
407
|
// dependents-unblocked/report-dispatched/teardown/completed/
|
|
399
|
-
// redispatched/failed/blocked
|
|
408
|
+
// redispatched/failed/blocked, and since #544
|
|
409
|
+
// label-cleared/label-blocked/label-check-failed)
|
|
410
|
+
// — since #523 also carries
|
|
400
411
|
// `batch:<id>` unit ids (issue numbers for `blocked`)
|
|
401
412
|
type EngineDeps, // inject everything the engine touches (store/journal/spawn/ground
|
|
402
413
|
// truth/clock/repoDir/teardownExec/fencer/batchExec/runBatchSuite/
|
|
@@ -459,7 +470,7 @@ import {
|
|
|
459
470
|
transitionIssue, transitionBatch, transitionSlot, // typed §D transitions
|
|
460
471
|
TRANSITIONS, // the transition tables themselves (for previews)
|
|
461
472
|
buildStatusReport, // machine-readable status incl. blocked/failed sets
|
|
462
|
-
validateState, // strict persisted-state validation (1.0.0-1.
|
|
473
|
+
validateState, // strict persisted-state validation (1.0.0-1.8.0 files migrate)
|
|
463
474
|
IllegalTransitionError, EnqueueError, CorruptStateError, LockTimeoutError,
|
|
464
475
|
SchedNotFoundError,
|
|
465
476
|
EngineTooOldError, // state schema newer than installed engine — not corruption (#537)
|
|
@@ -579,14 +590,15 @@ slot without recording, so they are not costed.
|
|
|
579
590
|
`EngineTooOldError` (#537), pointing at an engine upgrade rather than at deleting real
|
|
580
591
|
queue data.
|
|
581
592
|
- **Schema**: state/config files from #460 (schema 1.0.0), #464 (1.1.0), #468 (1.2.0),
|
|
582
|
-
#472 (1.3.0), #500 (1.4.0), #505 (1.5.0)
|
|
583
|
-
automatically (slot `branch`/`last_head`/`pid_start`, slot `role` (inferred from the
|
|
593
|
+
#472 (1.3.0), #500 (1.4.0), #505 (1.5.0), #504 (1.6.0), #523 (1.7.0) and #524 (1.8.0)
|
|
594
|
+
load and migrate to 1.9.0 automatically (slot `branch`/`last_head`/`pid_start`, slot `role` (inferred from the
|
|
584
595
|
unit's queue entry, with the persisted `phase` as a fallback — #500), entry
|
|
585
596
|
`pr`/`cleanup`/`failure_evidence`, batch `anchor`/`branch`/`run_id`/`eviction_groups`/
|
|
586
597
|
`evictions`/`fix_attempts`/`rebase_attempts`, state-level `last_pr_poll_at` backfill to
|
|
587
598
|
null, state-level `consecutive_suspect_dispatches`/`last_suspect_dispatch_unit`
|
|
588
599
|
backfill to `0`/`null` — #505, slot `gen`/`fenced_at` backfill to `0`/`null` — #504, and
|
|
589
|
-
slot `spawned_at`/`log_offset_at_spawn` backfill to `null`/`null` — #524
|
|
600
|
+
slot `spawned_at`/`log_offset_at_spawn` backfill to `null`/`null` — #524, and
|
|
601
|
+
state-level `last_label_poll_at` backfill to `null` — #544).
|
|
590
602
|
- **`max_slots`** bounds live units (`assigned | running | recovering`); dependency
|
|
591
603
|
edges gate readiness — an issue with an unmerged dependency, and a batch behind an
|
|
592
604
|
unmerged batch, are never runnable.
|
|
@@ -596,6 +608,56 @@ slot without recording, so they are not costed.
|
|
|
596
608
|
(dispatch-health, #505 above); `sched resume` clears both the flag and the
|
|
597
609
|
dispatch-health streak.
|
|
598
610
|
|
|
611
|
+
## Hard-block labels are re-read every tick (#544)
|
|
612
|
+
|
|
613
|
+
#507's enqueue pre-screen resolves an issue's GitHub labels in the CLI and lands the
|
|
614
|
+
entry as `blocked reason=label:<name>`. That screen runs once, at enqueue time — so
|
|
615
|
+
before #544 a decision the human resolved never reached the queue: the entry stayed
|
|
616
|
+
blocked forever and `sched status` kept printing a stale reason. The engine now re-reads
|
|
617
|
+
the labels itself, on both sides of the same check:
|
|
618
|
+
|
|
619
|
+
- A `label:<name>`-blocked entry whose label is gone returns to `queued` (`label-cleared`),
|
|
620
|
+
and normal dependency gating takes it from there — a free slot can pick it up in the
|
|
621
|
+
same tick.
|
|
622
|
+
- A **dispatchable** entry that GAINED a hard-block label moves to `blocked`
|
|
623
|
+
(`label-blocked`) before the dispatch pass, so a fresh human hand-off is never
|
|
624
|
+
dispatched over. An already-`dispatched` unit is left alone: a late label must not
|
|
625
|
+
abandon a live agent's work.
|
|
626
|
+
- A blocked entry whose label CHANGED gets its reason refreshed in place.
|
|
627
|
+
- An unreachable read (`gh` down, auth expired) journals `label-check-failed` and decides
|
|
628
|
+
NOTHING. `issueLabels` returns `undefined` for a failed read and `[]` for a verifiably
|
|
629
|
+
unlabelled issue — flattening the two would dispatch over a live hand-off whenever
|
|
630
|
+
GitHub is flaky.
|
|
631
|
+
|
|
632
|
+
The watch set is every label-blocked entry plus the runnable issue units a dispatch
|
|
633
|
+
could actually place this tick — the latter capped at `max_slots`, so the per-tick `gh`
|
|
634
|
+
cost tracks the SLOT count rather than the backlog, and skipped entirely while the
|
|
635
|
+
scheduler is paused. A tick with work re-reads every tick; a tick with nothing else to
|
|
636
|
+
do (no live slot, nothing runnable) re-reads at most every `label_poll_interval_ms`
|
|
637
|
+
(default 10 min), from the persisted `last_label_poll_at` — so an idle fleet parked on
|
|
638
|
+
human decisions stays cheap. The timestamp advances only when a read actually returned
|
|
639
|
+
something, so `sched status` never claims a check that a `gh` outage prevented.
|
|
640
|
+
`HARD_BLOCK_LABELS` lives in `labels.ts` and is re-exported by
|
|
641
|
+
`cli/src/hard-block-labels.ts`, so the enqueue screen (#507), the classify screen (#538)
|
|
642
|
+
and this one cannot drift apart.
|
|
643
|
+
|
|
644
|
+
The `max_slots` cap is exact while nothing is blocked (`freeCapacity <= max_slots`, and
|
|
645
|
+
blocking nothing preserves candidate order, so every unit dispatched below was read). On
|
|
646
|
+
a tick that DID block something, units outside the read window are deferred for one tick
|
|
647
|
+
rather than dispatched on information nobody gathered — which costs nothing in the common
|
|
648
|
+
case, so #525 AC5's same-tick refill is untouched whenever no label moved.
|
|
649
|
+
|
|
650
|
+
**Scope note.** Per-issue dispatch only. Batch members (`mode: 'slot'`) and batch anchors
|
|
651
|
+
are not re-screened — `runnableUnits` filters to `mode: 'full'`, and `runBatchTick` has
|
|
652
|
+
its own claim path — so a hard-block label landing on a batch member mid-wave is not
|
|
653
|
+
caught here; `enqueue` still refuses to enqueue an already-labelled issue as a batch
|
|
654
|
+
member. Nor does the screen cover a unit that becomes dispatchable INSIDE the tick's lock
|
|
655
|
+
(its dependency shipped this very tick, or `requeueOrphanedDispatches` returned it to the
|
|
656
|
+
queue) and is dispatched before the next snapshot reads it: closing that would mean
|
|
657
|
+
deferring every in-lock arrival by a tick, which is exactly the guarantee #525 exists to
|
|
658
|
+
provide. Both are narrower than the gap this section closes — before #544 nothing was
|
|
659
|
+
re-screened at all — but neither is closed by it.
|
|
660
|
+
|
|
599
661
|
## The PR watcher + tail work (#468)
|
|
600
662
|
|
|
601
663
|
Dispatched runs park their PR on `auto-merge` (detached ship mode — the default
|
package/dist/dispatch.d.ts
CHANGED
|
@@ -160,6 +160,8 @@ export interface ResolvedDispatch {
|
|
|
160
160
|
reconcileIntervalMs: number;
|
|
161
161
|
/** Parked-PR poll interval (#468 AC1, default 150 s — "every 2–3 min"). */
|
|
162
162
|
prPollIntervalMs: number;
|
|
163
|
+
/** Idle-tick hard-block label re-read interval (#544, `label_poll_interval_ms`). */
|
|
164
|
+
labelPollIntervalMs: number;
|
|
163
165
|
/**
|
|
164
166
|
* Stall allowance for a takeover that has posted NOTHING since it was fenced in
|
|
165
167
|
* (#504 AC4). Selected over the phase timeout only while `SlotEntry.fenced_at` is
|
package/dist/dispatch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,OAAO,
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
|
package/dist/dispatch.js
CHANGED
|
@@ -302,6 +302,7 @@ function resolveDispatch(config) {
|
|
|
302
302
|
phaseStallTimeoutMs: resolvePhaseStallTimeouts(config),
|
|
303
303
|
reconcileIntervalMs: config.reconcile_interval_ms ?? types_1.DEFAULT_RECONCILE_INTERVAL_MS,
|
|
304
304
|
prPollIntervalMs: config.pr_poll_interval_ms ?? types_1.DEFAULT_PR_POLL_INTERVAL_MS,
|
|
305
|
+
labelPollIntervalMs: config.label_poll_interval_ms ?? types_1.DEFAULT_LABEL_POLL_INTERVAL_MS,
|
|
305
306
|
fenceTakeoverTimeoutMs: dispatch.fence_takeover_timeout_ms ?? types_1.DEFAULT_FENCE_TAKEOVER_TIMEOUT_MS,
|
|
306
307
|
};
|
|
307
308
|
}
|
package/dist/dispatch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.d.ts
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
* the state lock (gh/git subprocesses are slow; the lock must never wait
|
|
12
12
|
* on a network call). Parked PRs poll on their own cadence
|
|
13
13
|
* (`pr_poll_interval_ms`, persisted `last_pr_poll_at`) — every 2–3 min.
|
|
14
|
+
* Hard-block labels (#544) are re-read in the same outside-the-lock phase,
|
|
15
|
+
* every tick that has work and at most every 10 min on a tick that does
|
|
16
|
+
* not (persisted `last_label_poll_at`).
|
|
14
17
|
* 2. **Apply** under `SchedStore.withLock`:
|
|
15
18
|
* - `assigned` slots (crash between assign and spawn) are spawned/re-attached
|
|
16
19
|
* - `running` slots: dead pid → exit rail; ground truth says complete →
|
|
@@ -152,6 +155,21 @@ export interface TickResult {
|
|
|
152
155
|
failed: string[];
|
|
153
156
|
/** Issues blocked transitively by a failure. */
|
|
154
157
|
blocked: number[];
|
|
158
|
+
/** Units returned to `queued` this tick because their hard-block label was removed (#544). */
|
|
159
|
+
labelCleared: string[];
|
|
160
|
+
/**
|
|
161
|
+
* Units moved to `blocked` this tick by a hard-block label the engine
|
|
162
|
+
* re-read (#544) — a dispatchable entry that gained one mid-wave, or a
|
|
163
|
+
* blocked entry whose label changed under it.
|
|
164
|
+
*/
|
|
165
|
+
labelBlocked: string[];
|
|
166
|
+
/**
|
|
167
|
+
* Units whose hard-block label read was UNREACHABLE this tick (#544). Not
|
|
168
|
+
* cosmetic: an unverified dispatchable unit is deferred rather than
|
|
169
|
+
* dispatched, so without this an operator sees a tick that did nothing and
|
|
170
|
+
* no reason for it.
|
|
171
|
+
*/
|
|
172
|
+
labelCheckFailed: string[];
|
|
155
173
|
}
|
|
156
174
|
/**
|
|
157
175
|
* One full reconcile+refill cycle. Ground truth is polled WITHOUT the lock
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.js
CHANGED
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
* the state lock (gh/git subprocesses are slow; the lock must never wait
|
|
13
13
|
* on a network call). Parked PRs poll on their own cadence
|
|
14
14
|
* (`pr_poll_interval_ms`, persisted `last_pr_poll_at`) — every 2–3 min.
|
|
15
|
+
* Hard-block labels (#544) are re-read in the same outside-the-lock phase,
|
|
16
|
+
* every tick that has work and at most every 10 min on a tick that does
|
|
17
|
+
* not (persisted `last_label_poll_at`).
|
|
15
18
|
* 2. **Apply** under `SchedStore.withLock`:
|
|
16
19
|
* - `assigned` slots (crash between assign and spawn) are spawned/re-attached
|
|
17
20
|
* - `running` slots: dead pid → exit rail; ground truth says complete →
|
|
@@ -69,6 +72,8 @@ const batch_dispatch_1 = require("./batch-dispatch");
|
|
|
69
72
|
const dispatch_1 = require("./dispatch");
|
|
70
73
|
const groundtruth_1 = require("./groundtruth");
|
|
71
74
|
const journal_1 = require("./journal");
|
|
75
|
+
const labels_1 = require("./labels");
|
|
76
|
+
const readiness_1 = require("./readiness");
|
|
72
77
|
const run_log_1 = require("./run-log");
|
|
73
78
|
const scheduler_1 = require("./scheduler");
|
|
74
79
|
const state_1 = require("./state");
|
|
@@ -90,6 +95,9 @@ function emptyResult() {
|
|
|
90
95
|
redispatched: [],
|
|
91
96
|
failed: [],
|
|
92
97
|
blocked: [],
|
|
98
|
+
labelCleared: [],
|
|
99
|
+
labelBlocked: [],
|
|
100
|
+
labelCheckFailed: [],
|
|
93
101
|
};
|
|
94
102
|
}
|
|
95
103
|
function journal(ctx, event, unit, extra = {}) {
|
|
@@ -262,6 +270,175 @@ function pollParkedPrs(deps, state, dispatch) {
|
|
|
262
270
|
}
|
|
263
271
|
return { ran: true, truths, closed };
|
|
264
272
|
}
|
|
273
|
+
/**
|
|
274
|
+
* Re-read hard-block labels outside the lock (#544), mirroring
|
|
275
|
+
* `pollParkedPrs`' shape (cadence check, `ran: false` early return, every
|
|
276
|
+
* subprocess outside the lock).
|
|
277
|
+
*
|
|
278
|
+
* The watch set is deliberately two-sided, because the bug is two-sided:
|
|
279
|
+
*
|
|
280
|
+
* - Entries `blocked` with a `label:<name>` reason — #507's enqueue screen
|
|
281
|
+
* ran ONCE, in the CLI, so without this read a decision resolved by a human
|
|
282
|
+
* never reaches the queue and `sched status` keeps printing a stale reason.
|
|
283
|
+
* - The runnable ISSUE units a dispatch could actually place this tick, which
|
|
284
|
+
* is where AC2's "a fresh human hand-off is never dispatched over" bites.
|
|
285
|
+
*
|
|
286
|
+
* The second half is capped at `max_slots` — the hard ceiling on how many
|
|
287
|
+
* units `computeAssignments` can place in one tick — so the per-tick `gh`
|
|
288
|
+
* cost is bounded by the SLOT count, not by the backlog. Capping is only safe
|
|
289
|
+
* because `dispatchAssignments` refuses to place an issue this poll did not
|
|
290
|
+
* confirm clean: without that gate, blocking the first candidate would slide
|
|
291
|
+
* an unread one into range. `state.paused` short-circuits the half entirely —
|
|
292
|
+
* a paused fleet dispatches nothing, so reading its backlog every tick would
|
|
293
|
+
* burn quota to learn nothing (and dispatch-health pauses fire precisely when
|
|
294
|
+
* `gh` is already walled).
|
|
295
|
+
*/
|
|
296
|
+
function pollLabels(deps, state, config, dispatch) {
|
|
297
|
+
const watched = new Set();
|
|
298
|
+
for (const entry of state.entries) {
|
|
299
|
+
if (entry.status === 'blocked' && (0, labels_1.labelOfBlockReason)(entry.reason) !== null) {
|
|
300
|
+
watched.add(entry.issue);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
const held = new Set(state.slots.map((slot) => slot.unit).filter((u) => u !== null));
|
|
304
|
+
const dispatchable = state.paused
|
|
305
|
+
? []
|
|
306
|
+
: (0, readiness_1.runnableUnits)(state)
|
|
307
|
+
.filter((unit) => unit.kind === 'issue')
|
|
308
|
+
.filter((unit) => !held.has(`issue:${unit.issue}`))
|
|
309
|
+
.slice(0, config.max_slots);
|
|
310
|
+
for (const unit of dispatchable)
|
|
311
|
+
watched.add(unit.issue);
|
|
312
|
+
if (watched.size === 0)
|
|
313
|
+
return { ran: false, labels: new Map() };
|
|
314
|
+
// "Nothing else to do" (AC3) = no live slot to reconcile AND nothing to
|
|
315
|
+
// dispatch. A fleet in that shape is waiting on a human, so a re-read every
|
|
316
|
+
// `label_poll_interval_ms` (10 min default) is responsive enough; anything
|
|
317
|
+
// busier re-reads every tick.
|
|
318
|
+
const nowMs = deps.now().getTime();
|
|
319
|
+
const idle = !state.slots.some((slot) => slot.status !== 'idle') && dispatchable.length === 0;
|
|
320
|
+
if (idle) {
|
|
321
|
+
const last = state.last_label_poll_at !== null ? Date.parse(state.last_label_poll_at) : 0;
|
|
322
|
+
if (Number.isFinite(last) && nowMs - last < dispatch.labelPollIntervalMs) {
|
|
323
|
+
return { ran: false, labels: new Map() };
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
const labels = new Map();
|
|
327
|
+
for (const issue of watched)
|
|
328
|
+
labels.set(issue, deps.groundTruth.issueLabels(issue));
|
|
329
|
+
return { ran: true, labels };
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Issues this tick's read CONFIRMED carry no hard-block label (#544) — the
|
|
333
|
+
* only issues `dispatchAssignments` may place. A failed read is absent here,
|
|
334
|
+
* as is an issue that was never watched: both mean "not confirmed", and
|
|
335
|
+
* confirmation is the gate.
|
|
336
|
+
*/
|
|
337
|
+
function labelVerified(poll) {
|
|
338
|
+
const verified = new Set();
|
|
339
|
+
for (const [issue, labels] of poll.labels) {
|
|
340
|
+
if (labels !== undefined && (0, labels_1.pickHardBlockLabel)(labels) === null)
|
|
341
|
+
verified.add(issue);
|
|
342
|
+
}
|
|
343
|
+
return verified;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Apply this tick's label read (#544) — the reconcile half of the fix, run
|
|
347
|
+
* immediately before `dispatchAssignments` so both directions land in the
|
|
348
|
+
* SAME tick they were observed in:
|
|
349
|
+
*
|
|
350
|
+
* - blocked by a label that is now gone from the issue → `queued`, `reason`
|
|
351
|
+
* cleared, `label-cleared` journaled; normal dependency gating takes over
|
|
352
|
+
* from there, and a free slot picks it up later this same tick. The test is
|
|
353
|
+
* the entry's OWN label name against the fetched list, not
|
|
354
|
+
* `pickHardBlockLabel`: `enqueue` accepts any GitHub label name as
|
|
355
|
+
* `blocked_label`, so a list-based test would report "label cleared" — an
|
|
356
|
+
* affirmative "a human resolved this" signal — for a block whose label is
|
|
357
|
+
* still sitting on the issue, merely outside the four.
|
|
358
|
+
* - blocked by a label that CHANGED (`decision-pending` → `epic`) → reason
|
|
359
|
+
* refreshed in place, old value preserved as `previous_reason`. `sched
|
|
360
|
+
* status` printing a reason that no longer matches the issue is the same
|
|
361
|
+
* defect as never unblocking at all.
|
|
362
|
+
* - dispatchable and now carrying a hard-block label → `blocked`, so the
|
|
363
|
+
* dispatch pass below can no longer see it (`runnableUnits` gates on
|
|
364
|
+
* `DISPATCHABLE_ISSUE_STATUSES`, which excludes `blocked`).
|
|
365
|
+
* - unreachable read → `label-check-failed` and NOTHING else. An unreachable
|
|
366
|
+
* poll can never be evidence that a hand-off was resolved. It is surfaced in
|
|
367
|
+
* `TickResult.labelCheckFailed` rather than left journal-only, because the
|
|
368
|
+
* failure is silent in the other direction too: an unread dispatchable entry
|
|
369
|
+
* is simply not verified, so it defers instead of dispatching, and an
|
|
370
|
+
* operator watching `sched start` needs to see why nothing moved.
|
|
371
|
+
*/
|
|
372
|
+
function reconcileLabelBlocks(ctx, state, poll) {
|
|
373
|
+
if (!poll.ran)
|
|
374
|
+
return state;
|
|
375
|
+
const now = ctx.deps.now();
|
|
376
|
+
// Only stamp the cadence when something was actually LEARNED. Stamping on a
|
|
377
|
+
// total failure would make `sched status` report "labels last checked 30s
|
|
378
|
+
// ago" during a gh outage — asserting the very thing the timestamp exists to
|
|
379
|
+
// distinguish — and would burn a full throttle window on an idle fleet.
|
|
380
|
+
const learned = [...poll.labels.values()].some((labels) => labels !== undefined);
|
|
381
|
+
let next = learned ? { ...state, last_label_poll_at: now.toISOString() } : state;
|
|
382
|
+
/** Block `issue` on `label`, journaling and recording it exactly once. */
|
|
383
|
+
const blockOn = (from, issue, unit, label, previous) => {
|
|
384
|
+
const reason = (0, labels_1.labelBlockReason)(label);
|
|
385
|
+
journal(ctx, 'label-blocked', unit, {
|
|
386
|
+
reason,
|
|
387
|
+
...(previous !== null ? { previous_reason: (0, labels_1.labelBlockReason)(previous) } : {}),
|
|
388
|
+
});
|
|
389
|
+
ctx.result.labelBlocked.push(unit);
|
|
390
|
+
return (0, state_1.transitionIssue)(from, issue, 'blocked', { reason }, now);
|
|
391
|
+
};
|
|
392
|
+
for (const [issue, labels] of poll.labels) {
|
|
393
|
+
const entry = (0, state_1.findEntry)(next, issue);
|
|
394
|
+
if (entry === undefined)
|
|
395
|
+
continue; // left the queue between the poll and the lock
|
|
396
|
+
const unit = `issue:${issue}`;
|
|
397
|
+
if (labels === undefined) {
|
|
398
|
+
journal(ctx, 'label-check-failed', unit, { reason: 'unreachable' });
|
|
399
|
+
ctx.result.labelCheckFailed.push(unit);
|
|
400
|
+
continue;
|
|
401
|
+
}
|
|
402
|
+
const blockedBy = entry.status === 'blocked' ? (0, labels_1.labelOfBlockReason)(entry.reason) : null;
|
|
403
|
+
if (blockedBy !== null) {
|
|
404
|
+
// Two questions, deliberately separate. "Is this entry's OWN block label
|
|
405
|
+
// still on the issue?" is answered against the fetched names, because
|
|
406
|
+
// `enqueue` accepts any GitHub label name as `blocked_label` — a
|
|
407
|
+
// policy-list test would report "label cleared" (an affirmative "a human
|
|
408
|
+
// resolved this") for a block whose label is still sitting on the issue,
|
|
409
|
+
// merely outside the four. "Is the issue blocked AT ALL?" is the policy
|
|
410
|
+
// question, and it is what decides whether clearing is safe: dropping the
|
|
411
|
+
// block because `decision-pending` went away, while `epic` remains, would
|
|
412
|
+
// dispatch over the second hand-off.
|
|
413
|
+
const ownStillPresent = labels.some((name) => name.toLowerCase() === blockedBy.toLowerCase());
|
|
414
|
+
const current = (0, labels_1.pickHardBlockLabel)(labels);
|
|
415
|
+
if (!ownStillPresent && current === null) {
|
|
416
|
+
next = (0, state_1.transitionIssue)(next, issue, 'queued', { reason: null }, now);
|
|
417
|
+
journal(ctx, 'label-cleared', unit, { reason: (0, labels_1.labelBlockReason)(blockedBy) });
|
|
418
|
+
ctx.result.labelCleared.push(unit);
|
|
419
|
+
}
|
|
420
|
+
else if (current !== null && current !== blockedBy) {
|
|
421
|
+
// Still blocked, but by a different label than the reason records —
|
|
422
|
+
// relabelled, or a higher-priority label added. A `sched status`
|
|
423
|
+
// reason that no longer matches the issue is the same defect as never
|
|
424
|
+
// unblocking at all.
|
|
425
|
+
next = blockOn(next, issue, unit, current, blockedBy);
|
|
426
|
+
}
|
|
427
|
+
continue;
|
|
428
|
+
}
|
|
429
|
+
// Not label-blocked today. Only a dispatchable entry can be blocked from
|
|
430
|
+
// here: a `dispatched`/`parked`/`shipped` unit is already past the point
|
|
431
|
+
// where a hand-off label could stop it, and blocking it mid-flight would
|
|
432
|
+
// abandon a live agent's work. Defence in depth rather than a hot path —
|
|
433
|
+
// the watch set holds only label-blocked and runnable entries — but the
|
|
434
|
+
// poll runs outside the lock, so any of them can have moved on by now.
|
|
435
|
+
const gained = (0, labels_1.pickHardBlockLabel)(labels);
|
|
436
|
+
if (gained !== null && readiness_1.DISPATCHABLE_ISSUE_STATUSES.has(entry.status)) {
|
|
437
|
+
next = blockOn(next, issue, unit, gained, null);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
return next;
|
|
441
|
+
}
|
|
265
442
|
// --- Spawn / fail / complete / park ---
|
|
266
443
|
/**
|
|
267
444
|
* The shared spawn-and-record tail of every agent dispatch (#464 full-cycle,
|
|
@@ -1320,9 +1497,26 @@ function runTeardownFor(deps, issue) {
|
|
|
1320
1497
|
return (0, teardown_1.runTeardown)(deps.teardownExec, deps.repoDir, info);
|
|
1321
1498
|
}
|
|
1322
1499
|
/** Phase 3: refill — every freed slot is filled in THIS tick (AC5). */
|
|
1323
|
-
function dispatchAssignments(ctx, state, config) {
|
|
1500
|
+
function dispatchAssignments(ctx, state, config, labelVerifiedIssues) {
|
|
1324
1501
|
const now = ctx.deps.now();
|
|
1325
|
-
|
|
1502
|
+
// #544: `pollLabels` reads only the first `max_slots` runnable units — the
|
|
1503
|
+
// ceiling on what this pass can place — which keeps the per-tick `gh` cost
|
|
1504
|
+
// proportional to the SLOT count instead of the backlog. That cap is exact
|
|
1505
|
+
// while nothing is blocked: `freeCapacity <= max_slots`, and blocking
|
|
1506
|
+
// nothing preserves the candidate order, so every unit placed below was
|
|
1507
|
+
// read. The moment this tick DID block something, the cap stops being
|
|
1508
|
+
// exact — a unit that sat outside the read window slides into range unread
|
|
1509
|
+
// — so those unverified units are deferred for one tick rather than
|
|
1510
|
+
// dispatched on stale information. They are inside the next tick's read
|
|
1511
|
+
// window, so the cost is one tick of latency in the rare labelled case, and
|
|
1512
|
+
// nothing at all in the common one (#525 AC5's same-tick refill is
|
|
1513
|
+
// untouched when no label moved).
|
|
1514
|
+
const exclude = ctx.result.labelBlocked.length > 0
|
|
1515
|
+
? new Set(state.entries
|
|
1516
|
+
.filter((entry) => !labelVerifiedIssues.has(entry.issue))
|
|
1517
|
+
.map((entry) => `issue:${entry.issue}`))
|
|
1518
|
+
: new Set();
|
|
1519
|
+
const { state: assigned, assignments } = (0, scheduler_1.computeAssignments)(state, config, now, ['issue'], exclude);
|
|
1326
1520
|
let next = assigned;
|
|
1327
1521
|
for (const assignment of assignments) {
|
|
1328
1522
|
if (assignment.kind !== 'issue')
|
|
@@ -1379,6 +1573,8 @@ function tick(deps, config) {
|
|
|
1379
1573
|
const state0 = deps.store.load();
|
|
1380
1574
|
const polled = pollUnits(deps, state0);
|
|
1381
1575
|
const prPoll = pollParkedPrs(deps, state0, dispatch);
|
|
1576
|
+
const labelPoll = pollLabels(deps, state0, config, dispatch);
|
|
1577
|
+
const labelVerifiedIssues = labelVerified(labelPoll);
|
|
1382
1578
|
const pass1 = deps.store.withLock((state) => {
|
|
1383
1579
|
const ctx = { deps, dispatch, result: emptyResult() };
|
|
1384
1580
|
let next = reconcileSlots(ctx, state, polled);
|
|
@@ -1386,7 +1582,10 @@ function tick(deps, config) {
|
|
|
1386
1582
|
next = reconcileStaleFailedParks(ctx, next, prPoll);
|
|
1387
1583
|
next = requeueOrphanedDispatches(ctx, next);
|
|
1388
1584
|
next = dispatchReportAgents(ctx, next, config);
|
|
1389
|
-
|
|
1585
|
+
// #544: immediately before the dispatch pass, so a cleared label can be
|
|
1586
|
+
// dispatched this same tick and a fresh one can never be dispatched over.
|
|
1587
|
+
next = reconcileLabelBlocks(ctx, next, labelPoll);
|
|
1588
|
+
next = dispatchAssignments(ctx, next, config, labelVerifiedIssues);
|
|
1390
1589
|
return {
|
|
1391
1590
|
state: next,
|
|
1392
1591
|
result: { tick: ctx.result, teardownPending: teardownPendingIssues(next) },
|