@mobrienv/autoloop-harness 0.8.0 → 0.9.1
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/acceptance.d.ts +31 -0
- package/dist/acceptance.js +69 -0
- package/dist/acceptance.js.map +1 -0
- package/dist/ask.d.ts +16 -0
- package/dist/ask.js +47 -0
- package/dist/ask.js.map +1 -0
- package/dist/backend/types.d.ts +3 -0
- package/dist/backend/types.js +3 -0
- package/dist/backend/types.js.map +1 -1
- package/dist/circuit-breaker.d.ts +27 -0
- package/dist/circuit-breaker.js +41 -0
- package/dist/circuit-breaker.js.map +1 -0
- package/dist/completion-lint.d.ts +29 -0
- package/dist/completion-lint.js +51 -0
- package/dist/completion-lint.js.map +1 -0
- package/dist/config-helpers.js +141 -8
- package/dist/config-helpers.js.map +1 -1
- package/dist/control/command-adapter.d.ts +19 -0
- package/dist/control/command-adapter.js +57 -0
- package/dist/control/command-adapter.js.map +1 -0
- package/dist/control/dispatch.js +14 -0
- package/dist/control/dispatch.js.map +1 -1
- package/dist/control/types.d.ts +11 -2
- package/dist/display.d.ts +9 -2
- package/dist/display.js +37 -1
- package/dist/display.js.map +1 -1
- package/dist/emit.d.ts +27 -0
- package/dist/emit.js +321 -2
- package/dist/emit.js.map +1 -1
- package/dist/events.d.ts +36 -3
- package/dist/fanout-runner.d.ts +25 -0
- package/dist/fanout-runner.js +54 -0
- package/dist/fanout-runner.js.map +1 -0
- package/dist/file-mod-audit.d.ts +29 -0
- package/dist/file-mod-audit.js +63 -0
- package/dist/file-mod-audit.js.map +1 -0
- package/dist/git-diff.d.ts +19 -0
- package/dist/git-diff.js +74 -0
- package/dist/git-diff.js.map +1 -0
- package/dist/hooks.d.ts +78 -0
- package/dist/hooks.js +239 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +15 -2
- package/dist/index.js +181 -5
- package/dist/index.js.map +1 -1
- package/dist/intent.d.ts +45 -0
- package/dist/intent.js +127 -0
- package/dist/intent.js.map +1 -0
- package/dist/iteration-diff.d.ts +32 -0
- package/dist/iteration-diff.js +92 -0
- package/dist/iteration-diff.js.map +1 -0
- package/dist/iteration.d.ts +20 -0
- package/dist/iteration.js +383 -16
- package/dist/iteration.js.map +1 -1
- package/dist/metareview.d.ts +9 -1
- package/dist/metareview.js +68 -30
- package/dist/metareview.js.map +1 -1
- package/dist/notify.d.ts +9 -2
- package/dist/notify.js +16 -4
- package/dist/notify.js.map +1 -1
- package/dist/parallel.d.ts +16 -0
- package/dist/parallel.js +28 -1
- package/dist/parallel.js.map +1 -1
- package/dist/postconditions.d.ts +25 -0
- package/dist/postconditions.js +107 -0
- package/dist/postconditions.js.map +1 -0
- package/dist/postfire-verify.d.ts +31 -0
- package/dist/postfire-verify.js +64 -0
- package/dist/postfire-verify.js.map +1 -0
- package/dist/premature-quit.d.ts +25 -0
- package/dist/premature-quit.js +54 -0
- package/dist/premature-quit.js.map +1 -0
- package/dist/progress.d.ts +20 -0
- package/dist/progress.js +56 -0
- package/dist/progress.js.map +1 -0
- package/dist/prompt.js +8 -2
- package/dist/prompt.js.map +1 -1
- package/dist/provisional.d.ts +42 -0
- package/dist/provisional.js +92 -0
- package/dist/provisional.js.map +1 -0
- package/dist/registry-bridge.js +25 -0
- package/dist/registry-bridge.js.map +1 -1
- package/dist/resume.d.ts +61 -0
- package/dist/resume.js +226 -0
- package/dist/resume.js.map +1 -0
- package/dist/scratchpad.js +27 -8
- package/dist/scratchpad.js.map +1 -1
- package/dist/stage.d.ts +21 -0
- package/dist/stage.js +131 -0
- package/dist/stage.js.map +1 -0
- package/dist/stop.d.ts +29 -2
- package/dist/stop.js +106 -0
- package/dist/stop.js.map +1 -1
- package/dist/suspend-state.d.ts +32 -0
- package/dist/suspend-state.js +104 -0
- package/dist/suspend-state.js.map +1 -0
- package/dist/tamper.d.ts +21 -0
- package/dist/tamper.js +88 -0
- package/dist/tamper.js.map +1 -0
- package/dist/types.d.ts +247 -2
- package/dist/types.js +91 -1
- package/dist/types.js.map +1 -1
- package/dist/wave/finalize-wave.d.ts +15 -5
- package/dist/wave/finalize-wave.js +56 -2
- package/dist/wave/finalize-wave.js.map +1 -1
- package/dist/wave/launch-branches.d.ts +23 -2
- package/dist/wave/launch-branches.js +56 -3
- package/dist/wave/launch-branches.js.map +1 -1
- package/dist/wave/stage-branch-runner.d.ts +12 -0
- package/dist/wave/stage-branch-runner.js +130 -0
- package/dist/wave/stage-branch-runner.js.map +1 -0
- package/dist/wave/types.d.ts +40 -2
- package/dist/wave.d.ts +32 -1
- package/dist/wave.js +163 -34
- package/dist/wave.js.map +1 -1
- package/package.json +83 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postconditions.js","sourceRoot":"","sources":["../src/postconditions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export type Reconcile = "confirmed" | "false_done" | "unverifiable";
|
|
2
|
+
export interface PostFireFailure {
|
|
3
|
+
command: string;
|
|
4
|
+
exitCode: number;
|
|
5
|
+
tail: string;
|
|
6
|
+
}
|
|
7
|
+
export interface PostFireResult {
|
|
8
|
+
reconcile: Reconcile;
|
|
9
|
+
ranChecks: number;
|
|
10
|
+
failures: PostFireFailure[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Reconcile a run's bare `completed` claim with an out-of-band re-check.
|
|
14
|
+
* `green = success` is treated as UNVERIFIED until a deterministic check passes:
|
|
15
|
+
* no checks → `unverifiable` (nothing to prove the claim), all pass →
|
|
16
|
+
* `confirmed`, any fail → `false_done`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function reconcileOutcome(ranChecks: number, allPassed: boolean): Reconcile;
|
|
19
|
+
/**
|
|
20
|
+
* Assemble the deterministic post-fire check commands for a run from its
|
|
21
|
+
* acceptance config: `verify_cmds`, a single `verify_cmd`, and any
|
|
22
|
+
* criterion-bound checks (`text :: cmd`). Pure — the caller supplies the raw
|
|
23
|
+
* config values so this is trivially testable.
|
|
24
|
+
*/
|
|
25
|
+
export declare function postFireCheckCommands(verifyCmds: string[], verifyCmd: string, criteria: string[]): string[];
|
|
26
|
+
/**
|
|
27
|
+
* Run the deterministic checks out-of-band in `workDir` (the completed run's
|
|
28
|
+
* work tree) and reconcile. This IS the independent post-fire verifier for
|
|
29
|
+
* detached/scheduled runs: nobody watched the run, so the harness re-checks.
|
|
30
|
+
*/
|
|
31
|
+
export declare function verifyPostFire(workDir: string, cmds: string[], timeoutMs: number): PostFireResult;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { parseCriterion } from "./intent.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reconcile a run's bare `completed` claim with an out-of-band re-check.
|
|
5
|
+
* `green = success` is treated as UNVERIFIED until a deterministic check passes:
|
|
6
|
+
* no checks → `unverifiable` (nothing to prove the claim), all pass →
|
|
7
|
+
* `confirmed`, any fail → `false_done`.
|
|
8
|
+
*/
|
|
9
|
+
export function reconcileOutcome(ranChecks, allPassed) {
|
|
10
|
+
if (ranChecks === 0)
|
|
11
|
+
return "unverifiable";
|
|
12
|
+
return allPassed ? "confirmed" : "false_done";
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Assemble the deterministic post-fire check commands for a run from its
|
|
16
|
+
* acceptance config: `verify_cmds`, a single `verify_cmd`, and any
|
|
17
|
+
* criterion-bound checks (`text :: cmd`). Pure — the caller supplies the raw
|
|
18
|
+
* config values so this is trivially testable.
|
|
19
|
+
*/
|
|
20
|
+
export function postFireCheckCommands(verifyCmds, verifyCmd, criteria) {
|
|
21
|
+
const cmds = [...verifyCmds];
|
|
22
|
+
const single = verifyCmd.trim();
|
|
23
|
+
if (single)
|
|
24
|
+
cmds.push(single);
|
|
25
|
+
for (const line of criteria) {
|
|
26
|
+
const { check } = parseCriterion(line);
|
|
27
|
+
if (check)
|
|
28
|
+
cmds.push(check);
|
|
29
|
+
}
|
|
30
|
+
return cmds;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Run the deterministic checks out-of-band in `workDir` (the completed run's
|
|
34
|
+
* work tree) and reconcile. This IS the independent post-fire verifier for
|
|
35
|
+
* detached/scheduled runs: nobody watched the run, so the harness re-checks.
|
|
36
|
+
*/
|
|
37
|
+
export function verifyPostFire(workDir, cmds, timeoutMs) {
|
|
38
|
+
const failures = [];
|
|
39
|
+
for (const command of cmds) {
|
|
40
|
+
const res = spawnSync(command, {
|
|
41
|
+
shell: "/bin/sh",
|
|
42
|
+
cwd: workDir,
|
|
43
|
+
encoding: "utf-8",
|
|
44
|
+
timeout: timeoutMs,
|
|
45
|
+
maxBuffer: 50 * 1024 * 1024,
|
|
46
|
+
});
|
|
47
|
+
const timedOut = res.signal === "SIGTERM" ||
|
|
48
|
+
res.error?.code === "ETIMEDOUT";
|
|
49
|
+
const exitCode = timedOut ? 124 : (res.status ?? 1);
|
|
50
|
+
if (exitCode !== 0) {
|
|
51
|
+
failures.push({
|
|
52
|
+
command,
|
|
53
|
+
exitCode,
|
|
54
|
+
tail: `${res.stdout ?? ""}${res.stderr ?? ""}`.slice(-1000),
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
reconcile: reconcileOutcome(cmds.length, failures.length === 0),
|
|
60
|
+
ranChecks: cmds.length,
|
|
61
|
+
failures,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=postfire-verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postfire-verify.js","sourceRoot":"","sources":["../src/postfire-verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgB7C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,SAAkB;IAElB,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IAC3C,OAAO,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;AAChD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAoB,EACpB,SAAiB,EACjB,QAAkB;IAElB,MAAM,IAAI,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,IAAc,EACd,SAAiB;IAEjB,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE;YAC7B,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO;YACZ,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;QACH,MAAM,QAAQ,GACZ,GAAG,CAAC,MAAM,KAAK,SAAS;YACvB,GAAG,CAAC,KAA2C,EAAE,IAAI,KAAK,WAAW,CAAC;QACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO;gBACP,QAAQ;gBACR,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO;QACL,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;QAC/D,SAAS,EAAE,IAAI,CAAC,MAAM;QACtB,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { LoopContext } from "./types.js";
|
|
2
|
+
export interface PrematureQuitCheck {
|
|
3
|
+
/** True when the run is quitting with authorized work left and no blocker. */
|
|
4
|
+
premature: boolean;
|
|
5
|
+
/** Human-readable reasons (open task ids, unmet required events). */
|
|
6
|
+
reasons: string[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Detect an announce-then-halt / silent drift-stop: the loop is stopping (e.g.
|
|
10
|
+
* a stall) but authorized work remains AND nothing is blocking it. That is a
|
|
11
|
+
* false finish that quietly under-delivers, distinct from a legitimate stop.
|
|
12
|
+
*
|
|
13
|
+
* Work remaining = open non-soft tasks OR unmet required completion events.
|
|
14
|
+
* Blocker = a transient/availability pause on the latest turn (an availability
|
|
15
|
+
* issue, not a premature quit).
|
|
16
|
+
*/
|
|
17
|
+
export declare function detectPrematureQuit(loop: LoopContext, runLines: string[]): PrematureQuitCheck;
|
|
18
|
+
/** How many times this run has already been re-armed (bound the re-arm loop). */
|
|
19
|
+
export declare function countRearms(runLines: string[]): number;
|
|
20
|
+
/**
|
|
21
|
+
* Re-arm a premature quit: journal the re-arm and inject a nudge so the next
|
|
22
|
+
* iteration's prompt differs (breaking the stall) and the agent finishes the
|
|
23
|
+
* remaining authorized work instead of halting.
|
|
24
|
+
*/
|
|
25
|
+
export declare function rearmPrematureQuit(loop: LoopContext, iteration: number, check: PrematureQuitCheck): void;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { jsonField } from "@mobrienv/autoloop-core";
|
|
2
|
+
import { appendEvent, appendOperatorEvent, extractTopic, } from "@mobrienv/autoloop-core/journal";
|
|
3
|
+
import { materializeOpenFrom } from "@mobrienv/autoloop-core/tasks";
|
|
4
|
+
/**
|
|
5
|
+
* Detect an announce-then-halt / silent drift-stop: the loop is stopping (e.g.
|
|
6
|
+
* a stall) but authorized work remains AND nothing is blocking it. That is a
|
|
7
|
+
* false finish that quietly under-delivers, distinct from a legitimate stop.
|
|
8
|
+
*
|
|
9
|
+
* Work remaining = open non-soft tasks OR unmet required completion events.
|
|
10
|
+
* Blocker = a transient/availability pause on the latest turn (an availability
|
|
11
|
+
* issue, not a premature quit).
|
|
12
|
+
*/
|
|
13
|
+
export function detectPrematureQuit(loop, runLines) {
|
|
14
|
+
const reasons = [];
|
|
15
|
+
const openTasks = materializeOpenFrom(loop.paths.tasksFile).filter((t) => t.soft !== true);
|
|
16
|
+
if (openTasks.length) {
|
|
17
|
+
reasons.push(`${openTasks.length} open task(s): ${openTasks.map((t) => t.id).join(", ")}`);
|
|
18
|
+
}
|
|
19
|
+
const topics = new Set(runLines.map((l) => extractTopic(l)));
|
|
20
|
+
const unmet = loop.completion.requiredEvents.filter((e) => !topics.has(e));
|
|
21
|
+
if (unmet.length) {
|
|
22
|
+
reasons.push(`unmet required event(s): ${unmet.join(", ")}`);
|
|
23
|
+
}
|
|
24
|
+
// A transient/availability pause on the latest turn is a real blocker, not a
|
|
25
|
+
// premature quit — let the circuit breaker own it.
|
|
26
|
+
const blocked = lastNonSystemSignalIsTransient(runLines);
|
|
27
|
+
return { premature: reasons.length > 0 && !blocked, reasons };
|
|
28
|
+
}
|
|
29
|
+
function lastNonSystemSignalIsTransient(runLines) {
|
|
30
|
+
for (let i = runLines.length - 1; i >= 0; i--) {
|
|
31
|
+
const topic = extractTopic(runLines[i]);
|
|
32
|
+
if (topic === "backend.transient")
|
|
33
|
+
return true;
|
|
34
|
+
if (topic === "iteration.finish")
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
/** How many times this run has already been re-armed (bound the re-arm loop). */
|
|
40
|
+
export function countRearms(runLines) {
|
|
41
|
+
return runLines.filter((l) => extractTopic(l) === "premature.rearm").length;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Re-arm a premature quit: journal the re-arm and inject a nudge so the next
|
|
45
|
+
* iteration's prompt differs (breaking the stall) and the agent finishes the
|
|
46
|
+
* remaining authorized work instead of halting.
|
|
47
|
+
*/
|
|
48
|
+
export function rearmPrematureQuit(loop, iteration, check) {
|
|
49
|
+
appendEvent(loop.paths.journalFile, loop.runtime.runId, String(iteration), "premature.rearm", jsonField("reasons", check.reasons.join("; ")));
|
|
50
|
+
appendOperatorEvent(loop.paths.journalFile, loop.runtime.runId, String(iteration), "operator.guidance", "You stopped with authorized work remaining and no blocker. Do not halt: " +
|
|
51
|
+
"continue and finish the remaining work, then emit the completion event. " +
|
|
52
|
+
`Remaining:\n- ${check.reasons.join("\n- ")}`);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=premature-quit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premature-quit.js","sourceRoot":"","sources":["../src/premature-quit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LoopContext } from "./types.js";
|
|
2
|
+
export interface ProgressMetric {
|
|
3
|
+
name: string;
|
|
4
|
+
value: number;
|
|
5
|
+
iteration: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Extract the progress scalar from a metric command's stdout: the last numeric
|
|
9
|
+
* token (so `tests: 42 passed` → 42, `0.87` → 0.87). Returns null when no
|
|
10
|
+
* number is present.
|
|
11
|
+
*/
|
|
12
|
+
export declare function parseMetricValue(stdout: string): number | null;
|
|
13
|
+
/**
|
|
14
|
+
* Run the preset-declared progress metric command HARNESS-side after an
|
|
15
|
+
* iteration and journal the scalar (`progress.metric`). No-op when no metric is
|
|
16
|
+
* configured or its output has no number. Returns the captured metric, or null.
|
|
17
|
+
*/
|
|
18
|
+
export declare function runProgressMetric(loop: LoopContext, iteration: number): ProgressMetric | null;
|
|
19
|
+
/** Read the journaled progress-metric series for a run (queryable). */
|
|
20
|
+
export declare function readProgressMetrics(runLines: string[]): ProgressMetric[];
|
package/dist/progress.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import { jsonField, jsonFieldRaw } from "@mobrienv/autoloop-core";
|
|
3
|
+
import { appendEvent, extractField, extractTopic, } from "@mobrienv/autoloop-core/journal";
|
|
4
|
+
/**
|
|
5
|
+
* Extract the progress scalar from a metric command's stdout: the last numeric
|
|
6
|
+
* token (so `tests: 42 passed` → 42, `0.87` → 0.87). Returns null when no
|
|
7
|
+
* number is present.
|
|
8
|
+
*/
|
|
9
|
+
export function parseMetricValue(stdout) {
|
|
10
|
+
const matches = stdout.match(/-?\d+(?:\.\d+)?/g);
|
|
11
|
+
if (!matches || matches.length === 0)
|
|
12
|
+
return null;
|
|
13
|
+
const n = Number(matches[matches.length - 1]);
|
|
14
|
+
return Number.isFinite(n) ? n : null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Run the preset-declared progress metric command HARNESS-side after an
|
|
18
|
+
* iteration and journal the scalar (`progress.metric`). No-op when no metric is
|
|
19
|
+
* configured or its output has no number. Returns the captured metric, or null.
|
|
20
|
+
*/
|
|
21
|
+
export function runProgressMetric(loop, iteration) {
|
|
22
|
+
const cmd = loop.progress?.metricCmd?.trim();
|
|
23
|
+
if (!cmd)
|
|
24
|
+
return null;
|
|
25
|
+
const res = spawnSync(cmd, {
|
|
26
|
+
shell: "/bin/sh",
|
|
27
|
+
cwd: loop.paths.workDir,
|
|
28
|
+
encoding: "utf-8",
|
|
29
|
+
timeout: loop.progress?.timeoutMs ?? 60000,
|
|
30
|
+
maxBuffer: 10 * 1024 * 1024,
|
|
31
|
+
});
|
|
32
|
+
const value = parseMetricValue(`${res.stdout ?? ""}`);
|
|
33
|
+
if (value === null)
|
|
34
|
+
return null;
|
|
35
|
+
const name = loop.progress?.name || "progress";
|
|
36
|
+
appendEvent(loop.paths.journalFile, loop.runtime.runId, String(iteration), "progress.metric", jsonField("name", name) + ", " + jsonFieldRaw("value", String(value)));
|
|
37
|
+
return { name, value, iteration };
|
|
38
|
+
}
|
|
39
|
+
/** Read the journaled progress-metric series for a run (queryable). */
|
|
40
|
+
export function readProgressMetrics(runLines) {
|
|
41
|
+
const out = [];
|
|
42
|
+
for (const line of runLines) {
|
|
43
|
+
if (extractTopic(line) !== "progress.metric")
|
|
44
|
+
continue;
|
|
45
|
+
const value = Number(extractField(line, "value"));
|
|
46
|
+
if (!Number.isFinite(value))
|
|
47
|
+
continue;
|
|
48
|
+
out.push({
|
|
49
|
+
name: extractField(line, "name") || "progress",
|
|
50
|
+
value,
|
|
51
|
+
iteration: Number(extractField(line, "iteration")) || 0,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,iCAAiC,CAAC;AASzC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAiB,EACjB,SAAiB;IAEjB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE;QACzB,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;QACvB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,KAAK;QAC1C,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;KAC5B,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,UAAU,CAAC;IAC/C,WAAW,CACT,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAClB,MAAM,CAAC,SAAS,CAAC,EACjB,iBAAiB,EACjB,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CACtE,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACpC,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,mBAAmB,CAAC,QAAkB;IACpD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,iBAAiB;YAAE,SAAS;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACtC,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU;YAC9C,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/prompt.js
CHANGED
|
@@ -31,6 +31,8 @@ function resolveIterationBackend(loop, allowedRoles) {
|
|
|
31
31
|
resolved.agent = role.backendAgent;
|
|
32
32
|
if (role.backendModel !== undefined)
|
|
33
33
|
resolved.model = role.backendModel;
|
|
34
|
+
if (role.backendProfile !== undefined)
|
|
35
|
+
resolved.profile = role.backendProfile;
|
|
34
36
|
}
|
|
35
37
|
const agentOverlay = resolveRoleAgent(loop.agentMap, loop.launch.preset, backendRole);
|
|
36
38
|
if (agentOverlay)
|
|
@@ -290,13 +292,17 @@ export function renderReviewPromptText(loop, iteration, runLines) {
|
|
|
290
292
|
"```json\n" +
|
|
291
293
|
"{\n" +
|
|
292
294
|
' "verdict": "CONTINUE | REDIRECT | TAKEOVER | EXIT",\n' +
|
|
293
|
-
' "confidence": 0.
|
|
295
|
+
' "confidence": 0.85,\n' +
|
|
294
296
|
' "reasoning": "One paragraph explaining the decision",\n' +
|
|
295
297
|
' "redirect_prompt": "New/amended task prompt (REDIRECT only)",\n' +
|
|
296
298
|
' "takeover_output": "Direct solution content (TAKEOVER only)",\n' +
|
|
297
299
|
' "suggestions": ["Optional list of specific improvements for CONTINUE"]\n' +
|
|
298
300
|
"}\n" +
|
|
299
|
-
"```\n"
|
|
301
|
+
"```\n" +
|
|
302
|
+
"Set `confidence` (0.0-1.0) to your actual certainty. A verdict below the " +
|
|
303
|
+
"loop's confidence threshold, or a missing/malformed block, is treated as " +
|
|
304
|
+
"UNKNOWN and holds the loop for human review — so emit a real, well-formed " +
|
|
305
|
+
"verdict.\n";
|
|
300
306
|
return (adversarialPreamble +
|
|
301
307
|
"You are the metareview meta-reviewer for this loop.\n\n" +
|
|
302
308
|
"Your job is to improve the loop itself, not to finish the task directly.\n" +
|
package/dist/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { LoopContext } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Completion lifecycle. A self-asserted done-claim never flows straight to an
|
|
4
|
+
* irreversible action (automerge/PR/publish): it parks in `awaiting_acceptance`
|
|
5
|
+
* until the deterministic gates pass (or a human acknowledges), then resolves to
|
|
6
|
+
* `accepted` (release) or `held` (rework / attention).
|
|
7
|
+
*/
|
|
8
|
+
export type CompletionState = "pending" | "awaiting_acceptance" | "accepted" | "held";
|
|
9
|
+
export interface AcceptanceSignals {
|
|
10
|
+
/** The out-of-band acceptance gate (verify_cmds) passed. */
|
|
11
|
+
acceptancePassed: boolean;
|
|
12
|
+
/** The required-absence postcondition guards passed. */
|
|
13
|
+
postconditionsPassed: boolean;
|
|
14
|
+
/** An operator explicitly acknowledged release despite the gates. */
|
|
15
|
+
humanAck?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolve a parked (`awaiting_acceptance`) completion. A human acknowledgement
|
|
19
|
+
* releases unconditionally; otherwise release requires BOTH deterministic gates
|
|
20
|
+
* to pass. Anything else holds — fail-closed.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveProvisional(signals: AcceptanceSignals): CompletionState;
|
|
23
|
+
/**
|
|
24
|
+
* Explicit FSM transition, used for reasoning/tests. Only the legal edges move
|
|
25
|
+
* state; an illegal (current, event) pair is a no-op that returns `current`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function nextCompletionState(current: CompletionState, event: "claim" | "release" | "hold" | "rework"): CompletionState;
|
|
28
|
+
/**
|
|
29
|
+
* One-shot operator acknowledgement: if `<stateDir>/release.ack` exists, the
|
|
30
|
+
* operator has authorized release despite the gates. The file is consumed
|
|
31
|
+
* (removed) so the ack applies to a single completion only.
|
|
32
|
+
*/
|
|
33
|
+
export declare function consumeHumanAck(loop: LoopContext): boolean;
|
|
34
|
+
/** Journal entry into the parked state before any irreversible action. */
|
|
35
|
+
export declare function enterProvisional(loop: LoopContext, iteration: number, reason: string): void;
|
|
36
|
+
/** Journal release of a parked completion (gates passed or human ack). */
|
|
37
|
+
export declare function releaseProvisional(loop: LoopContext, iteration: number, humanAck: boolean): void;
|
|
38
|
+
/**
|
|
39
|
+
* Journal a held completion and raise attention. The loop does not advance to
|
|
40
|
+
* an irreversible action; it routes back to rework on the next iteration.
|
|
41
|
+
*/
|
|
42
|
+
export declare function holdProvisional(loop: LoopContext, iteration: number, cause: string): void;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { existsSync, unlinkSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { jsonBool, jsonField, jsonFieldRaw } from "@mobrienv/autoloop-core";
|
|
4
|
+
import { appendEvent } from "@mobrienv/autoloop-core/journal";
|
|
5
|
+
/**
|
|
6
|
+
* Resolve a parked (`awaiting_acceptance`) completion. A human acknowledgement
|
|
7
|
+
* releases unconditionally; otherwise release requires BOTH deterministic gates
|
|
8
|
+
* to pass. Anything else holds — fail-closed.
|
|
9
|
+
*/
|
|
10
|
+
export function resolveProvisional(signals) {
|
|
11
|
+
if (signals.humanAck)
|
|
12
|
+
return "accepted";
|
|
13
|
+
return signals.acceptancePassed && signals.postconditionsPassed
|
|
14
|
+
? "accepted"
|
|
15
|
+
: "held";
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Explicit FSM transition, used for reasoning/tests. Only the legal edges move
|
|
19
|
+
* state; an illegal (current, event) pair is a no-op that returns `current`.
|
|
20
|
+
*/
|
|
21
|
+
export function nextCompletionState(current, event) {
|
|
22
|
+
switch (current) {
|
|
23
|
+
case "pending":
|
|
24
|
+
return event === "claim" ? "awaiting_acceptance" : current;
|
|
25
|
+
case "awaiting_acceptance":
|
|
26
|
+
if (event === "release")
|
|
27
|
+
return "accepted";
|
|
28
|
+
if (event === "hold")
|
|
29
|
+
return "held";
|
|
30
|
+
return current;
|
|
31
|
+
case "held":
|
|
32
|
+
// A held run returns to rework (back-edge) and can re-claim later.
|
|
33
|
+
if (event === "rework")
|
|
34
|
+
return "pending";
|
|
35
|
+
if (event === "release")
|
|
36
|
+
return "accepted";
|
|
37
|
+
return current;
|
|
38
|
+
default:
|
|
39
|
+
return current;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const ACK_FILE = "release.ack";
|
|
43
|
+
/**
|
|
44
|
+
* One-shot operator acknowledgement: if `<stateDir>/release.ack` exists, the
|
|
45
|
+
* operator has authorized release despite the gates. The file is consumed
|
|
46
|
+
* (removed) so the ack applies to a single completion only.
|
|
47
|
+
*/
|
|
48
|
+
export function consumeHumanAck(loop) {
|
|
49
|
+
const path = join(loop.paths.stateDir, ACK_FILE);
|
|
50
|
+
if (!existsSync(path))
|
|
51
|
+
return false;
|
|
52
|
+
try {
|
|
53
|
+
unlinkSync(path);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
/* best-effort: a stuck ack file is harmless, it just re-acks next time */
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
/** Journal entry into the parked state before any irreversible action. */
|
|
61
|
+
export function enterProvisional(loop, iteration, reason) {
|
|
62
|
+
appendEvent(loop.paths.journalFile, loop.runtime.runId, String(iteration), "completion.provisional", jsonField("state", "awaiting_acceptance") +
|
|
63
|
+
", " +
|
|
64
|
+
jsonField("reason", reason));
|
|
65
|
+
loop.onEvent?.({
|
|
66
|
+
type: "progress",
|
|
67
|
+
runId: loop.runtime.runId,
|
|
68
|
+
iteration,
|
|
69
|
+
recentEvent: "completion.provisional",
|
|
70
|
+
allowedRoles: [],
|
|
71
|
+
outcome: "provisional:awaiting_acceptance",
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/** Journal release of a parked completion (gates passed or human ack). */
|
|
75
|
+
export function releaseProvisional(loop, iteration, humanAck) {
|
|
76
|
+
appendEvent(loop.paths.journalFile, loop.runtime.runId, String(iteration), "completion.accepted", jsonField("state", "accepted") +
|
|
77
|
+
", " +
|
|
78
|
+
jsonFieldRaw("human_ack", jsonBool(humanAck)));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Journal a held completion and raise attention. The loop does not advance to
|
|
82
|
+
* an irreversible action; it routes back to rework on the next iteration.
|
|
83
|
+
*/
|
|
84
|
+
export function holdProvisional(loop, iteration, cause) {
|
|
85
|
+
appendEvent(loop.paths.journalFile, loop.runtime.runId, String(iteration), "completion.held", jsonField("state", "held") + ", " + jsonField("cause", cause));
|
|
86
|
+
loop.onEvent?.({
|
|
87
|
+
type: "failure.diagnostic",
|
|
88
|
+
output: `Completion parked: a done-claim was held at the acceptance gate (${cause}). Not proceeding to any irreversible action.`,
|
|
89
|
+
stopReason: "completion_held",
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=provisional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provisional.js","sourceRoot":"","sources":["../src/provisional.ts"],"names":[],"mappings":"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"}
|
package/dist/registry-bridge.js
CHANGED
|
@@ -2,6 +2,24 @@ import { normalizeBackendLabel } from "@mobrienv/autoloop-core";
|
|
|
2
2
|
import { stopReasonToStatus } from "@mobrienv/autoloop-core/registry/derive";
|
|
3
3
|
import { getRun } from "@mobrienv/autoloop-core/registry/read";
|
|
4
4
|
import { appendRegistryEntry } from "@mobrienv/autoloop-core/registry/update";
|
|
5
|
+
import { runCostUsd } from "./display.js";
|
|
6
|
+
/**
|
|
7
|
+
* Map a terminal status + stop reason to the verified outcome. `completed`
|
|
8
|
+
* implies the run cleared the gate chain (completeLoop fires only after
|
|
9
|
+
* provisional release), so it is `verified`. A metareview-UNKNOWN stop is a
|
|
10
|
+
* `held` run that needs attention.
|
|
11
|
+
*/
|
|
12
|
+
function deriveOutcome(status, stopReason) {
|
|
13
|
+
if (status === "completed")
|
|
14
|
+
return "verified";
|
|
15
|
+
if (status === "running")
|
|
16
|
+
return "running";
|
|
17
|
+
if (stopReason === "review_unknown")
|
|
18
|
+
return "held";
|
|
19
|
+
if (status === "failed" || status === "timed_out")
|
|
20
|
+
return "failed";
|
|
21
|
+
return "stopped";
|
|
22
|
+
}
|
|
5
23
|
function registryPath(loop) {
|
|
6
24
|
return loop.paths.registryFile;
|
|
7
25
|
}
|
|
@@ -16,6 +34,7 @@ function baseRecord(loop) {
|
|
|
16
34
|
run_id: loop.runtime.runId,
|
|
17
35
|
status: "running",
|
|
18
36
|
preset: loop.launch.preset,
|
|
37
|
+
preset_file: loop.launch.presetFile || undefined,
|
|
19
38
|
objective: loop.objective,
|
|
20
39
|
trigger: loop.launch.trigger,
|
|
21
40
|
project_dir: loop.paths.projectDir,
|
|
@@ -58,6 +77,12 @@ export function registryTerminal(loop, iteration, status, stopReason, latestEven
|
|
|
58
77
|
record.stop_reason = stopReason;
|
|
59
78
|
record.updated_at = new Date().toISOString();
|
|
60
79
|
record.latest_event = latestEvent;
|
|
80
|
+
// Verified-outcome ledger: persist the gate-verified outcome facts so ROI /
|
|
81
|
+
// A-B / regression analytics read a real numerator, not a re-derived one.
|
|
82
|
+
record.outcome = deriveOutcome(status, stopReason);
|
|
83
|
+
record.acceptance_verified = status === "completed";
|
|
84
|
+
record.verdict = loop.lastVerdict?.verdict ?? "";
|
|
85
|
+
record.cost_usd = runCostUsd(loop);
|
|
61
86
|
appendRegistryEntry(path, record);
|
|
62
87
|
}
|
|
63
88
|
export function registryComplete(loop, iteration, reason) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-bridge.js","sourceRoot":"","sources":["../src/registry-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"registry-bridge.js","sourceRoot":"","sources":["../src/registry-bridge.ts"],"names":[],"mappings":"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"}
|