@ai-dossier/sched 0.2.0 → 0.3.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 (58) hide show
  1. package/README.md +85 -17
  2. package/dist/dispatch.d.ts +128 -0
  3. package/dist/dispatch.d.ts.map +1 -0
  4. package/dist/dispatch.js +300 -0
  5. package/dist/dispatch.js.map +1 -0
  6. package/dist/engine.d.ts +111 -0
  7. package/dist/engine.d.ts.map +1 -0
  8. package/dist/engine.js +936 -0
  9. package/dist/engine.js.map +1 -0
  10. package/dist/enqueue.d.ts +38 -0
  11. package/dist/enqueue.d.ts.map +1 -0
  12. package/dist/enqueue.js +222 -0
  13. package/dist/enqueue.js.map +1 -0
  14. package/dist/groundtruth.d.ts +135 -0
  15. package/dist/groundtruth.d.ts.map +1 -0
  16. package/dist/groundtruth.js +259 -0
  17. package/dist/groundtruth.js.map +1 -0
  18. package/dist/index.d.ts +14 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +101 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/journal.d.ts +32 -0
  23. package/dist/journal.d.ts.map +1 -0
  24. package/dist/journal.js +113 -0
  25. package/dist/journal.js.map +1 -0
  26. package/dist/persist.d.ts +54 -0
  27. package/dist/persist.d.ts.map +1 -0
  28. package/dist/persist.js +348 -0
  29. package/dist/persist.js.map +1 -0
  30. package/dist/project.d.ts +41 -0
  31. package/dist/project.d.ts.map +1 -0
  32. package/dist/project.js +124 -0
  33. package/dist/project.js.map +1 -0
  34. package/dist/readiness.d.ts +43 -0
  35. package/dist/readiness.d.ts.map +1 -0
  36. package/dist/readiness.js +102 -0
  37. package/dist/readiness.js.map +1 -0
  38. package/dist/scheduler.d.ts +78 -0
  39. package/dist/scheduler.d.ts.map +1 -0
  40. package/dist/scheduler.js +191 -0
  41. package/dist/scheduler.js.map +1 -0
  42. package/dist/state.d.ts +40 -0
  43. package/dist/state.d.ts.map +1 -0
  44. package/dist/state.js +391 -0
  45. package/dist/state.js.map +1 -0
  46. package/dist/status.d.ts +44 -0
  47. package/dist/status.d.ts.map +1 -0
  48. package/dist/status.js +82 -0
  49. package/dist/status.js.map +1 -0
  50. package/dist/teardown.d.ts +57 -0
  51. package/dist/teardown.d.ts.map +1 -0
  52. package/dist/teardown.js +242 -0
  53. package/dist/teardown.js.map +1 -0
  54. package/dist/types.d.ts +253 -0
  55. package/dist/types.d.ts.map +1 -0
  56. package/dist/types.js +91 -0
  57. package/dist/types.js.map +1 -0
  58. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Enqueue: accept queue entries from CLI flags or a batch-prep manifest
3
+ * (RFC-0001 §C.1 — "queue entries (issue → mode, batch membership, deps, tier)
4
+ * written by batch-prep"). Pure validation + state mutation: rejects duplicate
5
+ * active issues, mode/batch mismatches, self-dependencies, and dependency
6
+ * cycles at enqueue time rather than at assignment time.
7
+ */
8
+ import type { CycleMode, ModelTier, SchedState } from './types';
9
+ export declare class EnqueueError extends Error {
10
+ constructor(message: string);
11
+ }
12
+ /** One unit of work as provided by flags or a manifest (defaults applied by `enqueueEntries`). */
13
+ export interface EnqueueInput {
14
+ issue: number;
15
+ mode?: CycleMode;
16
+ batch?: string | null;
17
+ deps?: number[];
18
+ tier?: ModelTier;
19
+ base_branch?: string;
20
+ }
21
+ /**
22
+ * Parse a `--from-manifest` payload. Accepts either a bare array of entries or
23
+ * `{ "project": "...", "entries": [...] }` (the batch-prep output shape;
24
+ * `project` is accepted and ignored — the CLI resolves the project itself).
25
+ */
26
+ export declare function parseManifest(raw: unknown): EnqueueInput[];
27
+ /**
28
+ * Dependency-cycle detection over the combined graph (existing entries +
29
+ * inputs). Deps pointing at issues not in the graph are allowed — they stay
30
+ * permanently unsatisfied and surface in `sched status`'s blocked set.
31
+ */
32
+ export declare function assertNoDependencyCycle(state: SchedState, inputs: EnqueueInput[]): void;
33
+ /**
34
+ * Append validated entries to the queue (AC1). Returns the new state; throws
35
+ * `EnqueueError` on any rejection — the caller saves nothing when it throws.
36
+ */
37
+ export declare function enqueueEntries(state: SchedState, inputs: EnqueueInput[], now?: Date): SchedState;
38
+ //# sourceMappingURL=enqueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enqueue.d.ts","sourceRoot":"","sources":["../src/enqueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAG5E,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,kGAAkG;AAClG,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AASD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,EAAE,CAiD1D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAiCvF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,YAAY,EAAE,EACtB,GAAG,GAAE,IAAiB,GACrB,UAAU,CA0GZ"}
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ /**
3
+ * Enqueue: accept queue entries from CLI flags or a batch-prep manifest
4
+ * (RFC-0001 §C.1 — "queue entries (issue → mode, batch membership, deps, tier)
5
+ * written by batch-prep"). Pure validation + state mutation: rejects duplicate
6
+ * active issues, mode/batch mismatches, self-dependencies, and dependency
7
+ * cycles at enqueue time rather than at assignment time.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.EnqueueError = void 0;
11
+ exports.parseManifest = parseManifest;
12
+ exports.assertNoDependencyCycle = assertNoDependencyCycle;
13
+ exports.enqueueEntries = enqueueEntries;
14
+ const state_1 = require("./state");
15
+ const types_1 = require("./types");
16
+ class EnqueueError extends Error {
17
+ constructor(message) {
18
+ super(message);
19
+ this.name = 'EnqueueError';
20
+ }
21
+ }
22
+ exports.EnqueueError = EnqueueError;
23
+ function asPositiveInt(value, label) {
24
+ if (!Number.isInteger(value) || value <= 0) {
25
+ throw new EnqueueError(`${label} must be a positive integer, got ${String(value)}`);
26
+ }
27
+ return value;
28
+ }
29
+ /**
30
+ * Parse a `--from-manifest` payload. Accepts either a bare array of entries or
31
+ * `{ "project": "...", "entries": [...] }` (the batch-prep output shape;
32
+ * `project` is accepted and ignored — the CLI resolves the project itself).
33
+ */
34
+ function parseManifest(raw) {
35
+ const list = Array.isArray(raw)
36
+ ? raw
37
+ : raw && typeof raw === 'object' && Array.isArray(raw.entries)
38
+ ? raw.entries
39
+ : null;
40
+ if (list === null) {
41
+ throw new EnqueueError('Manifest must be a JSON array of entries or { "entries": [...] }');
42
+ }
43
+ return list.map((item, i) => {
44
+ if (!item || typeof item !== 'object') {
45
+ throw new EnqueueError(`Manifest entry [${i}] must be an object`);
46
+ }
47
+ const obj = item;
48
+ const input = {
49
+ issue: asPositiveInt(obj.issue, `Manifest entry [${i}]: issue`),
50
+ };
51
+ if (obj.mode !== undefined) {
52
+ if (obj.mode !== 'full' && obj.mode !== 'slot') {
53
+ throw new EnqueueError(`Manifest entry [${i}]: mode must be 'full' or 'slot'`);
54
+ }
55
+ input.mode = obj.mode;
56
+ }
57
+ if (obj.batch !== undefined && obj.batch !== null) {
58
+ if (typeof obj.batch !== 'string' || obj.batch.length === 0) {
59
+ throw new EnqueueError(`Manifest entry [${i}]: batch must be a non-empty string`);
60
+ }
61
+ input.batch = obj.batch;
62
+ }
63
+ if (obj.deps !== undefined) {
64
+ if (!Array.isArray(obj.deps)) {
65
+ throw new EnqueueError(`Manifest entry [${i}]: deps must be an array`);
66
+ }
67
+ input.deps = obj.deps.map((d, j) => asPositiveInt(d, `Manifest entry [${i}]: deps[${j}]`));
68
+ }
69
+ if (obj.tier !== undefined) {
70
+ if (obj.tier !== 'mechanical' && obj.tier !== 'mid' && obj.tier !== 'strong') {
71
+ throw new EnqueueError(`Manifest entry [${i}]: tier must be mechanical | mid | strong`);
72
+ }
73
+ input.tier = obj.tier;
74
+ }
75
+ if (obj.base_branch !== undefined) {
76
+ if (typeof obj.base_branch !== 'string' || obj.base_branch.length === 0) {
77
+ throw new EnqueueError(`Manifest entry [${i}]: base_branch must be a non-empty string`);
78
+ }
79
+ input.base_branch = obj.base_branch;
80
+ }
81
+ return input;
82
+ });
83
+ }
84
+ /**
85
+ * Dependency-cycle detection over the combined graph (existing entries +
86
+ * inputs). Deps pointing at issues not in the graph are allowed — they stay
87
+ * permanently unsatisfied and surface in `sched status`'s blocked set.
88
+ */
89
+ function assertNoDependencyCycle(state, inputs) {
90
+ const edges = new Map();
91
+ for (const entry of state.entries) {
92
+ edges.set(entry.issue, [...entry.deps]);
93
+ }
94
+ for (const input of inputs) {
95
+ const existing = edges.get(input.issue) ?? [];
96
+ edges.set(input.issue, [...existing, ...(input.deps ?? [])]);
97
+ }
98
+ const WHITE = 0;
99
+ const GRAY = 1;
100
+ const BLACK = 2;
101
+ const color = new Map();
102
+ const visit = (node, stack) => {
103
+ const c = color.get(node) ?? WHITE;
104
+ if (c === BLACK)
105
+ return;
106
+ if (c === GRAY) {
107
+ const cycleStart = stack.indexOf(node);
108
+ const cycle = [...stack.slice(cycleStart), node].join(' → ');
109
+ throw new EnqueueError(`Dependency cycle detected: ${cycle}`);
110
+ }
111
+ color.set(node, GRAY);
112
+ for (const dep of edges.get(node) ?? []) {
113
+ if (edges.has(dep))
114
+ visit(dep, [...stack, node]);
115
+ }
116
+ color.set(node, BLACK);
117
+ };
118
+ for (const node of edges.keys()) {
119
+ visit(node, []);
120
+ }
121
+ }
122
+ /**
123
+ * Append validated entries to the queue (AC1). Returns the new state; throws
124
+ * `EnqueueError` on any rejection — the caller saves nothing when it throws.
125
+ */
126
+ function enqueueEntries(state, inputs, now = new Date()) {
127
+ if (inputs.length === 0) {
128
+ throw new EnqueueError('No entries to enqueue');
129
+ }
130
+ const seen = new Set();
131
+ for (const input of inputs) {
132
+ asPositiveInt(input.issue, 'issue');
133
+ if (input.deps?.includes(input.issue)) {
134
+ throw new EnqueueError(`Issue ${input.issue} cannot depend on itself`);
135
+ }
136
+ if (seen.has(input.issue)) {
137
+ throw new EnqueueError(`Duplicate issue in enqueue input: ${input.issue}`);
138
+ }
139
+ // The persistence boundary: enqueue must only ever produce state that
140
+ // validateState (and therefore the next load) accepts.
141
+ if (input.batch !== undefined && input.batch !== null && input.batch.length === 0) {
142
+ throw new EnqueueError(`Issue ${input.issue}: batch must be a non-empty string`);
143
+ }
144
+ if (input.mode !== undefined && input.mode !== 'full' && input.mode !== 'slot') {
145
+ throw new EnqueueError(`Issue ${input.issue}: mode must be 'full' or 'slot'`);
146
+ }
147
+ if (input.tier !== undefined &&
148
+ input.tier !== 'mechanical' &&
149
+ input.tier !== 'mid' &&
150
+ input.tier !== 'strong') {
151
+ throw new EnqueueError(`Issue ${input.issue}: tier must be mechanical | mid | strong`);
152
+ }
153
+ seen.add(input.issue);
154
+ }
155
+ for (const input of inputs) {
156
+ const existing = state.entries.find((e) => e.issue === input.issue);
157
+ if (existing && !types_1.TERMINAL_ISSUE_STATUSES.has(existing.status)) {
158
+ throw new EnqueueError(`Issue ${input.issue} is already in the queue (status: ${existing.status})`);
159
+ }
160
+ }
161
+ assertNoDependencyCycle(state, inputs);
162
+ const timestamp = now.toISOString();
163
+ const entries = inputs.map((input) => {
164
+ const mode = input.mode ?? 'full';
165
+ const batch = input.batch ?? null;
166
+ if (mode === 'slot' && batch === null) {
167
+ throw new EnqueueError(`Issue ${input.issue}: slot mode requires a batch id`);
168
+ }
169
+ if (mode === 'full' && batch !== null) {
170
+ throw new EnqueueError(`Issue ${input.issue}: full mode cannot carry a batch id`);
171
+ }
172
+ return {
173
+ issue: input.issue,
174
+ mode,
175
+ batch,
176
+ deps: input.deps ? [...input.deps] : [],
177
+ tier: input.tier ?? 'mid',
178
+ status: 'queued',
179
+ reason: null,
180
+ pr: null,
181
+ cleanup: null,
182
+ enqueued_at: timestamp,
183
+ updated_at: timestamp,
184
+ };
185
+ });
186
+ // Create batches for unseen slot batch ids; reject joining a batch that has
187
+ // already left `forming` (composition is frozen when the batch seals). Only
188
+ // batches actually joined get `updated_at` bumped — a blanket rewrite would
189
+ // churn the audit signal on every enqueue.
190
+ const batches = state.batches.map((b) => ({ ...b }));
191
+ for (const input of inputs) {
192
+ const batchId = input.batch;
193
+ if (batchId === null || batchId === undefined)
194
+ continue;
195
+ const existing = (0, state_1.findBatch)({ ...state, batches }, batchId);
196
+ if (existing) {
197
+ if (existing.status !== 'forming') {
198
+ throw new EnqueueError(`Batch ${batchId} is ${existing.status} — members can only join while forming`);
199
+ }
200
+ if (input.base_branch !== undefined && input.base_branch !== existing.base_branch) {
201
+ throw new EnqueueError(`Batch ${batchId} was enqueued with base '${existing.base_branch}' — refusing to silently rebase it to '${input.base_branch}'`);
202
+ }
203
+ if (existing.members.includes(input.issue))
204
+ continue;
205
+ existing.members = [...existing.members, input.issue];
206
+ existing.updated_at = timestamp;
207
+ }
208
+ else {
209
+ batches.push({
210
+ id: batchId,
211
+ status: 'forming',
212
+ members: [input.issue],
213
+ base_branch: input.base_branch ?? 'main',
214
+ executing_member: 0,
215
+ created_at: timestamp,
216
+ updated_at: timestamp,
217
+ });
218
+ }
219
+ }
220
+ return { ...state, entries: [...state.entries, ...entries], batches };
221
+ }
222
+ //# sourceMappingURL=enqueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enqueue.js","sourceRoot":"","sources":["../src/enqueue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Ground truth for completion verification (#464, AC2 — "an agent exiting is
3
+ * never proof of completion"). The engine never trusts the spawned agent's own
4
+ * exit; it reconciles the claimed state against the durable sources — the
5
+ * issue's runstate milestone trail (`ai-dossier runstate last`), GitHub
6
+ * itself (`gh issue view`), and `git ls-remote` for the "new pushed commit"
7
+ * stall signal. #468 adds the parked-PR state (`gh pr view`) and the setup
8
+ * milestone's teardown keys (`gh issue view --json comments`).
9
+ *
10
+ * Everything is injectable (the `ExecFn` pattern from project.ts): tests —
11
+ * and any consumer — supply fake ground truth and no subprocess runs.
12
+ */
13
+ import { type ExecFn } from './project';
14
+ /** The latest runstate milestone on an issue, as `runstate last --json` reports it. */
15
+ export interface GroundTruthMilestone {
16
+ phase: string;
17
+ status: string;
18
+ run: string;
19
+ at: string;
20
+ /** Every `key=value` line of the milestone, including the header's. */
21
+ keys: Record<string, string>;
22
+ }
23
+ /**
24
+ * A parked PR's GitHub state (#468 AC1) — the exact fields the watcher
25
+ * decides on, from `gh pr view --json state,mergedAt,mergeable,labels`.
26
+ */
27
+ export interface PrTruth {
28
+ /** GitHub PR state: OPEN | MERGED | CLOSED. */
29
+ state: 'OPEN' | 'MERGED' | 'CLOSED';
30
+ /** Set only for a genuinely merged PR (never inferred from state alone). */
31
+ mergedAt: string | null;
32
+ /** Mergeability as GitHub reports it; UNKNOWN while it is still computing. */
33
+ mergeable: 'MERGEABLE' | 'CONFLICTING' | 'UNKNOWN' | null;
34
+ /** True when the PR carries the `auto-merge-blocked` label (the watcher's block signal). */
35
+ blocked: boolean;
36
+ }
37
+ /** Teardown inputs recovered from a run's `setup` milestone (#468 AC2). */
38
+ export interface SetupInfo {
39
+ /** Absolute worktree path (`worktree=` key of the setup milestone). */
40
+ worktree: string;
41
+ /** Whether the worktree was claimed from the pool (`pool_claimed=true`). */
42
+ poolClaimed: boolean;
43
+ /**
44
+ * The unit's working branch (`branch=` key), when the milestone carried it.
45
+ * Currently unused by `runTeardown` — recovered for operator/debugging
46
+ * value and future pool operations (e.g. branch pruning).
47
+ */
48
+ branch: string | null;
49
+ }
50
+ export interface GroundTruth {
51
+ /**
52
+ * Latest runstate milestone on the issue. **Tri-state (decision 2, option
53
+ * A):** an object = the milestone; `null` = the issue verifiably has NO
54
+ * milestone (known-absent); `undefined` = the poll FAILED (unreachable —
55
+ * gh auth expired, `ai-dossier` missing, network down). Callers must PAUSE
56
+ * decisions that need truth (stall, verify-fail) while unreachable, never
57
+ * treat it as "no progress".
58
+ */
59
+ latestMilestone(issue: number): GroundTruthMilestone | null | undefined;
60
+ /**
61
+ * Whether the GitHub issue is CLOSED (a merged PR auto-closes it). False
62
+ * when unreachable — an unreachable poll can never *confirm* completion,
63
+ * which is the only direction this signal is used in.
64
+ */
65
+ issueClosed(issue: number): boolean;
66
+ /** Current head sha of `branch` on origin, or null when unknown/absent/unreachable. */
67
+ branchHead(branch: string): string | null;
68
+ /**
69
+ * A parked PR's GitHub state (#468). Same tri-state: `undefined` = poll
70
+ * FAILED (unreachable — watcher decisions pause); an object = the truth.
71
+ */
72
+ prState(pr: number): PrTruth | undefined;
73
+ /**
74
+ * Teardown inputs from the issue's `setup` milestone (#468): `null` = the
75
+ * issue verifiably has no setup milestone; `undefined` = poll FAILED.
76
+ */
77
+ setupInfo(issue: number): SetupInfo | null | undefined;
78
+ }
79
+ /**
80
+ * Default exec for ground-truth calls: like project.ts's `defaultExec` (never
81
+ * throws) but with a hard timeout so a hung `gh`/`git` cannot stall a tick
82
+ * indefinitely (ground truth is polled outside the state lock), and a failure
83
+ * observer that warns on stderr — a broken ground-truth environment (gh auth
84
+ * expired, `ai-dossier` missing from a cron PATH) is never silent.
85
+ */
86
+ export declare const groundTruthExec: ExecFn;
87
+ /** Parse the stdout of `ai-dossier runstate last --issue N --json`. */
88
+ export declare function parseMilestoneJson(stdout: string | null): GroundTruthMilestone | null;
89
+ /**
90
+ * Ground truth backed by subprocess calls:
91
+ * - `ai-dossier runstate last --issue N --json` — the milestone trail
92
+ * - `gh issue view N --json state --jq .state` — issue closed
93
+ * - `git ls-remote origin <branch>` — branch head
94
+ * - `gh pr view <n> --json state,mergedAt,mergeable,labels` — parked-PR state (#468)
95
+ * - `gh issue view N --json comments` — the setup milestone's teardown keys (#468)
96
+ *
97
+ * `repoDir` is the cwd for git; gh resolves the repo from cwd by default.
98
+ * Every failure degrades safely: a failed milestone/PR poll reports UNREACHABLE
99
+ * (undefined — decision 2, option A), a failed closed-poll reports false, a
100
+ * failed head-poll null. Ground truth being unreachable pauses the engine's
101
+ * stall/verify/watch decisions; it never crashes a tick.
102
+ */
103
+ export declare function createExecGroundTruth(exec?: ExecFn, opts?: {
104
+ repoDir?: string;
105
+ runstateBin?: string;
106
+ }): GroundTruth;
107
+ /** Parse the stdout of `gh pr view --json state,mergedAt,mergeable,labels`. */
108
+ export declare function parsePrViewJson(stdout: string | null): PrTruth | null;
109
+ /**
110
+ * Parse the stdout of `gh issue view --json comments` and recover the teardown
111
+ * inputs from the run's `setup done` milestone comment (#468). Milestone
112
+ * comments carry a `<!-- runstate:v1 -->` marker followed by `key=value`
113
+ * lines; the setup milestone is the one whose header starts `phase=setup`.
114
+ * Comments from non-collaborators (authorAssociation outside
115
+ * OWNER/MEMBER/COLLABORATOR) are skipped — teardown inputs feed destructive
116
+ * scripts, so a random commenter cannot supply them. Returns null when no
117
+ * usable setup milestone exists (verifiably).
118
+ */
119
+ export declare function parseSetupInfo(commentsJson: string | null): SetupInfo | null;
120
+ /** The `pr=` key of a milestone as a positive integer, or null when absent/malformed. */
121
+ export declare function prOfMilestone(milestone: GroundTruthMilestone | null): number | null;
122
+ /**
123
+ * The detached-ship park signal (#468): the latest milestone is the ship
124
+ * phase's `awaiting-merge` record carrying a `pr=` key. Such an exit is a
125
+ * VERIFIED park, not an unverified exit — the watcher takes over from here.
126
+ */
127
+ export declare function isParkedMilestone(milestone: GroundTruthMilestone | null): milestone is GroundTruthMilestone;
128
+ /**
129
+ * Completion rule (AC2): a unit's work is verified complete when the issue's
130
+ * latest milestone is the final `report done` — the full-cycle trail's last
131
+ * phase — or when GitHub itself says the issue is closed (a merged PR
132
+ * auto-closes it, which is ground truth no milestone can contradict).
133
+ */
134
+ export declare function isVerifiedComplete(milestone: GroundTruthMilestone | null, issueClosed: boolean): boolean;
135
+ //# sourceMappingURL=groundtruth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groundtruth.d.ts","sourceRoot":"","sources":["../src/groundtruth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAEtD,uFAAuF;AACvF,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,8EAA8E;IAC9E,SAAS,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1D,4FAA4F;IAC5F,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,2EAA2E;AAC3E,MAAM,WAAW,SAAS;IACxB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,GAAG,SAAS,CAAC;IACxE;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,uFAAuF;IACvF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACzC;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;CACxD;AAKD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,MAK5B,CAAC;AAEH,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAAG,IAAI,CA2BrF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,GAAE,MAAwB,EAC9B,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACpD,WAAW,CA6Cb;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CA2BrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAqC5E;AA2BD,yFAAyF;AACzF,wBAAgB,aAAa,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAInF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,oBAAoB,GAAG,IAAI,GACrC,SAAS,IAAI,oBAAoB,CAInC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,oBAAoB,GAAG,IAAI,EACtC,WAAW,EAAE,OAAO,GACnB,OAAO,CAGT"}