@ai-dossier/sched 0.7.0 → 0.8.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/dist/engine.js CHANGED
@@ -315,8 +315,12 @@ function spawnUnit(ctx, state, unit) {
315
315
  return spawnAndRecord(ctx, state, unit, slot, {
316
316
  tier: entry.tier,
317
317
  cmd: (0, dispatch_1.buildAgentCommand)(ctx.dispatch.command, entry.tier, issue, ctx.dispatch.tierModels),
318
- prompt: (0, dispatch_1.buildPrompt)(ctx.dispatch.prompt, issue),
318
+ // The slot's generation reaches the agent here (#504): a takeover is told which
319
+ // generation it owns, so its own `runstate post --gen` is accepted while the run it
320
+ // replaced is refused. A first dispatch is generation 0 and reads as it always did.
321
+ prompt: (0, dispatch_1.buildPrompt)(ctx.dispatch.prompt, issue, slot.gen),
319
322
  phase: 'gate',
323
+ ...(slot.gen > 0 ? { journalExtra: { detail: `takeover gen=${slot.gen}` } } : {}),
320
324
  });
321
325
  }
322
326
  /**
@@ -338,12 +342,18 @@ function spawnReportAgent(ctx, state, unit) {
338
342
  return spawnAndRecord(ctx, state, unit, slot, {
339
343
  tier,
340
344
  cmd: (0, dispatch_1.buildAgentCommand)(ctx.dispatch.command, tier, issue, ctx.dispatch.tierModels),
341
- prompt: (0, dispatch_1.buildReportPrompt)(ctx.dispatch.reportPrompt, issue, entry.pr, entry.cleanup),
345
+ // The generation reaches the report agent exactly as it reaches a cycle agent
346
+ // (#504): a report slot is fenced by the same ladder, and a report agent that did
347
+ // not know its generation would have its `report done` milestone refused by the
348
+ // CLI — recovering forever on a PR that already merged.
349
+ prompt: (0, dispatch_1.buildReportPrompt)(ctx.dispatch.reportPrompt, issue, entry.pr, entry.cleanup, slot.gen),
342
350
  phase: 'report',
343
351
  // Merged-aware: the PR is merged — a report spawn failure never blocks
344
352
  // dependents (gating already released at `shipped`).
345
353
  failOpts: { merged: true },
346
- journalExtra: { detail: 'report agent' },
354
+ journalExtra: {
355
+ detail: slot.gen > 0 ? `report agent, takeover gen=${slot.gen}` : 'report agent',
356
+ },
347
357
  });
348
358
  }
349
359
  /**
@@ -424,6 +434,69 @@ function blockTransitiveDependents(ctx, state, failedIssue) {
424
434
  }
425
435
  return { state: next, issues: blockedIssues };
426
436
  }
437
+ /**
438
+ * A run id, and the issue it must belong to.
439
+ *
440
+ * The run id comes off the milestone trail — issue comments, i.e. network data — so a
441
+ * forged comment could otherwise aim the fence at a well-formed run id for some other
442
+ * issue. That is WORSE than not fencing: the CLI would accept it, the engine would
443
+ * journal `fence-written`, and the real zombie would stay free to write.
444
+ */
445
+ const RUN_ID_FOR_ISSUE_RE = /^r-(\d+)-[0-9a-f]{4,}$/;
446
+ /** A phase name safe to hand to the CLI, matching the milestone grammar's shape. */
447
+ const PHASE_TOKEN_RE = /^[a-z][a-z0-9-]{0,31}$/;
448
+ /**
449
+ * Post the takeover record for a unit about to be redispatched (#504 AC1), returning the
450
+ * generation the fence installed — or null when no fence could be written.
451
+ *
452
+ * Every null is journaled as `fence-failed` WITH its cause, and every one is DEGRADED
453
+ * rather than fatal:
454
+ *
455
+ * - **No fencer configured.** An engine built before #504, or misconfigured.
456
+ * - **No usable run id.** The run id lives on the trail, so a unit that has posted no
457
+ * milestone has nothing to fence — and an agent that has written nothing has also
458
+ * written nothing to race over. A run id that does not belong to THIS issue is
459
+ * rejected for the reason above.
460
+ * - **The post failed.** gh auth, a missing binary, a network wall — the fencer's own
461
+ * reason says which.
462
+ *
463
+ * The redispatch proceeds either way. Refusing to redispatch would strand a stalled unit
464
+ * forever, which is a worse and more common failure than the race a fence prevents; the
465
+ * journal line is what makes the unprotected redispatch visible afterwards.
466
+ */
467
+ function writeFence(ctx, unit, issue, slot, truth) {
468
+ const failed = (detail) => {
469
+ journal(ctx, 'fence-failed', unit, { slot: slot.id, detail });
470
+ return null;
471
+ };
472
+ if (ctx.deps.fencer === undefined) {
473
+ return failed('no fencer configured — redispatching unfenced');
474
+ }
475
+ const run = truth.milestone?.run ?? '';
476
+ if (run === '') {
477
+ return failed('no run id on the trail to fence — redispatching unfenced');
478
+ }
479
+ const owner = RUN_ID_FOR_ISSUE_RE.exec(run);
480
+ if (owner === null || Number(owner[1]) !== issue) {
481
+ return failed(`trail run id '${run}' is not a run id for issue #${issue} — redispatching unfenced`);
482
+ }
483
+ // The phase the superseded agent was IN, as its own last milestone recorded it — the
484
+ // fence names where the work was taken over, not where it will resume. A value that is
485
+ // not a plain phase token would just be rejected by the CLI, so the slot's own record
486
+ // is preferred over spending the attempt on it.
487
+ const claimed = truth.milestone?.phase ?? '';
488
+ const phase = PHASE_TOKEN_RE.test(claimed) ? claimed : (slot.phase ?? 'gate');
489
+ const takeover = `slot-${slot.id}-r${slot.recoveries + 1}`;
490
+ const outcome = ctx.deps.fencer(issue, run, phase, takeover);
491
+ if (!outcome.ok) {
492
+ return failed(`${outcome.reason} — redispatching at gen=${slot.gen}`);
493
+ }
494
+ journal(ctx, 'fence-written', unit, {
495
+ slot: slot.id,
496
+ detail: `${run} gen=${outcome.gen} takeover=${takeover}`,
497
+ });
498
+ return outcome.gen;
499
+ }
427
500
  /**
428
501
  * The recovery decision for a unit that must be redispatched one tier
429
502
  * stronger (stall or unverified exit, AC4). At the escalation cap or the
@@ -432,7 +505,7 @@ function blockTransitiveDependents(ctx, state, failedIssue) {
432
505
  * mechanical-starting ladder and fail MERGED-AWARE at the cap: the PR is
433
506
  * already merged, so dependents stay released.
434
507
  */
435
- function enterRecovery(ctx, state, unit, causeEvent, cause, evidence = {}) {
508
+ function enterRecovery(ctx, state, unit, causeEvent, cause, truth, evidence = {}) {
436
509
  const issue = (0, journal_1.issueOfUnit)(unit);
437
510
  if (issue === null)
438
511
  return state;
@@ -454,7 +527,20 @@ function enterRecovery(ctx, state, unit, causeEvent, cause, evidence = {}) {
454
527
  : `${cause}-at-strongest-tier`;
455
528
  return failUnit(ctx, state, unit, reason, { merged: report });
456
529
  }
457
- let next = (0, state_1.transitionSlot)(state, slot.id, 'recovering', { pid: null, recoveries: slot.recoveries + 1 }, now);
530
+ // Fence BEFORE the respawn (#504 AC1/AC4): `killUnitAgent` above only reaches a pid
531
+ // this process can see and signal, and #472 proved that is not the same as a dead
532
+ // agent. The takeover record is what stops the survivor from writing to the trail —
533
+ // and it is written first precisely so it survives the takeover dying too.
534
+ const fenced = writeFence(ctx, unit, issue, slot, truth);
535
+ let next = (0, state_1.transitionSlot)(state, slot.id, 'recovering', {
536
+ pid: null,
537
+ recoveries: slot.recoveries + 1,
538
+ gen: fenced ?? slot.gen,
539
+ // Only a fence that actually landed starts the short takeover watch: an
540
+ // unfenced redispatch is already degraded, and cutting its allowance down
541
+ // would compound one failure with another.
542
+ fenced_at: fenced === null ? null : now.toISOString(),
543
+ }, now);
458
544
  if (!report) {
459
545
  next = {
460
546
  ...next,
@@ -560,7 +646,12 @@ function applyProgressSignals(ctx, state, slot, truth, unit) {
560
646
  next = patchSlot(next, slot.id, { last_head: truth.head }, now);
561
647
  }
562
648
  if (progressed) {
563
- next = patchSlot(next, slot.id, { last_progress_at: now.toISOString() }, now);
649
+ // The takeover is demonstrably alive, so the short fence watch has done its job and
650
+ // the phase's ordinary stall allowance takes over from here (#504 AC4).
651
+ next = patchSlot(next, slot.id, {
652
+ last_progress_at: now.toISOString(),
653
+ ...(slot.fenced_at !== null ? { fenced_at: null } : {}),
654
+ }, now);
564
655
  journal(ctx, 'progress', unit, {
565
656
  slot: slot.id,
566
657
  detail: truth.milestone
@@ -638,11 +729,16 @@ function reconcileRunning(ctx, state, slot, truth, unit) {
638
729
  // 'report' for a report agent) for the brief window before any milestone
639
730
  // has posted.
640
731
  const activePhase = truth.milestone?.keys.next ?? slot.phase;
641
- const stallTimeoutMs = (0, dispatch_1.stallTimeoutForPhase)(ctx.dispatch, activePhase);
732
+ // A takeover that has posted NOTHING since it was fenced in gets the short fence
733
+ // window instead of the phase's full allowance (#504 AC4) — a takeover can die on its
734
+ // own first breath, and waiting out an `implement`-length timeout to notice wastes the
735
+ // time the redispatch was meant to save.
736
+ const stallTimeoutMs = (0, dispatch_1.stallTimeoutForSlot)(ctx.dispatch, activePhase, slot.fenced_at);
642
737
  if (msSinceLastProgress(slot, now) >= stallTimeoutMs) {
643
- return enterRecovery(ctx, progress.state, unit, 'stalled', 'stall', {
738
+ return enterRecovery(ctx, progress.state, unit, 'stalled', 'stall', truth, {
644
739
  active_phase: activePhase,
645
740
  stall_timeout_ms: stallTimeoutMs,
741
+ ...(slot.fenced_at !== null ? { fenced_at: slot.fenced_at } : {}),
646
742
  });
647
743
  }
648
744
  return progress.state;
@@ -738,7 +834,7 @@ function completeUnitOrRecover(ctx, state, unit, truth, via) {
738
834
  }
739
835
  const suspect = msSinceLastProgress(slot, now) < types_1.SUSPECT_DISPATCH_WINDOW_MS;
740
836
  next = recordDispatchOutcome(ctx, next, unit, slot, suspect);
741
- return enterRecovery(ctx, next, unit, 'verify-incomplete', 'unverified-exit', {
837
+ return enterRecovery(ctx, next, unit, 'verify-incomplete', 'unverified-exit', truth, {
742
838
  observed: truth.milestone
743
839
  ? `milestone ${truth.milestone.phase}/${truth.milestone.status}; closed=${truth.closed}`
744
840
  : `no milestone; closed=${truth.closed}`,
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Run fencing for the stall-recovery ladder (#504).
3
+ *
4
+ * The ladder's contract is "redispatch the SAME run one tier stronger", so a takeover
5
+ * inherits the run id and its milestone trail. That is what made the #472 race possible:
6
+ * `enterRecovery` kills the pid it knows about and respawns, but a pid it cannot see —
7
+ * an agent throttled, or with its cwd outside the worktree — survives, and nothing on the
8
+ * trail tells that agent it was replaced. Both runs then implement the same issue and
9
+ * both keep posting milestones on one trail.
10
+ *
11
+ * A fence is the durable half of the fix: before the takeover is spawned, a
12
+ * `status=superseded` milestone is posted naming the generation that now owns the run.
13
+ * `ai-dossier runstate post` refuses anything from a lower generation, so the superseded
14
+ * agent cannot extend the trail even if it never checks. The family's own doctrine, one
15
+ * step further: an agent exiting is not proof of merge, and no visible process is not
16
+ * proof of death.
17
+ *
18
+ * Like every other outward effect in this package the fencer is injected (the `ExecFn`
19
+ * pattern of project.ts, matching recovery.ts's `createExecMilestonePoster`), so the
20
+ * engine's tests never shell out.
21
+ */
22
+ import type { ExecFn } from './project';
23
+ /**
24
+ * Subprocess budget for one fence.
25
+ *
26
+ * Wider than a ground-truth poll because `runstate fence` makes two `gh` round trips
27
+ * (read the trail, then comment), and a fence that times out mid-write is the one
28
+ * failure mode that leaves the trail and the engine disagreeing about the generation.
29
+ */
30
+ export declare const FENCE_TIMEOUT_MS = 60000;
31
+ /**
32
+ * The result of one fence attempt.
33
+ *
34
+ * A failure carries its REASON rather than collapsing to a bare null: "the binary is
35
+ * missing", "gh auth expired", "the CLI refused the phase" and "the fence landed but its
36
+ * stdout was unreadable" all end a redispatch unfenced, but they need completely
37
+ * different operator responses — and `fence-failed` is the only place anyone will see
38
+ * which one happened.
39
+ */
40
+ export type FenceOutcome = {
41
+ ok: true;
42
+ gen: number;
43
+ } | {
44
+ ok: false;
45
+ reason: string;
46
+ };
47
+ /**
48
+ * Write the takeover record for `run` and report the generation it installed.
49
+ *
50
+ * Reporting the generation rather than a boolean is the whole point: the number has to
51
+ * reach the replacement agent, which posts at exactly that generation. A failure is a
52
+ * DEGRADED redispatch, never a silent success — see `enterRecovery`'s handling.
53
+ */
54
+ export type RunFencer = (issue: number, run: string, phase: string, takeover: string) => FenceOutcome;
55
+ /**
56
+ * Recover the installed generation from `runstate fence` stdout.
57
+ *
58
+ * Parsed rather than assumed because the generation is read-then-incremented off the
59
+ * live trail by the CLI: a recovery-of-recovery installs 2 where the engine's own slot
60
+ * bookkeeping might have guessed 1, and acting on the guess would leave the takeover
61
+ * posting at a fenced generation — locked out by the very fence meant to protect it.
62
+ *
63
+ * `--json` is the contract this reads (matching how `groundtruth.ts` reads `runstate
64
+ * last`); the human `gen=` line is accepted as a fallback so a shadow copy of an older
65
+ * `ai-dossier` on PATH degrades to "still works" rather than "silently never fences".
66
+ */
67
+ export declare function parseFenceGeneration(stdout: string | null): number | null;
68
+ /**
69
+ * The default fencer: shells `ai-dossier runstate fence`, which owns the generation
70
+ * arithmetic and the milestone grammar. Never throws — the `ExecFn` contract — so a
71
+ * missing binary or an expired gh auth becomes a reasoned failure the caller journals,
72
+ * rather than aborting a tick.
73
+ */
74
+ export declare function createExecRunFencer(exec: ExecFn, opts?: {
75
+ bin?: string;
76
+ repoDir?: string;
77
+ }): RunFencer;
78
+ //# sourceMappingURL=fence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fence.d.ts","sourceRoot":"","sources":["../src/fence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,KACb,YAAY,CAAC;AAQlB;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAazE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5C,SAAS,CAmCX"}
package/dist/fence.js ADDED
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ /**
3
+ * Run fencing for the stall-recovery ladder (#504).
4
+ *
5
+ * The ladder's contract is "redispatch the SAME run one tier stronger", so a takeover
6
+ * inherits the run id and its milestone trail. That is what made the #472 race possible:
7
+ * `enterRecovery` kills the pid it knows about and respawns, but a pid it cannot see —
8
+ * an agent throttled, or with its cwd outside the worktree — survives, and nothing on the
9
+ * trail tells that agent it was replaced. Both runs then implement the same issue and
10
+ * both keep posting milestones on one trail.
11
+ *
12
+ * A fence is the durable half of the fix: before the takeover is spawned, a
13
+ * `status=superseded` milestone is posted naming the generation that now owns the run.
14
+ * `ai-dossier runstate post` refuses anything from a lower generation, so the superseded
15
+ * agent cannot extend the trail even if it never checks. The family's own doctrine, one
16
+ * step further: an agent exiting is not proof of merge, and no visible process is not
17
+ * proof of death.
18
+ *
19
+ * Like every other outward effect in this package the fencer is injected (the `ExecFn`
20
+ * pattern of project.ts, matching recovery.ts's `createExecMilestonePoster`), so the
21
+ * engine's tests never shell out.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.FENCE_TIMEOUT_MS = void 0;
25
+ exports.parseFenceGeneration = parseFenceGeneration;
26
+ exports.createExecRunFencer = createExecRunFencer;
27
+ /**
28
+ * Subprocess budget for one fence.
29
+ *
30
+ * Wider than a ground-truth poll because `runstate fence` makes two `gh` round trips
31
+ * (read the trail, then comment), and a fence that times out mid-write is the one
32
+ * failure mode that leaves the trail and the engine disagreeing about the generation.
33
+ */
34
+ exports.FENCE_TIMEOUT_MS = 60_000;
35
+ /** `gen=<n>` as `ai-dossier runstate fence` prints it on its human success line. */
36
+ const GEN_LINE_RE = /(?:^|\s)gen=(\d+)(?:\s|$)/m;
37
+ /** Stdout kept in a failure reason, so a journal line stays one line. */
38
+ const STDOUT_SNIPPET_LENGTH = 200;
39
+ /**
40
+ * Recover the installed generation from `runstate fence` stdout.
41
+ *
42
+ * Parsed rather than assumed because the generation is read-then-incremented off the
43
+ * live trail by the CLI: a recovery-of-recovery installs 2 where the engine's own slot
44
+ * bookkeeping might have guessed 1, and acting on the guess would leave the takeover
45
+ * posting at a fenced generation — locked out by the very fence meant to protect it.
46
+ *
47
+ * `--json` is the contract this reads (matching how `groundtruth.ts` reads `runstate
48
+ * last`); the human `gen=` line is accepted as a fallback so a shadow copy of an older
49
+ * `ai-dossier` on PATH degrades to "still works" rather than "silently never fences".
50
+ */
51
+ function parseFenceGeneration(stdout) {
52
+ if (stdout === null)
53
+ return null;
54
+ try {
55
+ const parsed = JSON.parse(stdout);
56
+ const gen = parsed?.gen;
57
+ if (typeof gen === 'number' && Number.isSafeInteger(gen) && gen >= 0)
58
+ return gen;
59
+ }
60
+ catch {
61
+ // Not JSON — an older CLI, or a human success line. Fall through to the regex.
62
+ }
63
+ const match = GEN_LINE_RE.exec(stdout);
64
+ if (match === null)
65
+ return null;
66
+ const gen = Number.parseInt(match[1], 10);
67
+ return Number.isSafeInteger(gen) && gen >= 0 ? gen : null;
68
+ }
69
+ /**
70
+ * The default fencer: shells `ai-dossier runstate fence`, which owns the generation
71
+ * arithmetic and the milestone grammar. Never throws — the `ExecFn` contract — so a
72
+ * missing binary or an expired gh auth becomes a reasoned failure the caller journals,
73
+ * rather than aborting a tick.
74
+ */
75
+ function createExecRunFencer(exec, opts = {}) {
76
+ const bin = opts.bin ?? 'ai-dossier';
77
+ return (issue, run, phase, takeover) => {
78
+ const stdout = exec(bin, [
79
+ 'runstate',
80
+ 'fence',
81
+ '--issue',
82
+ String(issue),
83
+ '--run',
84
+ run,
85
+ '--phase',
86
+ phase,
87
+ '--takeover',
88
+ takeover,
89
+ '--json',
90
+ ], opts.repoDir);
91
+ if (stdout === null) {
92
+ return { ok: false, reason: `'${bin} runstate fence' produced no output (see stderr)` };
93
+ }
94
+ const gen = parseFenceGeneration(stdout);
95
+ if (gen === null) {
96
+ // Reachable when the fence DID land but its stdout was lost (e.g. the exec timed
97
+ // out after `gh issue comment` returned), so the reason says so rather than
98
+ // asserting the trail is unfenced.
99
+ return {
100
+ ok: false,
101
+ reason: `no generation in 'runstate fence' output — the fence MAY still have landed: ${stdout.slice(0, STDOUT_SNIPPET_LENGTH).replace(/\s+/g, ' ').trim()}`,
102
+ };
103
+ }
104
+ return { ok: true, gen };
105
+ };
106
+ }
107
+ //# sourceMappingURL=fence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fence.js","sourceRoot":"","sources":["../src/fence.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;AAwDH,oDAaC;AAQD,kDAsCC;AA/GD;;;;;;GAMG;AACU,QAAA,gBAAgB,GAAG,MAAM,CAAC;AA2BvC,oFAAoF;AACpF,MAAM,WAAW,GAAG,4BAA4B,CAAC;AAEjD,yEAAyE;AACzE,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;;;;;;;;;GAWG;AACH,SAAgB,oBAAoB,CAAC,MAAqB;IACxD,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAI,MAAmC,EAAE,GAAG,CAAC;QACtD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,GAAG,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,+EAA+E;IACjF,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,IAAY,EACZ,OAA2C,EAAE;IAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC;IACrC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CACjB,GAAG,EACH;YACE,UAAU;YACV,OAAO;YACP,SAAS;YACT,MAAM,CAAC,KAAK,CAAC;YACb,OAAO;YACP,GAAG;YACH,SAAS;YACT,KAAK;YACL,YAAY;YACZ,QAAQ;YACR,QAAQ;SACT,EACD,IAAI,CAAC,OAAO,CACb,CAAC;QACF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,kDAAkD,EAAE,CAAC;QAC1F,CAAC;QACD,MAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,iFAAiF;YACjF,4EAA4E;YAC5E,mCAAmC;YACnC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,+EAA+E,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;aAC5J,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC3B,CAAC,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  export { type AmbiguousTest, attributeByOverlap, type BoundaryCommit, type FailingTest, failingTest, type MemberFootprint, type MemberRange, memberOfCommit, memberRanges, type OverlapAttribution, offendersOf, parseBoundaryCommits, parseVitestJson, SAFE_REF_RE, SHA_RE, } from './attribution';
2
2
  export { type BisectOptions, type BisectOutcome, runAttributionBisect } from './bisect';
3
- export { buildAgentCommand, buildFixPrompt, buildPrompt, buildReportPrompt, createSpawnDeps, DEFAULT_DISPATCH_COMMAND, DEFAULT_FIX_PROMPT_TEMPLATE, DEFAULT_PROMPT_TEMPLATE, DEFAULT_REPORT_PROMPT_TEMPLATE, DEFAULT_TIER_MODELS, escalateTier, NO_BACKGROUND_EXIT_INSTRUCTION, OPENCODE_DISPATCH_COMMAND, type ResolvedDispatch, reportTierFor, resolveDispatch, type SpawnDeps, stallTimeoutForPhase, unitLogName, } from './dispatch';
3
+ export { buildAgentCommand, buildFixPrompt, buildPrompt, buildReportPrompt, createSpawnDeps, DEFAULT_DISPATCH_COMMAND, DEFAULT_FIX_PROMPT_TEMPLATE, DEFAULT_PROMPT_TEMPLATE, DEFAULT_REPORT_PROMPT_TEMPLATE, DEFAULT_TIER_MODELS, escalateTier, NO_BACKGROUND_EXIT_INSTRUCTION, OPENCODE_DISPATCH_COMMAND, type ResolvedDispatch, reportTierFor, resolveDispatch, type SpawnDeps, SUPERSESSION_CHECKPOINT_INSTRUCTION, stallTimeoutForPhase, stallTimeoutForSlot, takeoverInstruction, unitLogName, } from './dispatch';
4
4
  export { type EngineDeps, runLoop, type TickResult, tick } from './engine';
5
5
  export { assertNoDependencyCycle, EnqueueError, type EnqueueInput, enqueueEntries, LABEL_BLOCK_REASON_PREFIX, labelBlockReason, parseManifest, } from './enqueue';
6
+ export { createExecRunFencer, FENCE_TIMEOUT_MS, type FenceOutcome, parseFenceGeneration, type RunFencer, } from './fence';
6
7
  export { createExecGroundTruth, type GroundTruth, type GroundTruthMilestone, groundTruthExec, isParkedMilestone, isVerifiedComplete, labelNames, type PrTruth, parseMilestoneJson, parsePrViewJson, parseSetupInfo, prOfMilestone, type SetupInfo, } from './groundtruth';
7
8
  export { issueOfUnit, JOURNAL_FILE, Journal, readJsonl, unitEvent } from './journal';
8
9
  export { CorruptStateError, LockTimeoutError, SchedStore, writeAtomic } from './persist';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,cAAc,EACd,YAAY,EACZ,KAAK,kBAAkB,EACvB,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,8BAA8B,EAC9B,mBAAmB,EACnB,YAAY,EACZ,8BAA8B,EAC9B,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,aAAa,EACb,eAAe,EACf,KAAK,SAAS,EACd,oBAAoB,EACpB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,UAAU,EAAE,OAAO,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,KAAK,YAAY,EACjB,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,KAAK,OAAO,EACZ,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,MAAM,EACX,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,YAAY,EACZ,oBAAoB,EACpB,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,UAAU,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,kBAAkB,EAClB,YAAY,EACZ,KAAK,YAAY,EACjB,aAAa,EACb,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,WAAW,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EACL,KAAK,iBAAiB,EACtB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,qBAAqB,EACrB,KAAK,SAAS,EACd,iBAAiB,EACjB,8BAA8B,EAC9B,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,6BAA6B,EAC7B,sBAAsB,EACtB,kBAAkB,EAClB,2BAA2B,EAC3B,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,KAAK,SAAS,EACd,MAAM,EACN,KAAK,KAAK,EACV,KAAK,UAAU,EACf,wBAAwB,EACxB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,kBAAkB,EAClB,KAAK,UAAU,EACf,UAAU,EACV,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,uBAAuB,EACvB,uBAAuB,EACvB,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}