loopforge 3.2.1 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +67 -67
  2. package/dist/audit.d.ts.map +1 -1
  3. package/dist/audit.js +7 -34
  4. package/dist/audit.js.map +1 -1
  5. package/dist/canonical-state.d.ts +71 -4
  6. package/dist/canonical-state.d.ts.map +1 -1
  7. package/dist/canonical-state.js +176 -9
  8. package/dist/canonical-state.js.map +1 -1
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +16 -18
  11. package/dist/cli.js.map +1 -1
  12. package/dist/cognitive-facts.d.ts +17 -0
  13. package/dist/cognitive-facts.d.ts.map +1 -0
  14. package/dist/cognitive-facts.js +99 -0
  15. package/dist/cognitive-facts.js.map +1 -0
  16. package/dist/committed-round.d.ts +59 -0
  17. package/dist/committed-round.d.ts.map +1 -0
  18. package/dist/committed-round.js +222 -0
  19. package/dist/committed-round.js.map +1 -0
  20. package/dist/enforcement-gate.d.ts +4 -2
  21. package/dist/enforcement-gate.d.ts.map +1 -1
  22. package/dist/enforcement-gate.js +339 -301
  23. package/dist/enforcement-gate.js.map +1 -1
  24. package/dist/engine.d.ts +16 -4
  25. package/dist/engine.d.ts.map +1 -1
  26. package/dist/engine.js +63 -15
  27. package/dist/engine.js.map +1 -1
  28. package/dist/evidence-claims.d.ts.map +1 -1
  29. package/dist/evidence-claims.js +21 -39
  30. package/dist/evidence-claims.js.map +1 -1
  31. package/dist/evidence-provider.d.ts +29 -0
  32. package/dist/evidence-provider.d.ts.map +1 -1
  33. package/dist/evidence-provider.js +93 -16
  34. package/dist/evidence-provider.js.map +1 -1
  35. package/dist/index.d.ts +3 -3
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +3 -3
  38. package/dist/index.js.map +1 -1
  39. package/dist/loop-compiler.d.ts +21 -4
  40. package/dist/loop-compiler.d.ts.map +1 -1
  41. package/dist/loop-compiler.js +244 -66
  42. package/dist/loop-compiler.js.map +1 -1
  43. package/dist/loop-projection.d.ts +5 -25
  44. package/dist/loop-projection.d.ts.map +1 -1
  45. package/dist/loop-projection.js +18 -134
  46. package/dist/loop-projection.js.map +1 -1
  47. package/dist/loop-store.d.ts +5 -2
  48. package/dist/loop-store.d.ts.map +1 -1
  49. package/dist/loop-store.js.map +1 -1
  50. package/dist/mcp/round-lifecycle.d.ts +6 -8
  51. package/dist/mcp/round-lifecycle.d.ts.map +1 -1
  52. package/dist/mcp/round-lifecycle.js +61 -52
  53. package/dist/mcp/round-lifecycle.js.map +1 -1
  54. package/dist/mcp/server.js +3 -3
  55. package/dist/mcp/server.js.map +1 -1
  56. package/dist/mcp/session.d.ts +14 -3
  57. package/dist/mcp/session.d.ts.map +1 -1
  58. package/dist/mcp/session.js +174 -52
  59. package/dist/mcp/session.js.map +1 -1
  60. package/dist/mcp/tools.d.ts +12 -0
  61. package/dist/mcp/tools.d.ts.map +1 -1
  62. package/dist/mcp/tools.js +160 -52
  63. package/dist/mcp/tools.js.map +1 -1
  64. package/dist/policy-metrics.d.ts +0 -7
  65. package/dist/policy-metrics.d.ts.map +1 -1
  66. package/dist/policy-metrics.js +15 -55
  67. package/dist/policy-metrics.js.map +1 -1
  68. package/dist/policy.d.ts +22 -20
  69. package/dist/policy.d.ts.map +1 -1
  70. package/dist/policy.js +24 -38
  71. package/dist/policy.js.map +1 -1
  72. package/dist/prompt-assembler.d.ts.map +1 -1
  73. package/dist/prompt-assembler.js +120 -140
  74. package/dist/prompt-assembler.js.map +1 -1
  75. package/dist/protocol.d.ts +57 -23
  76. package/dist/protocol.d.ts.map +1 -1
  77. package/dist/protocol.js +10 -4
  78. package/dist/protocol.js.map +1 -1
  79. package/dist/replay.d.ts.map +1 -1
  80. package/dist/replay.js +21 -22
  81. package/dist/replay.js.map +1 -1
  82. package/dist/round-contract.d.ts +64 -0
  83. package/dist/round-contract.d.ts.map +1 -0
  84. package/dist/round-contract.js +80 -0
  85. package/dist/round-contract.js.map +1 -0
  86. package/dist/round-coordinator.d.ts +5 -3
  87. package/dist/round-coordinator.d.ts.map +1 -1
  88. package/dist/round-coordinator.js +33 -29
  89. package/dist/round-coordinator.js.map +1 -1
  90. package/dist/round-driver.d.ts +0 -1
  91. package/dist/round-driver.d.ts.map +1 -1
  92. package/dist/round-driver.js +0 -1
  93. package/dist/round-driver.js.map +1 -1
  94. package/dist/round-transaction.d.ts +0 -1
  95. package/dist/round-transaction.d.ts.map +1 -1
  96. package/dist/round-transaction.js +0 -1
  97. package/dist/round-transaction.js.map +1 -1
  98. package/dist/self-eval.d.ts +29 -34
  99. package/dist/self-eval.d.ts.map +1 -1
  100. package/dist/self-eval.js +112 -148
  101. package/dist/self-eval.js.map +1 -1
  102. package/dist/verification-gate.d.ts +53 -12
  103. package/dist/verification-gate.d.ts.map +1 -1
  104. package/dist/verification-gate.js +462 -90
  105. package/dist/verification-gate.js.map +1 -1
  106. package/dist/workspace.d.ts +29 -0
  107. package/dist/workspace.d.ts.map +1 -0
  108. package/dist/workspace.js +61 -0
  109. package/dist/workspace.js.map +1 -0
  110. package/loop_policy.json +5 -13
  111. package/package.json +1 -1
  112. package/skills/perception/SKILL.md +135 -136
@@ -59,8 +59,139 @@ function addListWithIds(lines, title, values, prefix) {
59
59
  }
60
60
  lines.push("");
61
61
  }
62
+ /** v3.3.1: Identity-aware variant of addListWithIds for the merged active
63
+ * constraint set (hard/plan/criteria/discovered texts together). Each
64
+ * item's ID comes from constraint metadata — criteria texts keep their
65
+ * cr-XXXXXXXX identity, matching the Success Criteria section and the
66
+ * verification gate's ID-first criterion matching. Keeps the state file in
67
+ * the same identity namespace as the prompts (module contract: both
68
+ * renderers cannot drift apart). */
69
+ function addListWithIdentities(lines, title, values, metadata) {
70
+ if (values.length === 0)
71
+ return;
72
+ const idEnabled = getPolicy().evolution.constraint_id_enabled;
73
+ const idByText = new Map(metadata.map((meta) => [meta.text, meta.id]));
74
+ lines.push(`## ${title}`, "");
75
+ for (const value of values) {
76
+ const trimmed = value.trim();
77
+ if (!trimmed)
78
+ continue;
79
+ if (STABLE_ID_RE.test(trimmed)) {
80
+ lines.push(`- [\`${trimmed}\`] ${trimmed}`);
81
+ }
82
+ else if (idEnabled) {
83
+ const id = idByText.get(trimmed) ?? `c-${deriveItemId(trimmed)}`;
84
+ lines.push(`- [\`${id}\`] ${trimmed}`);
85
+ }
86
+ else {
87
+ lines.push(`- ${trimmed}`);
88
+ }
89
+ }
90
+ lines.push("");
91
+ }
62
92
  /** Human/Agent-readable materialized view. It is always reproducible from the
63
93
  * canonical state and is never consulted as transaction truth. */
94
+ /** v3.3: Forward-looking "roadmap" view derived from existing state — loop
95
+ * position, met/remaining criteria (with IDs), and sub-goal activity.
96
+ *
97
+ * Deliberately label-free: milestone labels/ranges are collapsed content in
98
+ * L1 (the diff-collapse invariant) and are rendered in full by Phase
99
+ * History everywhere else — the roadmap only reports "N rounds since the
100
+ * last milestone boundary", never the boundary's identity. Next action is
101
+ * likewise excluded: every level renders its own Next Action section.
102
+ * Shared by the state-file and prompt renderers so they cannot silently
103
+ * drift apart (module contract above). Returns [] — renders nothing —
104
+ * when the state carries none of these. Presentation only; never feeds
105
+ * enforcement. */
106
+ export function buildRoadmap(state) {
107
+ const lastMilestone = state.milestones.length > 0
108
+ ? state.milestones[state.milestones.length - 1]
109
+ : null;
110
+ const roundsSinceMilestone = lastMilestone !== null &&
111
+ lastMilestone.round_range.end <= state.round
112
+ ? state.round - lastMilestone.round_range.end
113
+ : null;
114
+ const met = state.criterionStatuses.filter((cs) => cs.status === "met").length;
115
+ const total = state.criterionStatuses.length;
116
+ const remaining = state.criterionStatuses.filter((cs) => cs.status === "remaining" || cs.status === "unknown");
117
+ const inProgress = state.subGoals.filter((sg) => sg.status === "in_progress").length;
118
+ const pending = state.subGoals.filter((sg) => sg.status === "pending").length;
119
+ // Bare position alone is not forward information — no milestone distance,
120
+ // criteria, remaining criteria, or sub-goal activity means nothing to
121
+ // look ahead to. Returns [] so empty states render no section at all.
122
+ if (roundsSinceMilestone === null && total === 0 &&
123
+ state.remainingCriteria.length === 0 && inProgress === 0 && pending === 0) {
124
+ return [];
125
+ }
126
+ const lines = [];
127
+ let position = `Position: round ${state.round}/${state.maxRounds}`;
128
+ if (roundsSinceMilestone !== null) {
129
+ position += ` · ${roundsSinceMilestone} round${roundsSinceMilestone === 1 ? "" : "s"} since the last milestone boundary`;
130
+ }
131
+ lines.push(`- ${position}`);
132
+ if (total > 0) {
133
+ lines.push(`- Criteria: ${met}/${total} met · ${remaining.length} remaining`);
134
+ }
135
+ else if (state.remainingCriteria.length > 0) {
136
+ lines.push(`- Criteria: ${state.remainingCriteria.length} remaining`);
137
+ }
138
+ if (remaining.length > 0) {
139
+ const idEnabled = getPolicy().evolution.constraint_id_enabled;
140
+ for (const cs of remaining.slice(0, 8)) {
141
+ const idTag = idEnabled ? ` [\`${cs.id}\`]` : "";
142
+ const icon = cs.status === "remaining" ? "⬜" : "❔";
143
+ lines.push(` - ${icon}${idTag} ${cs.text}`);
144
+ }
145
+ if (remaining.length > 8) {
146
+ lines.push(` - ... and ${remaining.length - 8} more`);
147
+ }
148
+ }
149
+ if (inProgress > 0 || pending > 0) {
150
+ lines.push(`- Sub-goals: ${inProgress} in progress · ${pending} pending`);
151
+ }
152
+ return lines;
153
+ }
154
+ /** v3.3/v3.4: Render the ACTIVE Round Contract as the Current Task section
155
+ * body — the single formatting source shared by prompts and the state
156
+ * file (module contract above). The original objective is NOT here: it
157
+ * lives in the Objective section. Empty arrays render no line. */
158
+ export function formatRoundContract(contract) {
159
+ const lines = [];
160
+ const heading = contract.work_item?.trim();
161
+ lines.push(`**${heading || "Round Contract"}**`);
162
+ for (const item of contract.done_when) {
163
+ lines.push(`- Done when: ${item}`);
164
+ }
165
+ for (const item of contract.verification_plan) {
166
+ lines.push(`- Verify via: ${item}`);
167
+ }
168
+ for (const item of contract.scope) {
169
+ lines.push(`- Scope: ${item}`);
170
+ }
171
+ return lines.join("\n");
172
+ }
173
+ // ═══════════════════════════════════════════════════════════════════════════
174
+ // v3.3.1: Shared presentation atoms
175
+ // ═══════════════════════════════════════════════════════════════════════════
176
+ /** The trust bar line ("██████░░░░ 60%"). The L2 Agent Trust section and the
177
+ * detailed L1 renderer used to carry private copies of this formula — shared
178
+ * here so a formatting change is made once (module contract: renderers must
179
+ * not silently drift apart). */
180
+ export function trustBarLine(score) {
181
+ const barLen = 10;
182
+ const filled = Math.round(score * barLen);
183
+ const bar = "█".repeat(filled) + "░".repeat(barLen - filled);
184
+ return `${bar} ${(score * 100).toFixed(0)}%`;
185
+ }
186
+ /** Milestone heading line ("**🏁 Round 7** (Rounds 3–7, 60%)"). Shared by the
187
+ * L2 Phase History and the detailed L1 renderer; the L1 copy previously
188
+ * rendered the range as "R3–R7", a format only this heading used. */
189
+ export function milestoneHeading(milestone) {
190
+ const kindIcon = milestone.kind === "agent_declared"
191
+ ? "🏁"
192
+ : milestone.kind === "criteria_milestone" ? "✅" : "📍";
193
+ return `**${kindIcon} ${milestone.label}** (Rounds ${milestone.round_range.start}–${milestone.round_range.end}, ${(milestone.progress_at_boundary * 100).toFixed(0)}%)`;
194
+ }
64
195
  export function renderCanonicalStateMarkdown(state) {
65
196
  const lines = [
66
197
  `# LoopForge State — ${state.loopId}`,
@@ -76,18 +207,18 @@ export function renderCanonicalStateMarkdown(state) {
76
207
  "## Current Task",
77
208
  "",
78
209
  state.currentTask,
79
- "",
80
210
  ];
81
211
  // v2.11: Success Criteria and Constraints render with stable IDs for exact agent matching
82
212
  addListWithIds(lines, "Success Criteria", state.successCriteria, "cr");
83
213
  addListWithIds(lines, "Hard Constraints", state.hardConstraints, "c");
84
- addListWithIds(lines, "Active Constraints", state.activeConstraints, "c");
214
+ addListWithIdentities(lines, "Active Constraints", state.activeConstraints, state.constraintMetadata);
85
215
  addList(lines, "Changes Since Last Round", state.changesSinceLastRound);
86
216
  if (state.progress.estimate !== null ||
87
217
  state.progress.criteriaMet.length > 0 ||
88
218
  state.progress.criteriaRemaining.length > 0 ||
89
219
  state.progress.filesChanged.length > 0 ||
90
- state.progress.tests !== null) {
220
+ state.progress.tests !== null ||
221
+ state.machineStatus !== undefined) {
91
222
  const total = state.progress.criteriaMet.length + state.progress.criteriaRemaining.length;
92
223
  lines.push("## Progress Dashboard", "");
93
224
  if (total > 0) {
@@ -95,6 +226,21 @@ export function renderCanonicalStateMarkdown(state) {
95
226
  }
96
227
  if (state.progress.estimate !== null) {
97
228
  lines.push(`**Estimated Completion**: ${(state.progress.estimate * 100).toFixed(0)}%`);
229
+ // v3.3: honest labeling — the estimate is the agent's own number.
230
+ lines.push("**Signal source**: self-reported estimate (unverified until machine-backed)");
231
+ }
232
+ // v3.3: machine side of the comparison — git motion over committed rounds
233
+ // (v3.6: the object always carries definite values — no "unavailable" arm).
234
+ if (state.machineStatus) {
235
+ const ms = state.machineStatus;
236
+ const motion = ms.gitMotion
237
+ ? `changes observed in ${ms.motionRounds}/${ms.windowRounds} recent committed rounds`
238
+ : `no git changes in the last ${ms.windowRounds} committed rounds`;
239
+ lines.push(`**Machine (git)**: ${motion}`);
240
+ }
241
+ if (state.criterionStatuses.length > 0) {
242
+ const metCount = state.criterionStatuses.filter((cs) => cs.status === "met").length;
243
+ lines.push(`**Machine (criteria)**: ${metCount}/${state.criterionStatuses.length} met across committed rounds`);
98
244
  }
99
245
  if (state.progress.tests) {
100
246
  lines.push(`**Tests**: ${state.progress.tests.passed} passed, ` +
@@ -166,6 +312,14 @@ export function renderCanonicalStateMarkdown(state) {
166
312
  if (state.nextAction) {
167
313
  lines.push("## Next Action", "", state.nextAction, "");
168
314
  }
315
+ // v3.3: Forward-looking roadmap — same buildRoadmap the prompts render.
316
+ const roadmap = buildRoadmap(state);
317
+ if (roadmap.length > 0) {
318
+ lines.push("## Roadmap", "");
319
+ for (const line of roadmap)
320
+ lines.push(line);
321
+ lines.push("");
322
+ }
169
323
  if (state.verificationFlags.length > 0) {
170
324
  lines.push("## Verification", "");
171
325
  for (const flag of state.verificationFlags) {
@@ -226,15 +380,15 @@ export function renderCanonicalStateMarkdown(state) {
226
380
  : "—";
227
381
  lines.push("## Agent Trust", "", `${bar} ${(state.agentTrustScore * 100).toFixed(0)}%`, `Trend (last ${state.agentTrustTrend.length}): ${state.agentTrustTrend.join(" → ")}`, `Average: ${avg}`, "");
228
382
  }
229
- if (state.loopSynthesis) {
230
- lines.push("## Loop Summary", "", state.loopSynthesis, "");
231
- }
232
383
  if (state.externalContext) {
233
384
  lines.push("## External Context", "", state.externalContext, "");
234
385
  }
235
386
  return lines.join("\n").trimEnd() + "\n";
236
387
  }
237
- export function createCanonicalLoopState(request, response, stateFilePath) {
388
+ export function createCanonicalLoopState(request, response, stateFilePath,
389
+ /** v3.3: Display-only derived data (round stats, machine git-motion).
390
+ * Optional 4th param — callers that predate v3.3 stay on 3-arg calls. */
391
+ derived) {
238
392
  const last = request.last_round_result;
239
393
  const objective = response.loop_objective;
240
394
  const verificationFlags = request.verification_flags ?? [];
@@ -255,6 +409,12 @@ export function createCanonicalLoopState(request, response, stateFilePath) {
255
409
  request.rejection_notice,
256
410
  ...response.warnings,
257
411
  ]);
412
+ // v3.4: The ACTIVE Round Contract (derived — loop-compiler computes it
413
+ // from committed rounds) drives the Current Task — the contract IS "what
414
+ // to do this round"; the original objective stays in the Objective
415
+ // section above. No active contract → the original task text is used,
416
+ // byte-identical to pre-v3.3 behavior.
417
+ const roundContract = derived?.roundContract ?? null;
258
418
  return {
259
419
  schemaVersion: CANONICAL_STATE_SCHEMA_VERSION,
260
420
  loopId: response.loop_id || request.loop_id,
@@ -263,7 +423,7 @@ export function createCanonicalLoopState(request, response, stateFilePath) {
263
423
  goalId: response.goal_id,
264
424
  objective: objective?.objective || request.task,
265
425
  objectiveVersion: objective?.version ?? 1,
266
- currentTask: request.task,
426
+ currentTask: roundContract ? formatRoundContract(roundContract) : request.task,
267
427
  successCriteria: unique(objective?.success_criteria ?? []),
268
428
  hardConstraints: unique(objective?.hard_constraints ?? []),
269
429
  activeConstraints: unique(response.constraints_active),
@@ -280,7 +440,6 @@ export function createCanonicalLoopState(request, response, stateFilePath) {
280
440
  recurringIssues: unique(rolling?.recurring_issues ?? []),
281
441
  failedPatterns: unique(rolling?.failed_patterns ?? []),
282
442
  milestones: rolling?.milestones ?? [],
283
- loopSynthesis: rolling?.loop_synthesis ?? "",
284
443
  subGoals: response.sub_goals ?? [],
285
444
  criterionStatuses: response.criterion_statuses ?? [],
286
445
  lessons: response.lessons ?? [],
@@ -296,6 +455,14 @@ export function createCanonicalLoopState(request, response, stateFilePath) {
296
455
  filesChanged: unique(executionEvidence?.files_changed ?? []),
297
456
  tests: executionEvidence?.test_results ?? null,
298
457
  },
458
+ // v3.3: Conditional presence — empty/absent derived data must not add
459
+ // keys, or every state hash would change for rounds without it.
460
+ ...(derived?.roundStats && derived.roundStats.length > 0
461
+ ? { roundStats: derived.roundStats }
462
+ : {}),
463
+ ...(derived?.machineStatus ? { machineStatus: derived.machineStatus } : {}),
464
+ // v3.3: Conditional presence — no contract, no key (hash stability).
465
+ ...(roundContract ? { roundContract } : {}),
299
466
  };
300
467
  }
301
468
  //# sourceMappingURL=canonical-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-state.js","sourceRoot":"","sources":["../src/canonical-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical-state.js","sourceRoot":"","sources":["../src/canonical-state.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,sCAAsC;AA0MtC,wBAAgB,IAAI,CAAC,IAAI,WAAwB,GAAG,IAAI,CAsBvD"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,sCAAsC;AAyMtC,wBAAgB,IAAI,CAAC,IAAI,WAAwB,GAAG,IAAI,CAsBvD"}
package/dist/cli.js CHANGED
@@ -1,14 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  /** Unified LoopForge command line. */
3
- import { accessSync, constants, existsSync, realpathSync, statSync } from "node:fs";
4
- import { dirname, isAbsolute, relative, resolve, sep } from "node:path";
3
+ import { accessSync, constants, existsSync, statSync } from "node:fs";
4
+ import { dirname, resolve } from "node:path";
5
+ import { containInWorkspace } from "./workspace.js";
5
6
  import { fileURLToPath } from "node:url";
6
7
  import { spawnSync } from "node:child_process";
7
8
  import { initializeClient } from "./init.js";
8
9
  import { FileLoopStore } from "./loop-store.js";
9
10
  import { getPolicy, validateLoopId, writeDefaultPolicy } from "./policy.js";
10
11
  import { McpServer } from "./mcp/server.js";
11
- const VERSION = "3.2.1";
12
+ const VERSION = "3.6.0";
12
13
  const HELP = `LoopForge ${VERSION}
13
14
 
14
15
  Usage:
@@ -62,20 +63,8 @@ function withoutPrompts(value) {
62
63
  return result;
63
64
  }
64
65
  function ensureInsideWorkspace(configured) {
65
- const workspace = realpathSync(process.cwd());
66
- const lexical = resolve(workspace, configured);
67
- const lexicalRelative = relative(workspace, lexical);
68
- if (lexicalRelative === ".." || lexicalRelative.startsWith(`..${sep}`) ||
69
- isAbsolute(lexicalRelative))
70
- throw new Error("path leaves the workspace");
71
- if (!existsSync(lexical))
72
- return lexical;
73
- const actual = realpathSync(lexical);
74
- const actualRelative = relative(workspace, actual);
75
- if (actualRelative === ".." || actualRelative.startsWith(`..${sep}`) ||
76
- isAbsolute(actualRelative))
77
- throw new Error("path resolves outside the workspace");
78
- return actual;
66
+ // v3.3.1: delegated to the single shared containment check (workspace.ts).
67
+ return containInWorkspace(process.cwd(), configured);
79
68
  }
80
69
  function doctor(json) {
81
70
  const policy = getPolicy();
@@ -153,7 +142,16 @@ function doctor(json) {
153
142
  return report.ok ? 0 : 1;
154
143
  }
155
144
  function inspect(args) {
156
- const loopId = args.find((arg) => !arg.startsWith("-"));
145
+ // v3.3.1: option VALUES (e.g. "--round 2") are not positional arguments.
146
+ // Previously `inspect --round 2 my-loop` took "2" as the LOOP_ID and
147
+ // reported "round not found: 2#2" while never reading my-loop.
148
+ const optionValues = new Set();
149
+ for (let i = 0; i < args.length; i++) {
150
+ if (args[i] === "--round" && i + 1 < args.length) {
151
+ optionValues.add(args[i + 1]);
152
+ }
153
+ }
154
+ const loopId = args.find((arg) => !arg.startsWith("-") && !optionValues.has(arg));
157
155
  if (!loopId)
158
156
  throw new Error("inspect requires LOOP_ID");
159
157
  validateLoopId(loopId);
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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"}
@@ -0,0 +1,17 @@
1
+ /** Shared cognitive facts used by typed projections and handoff views. */
2
+ import type { CommittedRoundView } from "./committed-round.js";
3
+ import type { LoopForgeResponse, LoopProjection } from "./protocol.js";
4
+ export interface DerivedCognitiveFacts {
5
+ focus: LoopProjection["focus"];
6
+ todo: LoopProjection["todo"];
7
+ phase: LoopProjection["phase"];
8
+ delegation: LoopProjection["delegation"];
9
+ handoff: LoopProjection["handoff"];
10
+ }
11
+ export declare function deriveCognitiveFacts(input: {
12
+ compileResponse: LoopForgeResponse | null;
13
+ rounds: ReadonlyArray<CommittedRoundView>;
14
+ verifiedClaims?: string[];
15
+ openGates?: string[];
16
+ }): DerivedCognitiveFacts;
17
+ //# sourceMappingURL=cognitive-facts.d.ts.map
@@ -0,0 +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;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAW,MAAM,eAAe,CAAC;AAMhF,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;CACpC;AA6CD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,GAAG,qBAAqB,CAmExB"}
@@ -0,0 +1,99 @@
1
+ /** Shared cognitive facts used by typed projections and handoff views. */
2
+ import { deriveTodoId } from "./cognitive-governance.js";
3
+ import { contractRoundEvaluations, deriveActiveRoundContract, } from "./round-contract.js";
4
+ const TODO_LIMIT = 10;
5
+ function deriveTodo(compileResponse, rounds) {
6
+ const candidates = [];
7
+ const seen = new Set();
8
+ const push = (item, reason, source, priority) => {
9
+ const text = item.trim().slice(0, 200);
10
+ if (!text)
11
+ return;
12
+ const id = deriveTodoId(text);
13
+ if (seen.has(id))
14
+ return;
15
+ seen.add(id);
16
+ candidates.push({ id, item: text, reason, source, priority });
17
+ };
18
+ for (const subGoal of compileResponse?.sub_goals ?? []) {
19
+ const goal = subGoal;
20
+ if (goal.status === "blocked") {
21
+ push(goal.description, "blocked sub-goal", "derived", 9);
22
+ }
23
+ else if (goal.status === "pending") {
24
+ push(goal.description, "pending sub-goal", "derived", goal.priority ?? 5);
25
+ }
26
+ }
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
+ return candidates
35
+ .sort((a, b) => b.priority - a.priority || a.id.localeCompare(b.id))
36
+ .slice(0, TODO_LIMIT);
37
+ }
38
+ export function deriveCognitiveFacts(input) {
39
+ const { compileResponse, rounds } = input;
40
+ const latestFocus = [...rounds].reverse().find((round) => round.outcome !== "failed" &&
41
+ typeof round.evaluation?.output_summary === "string" &&
42
+ round.evaluation.output_summary.length > 0);
43
+ const milestones = compileResponse?.rolling_summary?.milestones ?? [];
44
+ const boundaries = milestones
45
+ .filter((milestone) => typeof milestone.round_range?.end === "number")
46
+ .map((milestone) => ({ label: milestone.label, round: milestone.round_range.end }));
47
+ const lastBoundary = boundaries[boundaries.length - 1];
48
+ const workerRounds = rounds.filter((round) => (round.evaluation?.worker_results?.length ?? 0) > 0);
49
+ const latestWorkerRound = workerRounds[workerRounds.length - 1];
50
+ const workerResults = latestWorkerRound?.evaluation?.worker_results ?? [];
51
+ const rolling = compileResponse?.rolling_summary;
52
+ const activeContract = deriveActiveRoundContract(contractRoundEvaluations(rounds));
53
+ const currentTask = activeContract?.work_item ??
54
+ compileResponse?.loop_objective?.objective ?? "";
55
+ const latestOutcome = rolling?.key_outcomes[rolling.key_outcomes.length - 1] ??
56
+ latestFocus?.evaluation?.output_summary ?? "";
57
+ const remainingCriteria = (compileResponse?.criterion_statuses ?? [])
58
+ .filter((criterion) => criterion.status !== "met")
59
+ .map((criterion) => criterion.text)
60
+ .slice(0, 5);
61
+ const summary = [
62
+ currentTask ? `Current task: ${currentTask.slice(0, 200)}` : "",
63
+ latestOutcome ? `Latest outcome: ${latestOutcome.slice(0, 200)}` : "",
64
+ remainingCriteria.length > 0
65
+ ? `Remaining criteria: ${remainingCriteria.join("; ").slice(0, 300)}`
66
+ : "",
67
+ ].filter(Boolean).join(" | ");
68
+ const latestBlocker = [...rounds].reverse()
69
+ .find((round) => round.outcome === "blocked")?.evaluation?.blocker;
70
+ return {
71
+ focus: latestFocus
72
+ ? { what: latestFocus.evaluation.output_summary.slice(0, 200), since_round: latestFocus.round }
73
+ : null,
74
+ todo: deriveTodo(compileResponse, rounds),
75
+ phase: lastBoundary
76
+ ? { current: lastBoundary.label, label: lastBoundary.label, boundaries }
77
+ : null,
78
+ delegation: {
79
+ pending: workerResults.filter((worker) => worker.outcome === "partial" || worker.outcome === "failed" ||
80
+ (worker.outcome === undefined && worker.success !== true)).length,
81
+ last_results: workerResults.slice(-5).map((worker) => ({
82
+ agentId: worker.agentId,
83
+ outcome: worker.outcome ?? (worker.success ? "success" : "failed"),
84
+ round: latestWorkerRound?.round ?? 0,
85
+ summary: worker.resultSummary.slice(0, 200),
86
+ })),
87
+ },
88
+ handoff: {
89
+ summary,
90
+ verified: [...(input.verifiedClaims ?? [])],
91
+ open_risks: [...new Set([
92
+ ...(latestBlocker ? [latestBlocker] : []),
93
+ ...(rolling?.recurring_issues ?? []).slice(0, 5),
94
+ ...(input.openGates ?? []).slice(0, 3).map((gate) => `user gate pending: ${gate}`),
95
+ ])],
96
+ },
97
+ };
98
+ }
99
+ //# sourceMappingURL=cognitive-facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cognitive-facts.js","sourceRoot":"","sources":["../src/cognitive-facts.ts"],"names":[],"mappings":"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"}