loopforge 3.7.1 → 3.8.2
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/README.md +84 -130
- package/dist/audit.d.ts +53 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +106 -22
- package/dist/audit.js.map +1 -1
- package/dist/canonical-state.d.ts +52 -67
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +134 -147
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +103 -4
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-facts.d.ts +13 -0
- package/dist/cognitive-facts.d.ts.map +1 -1
- package/dist/cognitive-facts.js +28 -13
- package/dist/cognitive-facts.js.map +1 -1
- package/dist/committed-round.d.ts +103 -21
- package/dist/committed-round.d.ts.map +1 -1
- package/dist/committed-round.js +188 -45
- package/dist/committed-round.js.map +1 -1
- package/dist/contract-items.d.ts +55 -0
- package/dist/contract-items.d.ts.map +1 -0
- package/dist/contract-items.js +180 -0
- package/dist/contract-items.js.map +1 -0
- package/dist/enforcement-gate.d.ts +20 -2
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +197 -386
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +53 -38
- package/dist/engine.js.map +1 -1
- package/dist/evidence-claims.d.ts +4 -4
- package/dist/evidence-claims.d.ts.map +1 -1
- package/dist/evidence-claims.js +16 -14
- package/dist/evidence-claims.js.map +1 -1
- package/dist/evidence-provider.d.ts +85 -89
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +328 -184
- package/dist/evidence-provider.js.map +1 -1
- package/dist/explain.d.ts +76 -0
- package/dist/explain.d.ts.map +1 -0
- package/dist/explain.js +127 -0
- package/dist/explain.js.map +1 -0
- package/dist/generate-schema.js +152 -16
- package/dist/generate-schema.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +40 -53
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +229 -553
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-extras-parser.d.ts +0 -1
- package/dist/loop-extras-parser.d.ts.map +1 -1
- package/dist/loop-extras-parser.js +0 -4
- package/dist/loop-extras-parser.js.map +1 -1
- package/dist/loop-projection.d.ts.map +1 -1
- package/dist/loop-projection.js +3 -1
- package/dist/loop-projection.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +30 -21
- package/dist/mcp/round-lifecycle.d.ts.map +1 -1
- package/dist/mcp/round-lifecycle.js +47 -103
- package/dist/mcp/round-lifecycle.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +51 -7
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +39 -23
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +148 -163
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/submission-boundary.d.ts +89 -0
- package/dist/mcp/submission-boundary.d.ts.map +1 -0
- package/dist/mcp/submission-boundary.js +203 -0
- package/dist/mcp/submission-boundary.js.map +1 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +249 -128
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.js +2 -2
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +55 -93
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +149 -38
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts +1 -32
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +282 -435
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/prompt-policy.d.ts +1 -4
- package/dist/prompt-policy.d.ts.map +1 -1
- package/dist/prompt-policy.js +6 -7
- package/dist/prompt-policy.js.map +1 -1
- package/dist/protocol.d.ts +365 -142
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +21 -66
- package/dist/protocol.js.map +1 -1
- package/dist/replay.js +2 -2
- package/dist/replay.js.map +1 -1
- package/dist/round-contract.d.ts +69 -57
- package/dist/round-contract.d.ts.map +1 -1
- package/dist/round-contract.js +104 -64
- package/dist/round-contract.js.map +1 -1
- package/dist/round-coordinator.d.ts +36 -16
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +166 -102
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +3 -5
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +0 -1
- package/dist/round-driver.js.map +1 -1
- package/dist/round-facts.d.ts +96 -0
- package/dist/round-facts.d.ts.map +1 -0
- package/dist/round-facts.js +216 -0
- package/dist/round-facts.js.map +1 -0
- package/dist/round-transaction.d.ts +19 -9
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +90 -22
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +87 -9
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +396 -27
- package/dist/self-eval.js.map +1 -1
- package/dist/subgoal-state.d.ts +77 -0
- package/dist/subgoal-state.d.ts.map +1 -0
- package/dist/subgoal-state.js +198 -0
- package/dist/subgoal-state.js.map +1 -0
- package/dist/token-utils.d.ts +52 -19
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +83 -72
- package/dist/token-utils.js.map +1 -1
- package/dist/verification-gate.d.ts +14 -31
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +178 -496
- package/dist/verification-gate.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workspace.d.ts +9 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +17 -0
- package/dist/workspace.js.map +1 -1
- package/loop_policy.json +59 -83
- package/package.json +67 -67
- package/skills/perception/SKILL.md +218 -204
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/** Unified LoopForge command line. */
|
|
3
3
|
import { accessSync, constants, existsSync, statSync } from "node:fs";
|
|
4
|
-
import { dirname, resolve } from "node:path";
|
|
4
|
+
import { delimiter, dirname, join, resolve } from "node:path";
|
|
5
5
|
import { containInWorkspace } from "./workspace.js";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { spawnSync } from "node:child_process";
|
|
8
8
|
import { initializeClient } from "./init.js";
|
|
9
|
-
import { FileLoopStore } from "./loop-store.js";
|
|
10
|
-
import { getPolicy, validateLoopId, writeDefaultPolicy } from "./policy.js";
|
|
9
|
+
import { FileLoopStore, queryLoopEntries } from "./loop-store.js";
|
|
10
|
+
import { getPolicy, validateLoopId, writeDefaultPolicy, DEFAULT_POLICY } from "./policy.js";
|
|
11
|
+
import { isProviderRegistered } from "./evidence-provider.js";
|
|
12
|
+
import { buildExplain, renderExplain } from "./explain.js";
|
|
11
13
|
import { McpServer } from "./mcp/server.js";
|
|
12
14
|
import { VERSION } from "./version.js";
|
|
13
15
|
const HELP = `LoopForge ${VERSION}
|
|
@@ -17,6 +19,7 @@ Usage:
|
|
|
17
19
|
loopforge init --client claude|codex|generic [--target DIR] [--force]
|
|
18
20
|
loopforge doctor [--json]
|
|
19
21
|
loopforge inspect LOOP_ID [--round N] [--prompt] [--json]
|
|
22
|
+
loopforge explain LOOP_ID [--round N] [--json]
|
|
20
23
|
`;
|
|
21
24
|
function option(args, name) {
|
|
22
25
|
const index = args.indexOf(name);
|
|
@@ -66,8 +69,27 @@ function ensureInsideWorkspace(configured) {
|
|
|
66
69
|
return containInWorkspace(process.cwd(), configured);
|
|
67
70
|
}
|
|
68
71
|
function doctor(json) {
|
|
69
|
-
const policy = getPolicy();
|
|
70
72
|
const checks = [];
|
|
73
|
+
// v3.8.1: loading the policy is itself a CHECK. It used to run first and
|
|
74
|
+
// throw, so `doctor --json` died on exactly the defect it exists to
|
|
75
|
+
// diagnose (a file that does not declare this schema version, or carries an
|
|
76
|
+
// unknown key) — README promised a policy-structure check and the one
|
|
77
|
+
// situation that needs it produced no report at all. The remaining checks
|
|
78
|
+
// run against the defaults so a broken policy file still yields a report.
|
|
79
|
+
let policy;
|
|
80
|
+
try {
|
|
81
|
+
policy = getPolicy();
|
|
82
|
+
checks.push({
|
|
83
|
+
name: "policy",
|
|
84
|
+
ok: true,
|
|
85
|
+
required: true,
|
|
86
|
+
detail: `schema version ${policy.version}, ${policy.evidence.commands.length} command(s)`,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
checks.push({ name: "policy", ok: false, required: true, detail: String(error) });
|
|
91
|
+
policy = structuredClone(DEFAULT_POLICY);
|
|
92
|
+
}
|
|
71
93
|
const nodeMajor = Number(process.versions.node.split(".")[0]);
|
|
72
94
|
checks.push({
|
|
73
95
|
name: "node",
|
|
@@ -97,6 +119,34 @@ function doctor(json) {
|
|
|
97
119
|
required: false,
|
|
98
120
|
detail: git.status === 0 ? git.stdout.trim() : "unavailable (git evidence will be skipped)",
|
|
99
121
|
});
|
|
122
|
+
// v3.8: provider names must be registered (registration is code state, so
|
|
123
|
+
// it is a doctor concern, never a hashed capability fact).
|
|
124
|
+
for (const provider of policy.evidence.providers ?? []) {
|
|
125
|
+
checks.push({
|
|
126
|
+
name: `provider:${provider}`,
|
|
127
|
+
ok: isProviderRegistered(provider),
|
|
128
|
+
required: true,
|
|
129
|
+
detail: isProviderRegistered(provider)
|
|
130
|
+
? "registered"
|
|
131
|
+
: "no provider factory is registered for this name",
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
// v3.8: command ids must be unique — a duplicate name makes item
|
|
135
|
+
// verification ambiguous.
|
|
136
|
+
const seenCommandIds = new Map();
|
|
137
|
+
for (const command of policy.evidence.commands) {
|
|
138
|
+
seenCommandIds.set(command.name, (seenCommandIds.get(command.name) ?? 0) + 1);
|
|
139
|
+
}
|
|
140
|
+
for (const [name, count] of seenCommandIds) {
|
|
141
|
+
if (count > 1) {
|
|
142
|
+
checks.push({
|
|
143
|
+
name: `command-id:${name}`,
|
|
144
|
+
ok: false,
|
|
145
|
+
required: true,
|
|
146
|
+
detail: `duplicate command id declared ${count} times — item verification would be ambiguous`,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
100
150
|
for (const command of policy.evidence.commands) {
|
|
101
151
|
if (!command.enabled)
|
|
102
152
|
continue;
|
|
@@ -107,6 +157,24 @@ function doctor(json) {
|
|
|
107
157
|
throw new Error("name and executable are required");
|
|
108
158
|
if (!Array.isArray(command.args))
|
|
109
159
|
throw new Error("args must be an array");
|
|
160
|
+
if (!(Number.isFinite(command.timeout_ms) && command.timeout_ms > 0)) {
|
|
161
|
+
throw new Error("timeout_ms must be a positive number");
|
|
162
|
+
}
|
|
163
|
+
if (!(Number.isFinite(command.max_output_chars) && command.max_output_chars > 0)) {
|
|
164
|
+
throw new Error("max_output_chars must be a positive number");
|
|
165
|
+
}
|
|
166
|
+
// Static executable resolution: consult PATH/PATHEXT without executing
|
|
167
|
+
// anything. A bare name that resolves nowhere is a configuration bug the
|
|
168
|
+
// agent would otherwise discover only when the command runs.
|
|
169
|
+
if (!command.executable.includes("/") && !command.executable.includes("\\")) {
|
|
170
|
+
const pathEntries = (process.env.PATH ?? "").split(delimiter);
|
|
171
|
+
const extensions = process.platform === "win32"
|
|
172
|
+
? (process.env.PATHEXT ?? ".EXE;.CMD;.BAT").split(";")
|
|
173
|
+
: [""];
|
|
174
|
+
const resolved = pathEntries.some((dir) => extensions.some((ext) => existsSync(join(dir, `${command.executable}${ext}`))));
|
|
175
|
+
if (!resolved)
|
|
176
|
+
throw new Error(`executable "${command.executable}" is not on PATH`);
|
|
177
|
+
}
|
|
110
178
|
if (command.cwd) {
|
|
111
179
|
const cwd = ensureInsideWorkspace(command.cwd);
|
|
112
180
|
if (existsSync(cwd) && !statSync(cwd).isDirectory())
|
|
@@ -140,6 +208,33 @@ function doctor(json) {
|
|
|
140
208
|
}
|
|
141
209
|
return report.ok ? 0 : 1;
|
|
142
210
|
}
|
|
211
|
+
/** v3.8: `loopforge explain` — the read-only "why" view over committed rounds. */
|
|
212
|
+
function explain(args) {
|
|
213
|
+
const loopId = args.find((arg) => !arg.startsWith("-"));
|
|
214
|
+
if (!loopId) {
|
|
215
|
+
process.stderr.write("loopforge explain: LOOP_ID is required\n");
|
|
216
|
+
return 1;
|
|
217
|
+
}
|
|
218
|
+
try {
|
|
219
|
+
validateLoopId(loopId);
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
process.stderr.write(`loopforge explain: ${String(error)}\n`);
|
|
223
|
+
return 1;
|
|
224
|
+
}
|
|
225
|
+
const roundValue = option(args, "--round");
|
|
226
|
+
const round = roundValue === undefined ? undefined : Number(roundValue);
|
|
227
|
+
if (round !== undefined && (!Number.isInteger(round) || round < 1)) {
|
|
228
|
+
process.stderr.write("loopforge explain: --round must be a positive integer\n");
|
|
229
|
+
return 1;
|
|
230
|
+
}
|
|
231
|
+
const store = new FileLoopStore(getPolicy().backend.root_dir);
|
|
232
|
+
const entries = queryLoopEntries(store, loopId, { prefix: `loop:${loopId}:` })
|
|
233
|
+
.concat(queryLoopEntries(store, loopId, { prefix: `loop:${loopId}:`, feedbackOnly: true }));
|
|
234
|
+
const result = buildExplain(loopId, entries, round);
|
|
235
|
+
print(has(args, "--json") ? result : renderExplain(result), has(args, "--json"));
|
|
236
|
+
return 0;
|
|
237
|
+
}
|
|
143
238
|
function inspect(args) {
|
|
144
239
|
// v3.3.1: option VALUES (e.g. "--round 2") are not positional arguments.
|
|
145
240
|
// Previously `inspect --round 2 my-loop` took "2" as the LOOP_ID and
|
|
@@ -209,6 +304,10 @@ export function main(argv = process.argv.slice(2)) {
|
|
|
209
304
|
}
|
|
210
305
|
if (command === "init")
|
|
211
306
|
return init(args);
|
|
307
|
+
if (command === "explain") {
|
|
308
|
+
process.exitCode = explain(args);
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
212
311
|
if (command === "doctor") {
|
|
213
312
|
process.exitCode = doctor(has(args, "--json"));
|
|
214
313
|
return;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
/** Shared cognitive facts used by typed projections and handoff views. */
|
|
2
2
|
import type { CommittedRoundView } from "./committed-round.js";
|
|
3
3
|
import type { LoopForgeResponse, LoopProjection } from "./protocol.js";
|
|
4
|
+
import type { RoundFacts } from "./round-facts.js";
|
|
4
5
|
export interface DerivedCognitiveFacts {
|
|
5
6
|
focus: LoopProjection["focus"];
|
|
6
7
|
todo: LoopProjection["todo"];
|
|
7
8
|
phase: LoopProjection["phase"];
|
|
8
9
|
delegation: LoopProjection["delegation"];
|
|
9
10
|
handoff: LoopProjection["handoff"];
|
|
11
|
+
/** v3.8: forwarded, not re-derived — the same facts the canonical state
|
|
12
|
+
* embeds, so the projection and the prompt cannot disagree. */
|
|
13
|
+
verified_subgoals: LoopProjection["verified_subgoals"];
|
|
10
14
|
}
|
|
15
|
+
/** Re-exported from round-facts.ts. The contract-fact derivation (walker,
|
|
16
|
+
* item reducer, verified sub-goals, verification debt) lives with the bundle
|
|
17
|
+
* every consumer reads — one implementation, one history window. */
|
|
18
|
+
export { deriveVerifiedSubGoals, deriveVerificationDebt } from "./round-facts.js";
|
|
11
19
|
export declare function deriveCognitiveFacts(input: {
|
|
12
20
|
compileResponse: LoopForgeResponse | null;
|
|
13
21
|
rounds: ReadonlyArray<CommittedRoundView>;
|
|
22
|
+
/** v3.8.1: the contract facts, REQUIRED and already derived by the caller via
|
|
23
|
+
* `deriveRoundFacts`. This function used to run the same reducers again over
|
|
24
|
+
* its own window, which let the projection and the prompt disagree about
|
|
25
|
+
* what the machine had verified. */
|
|
26
|
+
facts: RoundFacts;
|
|
14
27
|
verifiedClaims?: string[];
|
|
15
28
|
openGates?: string[];
|
|
16
29
|
}): DerivedCognitiveFacts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cognitive-facts.d.ts","sourceRoot":"","sources":["../src/cognitive-facts.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"cognitive-facts.d.ts","sourceRoot":"","sources":["../src/cognitive-facts.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAW,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/B,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACnC;oEACgE;IAChE,iBAAiB,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAC;CACxD;AAID;;qEAEqE;AACrE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAkDlF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC1C;;;yCAGqC;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,GAAG,qBAAqB,CA2ExB"}
|
package/dist/cognitive-facts.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/** Shared cognitive facts used by typed projections and handoff views. */
|
|
2
2
|
import { deriveTodoId } from "./cognitive-governance.js";
|
|
3
|
-
import { contractRoundEvaluations, deriveActiveRoundContract, } from "./round-contract.js";
|
|
4
3
|
const TODO_LIMIT = 10;
|
|
5
|
-
|
|
4
|
+
/** Re-exported from round-facts.ts. The contract-fact derivation (walker,
|
|
5
|
+
* item reducer, verified sub-goals, verification debt) lives with the bundle
|
|
6
|
+
* every consumer reads — one implementation, one history window. */
|
|
7
|
+
export { deriveVerifiedSubGoals, deriveVerificationDebt } from "./round-facts.js";
|
|
8
|
+
function deriveTodo(compileResponse, contractItemStatuses) {
|
|
6
9
|
const candidates = [];
|
|
7
10
|
const seen = new Set();
|
|
8
11
|
const push = (item, reason, source, priority) => {
|
|
@@ -15,6 +18,21 @@ function deriveTodo(compileResponse, rounds) {
|
|
|
15
18
|
seen.add(id);
|
|
16
19
|
candidates.push({ id, item: text, reason, source, priority });
|
|
17
20
|
};
|
|
21
|
+
// v3.8: the only sources are machine/cognitive derivations — the agent's
|
|
22
|
+
// own next_action and emerged_subtasks are no longer projection inputs
|
|
23
|
+
// (emerged items already surface through their compiled sub-goals).
|
|
24
|
+
//
|
|
25
|
+
// The ACTIVE contract's unresolved items come first: they are the bounded
|
|
26
|
+
// work this round executes under, and `insufficient` items are the
|
|
27
|
+
// verification debt the agent must close.
|
|
28
|
+
for (const item of contractItemStatuses?.items ?? []) {
|
|
29
|
+
if (item.status === "insufficient") {
|
|
30
|
+
push(item.description, "contract item claimed met, not machine-verified", "derived", 10);
|
|
31
|
+
}
|
|
32
|
+
else if (item.status === "pending") {
|
|
33
|
+
push(item.description, "pending contract item", "derived", 8);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
18
36
|
for (const subGoal of compileResponse?.sub_goals ?? []) {
|
|
19
37
|
const goal = subGoal;
|
|
20
38
|
if (goal.status === "blocked") {
|
|
@@ -24,13 +42,6 @@ function deriveTodo(compileResponse, rounds) {
|
|
|
24
42
|
push(goal.description, "pending sub-goal", "derived", goal.priority ?? 5);
|
|
25
43
|
}
|
|
26
44
|
}
|
|
27
|
-
const latest = rounds[rounds.length - 1]?.evaluation;
|
|
28
|
-
if (latest?.next_action) {
|
|
29
|
-
push(latest.next_action, "agent-declared next action", "agent_intent", 0);
|
|
30
|
-
}
|
|
31
|
-
for (const task of latest?.emerged_subtasks ?? []) {
|
|
32
|
-
push(task, "agent-declared emerged work", "agent_intent", 6);
|
|
33
|
-
}
|
|
34
45
|
return candidates
|
|
35
46
|
.sort((a, b) => b.priority - a.priority || a.id.localeCompare(b.id))
|
|
36
47
|
.slice(0, TODO_LIMIT);
|
|
@@ -49,13 +60,16 @@ export function deriveCognitiveFacts(input) {
|
|
|
49
60
|
const latestWorkerRound = workerRounds[workerRounds.length - 1];
|
|
50
61
|
const workerResults = latestWorkerRound?.evaluation?.worker_results ?? [];
|
|
51
62
|
const rolling = compileResponse?.rolling_summary;
|
|
52
|
-
|
|
63
|
+
// v3.8.1: read from the caller's derivation — do NOT re-run the reducers
|
|
64
|
+
// here. Two derivations of the same fact is how the projection and the
|
|
65
|
+
// prompt start disagreeing.
|
|
66
|
+
const { activeContract, itemStatuses: contractItemStatuses, verifiedSubGoals, verificationDebt, } = input.facts;
|
|
53
67
|
const currentTask = activeContract?.work_item ??
|
|
54
68
|
compileResponse?.loop_objective?.objective ?? "";
|
|
55
69
|
const latestOutcome = rolling?.key_outcomes[rolling.key_outcomes.length - 1] ??
|
|
56
70
|
latestFocus?.evaluation?.output_summary ?? "";
|
|
57
71
|
const remainingCriteria = (compileResponse?.criterion_statuses ?? [])
|
|
58
|
-
.filter((criterion) => criterion.status !== "
|
|
72
|
+
.filter((criterion) => criterion.status !== "verified" && criterion.status !== "claimed")
|
|
59
73
|
.map((criterion) => criterion.text)
|
|
60
74
|
.slice(0, 5);
|
|
61
75
|
const summary = [
|
|
@@ -71,7 +85,7 @@ export function deriveCognitiveFacts(input) {
|
|
|
71
85
|
focus: latestFocus
|
|
72
86
|
? { what: latestFocus.evaluation.output_summary.slice(0, 200), since_round: latestFocus.round }
|
|
73
87
|
: null,
|
|
74
|
-
todo: deriveTodo(compileResponse,
|
|
88
|
+
todo: deriveTodo(compileResponse, contractItemStatuses),
|
|
75
89
|
phase: lastBoundary
|
|
76
90
|
? { current: lastBoundary.label, label: lastBoundary.label, boundaries }
|
|
77
91
|
: null,
|
|
@@ -89,10 +103,11 @@ export function deriveCognitiveFacts(input) {
|
|
|
89
103
|
verified: [...(input.verifiedClaims ?? [])],
|
|
90
104
|
open_risks: [...new Set([
|
|
91
105
|
...(latestBlocker ? [latestBlocker] : []),
|
|
92
|
-
...
|
|
106
|
+
...verificationDebt,
|
|
93
107
|
...(input.openGates ?? []).slice(0, 3).map((gate) => `user gate pending: ${gate}`),
|
|
94
108
|
])],
|
|
95
109
|
},
|
|
110
|
+
verified_subgoals: verifiedSubGoals,
|
|
96
111
|
};
|
|
97
112
|
}
|
|
98
113
|
//# sourceMappingURL=cognitive-facts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cognitive-facts.js","sourceRoot":"","sources":["../src/cognitive-facts.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAG1E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"cognitive-facts.js","sourceRoot":"","sources":["../src/cognitive-facts.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,30 @@
|
|
|
4
4
|
* place that interprets their transaction envelope or the compiler's merged
|
|
5
5
|
* lineage representation. Consumers receive one stable, read-only view.
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
7
|
+
import type { MachineObservation } from "./protocol.js";
|
|
8
8
|
import type { VaultEntry } from "./loop-store.js";
|
|
9
|
-
import type {
|
|
9
|
+
import type { ContractBinding, ExecutionReport, PromptArtifact, RoundContractProposal, RoundOutcome, SelfEvaluation, SubGoalUpdate, VerificationFlag } from "./protocol.js";
|
|
10
10
|
import type { RoundProcessResult } from "./round-coordinator.js";
|
|
11
11
|
export type CommittedAction = "continue" | "stop" | "backtrack";
|
|
12
|
+
/** v3.8.1: the rolled-back branch's facts, decoded from a committed rollback
|
|
13
|
+
* directive. One shape for the compile-side Recovery Brief, the state file's
|
|
14
|
+
* Recent tier and the rollback prompt — these were three renderers over two
|
|
15
|
+
* independent derivations (the committed record and an in-memory walk).
|
|
16
|
+
*
|
|
17
|
+
* Note the target is a RESTORE POINT, not an upper bound: the redo re-commits
|
|
18
|
+
* the same round numbers the abandoned rounds occupied (round-lifecycle.ts
|
|
19
|
+
* sets `currentRound = backtrackTarget + 1`), so this is never a window
|
|
20
|
+
* fence. Abandonment is temporal, not numeric. */
|
|
21
|
+
export interface BacktrackRecoveryRecord {
|
|
22
|
+
readonly target: number;
|
|
23
|
+
readonly triggerRule: string;
|
|
24
|
+
readonly failedRounds: number[];
|
|
25
|
+
readonly approaches: string[];
|
|
26
|
+
readonly wrongAssumptions: string[];
|
|
27
|
+
readonly skippedFiles: string[];
|
|
28
|
+
readonly skippedFingerprints: Record<string, string>;
|
|
29
|
+
readonly targetGitHead?: string;
|
|
30
|
+
}
|
|
12
31
|
export interface CommittedRoundView {
|
|
13
32
|
readonly source: "feedback" | "merged";
|
|
14
33
|
readonly sourceEntry: VaultEntry | Record<string, unknown>;
|
|
@@ -19,16 +38,24 @@ export interface CommittedRoundView {
|
|
|
19
38
|
readonly attempt: number;
|
|
20
39
|
readonly promptArtifact: PromptArtifact | null;
|
|
21
40
|
readonly evaluation: SelfEvaluation | null;
|
|
22
|
-
readonly
|
|
41
|
+
readonly executionReport: ExecutionReport | null;
|
|
23
42
|
readonly verificationFlags: VerificationFlag[];
|
|
24
43
|
readonly result: RoundProcessResult | null;
|
|
25
44
|
readonly action: CommittedAction;
|
|
26
45
|
readonly success: boolean;
|
|
27
46
|
readonly outcome: RoundOutcome | null;
|
|
28
|
-
readonly contractProposal:
|
|
29
|
-
|
|
30
|
-
readonly
|
|
31
|
-
readonly
|
|
47
|
+
readonly contractProposal: RoundContractProposal | null;
|
|
48
|
+
/** v3.8: the machine binding stamped when the declaring round committed. */
|
|
49
|
+
readonly contractBinding: ContractBinding | null;
|
|
50
|
+
readonly beforeEvidence: MachineObservation[];
|
|
51
|
+
readonly afterEvidence: MachineObservation[];
|
|
52
|
+
/** v3.8: derived before→after delta — never persisted (transaction
|
|
53
|
+
* schema 2 stores only the two factual collections). */
|
|
54
|
+
readonly observationDelta: MachineObservation[];
|
|
55
|
+
/** v3.8: true when the round committed without after-phase observations —
|
|
56
|
+
* its machine evidence is incomplete and must never be substituted with
|
|
57
|
+
* the before baseline. */
|
|
58
|
+
readonly evidenceIncomplete: boolean;
|
|
32
59
|
/** Normalized round-level declarations used by compiler projections. */
|
|
33
60
|
readonly outputSummary?: string;
|
|
34
61
|
readonly constraintViolations?: string[];
|
|
@@ -37,7 +64,16 @@ export interface CommittedRoundView {
|
|
|
37
64
|
readonly retractedConstraints?: string[];
|
|
38
65
|
readonly emergedSubtasks?: string[];
|
|
39
66
|
readonly subgoalUpdates?: SubGoalUpdate[];
|
|
67
|
+
/** v3.8.1: present only on a committed rollback directive, null elsewhere.
|
|
68
|
+
* Decoded from `result.*` on the durable feedback entry and from the
|
|
69
|
+
* `lineage.backtrack*` stamps on a hydrated merged entry. */
|
|
70
|
+
readonly backtrack: BacktrackRecoveryRecord | null;
|
|
40
71
|
}
|
|
72
|
+
/** v3.8.1: decode a rollback directive's facts from either carrier —
|
|
73
|
+
* `result.*` on a durable :feedback entry, `lineage.*` on a hydrated merged
|
|
74
|
+
* entry. Returns null when no restore point is recorded, which is also the
|
|
75
|
+
* signal that the record cannot serve as recovery guidance. */
|
|
76
|
+
export declare function decodeBacktrackRecord(source: unknown): BacktrackRecoveryRecord | null;
|
|
41
77
|
/** Decode a durable :feedback entry. Reject/terminate/in-flight envelopes are
|
|
42
78
|
* not committed history and therefore do not produce a view. */
|
|
43
79
|
export declare function decodeCommittedRound(entry: VaultEntry): CommittedRoundView | null;
|
|
@@ -55,21 +91,21 @@ export declare function decodeRound(entry: unknown): CommittedRoundView | null;
|
|
|
55
91
|
/** Lineage sub-object of an entry (`loop_lineage`; v3.7: the legacy
|
|
56
92
|
* top-level `lineage` alias was removed), or {} when absent. */
|
|
57
93
|
export declare function entryLineage(entry: unknown): Record<string, unknown>;
|
|
58
|
-
/** Extract
|
|
94
|
+
/** Extract execution_report from an entry, handling both direct-field and
|
|
59
95
|
* lineage-nested shapes. The decoded committed view wins when the entry is
|
|
60
96
|
* a committed round. Returns null when absent. Moved from loop-compiler so
|
|
61
97
|
* field-shape interpretation lives in this module only. */
|
|
62
|
-
export declare function
|
|
63
|
-
/** Read
|
|
98
|
+
export declare function entryExecutionReport(entry: unknown): Record<string, unknown> | null;
|
|
99
|
+
/** Read the criteria the agent claimed met from an entry's execution_report. */
|
|
64
100
|
export declare function entryCriteriaMet(entry: unknown): string[];
|
|
65
|
-
/** Read
|
|
101
|
+
/** Read the criteria the agent declared outstanding from an entry. */
|
|
66
102
|
export declare function entryCriteriaRemaining(entry: unknown): string[];
|
|
67
103
|
/** Read constraints_active from an entry's lineage. */
|
|
68
104
|
export declare function entryActiveConstraints(entry: unknown): string[];
|
|
69
105
|
/** Read retracted_constraints from an entry (direct field, else nested in
|
|
70
106
|
* the lineage). */
|
|
71
107
|
export declare function entryRetractedConstraints(entry: unknown): string[];
|
|
72
|
-
/** Read progress_estimate from an entry's
|
|
108
|
+
/** Read progress_estimate from an entry's execution_report (0 when
|
|
73
109
|
* absent). */
|
|
74
110
|
export declare function entryProgressEstimate(entry: unknown): number;
|
|
75
111
|
/** Read emerged_subtasks from an entry (handles direct + lineage nesting). */
|
|
@@ -85,17 +121,63 @@ export declare function entrySubGoalUpdates(entry: unknown): SubGoalUpdate[];
|
|
|
85
121
|
* verification-gate so lineage-shape reads live in this module only. */
|
|
86
122
|
export declare function entryViolations(entry: unknown): string[];
|
|
87
123
|
export declare function historyRounds(views: Iterable<CommittedRoundView | null>, beforeRound?: number): CommittedRoundView[];
|
|
88
|
-
|
|
124
|
+
/** v3.8.1: the ONE committed-history window every derivation reads.
|
|
125
|
+
*
|
|
126
|
+
* `decodeRound` (hydrated merged lineage first, then the durable feedback
|
|
127
|
+
* entry) plus the rollback handling in `historyRounds` — so the compile path,
|
|
128
|
+
* the projection, the live coordinator, audit and explain can no longer
|
|
129
|
+
* disagree about which rounds are this branch's history, nor about how their
|
|
130
|
+
* envelope was interpreted.
|
|
131
|
+
*
|
|
132
|
+
* `currentRound` bounds the window exactly as before (default: unbounded). It
|
|
133
|
+
* is NOT a rollback fence: the redo re-commits the round numbers the abandoned
|
|
134
|
+
* rounds occupied, so abandonment is temporal, not numeric, and cannot be
|
|
135
|
+
* expressed as a bound here. */
|
|
136
|
+
export declare function derivationRounds(entries: ReadonlyArray<unknown>, currentRound?: number): CommittedRoundView[];
|
|
137
|
+
/** v3.8.1: the loop's durable round frontier — the session document's
|
|
138
|
+
* `current_round`. Null when no session document is in the entry set, so
|
|
139
|
+
* callers fail OPEN rather than inventing a bound. */
|
|
140
|
+
export declare function persistedFrontier(entries: ReadonlyArray<unknown>): number | null;
|
|
141
|
+
/** v3.8.1: THE window for a READ-ONLY view of a loop — audit, explain, replay,
|
|
142
|
+
* the projection, the metrics replay. Same decoder and same rollback handling
|
|
143
|
+
* as `derivationRounds`, plus the bound those callers cannot compute
|
|
144
|
+
* themselves.
|
|
145
|
+
*
|
|
146
|
+
* The live paths bound their window at the round being compiled, and that
|
|
147
|
+
* bound is what keeps a backtracked branch out of this branch's history. A
|
|
148
|
+
* read-only view has no compile round, so it reads the SAME frontier from the
|
|
149
|
+
* durable session document and applies it only while a committed rollback
|
|
150
|
+
* directive is still in effect — a directive stops being history the moment
|
|
151
|
+
* the redo commit replaces its round's record, which is exactly when the
|
|
152
|
+
* abandoned rounds have been re-committed and must count again.
|
|
153
|
+
*
|
|
154
|
+
* With no directive in effect the window stays UNBOUNDED on purpose: after a
|
|
155
|
+
* stop, terminate or max_rounds the session's `current_round` sits ON the
|
|
156
|
+
* round it just committed, so bounding there would silently drop the loop's
|
|
157
|
+
* final round. An unobservable frontier fails open the same way — a read-only
|
|
158
|
+
* view never invents a fence, it only applies the one the runtime recorded. */
|
|
159
|
+
export declare function readOnlyRounds(entries: ReadonlyArray<unknown>): CommittedRoundView[];
|
|
89
160
|
/** The machine-evidence set that best represents a committed round: the
|
|
90
|
-
* after-phase
|
|
91
|
-
*
|
|
161
|
+
* after-phase observations (captured post-execution), else the derived round
|
|
162
|
+
* delta, else the pre-round baseline. Shared selector for the
|
|
92
163
|
* evidence-fallback chains that audit, claims, and backtrack-restore each
|
|
93
|
-
* used to inline with subtly different tiers
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
164
|
+
* used to inline with subtly different tiers. Distinct from
|
|
165
|
+
* machineGitMotionSeries, which deliberately reads the delta alone for the
|
|
166
|
+
* motion signal. */
|
|
167
|
+
export declare function machineEvidenceForRound(view: CommittedRoundView): MachineObservation[];
|
|
168
|
+
/** v3.8: Rounds whose persisted transaction carries a LEGACY schema version.
|
|
169
|
+
* A hard version break must be visible, not silent: these rounds drop out of
|
|
170
|
+
* history views, so audit/status surface them here instead of letting the
|
|
171
|
+
* loop look complete while rounds are missing. */
|
|
172
|
+
export interface LegacyRound {
|
|
173
|
+
round: number;
|
|
174
|
+
schemaVersion: number;
|
|
175
|
+
/** v3.8.1: which versioned envelope rejected the round. Both are hard
|
|
176
|
+
* breaks — a round that fails either check is not committed history — so
|
|
177
|
+
* both must be REPORTED, not just the transaction one. */
|
|
178
|
+
envelope: "transaction" | "prompt_artifact";
|
|
179
|
+
}
|
|
180
|
+
export declare function legacyTransactionRounds(entries: unknown[]): LegacyRound[];
|
|
99
181
|
/** Machine-observed git motion for the most recent contiguous window.
|
|
100
182
|
* Consumers must decode durable or hydrated entries before calling this;
|
|
101
183
|
* transaction-envelope interpretation stays confined to this module. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"committed-round.d.ts","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"committed-round.d.ts","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"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"}
|