@miller-tech/uap 1.153.0 → 1.155.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/deliver.d.ts.map +1 -1
- package/dist/cli/deliver.js +125 -141
- package/dist/cli/deliver.js.map +1 -1
- package/dist/delivery/agentic-executor.d.ts.map +1 -1
- package/dist/delivery/agentic-executor.js +7 -4
- package/dist/delivery/agentic-executor.js.map +1 -1
- package/dist/delivery/changed-files.d.ts +23 -0
- package/dist/delivery/changed-files.d.ts.map +1 -0
- package/dist/delivery/changed-files.js +53 -0
- package/dist/delivery/changed-files.js.map +1 -0
- package/dist/delivery/context-budget.d.ts +32 -3
- package/dist/delivery/context-budget.d.ts.map +1 -1
- package/dist/delivery/context-budget.js +33 -3
- package/dist/delivery/context-budget.js.map +1 -1
- package/dist/delivery/convergence-loop.js +2 -2
- package/dist/delivery/convergence-loop.js.map +1 -1
- package/dist/delivery/epic-controller.d.ts +31 -6
- package/dist/delivery/epic-controller.d.ts.map +1 -1
- package/dist/delivery/epic-controller.js +30 -6
- package/dist/delivery/epic-controller.js.map +1 -1
- package/dist/delivery/epic-mission.d.ts +31 -0
- package/dist/delivery/epic-mission.d.ts.map +1 -1
- package/dist/delivery/epic-mission.js +27 -7
- package/dist/delivery/epic-mission.js.map +1 -1
- package/dist/delivery/index.d.ts +4 -0
- package/dist/delivery/index.d.ts.map +1 -1
- package/dist/delivery/index.js +4 -0
- package/dist/delivery/index.js.map +1 -1
- package/dist/delivery/phased-mission.d.ts +55 -0
- package/dist/delivery/phased-mission.d.ts.map +1 -0
- package/dist/delivery/phased-mission.js +50 -0
- package/dist/delivery/phased-mission.js.map +1 -0
- package/dist/delivery/run-state.d.ts +10 -1
- package/dist/delivery/run-state.d.ts.map +1 -1
- package/dist/delivery/run-state.js +60 -4
- package/dist/delivery/run-state.js.map +1 -1
- package/dist/delivery/spec-registry.d.ts +72 -0
- package/dist/delivery/spec-registry.d.ts.map +1 -0
- package/dist/delivery/spec-registry.js +80 -0
- package/dist/delivery/spec-registry.js.map +1 -0
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/templates/hooks/__pycache__/deliver_autoroute.cpython-312.pyc +0 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
package/dist/delivery/index.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ export { validatePhaseGraph, parsePlanVerdict, runPlanThoughtExperiment, reviewP
|
|
|
14
14
|
export { runOrchestratedMission, foldDeliveryResult, type OrchestratedMissionDeps, } from './orchestrated-mission.js';
|
|
15
15
|
export { runEpicMission, type EpicMissionDeps } from './epic-mission.js';
|
|
16
16
|
export { runCiReconverge, type CiReconvergeDeps, type CiWatchOutcome } from './ci-reconverge.js';
|
|
17
|
+
export { runPhasedMission, type PhasedMissionDeps } from './phased-mission.js';
|
|
18
|
+
export { changedFiles, parsePorcelainZ } from './changed-files.js';
|
|
19
|
+
export { createSpecRegistry, type SpecRegistry, type SpecRegistryOptions, type WriteEvidence } from './spec-registry.js';
|
|
20
|
+
export { CONTEXT_BUDGET_MARKER, formatBudgetStop, decodeBudgetStop } from './context-budget.js';
|
|
17
21
|
export { createTaskWorkspaceManager, resolveParallelTasks, type TaskWorkspace, type TaskWorkspaceManager, } from './task-workspace.js';
|
|
18
22
|
export { autoMineHaloTraces, summarizeWeaknesses, isAutoMineEnabled, weaknessGuidance, loadPersistedWeaknesses, type AutoMineResult, } from './auto-mine.js';
|
|
19
23
|
export { judgeScreenshots, parseVisionVerdict, visionSummary, visionJudgeConfigured, type VisionVerdict, } from './vision-judge.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"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"}
|
package/dist/delivery/index.js
CHANGED
|
@@ -14,6 +14,10 @@ export { validatePhaseGraph, parsePlanVerdict, runPlanThoughtExperiment, reviewP
|
|
|
14
14
|
export { runOrchestratedMission, foldDeliveryResult, } from './orchestrated-mission.js';
|
|
15
15
|
export { runEpicMission } from './epic-mission.js';
|
|
16
16
|
export { runCiReconverge } from './ci-reconverge.js';
|
|
17
|
+
export { runPhasedMission } from './phased-mission.js';
|
|
18
|
+
export { changedFiles, parsePorcelainZ } from './changed-files.js';
|
|
19
|
+
export { createSpecRegistry } from './spec-registry.js';
|
|
20
|
+
export { CONTEXT_BUDGET_MARKER, formatBudgetStop, decodeBudgetStop } from './context-budget.js';
|
|
17
21
|
export { createTaskWorkspaceManager, resolveParallelTasks, } from './task-workspace.js';
|
|
18
22
|
export { autoMineHaloTraces, summarizeWeaknesses, isAutoMineEnabled, weaknessGuidance, loadPersistedWeaknesses, } from './auto-mine.js';
|
|
19
23
|
export { judgeScreenshots, parseVisionVerdict, visionSummary, visionJudgeConfigured, } from './vision-judge.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,GAcrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,cAAc,GAGf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,aAAa,GAMd,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAEhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GAGf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,eAAe,EAA8C,MAAM,oBAAoB,CAAC;AAEjG,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GAGrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,GAExB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,qBAAqB,GAEtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GAKlB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,yBAAyB,EACzB,wBAAwB,GAGzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GAEV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GAKxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,yBAAyB,GAM1B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,GAKf,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,gBAAgB,EAChB,WAAW,GAIZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,YAAY,GAIb,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,cAAc,GAMf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GAMf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,8BAA8B,GAG/B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,GAG3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,cAAc,GAEf,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,wBAAwB,GAGzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GAGpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAkC,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phased Mission — the sequential phase runner extracted from deliver.ts
|
|
3
|
+
* behind seams (the last runner-sized closure after the orchestrated-,
|
|
4
|
+
* epic-, and watch-ci extractions).
|
|
5
|
+
*
|
|
6
|
+
* Why it exists at all: this is the ONLY runner that honors the resume
|
|
7
|
+
* cursor (`startIndex` + a checkpoint consumed by the first loop), so every
|
|
8
|
+
* `--resume` lands here, and it is the fallback when orchestration is
|
|
9
|
+
* explicitly disabled. Each phase runs its own convergence loop against the
|
|
10
|
+
* same gates; later phases see one-line summaries of what earlier phases
|
|
11
|
+
* built. A failed phase stops the mission with the cursor persisted for the
|
|
12
|
+
* next resume.
|
|
13
|
+
*/
|
|
14
|
+
import type { DeliveryResult } from './convergence-loop.js';
|
|
15
|
+
import type { DeliveryPhase } from './decompose.js';
|
|
16
|
+
import type { DeliveryTaskHandle } from './task-sync.js';
|
|
17
|
+
export interface PhasedMissionDeps {
|
|
18
|
+
/** The overall mission text (each phase prompt embeds it as context). */
|
|
19
|
+
instruction: string;
|
|
20
|
+
/** The full phase plan (execution starts at `startIndex`). */
|
|
21
|
+
phases: DeliveryPhase[];
|
|
22
|
+
/** Resume cursor: first phase to run (0 for a fresh mission). */
|
|
23
|
+
startIndex: number;
|
|
24
|
+
/** Summaries of phases completed BEFORE this run (resume state). */
|
|
25
|
+
initialSummaries: string[];
|
|
26
|
+
/** True when a loop checkpoint exists: the FIRST loop resumes from it and
|
|
27
|
+
* its already-counted turns are subtracted from the aggregate. */
|
|
28
|
+
hasResumeCheckpoint: boolean;
|
|
29
|
+
/** Turns already recorded inside the resume checkpoint (subtracted once). */
|
|
30
|
+
resumedTurns: number;
|
|
31
|
+
/** Run one phase's convergence loop. `resume` is true only for the first
|
|
32
|
+
* loop of a resumed mission — the caller binds the checkpoint (and the
|
|
33
|
+
* re-escalated executor) to exactly that loop. */
|
|
34
|
+
runPhaseLoop: (args: {
|
|
35
|
+
prompt: string;
|
|
36
|
+
index: number;
|
|
37
|
+
resume: boolean;
|
|
38
|
+
}) => Promise<DeliveryResult>;
|
|
39
|
+
/** Point the judge at THIS phase's goal and reset breaker evidence —
|
|
40
|
+
* judging phase 1 against the full mission would fail by construction. */
|
|
41
|
+
setPhaseSpec: (spec: string) => void;
|
|
42
|
+
/** Delivery-task records (fail-soft; both optional). */
|
|
43
|
+
openTask?: (title: string) => Promise<DeliveryTaskHandle | null>;
|
|
44
|
+
completeTask?: (record: DeliveryTaskHandle | null, result: DeliveryResult) => void;
|
|
45
|
+
/** Persist the cursor BEFORE a phase runs (what --resume restarts at). */
|
|
46
|
+
persistCursor: (index: number) => void;
|
|
47
|
+
/** Persist the completed-phase summaries AND clear the consumed checkpoint
|
|
48
|
+
* after a phase lands (the checkpoint belongs to the finished phase). */
|
|
49
|
+
persistCompleted: (summaries: string[]) => void;
|
|
50
|
+
/** Progress lines (the caller decorates with chalk). */
|
|
51
|
+
note?: (line: string) => void;
|
|
52
|
+
}
|
|
53
|
+
/** Run the phases sequentially from the cursor; returns the mission result. */
|
|
54
|
+
export declare function runPhasedMission(deps: PhasedMissionDeps): Promise<DeliveryResult>;
|
|
55
|
+
//# sourceMappingURL=phased-mission.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phased-mission.d.ts","sourceRoot":"","sources":["../../src/delivery/phased-mission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;sEACkE;IAClE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB;;sDAEkD;IAClD,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACpG;8EAC0E;IAC1E,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACjE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACnF,0EAA0E;IAC1E,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;6EACyE;IACzE,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAChD,wDAAwD;IACxD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,+EAA+E;AAC/E,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAiCvF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phased Mission — the sequential phase runner extracted from deliver.ts
|
|
3
|
+
* behind seams (the last runner-sized closure after the orchestrated-,
|
|
4
|
+
* epic-, and watch-ci extractions).
|
|
5
|
+
*
|
|
6
|
+
* Why it exists at all: this is the ONLY runner that honors the resume
|
|
7
|
+
* cursor (`startIndex` + a checkpoint consumed by the first loop), so every
|
|
8
|
+
* `--resume` lands here, and it is the fallback when orchestration is
|
|
9
|
+
* explicitly disabled. Each phase runs its own convergence loop against the
|
|
10
|
+
* same gates; later phases see one-line summaries of what earlier phases
|
|
11
|
+
* built. A failed phase stops the mission with the cursor persisted for the
|
|
12
|
+
* next resume.
|
|
13
|
+
*/
|
|
14
|
+
import { phaseInstruction } from './decompose.js';
|
|
15
|
+
import { foldDeliveryResult } from './delivery-result.js';
|
|
16
|
+
/** Run the phases sequentially from the cursor; returns the mission result. */
|
|
17
|
+
export async function runPhasedMission(deps) {
|
|
18
|
+
const note = deps.note ?? (() => undefined);
|
|
19
|
+
const all = {
|
|
20
|
+
success: true, alreadyDelivered: false, turns: 0, bestScore: 0, bestTurn: 0,
|
|
21
|
+
history: [], finalFeedback: '', finalOutput: '', totalDurationMs: 0,
|
|
22
|
+
};
|
|
23
|
+
const summaries = [...deps.initialSummaries];
|
|
24
|
+
for (let index = deps.startIndex; index < deps.phases.length; index++) {
|
|
25
|
+
deps.persistCursor(index);
|
|
26
|
+
const phase = deps.phases[index];
|
|
27
|
+
note(`▶ phase ${index + 1}/${deps.phases.length}: ${phase.title}`);
|
|
28
|
+
const phaseTask = (await deps.openTask?.(`${phase.title} — ${phase.goal.slice(0, 120)}`)) ?? null;
|
|
29
|
+
const resume = deps.hasResumeCheckpoint && index === deps.startIndex;
|
|
30
|
+
const phaseText = phaseInstruction(deps.instruction, deps.phases, index, summaries);
|
|
31
|
+
// The acceptance judge grades THIS phase's goal, not the whole mission.
|
|
32
|
+
deps.setPhaseSpec(phaseText);
|
|
33
|
+
const phaseResult = await deps.runPhaseLoop({ prompt: phaseText, index, resume });
|
|
34
|
+
foldDeliveryResult(all, phaseResult);
|
|
35
|
+
if (resume) {
|
|
36
|
+
// The checkpoint's turns were spent by the interrupted run — count
|
|
37
|
+
// only this session's new turns toward the aggregate.
|
|
38
|
+
all.turns -= deps.resumedTurns;
|
|
39
|
+
}
|
|
40
|
+
deps.completeTask?.(phaseTask, phaseResult);
|
|
41
|
+
if (!phaseResult.success) {
|
|
42
|
+
all.success = false;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
summaries.push(`${phase.title}: ${phase.goal.slice(0, 140)} (delivered in ${phaseResult.turns} turn(s))`);
|
|
46
|
+
deps.persistCompleted([...summaries]);
|
|
47
|
+
}
|
|
48
|
+
return all;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=phased-mission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phased-mission.js","sourceRoot":"","sources":["../../src/delivery/phased-mission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAoC1D,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAuB;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAS,EAAE,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,GAAG,GAAmB;QAC1B,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC3E,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC;KACpE,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE7C,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACtE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;QAClG,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC;QACrE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACpF,wEAAwE;QACxE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAClF,kBAAkB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,mEAAmE;YACnE,sDAAsD;YACtD,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM;QACR,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kBAAkB,WAAW,CAAC,KAAK,WAAW,CAAC,CAAC;QAC1G,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -24,8 +24,17 @@ export interface DeliverRunState {
|
|
|
24
24
|
/** Decomposed missions: the phase plan and the index of the phase in flight. */
|
|
25
25
|
phases?: DeliveryPhase[];
|
|
26
26
|
phaseIndex?: number;
|
|
27
|
-
/**
|
|
27
|
+
/** Which runner executed the fresh run. Epic-kind resumes re-enter the
|
|
28
|
+
* epic path; everything else takes the phased (cursor-honoring) path, and
|
|
29
|
+
* a mismatch triggers a loud downgrade warning instead of a silent
|
|
30
|
+
* execution-model switch. */
|
|
31
|
+
runnerKind?: 'single' | 'phased' | 'orchestrated' | 'epic';
|
|
32
|
+
/** One-line summaries of completed phases — or, for epic-kind runs,
|
|
33
|
+
* completed EPICS (harness-owned, injected into later phases/epics). */
|
|
28
34
|
phaseSummaries?: string[];
|
|
35
|
+
/** Epic-kind runs: ids of epics ACCEPTED so far. Resume marks these done in
|
|
36
|
+
* the controller so completed work is skipped, never redone. */
|
|
37
|
+
completedEpicIds?: string[];
|
|
29
38
|
/** Task-DB id opened for this mission, so --resume reuses it instead of duplicating. */
|
|
30
39
|
taskId?: string;
|
|
31
40
|
/** OS pid of the deliver process that owns this run (operator cancel target). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"run-state.d.ts","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,gFAAgF;IAChF,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;iCAG6B;IAC7B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;IAC3D;4EACwE;IACxE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;oEACgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAGjC;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAY5D;AA2JD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqBvF;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAa/D;AAED,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAOvE;AAED,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAElE"}
|
|
@@ -39,8 +39,16 @@ export function saveRunState(state) {
|
|
|
39
39
|
}
|
|
40
40
|
const VALID_STATUSES = new Set(['running', 'delivered', 'failed', 'interrupted']);
|
|
41
41
|
const MAX_INSTRUCTION_CHARS = 8000;
|
|
42
|
-
|
|
42
|
+
// Must match the planner's hard ceiling (decompose.ts): the old cap of 5
|
|
43
|
+
// silently TRUNCATED bigger persisted plans, so a legally-sized 8-phase
|
|
44
|
+
// mission resumed at phaseIndex 6 skipped the loop entirely and reported
|
|
45
|
+
// success having done nothing.
|
|
46
|
+
const MAX_PHASES = 20;
|
|
43
47
|
const MAX_SUMMARY_CHARS = 300;
|
|
48
|
+
const MAX_CRITERIA = 6;
|
|
49
|
+
const MAX_CRITERION_CHARS = 200;
|
|
50
|
+
const VALID_RUNNER_KINDS = new Set(['single', 'phased', 'orchestrated', 'epic']);
|
|
51
|
+
const PHASE_ID_RE = /^[a-z0-9][a-z0-9-]{0,47}$/;
|
|
44
52
|
/**
|
|
45
53
|
* Read + SANITIZE a persisted run state. The state file lives inside the
|
|
46
54
|
* target project tree, i.e. on the untrusted side of the boundary (a generator
|
|
@@ -75,15 +83,54 @@ function readState(projectRoot, runId) {
|
|
|
75
83
|
for (const ph of parsed.phases.slice(0, MAX_PHASES)) {
|
|
76
84
|
if (typeof ph !== 'object' || ph === null)
|
|
77
85
|
return null;
|
|
78
|
-
const { id, title, goal } = ph;
|
|
86
|
+
const { id, title, goal, deps, contracts, scaffold, criteria } = ph;
|
|
79
87
|
if (typeof id !== 'string' || typeof title !== 'string' || typeof goal !== 'string')
|
|
80
88
|
return null;
|
|
81
|
-
if (
|
|
89
|
+
if (!PHASE_ID_RE.test(id))
|
|
82
90
|
return null;
|
|
83
|
-
|
|
91
|
+
// Round-trip the planner's structural fields (they used to be silently
|
|
92
|
+
// stripped, making resume lossy for deps/flags/criteria) — each
|
|
93
|
+
// re-validated against the same caps the planner parse applies.
|
|
94
|
+
const cleanDeps = Array.isArray(deps)
|
|
95
|
+
? deps.filter((d) => typeof d === 'string' && PHASE_ID_RE.test(d)).slice(0, MAX_PHASES)
|
|
96
|
+
: undefined;
|
|
97
|
+
const cleanCriteria = Array.isArray(criteria)
|
|
98
|
+
? criteria
|
|
99
|
+
.filter((c) => typeof c === 'string' && c.trim().length > 0)
|
|
100
|
+
.map((c) => c.trim().slice(0, MAX_CRITERION_CHARS))
|
|
101
|
+
.slice(0, MAX_CRITERIA)
|
|
102
|
+
: undefined;
|
|
103
|
+
phases.push({
|
|
104
|
+
id,
|
|
105
|
+
title: title.slice(0, 120),
|
|
106
|
+
goal: goal.slice(0, 600),
|
|
107
|
+
...(cleanDeps && cleanDeps.length > 0 ? { deps: cleanDeps } : {}),
|
|
108
|
+
...(contracts === true ? { contracts: true } : {}),
|
|
109
|
+
...(scaffold === true ? { scaffold: true } : {}),
|
|
110
|
+
...(cleanCriteria && cleanCriteria.length > 0 ? { criteria: cleanCriteria } : {}),
|
|
111
|
+
});
|
|
84
112
|
}
|
|
85
113
|
parsed.phases = phases;
|
|
86
114
|
}
|
|
115
|
+
if (parsed.runnerKind !== undefined &&
|
|
116
|
+
(typeof parsed.runnerKind !== 'string' || !VALID_RUNNER_KINDS.has(parsed.runnerKind))) {
|
|
117
|
+
delete parsed.runnerKind;
|
|
118
|
+
}
|
|
119
|
+
// The resume CURSOR itself is untrusted: an out-of-range phaseIndex makes
|
|
120
|
+
// the phase loop never run (vacuous success — the same hazard the
|
|
121
|
+
// MAX_PHASES note above documents), and a negative or fractional one
|
|
122
|
+
// crashes on phases[index]. Valid iff an integer in [0, phases.length)
|
|
123
|
+
// (0 only when no phase plan is persisted); anything else is dropped so
|
|
124
|
+
// the resume restarts from the first phase instead of lying.
|
|
125
|
+
if (parsed.phaseIndex !== undefined) {
|
|
126
|
+
const upper = Math.max(parsed.phases?.length ?? 0, 1);
|
|
127
|
+
if (typeof parsed.phaseIndex !== 'number' ||
|
|
128
|
+
!Number.isInteger(parsed.phaseIndex) ||
|
|
129
|
+
parsed.phaseIndex < 0 ||
|
|
130
|
+
parsed.phaseIndex >= upper) {
|
|
131
|
+
delete parsed.phaseIndex;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
87
134
|
if (parsed.phaseSummaries !== undefined) {
|
|
88
135
|
if (!Array.isArray(parsed.phaseSummaries))
|
|
89
136
|
return null;
|
|
@@ -92,6 +139,15 @@ function readState(projectRoot, runId) {
|
|
|
92
139
|
.filter((x) => typeof x === 'string')
|
|
93
140
|
.map((x) => x.slice(0, MAX_SUMMARY_CHARS));
|
|
94
141
|
}
|
|
142
|
+
if (parsed.completedEpicIds !== undefined) {
|
|
143
|
+
if (!Array.isArray(parsed.completedEpicIds))
|
|
144
|
+
return null;
|
|
145
|
+
// Same id shape the planner emits, plus dots for namespaced split ids
|
|
146
|
+
// (defensive — split sub-epics are never persisted at top level).
|
|
147
|
+
parsed.completedEpicIds = parsed.completedEpicIds
|
|
148
|
+
.slice(0, MAX_PHASES * 2)
|
|
149
|
+
.filter((x) => typeof x === 'string' && /^[a-z0-9][a-z0-9.-]{0,63}$/.test(x));
|
|
150
|
+
}
|
|
95
151
|
if (parsed.taskId !== undefined && (typeof parsed.taskId !== 'string' || !/^uap-[0-9a-f]{8}$/.test(parsed.taskId))) {
|
|
96
152
|
delete parsed.taskId;
|
|
97
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../src/delivery/run-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Acceptance-spec registry — ONE owner for "what does the judge grade, and
|
|
3
|
+
* against what evidence", per project root. Extracted from deliver.ts where
|
|
4
|
+
* the same state lived as four coupled locals (a shared spec variable, a
|
|
5
|
+
* per-root spec map, a per-root write-evidence map, and a per-spec breaker
|
|
6
|
+
* cache) that every runner adapter mutated directly.
|
|
7
|
+
*
|
|
8
|
+
* Semantics preserved exactly:
|
|
9
|
+
* - Parallel orchestrated tasks run in ISOLATED worktree roots; each loop's
|
|
10
|
+
* judge must grade against ITS task's spec, not a shared mutable. The gate
|
|
11
|
+
* resolves by the root it is invoked with; the phased and epic paths
|
|
12
|
+
* (single loop at a time) keep using the SHARED spec, which defaults to the
|
|
13
|
+
* mission text.
|
|
14
|
+
* - Write evidence (files applied since the current spec began) is per ROOT:
|
|
15
|
+
* concurrent loops must not zero or inflate each other's evidence — an
|
|
16
|
+
* inflated count could let the churn breaker accept a task with zero writes
|
|
17
|
+
* of its own. The shared root's slot is the historic counter the phased and
|
|
18
|
+
* epic paths keep using; evidence resets wherever a spec is (re)pointed,
|
|
19
|
+
* EXCEPT on end(): restoring the mission-level spec after a task must not
|
|
20
|
+
* erase the evidence a later re-converge pass judges against.
|
|
21
|
+
* - Churn-breaker state is per (SPEC, ROOT): one shared instance would thrash
|
|
22
|
+
* its current-spec slot under parallel dispatch and could then never trip.
|
|
23
|
+
* (The historic deliver.ts cache keyed by spec ALONE, which bound the first
|
|
24
|
+
* caller's root into every later caller's evidence guard — two parallel
|
|
25
|
+
* tasks with identical prompts shared flip counts and consulted the wrong
|
|
26
|
+
* root's writes. Fixed here, at the seam that made the defect visible.)
|
|
27
|
+
*/
|
|
28
|
+
import { createAcceptanceChurnBreaker } from './acceptance-judge.js';
|
|
29
|
+
/** Mutable write-evidence slot for one root (shared by reference with the breaker). */
|
|
30
|
+
export interface WriteEvidence {
|
|
31
|
+
writes: number;
|
|
32
|
+
}
|
|
33
|
+
export interface SpecRegistryOptions {
|
|
34
|
+
/** The mission text — the spec every root falls back to. */
|
|
35
|
+
initialSpec: string;
|
|
36
|
+
/** The primary project root (owns the shared single-loop evidence slot). */
|
|
37
|
+
sharedRoot: string;
|
|
38
|
+
/** Consecutive judge-rejections-of-green-turns bound, per spec. */
|
|
39
|
+
flipLimit: number;
|
|
40
|
+
}
|
|
41
|
+
export interface SpecRegistry {
|
|
42
|
+
/** What the acceptance gate grades `root` against (per-root ?? shared). */
|
|
43
|
+
resolve(root: string): string;
|
|
44
|
+
/** Current shared spec (mission text unless a phase/epic re-pointed it). */
|
|
45
|
+
sharedSpec(): string;
|
|
46
|
+
/**
|
|
47
|
+
* Re-point the SHARED spec (phased/epic single-loop paths and the watch-ci
|
|
48
|
+
* mission restore) and reset the shared root's evidence — the breaker's
|
|
49
|
+
* zero-diff guard needs fresh evidence wherever the spec re-points.
|
|
50
|
+
*/
|
|
51
|
+
setShared(spec: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Begin a per-root task spec (parallel orchestrated dispatch). An in-tree
|
|
54
|
+
* task (root === sharedRoot) also re-points the shared spec. Evidence for
|
|
55
|
+
* the root resets — a fresh spec starts with zero writes.
|
|
56
|
+
*/
|
|
57
|
+
begin(root: string, spec: string): void;
|
|
58
|
+
/**
|
|
59
|
+
* End a per-root task spec. An in-tree task restores the shared spec to
|
|
60
|
+
* `restoreShared` (the mission text) so a later watch-ci re-converge never
|
|
61
|
+
* judges against a stale task prompt. Evidence is deliberately NOT reset.
|
|
62
|
+
*/
|
|
63
|
+
end(root: string, restoreShared: string): void;
|
|
64
|
+
/** The (mutable, identity-stable) write-evidence slot for a root. */
|
|
65
|
+
evidence(root: string): WriteEvidence;
|
|
66
|
+
/** Feed the breaker's zero-diff guard: files applied under `root`. */
|
|
67
|
+
recordWrites(root: string, count: number): void;
|
|
68
|
+
/** The churn breaker for a (spec, root) pair — cached per (spec, root). */
|
|
69
|
+
breaker(spec: string, root: string): ReturnType<typeof createAcceptanceChurnBreaker>;
|
|
70
|
+
}
|
|
71
|
+
export declare function createSpecRegistry(opts: SpecRegistryOptions): SpecRegistry;
|
|
72
|
+
//# sourceMappingURL=spec-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-registry.d.ts","sourceRoot":"","sources":["../../src/delivery/spec-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,uFAAuF;AACvF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,UAAU,IAAI,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;IACtC,sEAAsE;IACtE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,2EAA2E;IAC3E,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;CACtF;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CA8C1E"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Acceptance-spec registry — ONE owner for "what does the judge grade, and
|
|
3
|
+
* against what evidence", per project root. Extracted from deliver.ts where
|
|
4
|
+
* the same state lived as four coupled locals (a shared spec variable, a
|
|
5
|
+
* per-root spec map, a per-root write-evidence map, and a per-spec breaker
|
|
6
|
+
* cache) that every runner adapter mutated directly.
|
|
7
|
+
*
|
|
8
|
+
* Semantics preserved exactly:
|
|
9
|
+
* - Parallel orchestrated tasks run in ISOLATED worktree roots; each loop's
|
|
10
|
+
* judge must grade against ITS task's spec, not a shared mutable. The gate
|
|
11
|
+
* resolves by the root it is invoked with; the phased and epic paths
|
|
12
|
+
* (single loop at a time) keep using the SHARED spec, which defaults to the
|
|
13
|
+
* mission text.
|
|
14
|
+
* - Write evidence (files applied since the current spec began) is per ROOT:
|
|
15
|
+
* concurrent loops must not zero or inflate each other's evidence — an
|
|
16
|
+
* inflated count could let the churn breaker accept a task with zero writes
|
|
17
|
+
* of its own. The shared root's slot is the historic counter the phased and
|
|
18
|
+
* epic paths keep using; evidence resets wherever a spec is (re)pointed,
|
|
19
|
+
* EXCEPT on end(): restoring the mission-level spec after a task must not
|
|
20
|
+
* erase the evidence a later re-converge pass judges against.
|
|
21
|
+
* - Churn-breaker state is per (SPEC, ROOT): one shared instance would thrash
|
|
22
|
+
* its current-spec slot under parallel dispatch and could then never trip.
|
|
23
|
+
* (The historic deliver.ts cache keyed by spec ALONE, which bound the first
|
|
24
|
+
* caller's root into every later caller's evidence guard — two parallel
|
|
25
|
+
* tasks with identical prompts shared flip counts and consulted the wrong
|
|
26
|
+
* root's writes. Fixed here, at the seam that made the defect visible.)
|
|
27
|
+
*/
|
|
28
|
+
import { createAcceptanceChurnBreaker } from './acceptance-judge.js';
|
|
29
|
+
/** Bound on cached per-spec breakers before the runaway guard clears the cache. */
|
|
30
|
+
const MAX_CACHED_BREAKERS = 100;
|
|
31
|
+
export function createSpecRegistry(opts) {
|
|
32
|
+
let shared = opts.initialSpec;
|
|
33
|
+
const specByRoot = new Map();
|
|
34
|
+
const evidenceByRoot = new Map();
|
|
35
|
+
const breakers = new Map();
|
|
36
|
+
const evidence = (root) => {
|
|
37
|
+
let e = evidenceByRoot.get(root);
|
|
38
|
+
if (!e) {
|
|
39
|
+
e = { writes: 0 };
|
|
40
|
+
evidenceByRoot.set(root, e);
|
|
41
|
+
}
|
|
42
|
+
return e;
|
|
43
|
+
};
|
|
44
|
+
return {
|
|
45
|
+
resolve: (root) => specByRoot.get(root) ?? shared,
|
|
46
|
+
sharedSpec: () => shared,
|
|
47
|
+
setShared: (spec) => {
|
|
48
|
+
shared = spec;
|
|
49
|
+
evidence(opts.sharedRoot).writes = 0;
|
|
50
|
+
},
|
|
51
|
+
begin: (root, spec) => {
|
|
52
|
+
specByRoot.set(root, spec);
|
|
53
|
+
if (root === opts.sharedRoot)
|
|
54
|
+
shared = spec;
|
|
55
|
+
evidence(root).writes = 0;
|
|
56
|
+
},
|
|
57
|
+
end: (root, restoreShared) => {
|
|
58
|
+
specByRoot.delete(root);
|
|
59
|
+
if (root === opts.sharedRoot)
|
|
60
|
+
shared = restoreShared;
|
|
61
|
+
},
|
|
62
|
+
evidence,
|
|
63
|
+
recordWrites: (root, count) => {
|
|
64
|
+
if (count > 0)
|
|
65
|
+
evidence(root).writes += count;
|
|
66
|
+
},
|
|
67
|
+
breaker: (spec, root) => {
|
|
68
|
+
const key = `${spec}\u0000${root}`; // NUL-joined: unambiguous pair key
|
|
69
|
+
let b = breakers.get(key);
|
|
70
|
+
if (!b) {
|
|
71
|
+
if (breakers.size > MAX_CACHED_BREAKERS)
|
|
72
|
+
breakers.clear(); // runaway guard
|
|
73
|
+
b = createAcceptanceChurnBreaker(opts.flipLimit, () => evidence(root).writes > 0);
|
|
74
|
+
breakers.set(key, b);
|
|
75
|
+
}
|
|
76
|
+
return b;
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=spec-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-registry.js","sourceRoot":"","sources":["../../src/delivery/spec-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AA+CrE,mFAAmF;AACnF,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,UAAU,kBAAkB,CAAC,IAAyB;IAC1D,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2D,CAAC;IAEpF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAiB,EAAE;QAC/C,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAClB,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM;QACjD,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM;QACxB,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,GAAG,IAAI,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACpB,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU;gBAAE,MAAM,GAAG,IAAI,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,GAAG,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE;YAC3B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU;gBAAE,MAAM,GAAG,aAAa,CAAC;QACvD,CAAC;QACD,QAAQ;QACR,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,KAAK,GAAG,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAChD,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,GAAG,IAAI,SAAS,IAAI,EAAE,CAAC,CAAC,mCAAmC;YACvE,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI,QAAQ,CAAC,IAAI,GAAG,mBAAmB;oBAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,gBAAgB;gBAC3E,CAAC,GAAG,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAClF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACvB,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|