@ai-dossier/sched 0.13.0 → 0.15.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 (56) hide show
  1. package/README.md +102 -18
  2. package/dist/attribution.d.ts +10 -0
  3. package/dist/attribution.d.ts.map +1 -1
  4. package/dist/attribution.js +19 -0
  5. package/dist/attribution.js.map +1 -1
  6. package/dist/batch-dispatch.d.ts.map +1 -1
  7. package/dist/batch-dispatch.js +31 -4
  8. package/dist/batch-dispatch.js.map +1 -1
  9. package/dist/dispatch.d.ts +2 -0
  10. package/dist/dispatch.d.ts.map +1 -1
  11. package/dist/dispatch.js +1 -0
  12. package/dist/dispatch.js.map +1 -1
  13. package/dist/engine.d.ts +18 -0
  14. package/dist/engine.d.ts.map +1 -1
  15. package/dist/engine.js +202 -3
  16. package/dist/engine.js.map +1 -1
  17. package/dist/enqueue.d.ts +5 -7
  18. package/dist/enqueue.d.ts.map +1 -1
  19. package/dist/enqueue.js +10 -12
  20. package/dist/enqueue.js.map +1 -1
  21. package/dist/groundtruth.d.ts +19 -0
  22. package/dist/groundtruth.d.ts.map +1 -1
  23. package/dist/groundtruth.js +32 -0
  24. package/dist/groundtruth.js.map +1 -1
  25. package/dist/index.d.ts +5 -4
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +15 -4
  28. package/dist/index.js.map +1 -1
  29. package/dist/labels.d.ts +58 -0
  30. package/dist/labels.d.ts.map +1 -0
  31. package/dist/labels.js +79 -0
  32. package/dist/labels.js.map +1 -0
  33. package/dist/persist.d.ts.map +1 -1
  34. package/dist/persist.js +13 -0
  35. package/dist/persist.js.map +1 -1
  36. package/dist/recovery.d.ts +35 -0
  37. package/dist/recovery.d.ts.map +1 -1
  38. package/dist/recovery.js +42 -1
  39. package/dist/recovery.js.map +1 -1
  40. package/dist/scheduler.d.ts +7 -1
  41. package/dist/scheduler.d.ts.map +1 -1
  42. package/dist/scheduler.js +9 -2
  43. package/dist/scheduler.js.map +1 -1
  44. package/dist/state.d.ts +4 -1
  45. package/dist/state.d.ts.map +1 -1
  46. package/dist/state.js +24 -2
  47. package/dist/state.js.map +1 -1
  48. package/dist/status.d.ts +7 -0
  49. package/dist/status.d.ts.map +1 -1
  50. package/dist/status.js +1 -0
  51. package/dist/status.js.map +1 -1
  52. package/dist/types.d.ts +64 -4
  53. package/dist/types.d.ts.map +1 -1
  54. package/dist/types.js +11 -3
  55. package/dist/types.js.map +1 -1
  56. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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_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.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.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 = exports.TERMINAL_ISSUE_STATUSES = void 0;
3
+ 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.isReadableVitestReport = exports.failingTest = exports.attributeByOverlap = void 0;
4
+ exports.appendSchedRunLog = exports.resolveFixAttempt = exports.handlePrConflict = exports.expandEvictionGroups = exports.evictMembers = exports.dissolveBatch = exports.createExecMilestonePoster = exports.checkDissolveTrigger = exports.blockBatch = 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 = exports.labelBlockReason = void 0;
5
+ 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 = exports.readDispatchLog = exports.buildSchedRunLogEntry = 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 = exports.PHASES = exports.MIN_MAX_SLOTS = 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; } });
10
+ Object.defineProperty(exports, "isReadableVitestReport", { enumerable: true, get: function () { return attribution_1.isReadableVitestReport; } });
10
11
  Object.defineProperty(exports, "memberOfCommit", { enumerable: true, get: function () { return attribution_1.memberOfCommit; } });
11
12
  Object.defineProperty(exports, "memberRanges", { enumerable: true, get: function () { return attribution_1.memberRanges; } });
12
13
  Object.defineProperty(exports, "offendersOf", { enumerable: true, get: function () { return attribution_1.offendersOf; } });
@@ -75,6 +76,7 @@ Object.defineProperty(exports, "isMemberComplete", { enumerable: true, get: func
75
76
  Object.defineProperty(exports, "isParkedMilestone", { enumerable: true, get: function () { return groundtruth_1.isParkedMilestone; } });
76
77
  Object.defineProperty(exports, "isVerifiedComplete", { enumerable: true, get: function () { return groundtruth_1.isVerifiedComplete; } });
77
78
  Object.defineProperty(exports, "labelNames", { enumerable: true, get: function () { return groundtruth_1.labelNames; } });
79
+ Object.defineProperty(exports, "parseIssueLabelsJson", { enumerable: true, get: function () { return groundtruth_1.parseIssueLabelsJson; } });
78
80
  Object.defineProperty(exports, "parseMilestoneJson", { enumerable: true, get: function () { return groundtruth_1.parseMilestoneJson; } });
79
81
  Object.defineProperty(exports, "parsePrViewJson", { enumerable: true, get: function () { return groundtruth_1.parsePrViewJson; } });
80
82
  Object.defineProperty(exports, "parseSetupInfo", { enumerable: true, get: function () { return groundtruth_1.parseSetupInfo; } });
@@ -87,6 +89,13 @@ Object.defineProperty(exports, "JOURNAL_FILE", { enumerable: true, get: function
87
89
  Object.defineProperty(exports, "Journal", { enumerable: true, get: function () { return journal_1.Journal; } });
88
90
  Object.defineProperty(exports, "readJsonl", { enumerable: true, get: function () { return journal_1.readJsonl; } });
89
91
  Object.defineProperty(exports, "unitEvent", { enumerable: true, get: function () { return journal_1.unitEvent; } });
92
+ // `LABEL_BLOCK_REASON_PREFIX` / `labelBlockReason` also live in `labels.ts`
93
+ // since #544, but stay exported through `./enqueue` above — that is where
94
+ // they were first public, and re-exporting them twice would collide.
95
+ var labels_1 = require("./labels");
96
+ Object.defineProperty(exports, "HARD_BLOCK_LABELS", { enumerable: true, get: function () { return labels_1.HARD_BLOCK_LABELS; } });
97
+ Object.defineProperty(exports, "labelOfBlockReason", { enumerable: true, get: function () { return labels_1.labelOfBlockReason; } });
98
+ Object.defineProperty(exports, "pickHardBlockLabel", { enumerable: true, get: function () { return labels_1.pickHardBlockLabel; } });
90
99
  var persist_1 = require("./persist");
91
100
  Object.defineProperty(exports, "CorruptStateError", { enumerable: true, get: function () { return persist_1.CorruptStateError; } });
92
101
  Object.defineProperty(exports, "LockTimeoutError", { enumerable: true, get: function () { return persist_1.LockTimeoutError; } });
@@ -103,6 +112,7 @@ Object.defineProperty(exports, "DISPATCHABLE_ISSUE_STATUSES", { enumerable: true
103
112
  var recovery_1 = require("./recovery");
104
113
  Object.defineProperty(exports, "beginAttribution", { enumerable: true, get: function () { return recovery_1.beginAttribution; } });
105
114
  Object.defineProperty(exports, "beginFixAttempt", { enumerable: true, get: function () { return recovery_1.beginFixAttempt; } });
115
+ Object.defineProperty(exports, "blockBatch", { enumerable: true, get: function () { return recovery_1.blockBatch; } });
106
116
  Object.defineProperty(exports, "checkDissolveTrigger", { enumerable: true, get: function () { return recovery_1.checkDissolveTrigger; } });
107
117
  Object.defineProperty(exports, "createExecMilestonePoster", { enumerable: true, get: function () { return recovery_1.createExecMilestonePoster; } });
108
118
  Object.defineProperty(exports, "dissolveBatch", { enumerable: true, get: function () { return recovery_1.dissolveBatch; } });
@@ -149,6 +159,7 @@ Object.defineProperty(exports, "TEARDOWN_TIMEOUT_MS", { enumerable: true, get: f
149
159
  var types_1 = require("./types");
150
160
  Object.defineProperty(exports, "BATCH_PHASES", { enumerable: true, get: function () { return types_1.BATCH_PHASES; } });
151
161
  Object.defineProperty(exports, "CONFIG_SCHEMA_VERSION", { enumerable: true, get: function () { return types_1.CONFIG_SCHEMA_VERSION; } });
162
+ Object.defineProperty(exports, "DEFAULT_LABEL_POLL_INTERVAL_MS", { enumerable: true, get: function () { return types_1.DEFAULT_LABEL_POLL_INTERVAL_MS; } });
152
163
  Object.defineProperty(exports, "DEFAULT_MAX_SLOTS", { enumerable: true, get: function () { return types_1.DEFAULT_MAX_SLOTS; } });
153
164
  Object.defineProperty(exports, "DEFAULT_PHASE_STALL_TIMEOUT_MS", { enumerable: true, get: function () { return types_1.DEFAULT_PHASE_STALL_TIMEOUT_MS; } });
154
165
  Object.defineProperty(exports, "DEFAULT_PR_POLL_INTERVAL_MS", { enumerable: true, get: function () { return types_1.DEFAULT_PR_POLL_INTERVAL_MS; } });
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,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;IA8DzB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;CAkBtC"}
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
@@ -264,6 +264,9 @@ class SchedStore {
264
264
  if (parsed.pr_poll_interval_ms !== undefined) {
265
265
  config.pr_poll_interval_ms = requirePositiveIntMs('pr_poll_interval_ms', parsed.pr_poll_interval_ms);
266
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
+ }
267
270
  if (parsed.dispatch !== undefined) {
268
271
  config.dispatch = validateDispatchConfig(parsed.dispatch);
269
272
  }
@@ -284,6 +287,7 @@ class SchedStore {
284
287
  // reverted (#495 — a `dispatch.*` typo used to look like a narrow issue).
285
288
  console.error(`⚠ Scheduler config ${this.configPath} is unreadable (${err.message}) — ` +
286
289
  `ALL config (max_slots, stall_timeout_ms, reconcile_interval_ms, pr_poll_interval_ms, ` +
290
+ `label_poll_interval_ms, ` +
287
291
  `dispatch command/prompt/models/tiers/phase-timeouts/fence-takeover-timeout, auto_upgrade) ` +
288
292
  `reverted to built-in defaults (max_slots=${types_1.DEFAULT_MAX_SLOTS}); fix the file and re-run`);
289
293
  return { max_slots: types_1.DEFAULT_MAX_SLOTS };
@@ -302,6 +306,9 @@ class SchedStore {
302
306
  ...(config.pr_poll_interval_ms !== undefined
303
307
  ? { pr_poll_interval_ms: config.pr_poll_interval_ms }
304
308
  : {}),
309
+ ...(config.label_poll_interval_ms !== undefined
310
+ ? { label_poll_interval_ms: config.label_poll_interval_ms }
311
+ : {}),
305
312
  ...(config.dispatch !== undefined ? { dispatch: config.dispatch } : {}),
306
313
  ...(config.auto_upgrade !== undefined ? { auto_upgrade: config.auto_upgrade } : {}),
307
314
  };
@@ -368,6 +375,9 @@ function validateDispatchConfig(raw) {
368
375
  if (dispatch.batch_tail_prompt !== undefined && typeof dispatch.batch_tail_prompt !== 'string') {
369
376
  throw new Error('dispatch.batch_tail_prompt must be a string');
370
377
  }
378
+ if (dispatch.suite_command !== undefined) {
379
+ requireNonEmptyStringArray('dispatch.suite_command', dispatch.suite_command);
380
+ }
371
381
  if (dispatch.batch_report_prompt !== undefined &&
372
382
  typeof dispatch.batch_report_prompt !== 'string') {
373
383
  throw new Error('dispatch.batch_report_prompt must be a string');
@@ -418,6 +428,9 @@ function validateDispatchConfig(raw) {
418
428
  if (dispatch.batch_tail_prompt !== undefined) {
419
429
  out.batch_tail_prompt = dispatch.batch_tail_prompt;
420
430
  }
431
+ if (dispatch.suite_command !== undefined) {
432
+ out.suite_command = dispatch.suite_command;
433
+ }
421
434
  if (dispatch.batch_report_prompt !== undefined) {
422
435
  out.batch_report_prompt = dispatch.batch_report_prompt;
423
436
  }
@@ -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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"}
@@ -37,6 +37,17 @@ export interface SuiteResult {
37
37
  ok: boolean;
38
38
  /** Failing tests when `ok` is false (empty when the suite passed). */
39
39
  failing: FailingTest[];
40
+ /**
41
+ * Whether the runner could actually parse a report out of the suite run
42
+ * (#562) — irrelevant when `ok` is true. `false` means the report itself
43
+ * was empty, unparseable, or never produced at all (spawn error, timeout),
44
+ * which is NOT the same as a parseable report naming zero failures: a
45
+ * caller that dissolves a batch on "0 failing tests to attribute" must be
46
+ * able to tell those two apart first. Omitted defaults to `true` — runners
47
+ * written before this field existed keep going through the ordinary
48
+ * attribution path unchanged.
49
+ */
50
+ readable?: boolean;
40
51
  detail?: string;
41
52
  }
42
53
  /** Re-runs the aggregate suite in the batch checkout (AC2: after every revert/rebase). */
@@ -239,6 +250,30 @@ export interface DissolveOutcome {
239
250
  * deletes nothing, so an operator can still inspect what the batch built.
240
251
  */
241
252
  export declare function dissolveBatch(state: SchedState, batchId: string, opts: DissolveOptions, deps: RecoveryDeps): DissolveOutcome;
253
+ export interface BlockOptions {
254
+ reason: string;
255
+ /** Milestone phase to report under (default `batch-validate`). */
256
+ milestonePhase?: BatchPhase;
257
+ }
258
+ /**
259
+ * Block a batch on an unreadable suite report (#562) — unlike `dissolveBatch`,
260
+ * nothing is requeued and nothing is reverted. The failure here is in the
261
+ * SUITE REPORT, not in any member's code: `runValidate` reaches this only
262
+ * after the resolved suite command came back unreadable (and, when the
263
+ * resolved primary tier was cap/config, its one fallback retry too — a
264
+ * repo-detected primary has no further fallback and blocks on its first
265
+ * unreadable report), so there is no failing-test list to attribute and no
266
+ * member to blame. The branch, every member commit, and the worktree are left
267
+ * exactly as they are (the caller must not tear the worktree down) so a human
268
+ * can inspect why the suite command failed to produce a report — dissolving
269
+ * here would discard a possibly-green batch's work to "fix" a problem in
270
+ * tooling, not in the code (docs/agent-traps.md). The `validating` transition
271
+ * below is where a future resume verb would land once the suite command is
272
+ * fixed; today's only real exit from `blocked` is `sched abandon --batch`.
273
+ */
274
+ export declare function blockBatch(state: SchedState, batchId: string, opts: BlockOptions, deps: RecoveryDeps): {
275
+ state: SchedState;
276
+ };
242
277
  export type PrConflictAction = 'reship' | 'dissolved';
243
278
  export interface PrConflictOutcome {
244
279
  state: SchedState;
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"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"}
package/dist/recovery.js CHANGED
@@ -38,6 +38,7 @@ exports.expandEvictionGroups = expandEvictionGroups;
38
38
  exports.evictMembers = evictMembers;
39
39
  exports.checkDissolveTrigger = checkDissolveTrigger;
40
40
  exports.dissolveBatch = dissolveBatch;
41
+ exports.blockBatch = blockBatch;
41
42
  exports.handlePrConflict = handlePrConflict;
42
43
  const attribution_1 = require("./attribution");
43
44
  const bisect_1 = require("./bisect");
@@ -95,7 +96,9 @@ function runSuite(deps, batchId, now) {
95
96
  catch (err) {
96
97
  const detail = `suite runner threw: ${err.message}`;
97
98
  journal(deps, (0, journal_1.unitEvent)('suite-failed', `batch:${batchId}`, { detail }), now);
98
- return { ok: false, failing: [], detail };
99
+ // Consistent with SuiteResult.readable's contract (#562): a throw is "no
100
+ // report produced", not a parseable report naming zero failures.
101
+ return { ok: false, failing: [], readable: false, detail };
99
102
  }
100
103
  }
101
104
  function journal(deps, event, now) {
@@ -655,6 +658,37 @@ function dissolveBatch(state, batchId, opts, deps) {
655
658
  }, now);
656
659
  return { state: next, requeued, preserved, newBatches };
657
660
  }
661
+ /**
662
+ * Block a batch on an unreadable suite report (#562) — unlike `dissolveBatch`,
663
+ * nothing is requeued and nothing is reverted. The failure here is in the
664
+ * SUITE REPORT, not in any member's code: `runValidate` reaches this only
665
+ * after the resolved suite command came back unreadable (and, when the
666
+ * resolved primary tier was cap/config, its one fallback retry too — a
667
+ * repo-detected primary has no further fallback and blocks on its first
668
+ * unreadable report), so there is no failing-test list to attribute and no
669
+ * member to blame. The branch, every member commit, and the worktree are left
670
+ * exactly as they are (the caller must not tear the worktree down) so a human
671
+ * can inspect why the suite command failed to produce a report — dissolving
672
+ * here would discard a possibly-green batch's work to "fix" a problem in
673
+ * tooling, not in the code (docs/agent-traps.md). The `validating` transition
674
+ * below is where a future resume verb would land once the suite command is
675
+ * fixed; today's only real exit from `blocked` is `sched abandon --batch`.
676
+ */
677
+ function blockBatch(state, batchId, opts, deps) {
678
+ const now = clock(deps);
679
+ const batch = batchOrThrow(state, batchId);
680
+ if (types_1.TERMINAL_BATCH_STATUSES.has(batch.status)) {
681
+ throw new types_1.IllegalTransitionError('batch', batch.status, 'blocked');
682
+ }
683
+ const next = (0, state_1.transitionBatch)(state, batchId, 'blocked', {}, now);
684
+ journal(deps, (0, journal_1.unitEvent)('batch-blocked', `batch:${batchId}`, { detail: opts.reason }), now);
685
+ post(deps, batchOrThrow(next, batchId), {
686
+ phase: opts.milestonePhase ?? 'batch-validate',
687
+ status: 'blocked',
688
+ kv: { reason: opts.reason, dissolved: 'false' },
689
+ }, now);
690
+ return { state: next };
691
+ }
658
692
  /**
659
693
  * The batch PR came back CONFLICTING or `auto-merge-blocked` (AC4).
660
694
  *
@@ -715,6 +749,13 @@ function handlePrConflict(state, batchId, deps, opts = {}) {
715
749
  journal(deps, (0, journal_1.unitEvent)('batch-rebased', `batch:${batchId}`, { detail: base }), now);
716
750
  next = (0, state_1.transitionBatch)(next, batchId, 're-validating', {}, now);
717
751
  const suite = runSuite(deps, batchId, now);
752
+ // NOTE (#562 scope boundary): unlike `runValidate`'s primary gate, this
753
+ // post-rebase re-validate does not yet consult `suite.readable` — an
754
+ // unreadable report here still halves rather than blocks. `handlePrConflict`
755
+ // already dissolves by design on ANY red suite after its one rebase attempt
756
+ // (docstring above), a different, narrower recovery policy than the primary
757
+ // `validating` rail; giving it its own unreadable→blocked branch is a
758
+ // follow-up, not part of this issue's stated scope (#562).
718
759
  if (suite !== null && !suite.ok) {
719
760
  return bailToHalves(next, 'rebase-suite-red', true, suite);
720
761
  }