loopforge 2.11.0 → 3.2.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.
Files changed (117) hide show
  1. package/README.md +4 -4
  2. package/dist/audit.d.ts +50 -0
  3. package/dist/audit.d.ts.map +1 -0
  4. package/dist/audit.js +158 -0
  5. package/dist/audit.js.map +1 -0
  6. package/dist/canonical-state.d.ts +21 -9
  7. package/dist/canonical-state.d.ts.map +1 -1
  8. package/dist/canonical-state.js +34 -16
  9. package/dist/canonical-state.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +16 -6
  12. package/dist/cli.js.map +1 -1
  13. package/dist/cognitive-governance.d.ts +40 -0
  14. package/dist/cognitive-governance.d.ts.map +1 -0
  15. package/dist/cognitive-governance.js +126 -0
  16. package/dist/cognitive-governance.js.map +1 -0
  17. package/dist/enforcement-gate.d.ts +8 -3
  18. package/dist/enforcement-gate.d.ts.map +1 -1
  19. package/dist/enforcement-gate.js +419 -92
  20. package/dist/enforcement-gate.js.map +1 -1
  21. package/dist/engine.d.ts +47 -7
  22. package/dist/engine.d.ts.map +1 -1
  23. package/dist/engine.js +303 -60
  24. package/dist/engine.js.map +1 -1
  25. package/dist/evidence-claims.d.ts +50 -0
  26. package/dist/evidence-claims.d.ts.map +1 -0
  27. package/dist/evidence-claims.js +134 -0
  28. package/dist/evidence-claims.js.map +1 -0
  29. package/dist/generate-schema.js +6 -1
  30. package/dist/generate-schema.js.map +1 -1
  31. package/dist/index.d.ts +3 -3
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/loop-compiler.d.ts +41 -3
  36. package/dist/loop-compiler.d.ts.map +1 -1
  37. package/dist/loop-compiler.js +310 -38
  38. package/dist/loop-compiler.js.map +1 -1
  39. package/dist/loop-projection.d.ts +26 -0
  40. package/dist/loop-projection.d.ts.map +1 -0
  41. package/dist/loop-projection.js +142 -0
  42. package/dist/loop-projection.js.map +1 -0
  43. package/dist/loop-store.d.ts +91 -41
  44. package/dist/loop-store.d.ts.map +1 -1
  45. package/dist/loop-store.js +243 -173
  46. package/dist/loop-store.js.map +1 -1
  47. package/dist/mcp/round-lifecycle.d.ts +216 -0
  48. package/dist/mcp/round-lifecycle.d.ts.map +1 -0
  49. package/dist/mcp/round-lifecycle.js +926 -0
  50. package/dist/mcp/round-lifecycle.js.map +1 -0
  51. package/dist/mcp/server.d.ts +3 -2
  52. package/dist/mcp/server.d.ts.map +1 -1
  53. package/dist/mcp/server.js +65 -9
  54. package/dist/mcp/server.js.map +1 -1
  55. package/dist/mcp/session.d.ts +47 -139
  56. package/dist/mcp/session.d.ts.map +1 -1
  57. package/dist/mcp/session.js +284 -784
  58. package/dist/mcp/session.js.map +1 -1
  59. package/dist/mcp/tools.d.ts +23 -1
  60. package/dist/mcp/tools.d.ts.map +1 -1
  61. package/dist/mcp/tools.js +270 -79
  62. package/dist/mcp/tools.js.map +1 -1
  63. package/dist/policy-metrics.d.ts +11 -0
  64. package/dist/policy-metrics.d.ts.map +1 -1
  65. package/dist/policy-metrics.js +118 -21
  66. package/dist/policy-metrics.js.map +1 -1
  67. package/dist/policy.d.ts +26 -1
  68. package/dist/policy.d.ts.map +1 -1
  69. package/dist/policy.js +13 -2
  70. package/dist/policy.js.map +1 -1
  71. package/dist/prompt-assembler.d.ts +34 -1
  72. package/dist/prompt-assembler.d.ts.map +1 -1
  73. package/dist/prompt-assembler.js +320 -42
  74. package/dist/prompt-assembler.js.map +1 -1
  75. package/dist/protocol.d.ts +169 -1
  76. package/dist/protocol.d.ts.map +1 -1
  77. package/dist/protocol.js +39 -0
  78. package/dist/protocol.js.map +1 -1
  79. package/dist/replay.d.ts +5 -5
  80. package/dist/replay.d.ts.map +1 -1
  81. package/dist/replay.js +9 -8
  82. package/dist/replay.js.map +1 -1
  83. package/dist/round-coordinator.d.ts +6 -3
  84. package/dist/round-coordinator.d.ts.map +1 -1
  85. package/dist/round-coordinator.js +38 -19
  86. package/dist/round-coordinator.js.map +1 -1
  87. package/dist/round-driver.d.ts +9 -4
  88. package/dist/round-driver.d.ts.map +1 -1
  89. package/dist/round-driver.js +15 -7
  90. package/dist/round-driver.js.map +1 -1
  91. package/dist/round-transaction.d.ts +7 -3
  92. package/dist/round-transaction.d.ts.map +1 -1
  93. package/dist/round-transaction.js +93 -88
  94. package/dist/round-transaction.js.map +1 -1
  95. package/dist/self-eval.d.ts +31 -1
  96. package/dist/self-eval.d.ts.map +1 -1
  97. package/dist/self-eval.js +115 -12
  98. package/dist/self-eval.js.map +1 -1
  99. package/dist/storage.d.ts +3 -4
  100. package/dist/storage.d.ts.map +1 -1
  101. package/dist/storage.js +5 -4
  102. package/dist/storage.js.map +1 -1
  103. package/dist/token-utils.d.ts +20 -7
  104. package/dist/token-utils.d.ts.map +1 -1
  105. package/dist/token-utils.js +68 -9
  106. package/dist/token-utils.js.map +1 -1
  107. package/dist/verification-gate.d.ts +54 -2
  108. package/dist/verification-gate.d.ts.map +1 -1
  109. package/dist/verification-gate.js +433 -25
  110. package/dist/verification-gate.js.map +1 -1
  111. package/loop_policy.json +35 -8
  112. package/package.json +3 -2
  113. package/skills/perception/SKILL.md +24 -6
  114. package/dist/backends/interface.d.ts +0 -39
  115. package/dist/backends/interface.d.ts.map +0 -1
  116. package/dist/backends/interface.js +0 -6
  117. package/dist/backends/interface.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"round-lifecycle.js","sourceRoot":"","sources":["../../src/mcp/round-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,15 @@
3
3
  * LoopForge intentionally does not implement MCP Tasks: the external Agent
4
4
  * owns long-running execution while LoopForge persists round state.
5
5
  */
6
- import type { VaultBackend } from "../backends/interface.js";
7
6
  import type { LoopStore } from "../loop-store.js";
7
+ export declare const SERVER_INSTRUCTIONS: string;
8
8
  export declare class McpServer {
9
9
  private readonly mgr;
10
10
  private requestQueue;
11
- constructor(storeOrBackend?: LoopStore | VaultBackend);
11
+ constructor(store?: LoopStore);
12
12
  start(): void;
13
13
  private handleLine;
14
+ private trace;
14
15
  private dispatch;
15
16
  private executeTool;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAoElD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,YAAY,CAAoC;gBAE5C,cAAc,CAAC,EAAE,SAAS,GAAG,YAAY;IAIrD,KAAK,IAAI,IAAI;YAiBC,UAAU;YAuBV,QAAQ;YAiCR,WAAW;CA4D1B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAkBlD,eAAO,MAAM,mBAAmB,QAStB,CAAC;AAyDX,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,YAAY,CAAoC;gBAE5C,KAAK,CAAC,EAAE,SAAS;IAI7B,KAAK,IAAI,IAAI;YAiBC,UAAU;IA4BxB,OAAO,CAAC,KAAK;YAUC,QAAQ;YAyCR,WAAW;CA0E1B"}
@@ -4,10 +4,27 @@
4
4
  * owns long-running execution while LoopForge persists round state.
5
5
  */
6
6
  import { createInterface } from "node:readline";
7
+ import { appendFileSync } from "node:fs";
7
8
  import { SessionManager } from "./session.js";
8
- import { TOOL_HANDLERS, TOOL_SCHEMAS, ToolInputValidationError, validateToolInput, } from "./tools.js";
9
+ import { TOOL_HANDLERS, TOOL_SCHEMAS, ToolInputValidationError, validateToolInput, validateToolOutput, } from "./tools.js";
9
10
  import { isRecord } from "../token-utils.js";
10
- const SERVER_INFO = { name: "loopforge-mcp", version: "2.0.2" };
11
+ const SERVER_INFO = { name: "loopforge-mcp", version: "3.2.1" };
12
+ const SUPPORTED_PROTOCOL_VERSIONS = new Set([
13
+ "2024-11-05",
14
+ "2025-03-26",
15
+ "2025-06-18",
16
+ ]);
17
+ const LATEST_PROTOCOL_VERSION = "2025-06-18";
18
+ export const SERVER_INSTRUCTIONS = [
19
+ "Use LoopForge directly for long-running work. Start by calling loopforge_status ",
20
+ "with view=all to list loops, then loopforge_status for a matching session or ",
21
+ "loopforge_start for a new one. ",
22
+ "Before each agent-process boundary, call loopforge_next with the roundId from ",
23
+ "the most recent response, honest evidence, remaining criteria, and a concrete ",
24
+ "next action. Follow reject or backtrack prompts and retry loopforge_next. ",
25
+ "Keep one LoopForge session across outer agent rounds. ",
26
+ "Do not replace these MCP calls with shell or CLI wrappers.",
27
+ ].join("");
11
28
  class JsonRpcError extends Error {
12
29
  code;
13
30
  constructor(code, message) {
@@ -35,8 +52,8 @@ function okResponse(id, result) {
35
52
  export class McpServer {
36
53
  mgr;
37
54
  requestQueue = Promise.resolve();
38
- constructor(storeOrBackend) {
39
- this.mgr = new SessionManager(storeOrBackend);
55
+ constructor(store) {
56
+ this.mgr = new SessionManager(store);
40
57
  }
41
58
  start() {
42
59
  const resumed = this.mgr.autoResumeAll();
@@ -55,6 +72,7 @@ export class McpServer {
55
72
  process.stderr.write(`[loopforge-mcp] v${SERVER_INFO.version} started\n`);
56
73
  }
57
74
  async handleLine(line) {
75
+ this.trace("request", line);
58
76
  let parsed;
59
77
  try {
60
78
  parsed = JSON.parse(line);
@@ -71,21 +89,44 @@ export class McpServer {
71
89
  return;
72
90
  try {
73
91
  const result = await this.dispatch(parsed);
74
- process.stdout.write(okResponse(parsed.id, result) + "\n");
92
+ const response = okResponse(parsed.id, result);
93
+ this.trace("response", response);
94
+ process.stdout.write(response + "\n");
75
95
  }
76
96
  catch (error) {
77
97
  const message = error instanceof Error ? error.message : String(error);
78
98
  const code = error instanceof JsonRpcError ? error.code : -32603;
79
- process.stdout.write(errorResponse(parsed.id, code, message) + "\n");
99
+ const response = errorResponse(parsed.id, code, message);
100
+ this.trace("response", response);
101
+ process.stdout.write(response + "\n");
102
+ }
103
+ }
104
+ trace(direction, payload) {
105
+ const path = process.env.LOOPFORGE_MCP_TRACE;
106
+ if (!path || !payload)
107
+ return;
108
+ try {
109
+ appendFileSync(path, `${JSON.stringify({ direction, payload })}\n`, "utf8");
110
+ }
111
+ catch {
112
+ // Diagnostics must never change MCP behavior.
80
113
  }
81
114
  }
82
115
  async dispatch(req) {
83
116
  if (req.method === "initialize") {
84
- const requested = req.params?.protocolVersion;
117
+ const requestedVersion = typeof req.params?.protocolVersion === "string"
118
+ ? req.params.protocolVersion
119
+ : "";
120
+ const protocolVersion = SUPPORTED_PROTOCOL_VERSIONS.has(requestedVersion)
121
+ ? requestedVersion
122
+ : LATEST_PROTOCOL_VERSION;
85
123
  return {
86
- protocolVersion: requested === "2024-11-05" ? requested : "2025-11-25",
124
+ // Negotiate the client's synchronous MCP revision. LoopForge does not
125
+ // advertise Tasks, so newer task-capable revisions remain unsupported.
126
+ protocolVersion,
87
127
  capabilities: { tools: {} },
88
128
  serverInfo: SERVER_INFO,
129
+ instructions: SERVER_INSTRUCTIONS,
89
130
  };
90
131
  }
91
132
  if (req.method === "tools/list")
@@ -119,6 +160,18 @@ export class McpServer {
119
160
  throw error;
120
161
  }
121
162
  const output = await handler(this.mgr, args);
163
+ // v2.14: enforce the declared output contracts — a handler output that
164
+ // violates its outputSchema is a contract bug, surfaced as a clean
165
+ // JSON-RPC error instead of silently shipping a schema-violating result.
166
+ try {
167
+ validateToolOutput(name, output);
168
+ }
169
+ catch (error) {
170
+ if (error instanceof ToolInputValidationError) {
171
+ throw new JsonRpcError(-32603, `Tool "${name}" returned schema-violating output: ${error.message}`);
172
+ }
173
+ throw error;
174
+ }
122
175
  const isError = typeof output.error === "string";
123
176
  // Extract the compiled prompt (present in start/next/resume responses).
124
177
  // MCP content annotations signal priority to the host so it can
@@ -159,7 +212,10 @@ export class McpServer {
159
212
  annotations: { priority: 0.5, audience: ["assistant"] },
160
213
  });
161
214
  }
162
- return { content, structuredContent: output, isError };
215
+ // Protocol 2024-11-05 defines CallToolResult as content plus optional
216
+ // isError. Newer structuredContent fields make strict older clients reject
217
+ // otherwise valid success responses as an unknown result variant.
218
+ return isError ? { content, isError: true } : { content };
163
219
  }
164
220
  }
165
221
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -3,104 +3,44 @@
3
3
  * Each McpSession = one complete multi-round loop.
4
4
  * SessionManager holds Map<sessionId, McpSession> and drives
5
5
  * the advance() cycle: extract → feedback → check stop → compile next.
6
+ *
7
+ * Since v2.14 the round state machine lives in RoundLifecycle
8
+ * (round-lifecycle.ts). SessionManager owns "who may touch a session":
9
+ * the in-memory registry, per-session serialization queue, and cross-process
10
+ * lease fencing. RoundLifecycle owns "what happens to a session": crash
11
+ * recovery, transaction execution, disposition result building, and the
12
+ * advance pipeline. All round processing still goes through the
13
+ * SessionManager → RoundDriver → RoundCoordinator path.
6
14
  */
7
- import { LoopForgeEngine } from "../engine.js";
8
- import type { VaultBackend } from "../backends/interface.js";
15
+ import type { ExternalContextProvider, LoopTerminalSink, SelfEvaluation } from "../protocol.js";
9
16
  import type { LoopStore } from "../loop-store.js";
10
- import type { SelfEvaluation, ExternalContextProvider, LoopTerminalSink } from "../protocol.js";
11
- import type { ProviderSnapshot } from "../evidence-provider.js";
12
- import type { RoundTransactionSnapshot } from "../round-transaction.js";
17
+ import type { PolicyMetricsSnapshot } from "../policy-metrics.js";
13
18
  import type { SessionStateStore } from "../storage.js";
14
- export interface McpSession {
15
- sessionId: string;
16
- loopId: string;
17
- task: string;
18
- engine: LoopForgeEngine;
19
- currentRound: number;
20
- maxRounds: number;
21
- successTrajectory: boolean[];
22
- status: "running" | "stopped" | "stalled" | "paused";
23
- createdAt: number;
24
- /** Previous round's validated SelfEvaluation — used by verification gate. */
25
- lastSelfEval?: SelfEvaluation;
26
- consecutiveRejections: number;
27
- /** Which enforcement check triggered the last rejection.
28
- * Only same-check rejections accumulate toward the max. */
29
- lastRejectionCheck: string;
30
- /** v2.12: Consecutive rounds where the agent used drift_clarification
31
- * to waive R7 rejection. Reset to 0 when a round has no intent_drift.
32
- * Terminates the loop when exceeding policy.drift_clarification_max_streak. */
33
- driftClarificationStreak: number;
34
- /** v2.13: Files changed in skipped rounds during the last backtrack.
35
- * The next round's verification gate checks that the agent did not
36
- * continue working on stale files without restoring the workspace.
37
- * Cleared after the first successful post-backtrack round. */
38
- backtrackSkippedFiles: string[];
39
- /** Evidence baseline captured immediately before the agent receives a prompt. */
40
- evidenceBaseline?: ProviderSnapshot[];
41
- /** Schema-versioned transaction for the prompt currently held by the agent. */
42
- roundSnapshot?: RoundTransactionSnapshot;
43
- /** Persisted prompt prevents resume from compiling the same round twice. */
44
- currentPrompt?: string | null;
45
- currentLevel?: string;
46
- /** Structured warnings from the most recent compile — preferred over regex parsing. */
47
- currentWarnings?: string[];
48
- }
49
- export interface McpSessionSummary {
50
- sessionId: string;
51
- loopId: string;
52
- round: number;
53
- status: "running" | "stopped" | "stalled" | "paused";
54
- }
55
- export interface StartInput {
56
- task: string;
57
- loopId?: string;
58
- maxRounds?: number;
59
- domain?: string;
60
- planSource?: string;
61
- constraints?: string[];
62
- }
63
- export interface AdvanceResult {
64
- sessionId: string;
65
- round: number;
66
- /** Stable logical identity; unchanged when enforcement retries the round. */
67
- roundId?: string;
68
- prompt: string | null;
69
- stopReason?: string;
70
- /** v2.0.1: Human-readable context for why the loop stopped.
71
- * Provides facts the agent can use to decide its next action,
72
- * without LoopForge prescribing a specific behavior. */
73
- stopDetail?: string;
74
- level?: string;
75
- roundSuccess?: boolean;
76
- warnings?: string[];
77
- /** v1.13: Enforcement action for this round. accept/reject/terminate.
78
- * When "reject", the prompt contains a rejection notice and the agent
79
- * must redo the same round. Round counter does NOT increment. */
80
- enforcementAction?: "accept" | "reject" | "terminate" | "backtrack";
81
- /** v1.13: When enforcementAction is "reject" or "terminate", the reason
82
- * why the round was rejected or the loop was terminated. */
83
- enforcementReason?: string;
84
- }
85
- export declare class SessionManager {
19
+ import type { McpSession, McpSessionSummary, StartInput, AdvanceResult, SessionRegistry } from "./round-lifecycle.js";
20
+ export type { McpSession, McpSessionSummary, StartInput, AdvanceResult, } from "./round-lifecycle.js";
21
+ export declare class SessionManager implements SessionRegistry {
86
22
  private sessions;
87
23
  /** Serializes state transitions for each session. */
88
24
  private sessionQueues;
89
- private backend;
25
+ private readonly loopStore;
90
26
  private sessionStore;
91
27
  private readonly ownerId;
92
28
  private readonly leaseMs;
93
29
  private readonly leaseRenewIntervalMs;
94
30
  private leaseTimer;
31
+ private readonly lifecycle;
95
32
  /** Explicit context provider; never auto-discovered. */
96
33
  contextProvider?: ExternalContextProvider;
97
34
  private readonly terminalSinks;
98
- constructor(storeOrBackend?: LoopStore | VaultBackend, sessionStore?: SessionStateStore);
35
+ constructor(store?: LoopStore, sessionStore?: SessionStateStore);
99
36
  /** Stable process-local owner token used for cross-process session leases. */
100
37
  getOwnerId(): string;
101
38
  addTerminalSink(sink: LoopTerminalSink): () => void;
102
39
  /** Release owned sessions and stop lease maintenance. */
103
40
  close(): void;
41
+ values(): Iterable<McpSession>;
42
+ /** Register (or replace) a session in the in-memory registry. */
43
+ upsert(session: McpSession): void;
104
44
  private findSessionEntry;
105
45
  private claimSessionEntry;
106
46
  private renewSessionLease;
@@ -119,83 +59,51 @@ export declare class SessionManager {
119
59
  round: number;
120
60
  status: string;
121
61
  };
122
- private restoredPromptResult;
123
- /** Reconcile the crash window where feedback committed but session_state
124
- * still points at the old prompt. Returns null when no commit is pending. */
125
- private reconcileCommittedRound;
126
- /** v1.18: Resume a paused session. Reconstructs from vault state and
127
- * compiles the next prompt. Returns null if no paused session exists
128
- * for this loopId. */
129
- unpause(loopId: string): Promise<AdvanceResult | null>;
130
- /** Persist session state to vault for cross-process recovery.
131
- * The filtered vault and replacement entry are written once under the
132
- * backend lock, so recovery never observes the old two-write gap. */
62
+ /** Persist session state to vault for cross-process recovery. Delegates to
63
+ * the round lifecycle, which owns the durable session document shape. */
133
64
  save(session: McpSession): void;
134
- /** Reconstruct a McpSession from a vault session_state entry.
135
- * Returns null if the entry is not "running" status.
136
- * Shared by resume() and autoResumeAll(). */
137
- private reconstructSession;
138
65
  /** Resume a loop from vault state.
139
66
  * Reconstructs the session and compiles the prompt for the next round.
140
67
  * Returns null if no session_state entry exists for this loopId. */
141
68
  resume(loopId: string): AdvanceResult | null;
69
+ /** v1.18: Resume a paused session. Reconstructs from vault state and
70
+ * compiles the next prompt. Returns null if no paused session exists
71
+ * for this loopId. */
72
+ unpause(loopId: string): Promise<AdvanceResult | null>;
142
73
  /** Auto-resume all "running" sessions from vault on server startup.
143
74
  * Scans vault for session_state entries, reconstructs each as an in-memory
144
75
  * McpSession (without compiling — the next loopforge_next will do that).
145
76
  * Returns the number of sessions resumed. */
146
77
  autoResumeAll(): number;
147
78
  list(): McpSessionSummary[];
79
+ /** Classify a flat gate text. Read-only — no vault writes. */
80
+ checkGate(gateText: string): Record<string, unknown>;
81
+ /** Record a user decision for a recorded gate. The gateId embeds the
82
+ * canonicalized action hash — if the action changed, the match fails and
83
+ * the old approval expires automatically. */
84
+ resolveGate(sessionId: string, gateId: string, approved: boolean, note?: string): Record<string, unknown>;
85
+ /** Typed cognitive state projection for an active session. Derived on
86
+ * demand — zero persistence. Null when nothing meaningful exists yet. */
87
+ getProjection(sessionId: string): Record<string, unknown> | null;
88
+ /** Read-only end-of-loop audit (verification view). Never writes. */
89
+ getAudit(loopId: string): Record<string, unknown> | null;
90
+ /** v2.12: Policy metrics that survive restarts — vault-derived round
91
+ * statistics (A4 port) folded with this process's live observations.
92
+ * Non-durable fields (evidence, vault errors) come from live only. */
93
+ getPolicyMetrics(loopId: string): PolicyMetricsSnapshot;
148
94
  /** Get loop health for a loop (in-memory or vault).
149
95
  * Computes goal alignment, constraint integrity, drift, strategy stability. */
150
96
  getHealth(loopId: string): Record<string, unknown> | null;
151
97
  /** Core cycle: extract self-eval → record feedback → check stop → compile next.
98
+ * The lease + per-session queue wrap the RoundLifecycle state machine.
152
99
  * @param preExtractedEval Optional pre-built SelfEvaluation from MCP tool parameter.
153
100
  * When provided (MCP path with evaluation parameter), skips regex extraction.
154
- * When undefined (runtime/CLI path), falls back to regex extraction from output. */
155
- advance(sessionId: string, output: string, preExtractedEval?: SelfEvaluation): Promise<AdvanceResult>;
156
- /** Extract a SelfEvaluation from agent output.
157
- * Structured param preferred → regex extraction → heuristic fallback.
158
- * Returns null only when both regex and heuristic returned null. */
159
- private extractEvaluation;
160
- /** Execute the round transaction and apply per-rule rejection tracking.
161
- * MUTATES: session.roundSnapshot, session.consecutiveRejections,
162
- * session.lastRejectionCheck, session.lastSelfEval,
163
- * session.successTrajectory, session.driftClarificationStreak */
164
- private executeRoundTransaction;
165
- /** v2.12: Update the clarification streak based on the round result.
166
- * - Substantive clarification (anchors present): keep streak — genuine pivot.
167
- * - No intent_drift this round: reset streak to 0.
168
- * - Weak clarification rejected by R7: streak was already consumed by
169
- * enforceIntentDrift to decide reject vs terminate; staleness is handled
170
- * on the enforcement side. We sync the persisted counter for crash recovery.
171
- * MUTATES: session.driftClarificationStreak */
172
- private updateClarificationStreak;
173
- /** Build a rejection result: compile a retry prompt, persist, return.
174
- * MUTATES: session.roundSnapshot, session.currentPrompt, session.currentLevel */
175
- private buildRejectionResult;
176
- /** v2.10: Build a backtrack result — roll back to last clean round.
177
- * Resets the round counter to the restore target + 1, merges preserved
178
- * discoveries, compiles from the restored state, and injects the
179
- * backtrack prompt at the top.
180
- * MUTATES: session.currentRound, session.roundSnapshot,
181
- * session.currentPrompt, session.currentLevel,
182
- * session.consecutiveRejections, session.lastSelfEval */
183
- private buildBacktrackResult;
184
- /** Build a termination result: persist stopped status, notify sinks.
185
- * MUTATES: session.status, session.currentPrompt */
186
- private buildTerminationResult;
187
- /** Build a stop result: persist stopped/stalled status, notify sinks.
188
- * MUTATES: session.status, session.currentPrompt */
189
- private buildStopResult;
190
- /** Compile the next round's prompt and advance the session.
191
- * Includes the commit fence (pause/delete race guard) and context provider.
192
- * MUTATES: session.currentRound, session.currentPrompt, session.currentLevel,
193
- * session.evidenceBaseline, session.roundSnapshot */
194
- private advanceToNextRound;
195
- private advanceUnlocked;
196
- /** Write back loop knowledge to long-term memory.
197
- * Uses shared base builder from policy.ts. Called when a loop terminates. */
198
- private notifyTerminal;
101
+ * When undefined (runtime/CLI path), falls back to regex extraction from output.
102
+ * @param roundId v3.0.1: The roundId of the round this submission reports on
103
+ * (from the last start/next/resume response). Anchors the submission so a
104
+ * stale or duplicate submission is not processed against a later round.
105
+ * Optional for library callers — when absent the anchor check is skipped. */
106
+ advance(sessionId: string, output: string, preExtractedEval?: SelfEvaluation, roundId?: string): Promise<AdvanceResult>;
199
107
  /** Replay timeline for a session — creates ReplayBackend from the stored backend. */
200
108
  replayTimeline(sessionId: string): Record<string, unknown>[] | null;
201
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"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"}