@ai-dossier/sched 0.12.1 → 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.
Files changed (45) hide show
  1. package/README.md +81 -11
  2. package/dist/dispatch.d.ts +2 -0
  3. package/dist/dispatch.d.ts.map +1 -1
  4. package/dist/dispatch.js +1 -0
  5. package/dist/dispatch.js.map +1 -1
  6. package/dist/engine.d.ts +18 -0
  7. package/dist/engine.d.ts.map +1 -1
  8. package/dist/engine.js +202 -3
  9. package/dist/engine.js.map +1 -1
  10. package/dist/enqueue.d.ts +5 -7
  11. package/dist/enqueue.d.ts.map +1 -1
  12. package/dist/enqueue.js +10 -12
  13. package/dist/enqueue.js.map +1 -1
  14. package/dist/groundtruth.d.ts +19 -0
  15. package/dist/groundtruth.d.ts.map +1 -1
  16. package/dist/groundtruth.js +32 -0
  17. package/dist/groundtruth.js.map +1 -1
  18. package/dist/index.d.ts +3 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +13 -3
  21. package/dist/index.js.map +1 -1
  22. package/dist/labels.d.ts +58 -0
  23. package/dist/labels.d.ts.map +1 -0
  24. package/dist/labels.js +79 -0
  25. package/dist/labels.js.map +1 -0
  26. package/dist/persist.d.ts.map +1 -1
  27. package/dist/persist.js +21 -2
  28. package/dist/persist.js.map +1 -1
  29. package/dist/scheduler.d.ts +7 -1
  30. package/dist/scheduler.d.ts.map +1 -1
  31. package/dist/scheduler.js +9 -2
  32. package/dist/scheduler.js.map +1 -1
  33. package/dist/state.d.ts +4 -1
  34. package/dist/state.d.ts.map +1 -1
  35. package/dist/state.js +43 -1
  36. package/dist/state.js.map +1 -1
  37. package/dist/status.d.ts +7 -0
  38. package/dist/status.d.ts.map +1 -1
  39. package/dist/status.js +1 -0
  40. package/dist/status.js.map +1 -1
  41. package/dist/types.d.ts +62 -3
  42. package/dist/types.d.ts.map +1 -1
  43. package/dist/types.js +31 -3
  44. package/dist/types.js.map +1 -1
  45. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.labelBlockReason = exports.LABEL_BLOCK_REASON_PREFIX = exports.enqueueEntries = exports.EnqueueError = exports.assertNoDependencyCycle = exports.tick = exports.runLoop = exports.unitLogName = exports.takeoverInstruction = exports.stallTimeoutForSlot = exports.stallTimeoutForPhase = exports.SUPERSESSION_CHECKPOINT_INSTRUCTION = exports.resolveTierSpawn = exports.resolveDispatch = exports.reportTierFor = exports.OPENCODE_DISPATCH_COMMAND = exports.NO_BACKGROUND_EXIT_INSTRUCTION = exports.journalCmdModelFields = exports.fileSizeOrZero = exports.escalateTier = exports.dispatchLogPath = exports.DEFAULT_TIER_MODELS = exports.DEFAULT_REPORT_PROMPT_TEMPLATE = exports.DEFAULT_PROMPT_TEMPLATE = exports.DEFAULT_MEMBER_PROMPT_TEMPLATE = exports.DEFAULT_FIX_PROMPT_TEMPLATE = exports.DEFAULT_DISPATCH_COMMAND = exports.DEFAULT_BATCH_TAIL_PROMPT_TEMPLATE = exports.DEFAULT_BATCH_REPORT_PROMPT_TEMPLATE = exports.createSpawnDeps = exports.buildTierCommand = exports.buildReportPrompt = exports.buildPrompt = exports.buildMemberPrompt = exports.buildFixPrompt = exports.buildCommandForModel = exports.buildBatchTailPrompt = exports.buildBatchReportPrompt = exports.buildAgentCommand = exports.runAttributionBisect = exports.runBatchTick = exports.SHA_RE = exports.SAFE_REF_RE = exports.parseVitestJson = exports.parseBoundaryCommits = exports.offendersOf = exports.memberRanges = exports.memberOfCommit = exports.failingTest = exports.attributeByOverlap = void 0;
4
- exports.abandonBatch = exports.usageParserFor = exports.schedTelemetryEnabled = exports.schedRunsLogPath = exports.readDispatchLog = exports.buildSchedRunLogEntry = exports.appendSchedRunLog = exports.resolveFixAttempt = exports.handlePrConflict = exports.expandEvictionGroups = exports.evictMembers = exports.dissolveBatch = exports.createExecMilestonePoster = exports.checkDissolveTrigger = exports.beginFixAttempt = exports.beginAttribution = exports.DISPATCHABLE_ISSUE_STATUSES = exports.schedStateDir = exports.sanitizeSlug = exports.resolveProjectSlug = exports.defaultExec = exports.createExecFn = exports.writeAtomic = exports.SchedStore = exports.LockTimeoutError = exports.CorruptStateError = exports.unitEvent = exports.readJsonl = exports.Journal = exports.JOURNAL_FILE = exports.issueOfUnit = exports.batchOfUnit = exports.appendJsonl = exports.prOfMilestone = exports.parseSetupInfo = exports.parsePrViewJson = exports.parseMilestoneJson = exports.labelNames = exports.isVerifiedComplete = exports.isParkedMilestone = exports.isMemberComplete = exports.isMemberBlocked = exports.isBatchTailParked = exports.isBatchPhaseDone = exports.groundTruthExec = exports.createExecGroundTruth = exports.parseFenceGeneration = exports.FENCE_TIMEOUT_MS = exports.createExecRunFencer = exports.parseManifest = void 0;
5
- exports.TERMINAL_ISSUE_STATUSES = exports.TERMINAL_BATCH_STATUSES = exports.SLOT_ROLES = exports.SchedNotFoundError = exports.SCHEMA_VERSION = exports.SATISFIED_ISSUE_STATUSES = exports.PHASES = exports.MIN_MAX_SLOTS = exports.MERGED_BATCH_STATUSES = exports.MAX_REBASE_ATTEMPTS = exports.MAX_MAX_SLOTS = exports.MAX_FIX_ATTEMPTS_PER_MEMBER = exports.LIVE_SLOT_STATUSES = exports.LEGACY_SCHEMA_VERSIONS = exports.LEGACY_CONFIG_SCHEMA_VERSIONS = exports.IllegalTransitionError = exports.FIX_ATTEMPT_TIER = exports.ESCALATION_CAP = exports.DISSOLVE_EVICTION_FRACTION = exports.DEFAULT_STALL_TIMEOUT_MS = exports.DEFAULT_RECONCILE_INTERVAL_MS = exports.DEFAULT_PR_POLL_INTERVAL_MS = exports.DEFAULT_PHASE_STALL_TIMEOUT_MS = exports.DEFAULT_MAX_SLOTS = exports.CONFIG_SCHEMA_VERSION = exports.BATCH_PHASES = exports.TEARDOWN_TIMEOUT_MS = exports.runTeardown = exports.isSafeWorktree = exports.buildStatusReport = exports.validateState = exports.transitionSlot = exports.transitionIssue = exports.transitionBatch = exports.TRANSITIONS = exports.requeueMember = exports.patchBatch = exports.isPreservedMember = exports.findEntry = exports.findBatch = exports.createEmptyState = exports.createBatch = exports.setPaused = exports.runnableUnits = exports.freeCapacity = exports.dependencyBlockers = exports.computeAssignments = exports.batchBlockers = exports.assignToIdleSlot = exports.abandonIssue = void 0;
6
- exports.TIER_ORDER = exports.TIER_LADDER = void 0;
4
+ exports.readDispatchLog = exports.buildSchedRunLogEntry = exports.appendSchedRunLog = exports.resolveFixAttempt = exports.handlePrConflict = exports.expandEvictionGroups = exports.evictMembers = exports.dissolveBatch = exports.createExecMilestonePoster = exports.checkDissolveTrigger = exports.beginFixAttempt = exports.beginAttribution = exports.DISPATCHABLE_ISSUE_STATUSES = exports.schedStateDir = exports.sanitizeSlug = exports.resolveProjectSlug = exports.defaultExec = exports.createExecFn = exports.writeAtomic = exports.SchedStore = exports.LockTimeoutError = exports.CorruptStateError = exports.pickHardBlockLabel = exports.labelOfBlockReason = exports.HARD_BLOCK_LABELS = exports.unitEvent = exports.readJsonl = exports.Journal = exports.JOURNAL_FILE = exports.issueOfUnit = exports.batchOfUnit = exports.appendJsonl = exports.prOfMilestone = exports.parseSetupInfo = exports.parsePrViewJson = exports.parseMilestoneJson = exports.parseIssueLabelsJson = exports.labelNames = exports.isVerifiedComplete = exports.isParkedMilestone = exports.isMemberComplete = exports.isMemberBlocked = exports.isBatchTailParked = exports.isBatchPhaseDone = exports.groundTruthExec = exports.createExecGroundTruth = exports.parseFenceGeneration = exports.FENCE_TIMEOUT_MS = exports.createExecRunFencer = exports.parseManifest = void 0;
5
+ exports.PHASES = exports.MIN_MAX_SLOTS = exports.MERGED_BATCH_STATUSES = exports.MAX_REBASE_ATTEMPTS = exports.MAX_MAX_SLOTS = exports.MAX_FIX_ATTEMPTS_PER_MEMBER = exports.LIVE_SLOT_STATUSES = exports.LEGACY_SCHEMA_VERSIONS = exports.LEGACY_CONFIG_SCHEMA_VERSIONS = exports.IllegalTransitionError = exports.FIX_ATTEMPT_TIER = exports.ESCALATION_CAP = exports.EngineTooOldError = exports.DISSOLVE_EVICTION_FRACTION = exports.DEFAULT_STALL_TIMEOUT_MS = exports.DEFAULT_RECONCILE_INTERVAL_MS = exports.DEFAULT_PR_POLL_INTERVAL_MS = exports.DEFAULT_PHASE_STALL_TIMEOUT_MS = exports.DEFAULT_MAX_SLOTS = exports.DEFAULT_LABEL_POLL_INTERVAL_MS = exports.CONFIG_SCHEMA_VERSION = exports.BATCH_PHASES = exports.TEARDOWN_TIMEOUT_MS = exports.runTeardown = exports.isSafeWorktree = exports.buildStatusReport = exports.validateState = exports.transitionSlot = exports.transitionIssue = exports.transitionBatch = exports.TRANSITIONS = exports.requeueMember = exports.patchBatch = exports.isPreservedMember = exports.findEntry = exports.findBatch = exports.createEmptyState = exports.createBatch = exports.setPaused = exports.runnableUnits = exports.freeCapacity = exports.dependencyBlockers = exports.computeAssignments = exports.batchBlockers = exports.assignToIdleSlot = exports.abandonIssue = exports.abandonBatch = exports.usageParserFor = exports.schedTelemetryEnabled = exports.schedRunsLogPath = void 0;
6
+ exports.TIER_ORDER = exports.TIER_LADDER = exports.TERMINAL_ISSUE_STATUSES = exports.TERMINAL_BATCH_STATUSES = exports.SLOT_ROLES = exports.SchedNotFoundError = exports.SCHEMA_VERSION = exports.SATISFIED_ISSUE_STATUSES = void 0;
7
7
  var attribution_1 = require("./attribution");
8
8
  Object.defineProperty(exports, "attributeByOverlap", { enumerable: true, get: function () { return attribution_1.attributeByOverlap; } });
9
9
  Object.defineProperty(exports, "failingTest", { enumerable: true, get: function () { return attribution_1.failingTest; } });
@@ -75,6 +75,7 @@ Object.defineProperty(exports, "isMemberComplete", { enumerable: true, get: func
75
75
  Object.defineProperty(exports, "isParkedMilestone", { enumerable: true, get: function () { return groundtruth_1.isParkedMilestone; } });
76
76
  Object.defineProperty(exports, "isVerifiedComplete", { enumerable: true, get: function () { return groundtruth_1.isVerifiedComplete; } });
77
77
  Object.defineProperty(exports, "labelNames", { enumerable: true, get: function () { return groundtruth_1.labelNames; } });
78
+ Object.defineProperty(exports, "parseIssueLabelsJson", { enumerable: true, get: function () { return groundtruth_1.parseIssueLabelsJson; } });
78
79
  Object.defineProperty(exports, "parseMilestoneJson", { enumerable: true, get: function () { return groundtruth_1.parseMilestoneJson; } });
79
80
  Object.defineProperty(exports, "parsePrViewJson", { enumerable: true, get: function () { return groundtruth_1.parsePrViewJson; } });
80
81
  Object.defineProperty(exports, "parseSetupInfo", { enumerable: true, get: function () { return groundtruth_1.parseSetupInfo; } });
@@ -87,6 +88,13 @@ Object.defineProperty(exports, "JOURNAL_FILE", { enumerable: true, get: function
87
88
  Object.defineProperty(exports, "Journal", { enumerable: true, get: function () { return journal_1.Journal; } });
88
89
  Object.defineProperty(exports, "readJsonl", { enumerable: true, get: function () { return journal_1.readJsonl; } });
89
90
  Object.defineProperty(exports, "unitEvent", { enumerable: true, get: function () { return journal_1.unitEvent; } });
91
+ // `LABEL_BLOCK_REASON_PREFIX` / `labelBlockReason` also live in `labels.ts`
92
+ // since #544, but stay exported through `./enqueue` above — that is where
93
+ // they were first public, and re-exporting them twice would collide.
94
+ var labels_1 = require("./labels");
95
+ Object.defineProperty(exports, "HARD_BLOCK_LABELS", { enumerable: true, get: function () { return labels_1.HARD_BLOCK_LABELS; } });
96
+ Object.defineProperty(exports, "labelOfBlockReason", { enumerable: true, get: function () { return labels_1.labelOfBlockReason; } });
97
+ Object.defineProperty(exports, "pickHardBlockLabel", { enumerable: true, get: function () { return labels_1.pickHardBlockLabel; } });
90
98
  var persist_1 = require("./persist");
91
99
  Object.defineProperty(exports, "CorruptStateError", { enumerable: true, get: function () { return persist_1.CorruptStateError; } });
92
100
  Object.defineProperty(exports, "LockTimeoutError", { enumerable: true, get: function () { return persist_1.LockTimeoutError; } });
@@ -149,12 +157,14 @@ Object.defineProperty(exports, "TEARDOWN_TIMEOUT_MS", { enumerable: true, get: f
149
157
  var types_1 = require("./types");
150
158
  Object.defineProperty(exports, "BATCH_PHASES", { enumerable: true, get: function () { return types_1.BATCH_PHASES; } });
151
159
  Object.defineProperty(exports, "CONFIG_SCHEMA_VERSION", { enumerable: true, get: function () { return types_1.CONFIG_SCHEMA_VERSION; } });
160
+ Object.defineProperty(exports, "DEFAULT_LABEL_POLL_INTERVAL_MS", { enumerable: true, get: function () { return types_1.DEFAULT_LABEL_POLL_INTERVAL_MS; } });
152
161
  Object.defineProperty(exports, "DEFAULT_MAX_SLOTS", { enumerable: true, get: function () { return types_1.DEFAULT_MAX_SLOTS; } });
153
162
  Object.defineProperty(exports, "DEFAULT_PHASE_STALL_TIMEOUT_MS", { enumerable: true, get: function () { return types_1.DEFAULT_PHASE_STALL_TIMEOUT_MS; } });
154
163
  Object.defineProperty(exports, "DEFAULT_PR_POLL_INTERVAL_MS", { enumerable: true, get: function () { return types_1.DEFAULT_PR_POLL_INTERVAL_MS; } });
155
164
  Object.defineProperty(exports, "DEFAULT_RECONCILE_INTERVAL_MS", { enumerable: true, get: function () { return types_1.DEFAULT_RECONCILE_INTERVAL_MS; } });
156
165
  Object.defineProperty(exports, "DEFAULT_STALL_TIMEOUT_MS", { enumerable: true, get: function () { return types_1.DEFAULT_STALL_TIMEOUT_MS; } });
157
166
  Object.defineProperty(exports, "DISSOLVE_EVICTION_FRACTION", { enumerable: true, get: function () { return types_1.DISSOLVE_EVICTION_FRACTION; } });
167
+ Object.defineProperty(exports, "EngineTooOldError", { enumerable: true, get: function () { return types_1.EngineTooOldError; } });
158
168
  Object.defineProperty(exports, "ESCALATION_CAP", { enumerable: true, get: function () { return types_1.ESCALATION_CAP; } });
159
169
  Object.defineProperty(exports, "FIX_ATTEMPT_TIER", { enumerable: true, get: function () { return types_1.FIX_ATTEMPT_TIER; } });
160
170
  Object.defineProperty(exports, "IllegalTransitionError", { enumerable: true, get: function () { return types_1.IllegalTransitionError; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * The hard-block label vocabulary — one list, shared by every screen that
3
+ * asks "may this issue be dispatched?".
4
+ *
5
+ * Three consumers now read it, which is why it lives here rather than in the
6
+ * CLI: the enqueue-time pre-screen (`cli/src/commands/sched.ts`, #507), the
7
+ * classify-time pre-screen (`cli/src/prescreen.ts`, #538), and the engine's
8
+ * per-tick re-check (`engine.ts`'s `reconcileLabelBlocks`, #544). The engine
9
+ * is inside this package and cannot import from `cli` — the dependency runs
10
+ * the other way — so the canonical copy is here and
11
+ * `cli/src/hard-block-labels.ts` re-exports it. A second copy is exactly how
12
+ * an enqueue screen and a tick screen would silently disagree about which
13
+ * labels block.
14
+ *
15
+ * I/O-free by design: callers hand in label names they read themselves
16
+ * (`gh issue view --json labels`), the same discipline `enqueue.ts` follows.
17
+ */
18
+ /**
19
+ * Labels that mean an issue was already determined undispatchable — by a
20
+ * prior full-cycle hand-off (`decision-pending`, applied by the Guiding
21
+ * Principle hand-off) or by triage (`needs-clarification`, `epic`,
22
+ * `decomposed`, the same three gate-issue Step 2 hard-blocks on). This is
23
+ * NOT gate-issue's list verbatim: gate-issue additionally hard-blocks
24
+ * `batch-epic`, a batch-ANCHOR concern with no equivalent for a per-issue
25
+ * screen, so it is deliberately left out here.
26
+ *
27
+ * Order is significant: when an issue carries more than one of these
28
+ * labels, the FIRST match in this array is the one recorded in `reason` —
29
+ * reordering the array changes which reason gets recorded.
30
+ *
31
+ * `decision-pending` here is the GitHub LABEL, not the `IssueStatus` value
32
+ * of the same name (`types.ts`).
33
+ */
34
+ export declare const HARD_BLOCK_LABELS: readonly ["decision-pending", "needs-clarification", "epic", "decomposed"];
35
+ /** The first hard-block label `labels` carries (case-insensitive), or `null`. */
36
+ export declare function pickHardBlockLabel(labels: readonly string[]): string | null;
37
+ /**
38
+ * The `reason` prefix a hard-block-labelled entry carries (#507), and the one
39
+ * place that builds it — the CLI's journal event and the entry's `reason`
40
+ * must read identically, so both call this rather than templating the string
41
+ * twice.
42
+ */
43
+ export declare const LABEL_BLOCK_REASON_PREFIX = "label:";
44
+ /** `reason`/journal-`reason` value for an entry blocked by GitHub label `label`. */
45
+ export declare function labelBlockReason(label: string): string;
46
+ /**
47
+ * The inverse of {@link labelBlockReason} (#544): the label name inside a
48
+ * `label:<name>` block reason, or `null` for any other reason — a
49
+ * dependency block, an eviction, `auto-merge-blocked`. The engine's per-tick
50
+ * re-check uses this to pick out exactly the entries #507's enqueue screen
51
+ * blocked, so a `blocked` entry parked for an unrelated reason is never
52
+ * unblocked by a clean label read.
53
+ *
54
+ * An empty name (`'label:'`) is not a label block — no GitHub label has an
55
+ * empty name, so a bare prefix is malformed, not a match.
56
+ */
57
+ export declare function labelOfBlockReason(reason: string | null): string | null;
58
+ //# sourceMappingURL=labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../src/labels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,4EAKpB,CAAC;AAEX,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAG3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAElD,oFAAoF;AACpF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAIvE"}
package/dist/labels.js ADDED
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * The hard-block label vocabulary — one list, shared by every screen that
4
+ * asks "may this issue be dispatched?".
5
+ *
6
+ * Three consumers now read it, which is why it lives here rather than in the
7
+ * CLI: the enqueue-time pre-screen (`cli/src/commands/sched.ts`, #507), the
8
+ * classify-time pre-screen (`cli/src/prescreen.ts`, #538), and the engine's
9
+ * per-tick re-check (`engine.ts`'s `reconcileLabelBlocks`, #544). The engine
10
+ * is inside this package and cannot import from `cli` — the dependency runs
11
+ * the other way — so the canonical copy is here and
12
+ * `cli/src/hard-block-labels.ts` re-exports it. A second copy is exactly how
13
+ * an enqueue screen and a tick screen would silently disagree about which
14
+ * labels block.
15
+ *
16
+ * I/O-free by design: callers hand in label names they read themselves
17
+ * (`gh issue view --json labels`), the same discipline `enqueue.ts` follows.
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.LABEL_BLOCK_REASON_PREFIX = exports.HARD_BLOCK_LABELS = void 0;
21
+ exports.pickHardBlockLabel = pickHardBlockLabel;
22
+ exports.labelBlockReason = labelBlockReason;
23
+ exports.labelOfBlockReason = labelOfBlockReason;
24
+ /**
25
+ * Labels that mean an issue was already determined undispatchable — by a
26
+ * prior full-cycle hand-off (`decision-pending`, applied by the Guiding
27
+ * Principle hand-off) or by triage (`needs-clarification`, `epic`,
28
+ * `decomposed`, the same three gate-issue Step 2 hard-blocks on). This is
29
+ * NOT gate-issue's list verbatim: gate-issue additionally hard-blocks
30
+ * `batch-epic`, a batch-ANCHOR concern with no equivalent for a per-issue
31
+ * screen, so it is deliberately left out here.
32
+ *
33
+ * Order is significant: when an issue carries more than one of these
34
+ * labels, the FIRST match in this array is the one recorded in `reason` —
35
+ * reordering the array changes which reason gets recorded.
36
+ *
37
+ * `decision-pending` here is the GitHub LABEL, not the `IssueStatus` value
38
+ * of the same name (`types.ts`).
39
+ */
40
+ exports.HARD_BLOCK_LABELS = [
41
+ 'decision-pending',
42
+ 'needs-clarification',
43
+ 'epic',
44
+ 'decomposed',
45
+ ];
46
+ /** The first hard-block label `labels` carries (case-insensitive), or `null`. */
47
+ function pickHardBlockLabel(labels) {
48
+ const normalized = labels.map((label) => label.toLowerCase());
49
+ return exports.HARD_BLOCK_LABELS.find((label) => normalized.includes(label)) ?? null;
50
+ }
51
+ /**
52
+ * The `reason` prefix a hard-block-labelled entry carries (#507), and the one
53
+ * place that builds it — the CLI's journal event and the entry's `reason`
54
+ * must read identically, so both call this rather than templating the string
55
+ * twice.
56
+ */
57
+ exports.LABEL_BLOCK_REASON_PREFIX = 'label:';
58
+ /** `reason`/journal-`reason` value for an entry blocked by GitHub label `label`. */
59
+ function labelBlockReason(label) {
60
+ return `${exports.LABEL_BLOCK_REASON_PREFIX}${label}`;
61
+ }
62
+ /**
63
+ * The inverse of {@link labelBlockReason} (#544): the label name inside a
64
+ * `label:<name>` block reason, or `null` for any other reason — a
65
+ * dependency block, an eviction, `auto-merge-blocked`. The engine's per-tick
66
+ * re-check uses this to pick out exactly the entries #507's enqueue screen
67
+ * blocked, so a `blocked` entry parked for an unrelated reason is never
68
+ * unblocked by a clean label read.
69
+ *
70
+ * An empty name (`'label:'`) is not a label block — no GitHub label has an
71
+ * empty name, so a bare prefix is malformed, not a match.
72
+ */
73
+ function labelOfBlockReason(reason) {
74
+ if (reason === null || !reason.startsWith(exports.LABEL_BLOCK_REASON_PREFIX))
75
+ return null;
76
+ const name = reason.slice(exports.LABEL_BLOCK_REASON_PREFIX.length);
77
+ return name.length > 0 ? name : null;
78
+ }
79
+ //# sourceMappingURL=labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.js","sourceRoot":"","sources":["../src/labels.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AA0BH,gDAGC;AAWD,4CAEC;AAaD,gDAIC;AAzDD;;;;;;;;;;;;;;;GAeG;AACU,QAAA,iBAAiB,GAAG;IAC/B,kBAAkB;IAClB,qBAAqB;IACrB,MAAM;IACN,YAAY;CACJ,CAAC;AAEX,iFAAiF;AACjF,SAAgB,kBAAkB,CAAC,MAAyB;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,OAAO,yBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AAElD,oFAAoF;AACpF,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,GAAG,iCAAyB,GAAG,KAAK,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAAC,MAAqB;IACtD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iCAAyB,CAAC;QAAE,OAAO,IAAI,CAAC;IAClF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAyB,CAAC,MAAM,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"persist.d.ts","sourceRoot":"","sources":["../src/persist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAUL,KAAK,WAAW,EAEhB,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AASjB,qEAAqE;AACrE,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CASvD;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAS7C;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAwBpE;AA8DD;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAET,GAAG,EAAE,MAAM;IAIvB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,oEAAoE;IACpE,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,IAAI,UAAU;IAyBlB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAI7B;;;OAGG;IACH,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,GAAG,CAAC;IAY3E,UAAU,IAAI,WAAW;IAwDzB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAiBtC"}
1
+ {"version":3,"file":"persist.d.ts","sourceRoot":"","sources":["../src/persist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAWL,KAAK,WAAW,EAEhB,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AASjB,qEAAqE;AACrE,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CASvD;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAS7C;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAwBpE;AA8DD;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAET,GAAG,EAAE,MAAM;IAIvB,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,oEAAoE;IACpE,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,IAAI,UAAU;IA6BlB,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAI7B;;;OAGG;IACH,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,GAAG,CAAC;IAY3E,UAAU,IAAI,WAAW;IAqEzB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAqBtC"}
package/dist/persist.js CHANGED
@@ -212,6 +212,11 @@ class SchedStore {
212
212
  return (0, state_1.validateState)(JSON.parse(raw));
213
213
  }
214
214
  catch (err) {
215
+ // A newer-than-installed schema is not corruption (#537) — rethrow as
216
+ // itself so callers (`handleKnownError`) can give the specific
217
+ // upgrade-the-engine message instead of "rename or remove it".
218
+ if (err instanceof types_1.EngineTooOldError)
219
+ throw err;
215
220
  throw new CorruptStateError(statePath, err);
216
221
  }
217
222
  }
@@ -259,9 +264,18 @@ class SchedStore {
259
264
  if (parsed.pr_poll_interval_ms !== undefined) {
260
265
  config.pr_poll_interval_ms = requirePositiveIntMs('pr_poll_interval_ms', parsed.pr_poll_interval_ms);
261
266
  }
267
+ if (parsed.label_poll_interval_ms !== undefined) {
268
+ config.label_poll_interval_ms = requirePositiveIntMs('label_poll_interval_ms', parsed.label_poll_interval_ms);
269
+ }
262
270
  if (parsed.dispatch !== undefined) {
263
271
  config.dispatch = validateDispatchConfig(parsed.dispatch);
264
272
  }
273
+ if (parsed.auto_upgrade !== undefined) {
274
+ if (typeof parsed.auto_upgrade !== 'boolean') {
275
+ throw new Error('auto_upgrade must be a boolean');
276
+ }
277
+ config.auto_upgrade = parsed.auto_upgrade;
278
+ }
265
279
  return config;
266
280
  }
267
281
  catch (err) {
@@ -273,8 +287,9 @@ class SchedStore {
273
287
  // reverted (#495 — a `dispatch.*` typo used to look like a narrow issue).
274
288
  console.error(`⚠ Scheduler config ${this.configPath} is unreadable (${err.message}) — ` +
275
289
  `ALL config (max_slots, stall_timeout_ms, reconcile_interval_ms, pr_poll_interval_ms, ` +
276
- `dispatch command/prompt/models/tiers/phase-timeouts/fence-takeover-timeout) reverted to built-in defaults ` +
277
- `(max_slots=${types_1.DEFAULT_MAX_SLOTS}); fix the file and re-run`);
290
+ `label_poll_interval_ms, ` +
291
+ `dispatch command/prompt/models/tiers/phase-timeouts/fence-takeover-timeout, auto_upgrade) ` +
292
+ `reverted to built-in defaults (max_slots=${types_1.DEFAULT_MAX_SLOTS}); fix the file and re-run`);
278
293
  return { max_slots: types_1.DEFAULT_MAX_SLOTS };
279
294
  }
280
295
  }
@@ -291,7 +306,11 @@ class SchedStore {
291
306
  ...(config.pr_poll_interval_ms !== undefined
292
307
  ? { pr_poll_interval_ms: config.pr_poll_interval_ms }
293
308
  : {}),
309
+ ...(config.label_poll_interval_ms !== undefined
310
+ ? { label_poll_interval_ms: config.label_poll_interval_ms }
311
+ : {}),
294
312
  ...(config.dispatch !== undefined ? { dispatch: config.dispatch } : {}),
313
+ ...(config.auto_upgrade !== undefined ? { auto_upgrade: config.auto_upgrade } : {}),
295
314
  };
296
315
  writeAtomic(this.configPath, `${JSON.stringify(file, null, 2)}\n`);
297
316
  }
@@ -1 +1 @@
1
- {"version":3,"file":"persist.js","sourceRoot":"","sources":["../src/persist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persist.js","sourceRoot":"","sources":["../src/persist.ts"],"names":[],"mappings":"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"}
@@ -34,8 +34,14 @@ export type Assignment = {
34
34
  * #464 engine dispatches `issue` units only — batch member sequencing is a
35
35
  * follow-up — so it passes `['issue']` and a `ready` batch never occupies a
36
36
  * slot it cannot run on yet.
37
+ *
38
+ * `exclude` holds unit ids that must not be placed on this call, even though
39
+ * they are runnable. #544's label screen uses it: an issue whose hard-block
40
+ * labels were not confirmed clear by THIS tick's read is deferred rather than
41
+ * dispatched, which is the only way the pre-lock label snapshot can bound a
42
+ * dispatch set that in-lock reconciliation may have grown.
37
43
  */
38
- export declare function computeAssignments(state: SchedState, config: SchedConfig, now?: Date, kinds?: readonly ('issue' | 'batch')[]): {
44
+ export declare function computeAssignments(state: SchedState, config: SchedConfig, now?: Date, kinds?: readonly ('issue' | 'batch')[], exclude?: ReadonlySet<string>): {
39
45
  state: SchedState;
40
46
  assignments: Assignment[];
41
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,kBAAkB,EAClB,KAAK,YAAY,EACjB,aAAa,EACd,MAAM,aAAa,CAAC;AASrB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQjE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAEhD,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMnD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,GAAG,GAAE,IAAiB,EACtB,KAAK,GAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,EAAuB,GACzD;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CA+BlD;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAG3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,GAAG,EAAE,IAAI,EACT,IAAI,GAAE,QAAkB,GACvB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA6BvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,SAAc,EACpB,GAAG,GAAE,IAAiB,GACrB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBhD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,SAAoB,EAC1B,GAAG,GAAE,IAAiB,GACrB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAuB3C"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,kBAAkB,EAClB,KAAK,YAAY,EACjB,aAAa,EACd,MAAM,aAAa,CAAC;AASrB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQjE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,CAAC;AAEhD,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMnD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,GAAG,GAAE,IAAiB,EACtB,KAAK,GAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,EAAuB,EAC1D,OAAO,GAAE,WAAW,CAAC,MAAM,CAAa,GACvC;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CAgClD;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAG3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,GAAG,EAAE,IAAI,EACT,IAAI,GAAE,QAAkB,GACvB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA6BvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAGxE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,SAAc,EACpB,GAAG,GAAE,IAAiB,GACrB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAqBhD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,SAAoB,EAC1B,GAAG,GAAE,IAAiB,GACrB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAuB3C"}
package/dist/scheduler.js CHANGED
@@ -38,8 +38,14 @@ function unitId(unit) {
38
38
  * #464 engine dispatches `issue` units only — batch member sequencing is a
39
39
  * follow-up — so it passes `['issue']` and a `ready` batch never occupies a
40
40
  * slot it cannot run on yet.
41
+ *
42
+ * `exclude` holds unit ids that must not be placed on this call, even though
43
+ * they are runnable. #544's label screen uses it: an issue whose hard-block
44
+ * labels were not confirmed clear by THIS tick's read is deferred rather than
45
+ * dispatched, which is the only way the pre-lock label snapshot can bound a
46
+ * dispatch set that in-lock reconciliation may have grown.
41
47
  */
42
- function computeAssignments(state, config, now = new Date(), kinds = ['issue', 'batch']) {
48
+ function computeAssignments(state, config, now = new Date(), kinds = ['issue', 'batch'], exclude = new Set()) {
43
49
  if (state.paused) {
44
50
  return { state, assignments: [] };
45
51
  }
@@ -49,7 +55,8 @@ function computeAssignments(state, config, now = new Date(), kinds = ['issue', '
49
55
  const held = new Set(state.slots.map((s) => s.unit).filter((u) => u !== null));
50
56
  const candidates = (0, readiness_1.runnableUnits)(state)
51
57
  .filter((unit) => kinds.includes(unit.kind))
52
- .filter((unit) => !held.has(unitId(unit)));
58
+ .filter((unit) => !held.has(unitId(unit)))
59
+ .filter((unit) => !exclude.has(unitId(unit)));
53
60
  const taken = candidates.slice(0, freeCapacity(state, config));
54
61
  if (taken.length === 0) {
55
62
  return { state, assignments: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -38,7 +38,10 @@ export declare function createBatch(id: string, members: readonly number[], now:
38
38
  * duration and dispatch-log boundary are simply unmeasurable until the next
39
39
  * spawn — and 1.6.0 batches backfill `worktree` (null) and `ranges` ([],
40
40
  * pre-#523), no batch having been dispatched before the engine drove batch
41
- * execution, so those are exact too. The
41
+ * execution, so those are exact too; 1.8.0 (pre-#544) states backfill
42
+ * `last_label_poll_at` (null) — no hard-block label re-check ever ran under
43
+ * them, so the first tick after the upgrade polls immediately instead of
44
+ * waiting out a throttle window it has no evidence for. The
42
45
  * inference is entry-status-first, not phase-first: `phase === 'report'` is
43
46
  * exactly the signal #500 proved unreliable for a LIVE report agent (it
44
47
  * drifts to the issue's pre-report milestone under `phase-updated` well
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,eAAe,EAEpB,KAAK,WAAW,EAEhB,KAAK,UAAU,EAIf,KAAK,UAAU,EAEf,KAAK,SAAS,EAEd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AA+HjB,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,UAAU,CAY7C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,IAAI,EACT,IAAI,GAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,CAAC,CAAM,GAC5F,UAAU,CAqBZ;AAoKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CA6QvD;AA0BD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAe/B,CAAC;AAEF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,KAAK,GAAE,OAAO,CAAC,SAAS,CAAM,EAC9B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAiBZ;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,EACjD,GAAG,GAAE,IAAiB,GACrB,UAAU,CAOZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACjD,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,IAAiB,EAKtB,KAAK,GAAE;IAAE,gBAAgB,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAAO,GACxD;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAwB1C;AAID,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEpF;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW;kBACR,WAAW;kBACX,WAAW;iBACZ,UAAU;CACxB,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EAEd,KAAK,eAAe,EAEpB,KAAK,WAAW,EAEhB,KAAK,UAAU,EAIf,KAAK,UAAU,EAEf,KAAK,SAAS,EAEd,KAAK,UAAU,EAEhB,MAAM,SAAS,CAAC;AAoJjB,0EAA0E;AAC1E,wBAAgB,gBAAgB,IAAI,UAAU,CAa7C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,GAAG,EAAE,IAAI,EACT,IAAI,GAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,iBAAiB,CAAC,CAAM,GAC5F,UAAU,CAqBZ;AAoKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAgSvD;AA0BD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,WAAW,EACf,KAAK,GAAE,OAAO,CAAC,UAAU,CAAM,EAC/B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAeZ;AAID;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAe/B,CAAC;AAEF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,UAAU,EACd,KAAK,GAAE,OAAO,CAAC,SAAS,CAAM,EAC9B,GAAG,GAAE,IAAiB,GACrB,UAAU,CAiBZ;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,EACjD,GAAG,GAAE,IAAiB,GACrB,UAAU,CAOZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACjD,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,IAAiB,EAKtB,KAAK,GAAE;IAAE,gBAAgB,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAAO,GACxD;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAwB1C;AAID,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAElF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEpF;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW;kBACR,WAAW;kBACX,WAAW;iBACZ,UAAU;CACxB,CAAC"}
package/dist/state.js CHANGED
@@ -25,6 +25,27 @@ exports.findEntry = findEntry;
25
25
  exports.findBatch = findBatch;
26
26
  const journal_1 = require("./journal");
27
27
  const types_1 = require("./types");
28
+ /**
29
+ * Dotted-numeric version compare, local to this package (#537). Not imported
30
+ * from `cli/src/version.ts`'s `compareVersions` — `packages/sched` has zero
31
+ * runtime dependencies by design (it never invokes an LLM, and sits below
32
+ * `cli` in the build order per `AGENTS.md`); pulling in a `cli` import for a
33
+ * 10-line comparator would invert that boundary. Missing segments count as
34
+ * zero ('1.8' === '1.8.0'). Returns negative if a < b, 0 if equal, positive
35
+ * if a > b; NaN-safe (a non-numeric segment compares as if absent — used
36
+ * only to detect "state schema is numerically newer", never for equality).
37
+ */
38
+ function compareDottedVersions(a, b) {
39
+ const pa = a.split('.').map((p) => Number.parseInt(p, 10) || 0);
40
+ const pb = b.split('.').map((p) => Number.parseInt(p, 10) || 0);
41
+ const len = Math.max(pa.length, pb.length);
42
+ for (let i = 0; i < len; i++) {
43
+ const d = (pa[i] ?? 0) - (pb[i] ?? 0);
44
+ if (d !== 0)
45
+ return d;
46
+ }
47
+ return 0;
48
+ }
28
49
  // --- Transition tables ---
29
50
  const ISSUE_BASE_TRANSITIONS = {
30
51
  queued: ['classified'],
@@ -153,6 +174,7 @@ function createEmptyState() {
153
174
  slots: [],
154
175
  next_slot_id: 1,
155
176
  last_pr_poll_at: null,
177
+ last_label_poll_at: null,
156
178
  consecutive_suspect_dispatches: 0,
157
179
  last_suspect_dispatch_unit: null,
158
180
  };
@@ -350,7 +372,10 @@ function validateBatchRecovery(batch, id) {
350
372
  * duration and dispatch-log boundary are simply unmeasurable until the next
351
373
  * spawn — and 1.6.0 batches backfill `worktree` (null) and `ranges` ([],
352
374
  * pre-#523), no batch having been dispatched before the engine drove batch
353
- * execution, so those are exact too. The
375
+ * execution, so those are exact too; 1.8.0 (pre-#544) states backfill
376
+ * `last_label_poll_at` (null) — no hard-block label re-check ever ran under
377
+ * them, so the first tick after the upgrade polls immediately instead of
378
+ * waiting out a throttle window it has no evidence for. The
354
379
  * inference is entry-status-first, not phase-first: `phase === 'report'` is
355
380
  * exactly the signal #500 proved unreliable for a LIVE report agent (it
356
381
  * drifts to the issue's pre-report milestone under `phase-updated` well
@@ -368,6 +393,13 @@ function validateState(data) {
368
393
  const obj = data;
369
394
  const version = String(obj.schema_version);
370
395
  if (version !== types_1.SCHEMA_VERSION && !types_1.LEGACY_SCHEMA_VERSIONS.includes(version)) {
396
+ // A newer-than-installed schema is not corruption — another (newer)
397
+ // engine wrote this state (#537 AC3). Any other unsupported version
398
+ // string (garbage, a typo, a version from an unrelated fork) keeps the
399
+ // generic "unsupported" error below.
400
+ if (compareDottedVersions(version, types_1.SCHEMA_VERSION) > 0) {
401
+ throw new types_1.EngineTooOldError(version, types_1.SCHEMA_VERSION);
402
+ }
371
403
  throw new Error(`Unsupported schema version: ${version} (expected ${types_1.SCHEMA_VERSION})`);
372
404
  }
373
405
  if (typeof obj.paused !== 'boolean') {
@@ -509,6 +541,11 @@ function validateState(data) {
509
541
  !isIsoDateString(obj.last_pr_poll_at)) {
510
542
  throw new Error('last_pr_poll_at must be an ISO date string or null');
511
543
  }
544
+ if (obj.last_label_poll_at !== null &&
545
+ obj.last_label_poll_at !== undefined &&
546
+ !isIsoDateString(obj.last_label_poll_at)) {
547
+ throw new Error('last_label_poll_at must be an ISO date string or null');
548
+ }
512
549
  if (obj.consecutive_suspect_dispatches !== undefined &&
513
550
  (!Number.isInteger(obj.consecutive_suspect_dispatches) ||
514
551
  obj.consecutive_suspect_dispatches < 0)) {
@@ -593,6 +630,11 @@ function validateState(data) {
593
630
  batches,
594
631
  slots,
595
632
  last_pr_poll_at: obj.last_pr_poll_at ?? null,
633
+ // Pre-#544 (1.8.0) states carry no label-poll timestamp. Null is exact:
634
+ // no label re-check has ever run under them, so the first tick after the
635
+ // upgrade should poll immediately rather than wait out a throttle window
636
+ // it has no evidence for.
637
+ last_label_poll_at: obj.last_label_poll_at ?? null,
596
638
  // Pre-#505 (1.4.0) states carry neither field — no suspect dispatches
597
639
  // have ever been observed under them, so 0/null is exactly correct, not
598
640
  // a lossy guess.