loopforge 2.7.0 → 3.0.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 (173) hide show
  1. package/README.md +136 -182
  2. package/dist/canonical-event-writer.d.ts +20 -0
  3. package/dist/canonical-event-writer.d.ts.map +1 -0
  4. package/dist/canonical-event-writer.js +131 -0
  5. package/dist/canonical-event-writer.js.map +1 -0
  6. package/dist/canonical-state.d.ts +20 -16
  7. package/dist/canonical-state.d.ts.map +1 -1
  8. package/dist/canonical-state.js +211 -64
  9. package/dist/canonical-state.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +11 -10
  12. package/dist/cli.js.map +1 -1
  13. package/dist/cognitive-governance.d.ts +48 -0
  14. package/dist/cognitive-governance.d.ts.map +1 -0
  15. package/dist/cognitive-governance.js +226 -0
  16. package/dist/cognitive-governance.js.map +1 -0
  17. package/dist/compiler-subgoals.d.ts +7 -0
  18. package/dist/compiler-subgoals.d.ts.map +1 -0
  19. package/dist/compiler-subgoals.js +93 -0
  20. package/dist/compiler-subgoals.js.map +1 -0
  21. package/dist/derive-id.d.ts +12 -0
  22. package/dist/derive-id.d.ts.map +1 -0
  23. package/dist/derive-id.js +31 -0
  24. package/dist/derive-id.js.map +1 -0
  25. package/dist/evidence-provider.d.ts +26 -26
  26. package/dist/evidence-provider.d.ts.map +1 -1
  27. package/dist/evidence-provider.js +45 -71
  28. package/dist/evidence-provider.js.map +1 -1
  29. package/dist/generate-schema.js +90 -2
  30. package/dist/generate-schema.js.map +1 -1
  31. package/dist/index.d.ts +23 -29
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +16 -26
  34. package/dist/index.js.map +1 -1
  35. package/dist/loop-compiler.d.ts +2 -2
  36. package/dist/loop-compiler.d.ts.map +1 -1
  37. package/dist/loop-compiler.js +321 -315
  38. package/dist/loop-compiler.js.map +1 -1
  39. package/dist/loop-extras-parser.d.ts +2 -2
  40. package/dist/loop-extras-parser.d.ts.map +1 -1
  41. package/dist/loop-extras-parser.js +2 -2
  42. package/dist/loop-extras-parser.js.map +1 -1
  43. package/dist/loop-store.d.ts +20 -58
  44. package/dist/loop-store.d.ts.map +1 -1
  45. package/dist/loop-store.js +232 -311
  46. package/dist/loop-store.js.map +1 -1
  47. package/dist/mcp/server.d.ts +3 -3
  48. package/dist/mcp/server.d.ts.map +1 -1
  49. package/dist/mcp/server.js +123 -19
  50. package/dist/mcp/server.js.map +1 -1
  51. package/dist/mcp/session-projection.d.ts +5 -0
  52. package/dist/mcp/session-projection.d.ts.map +1 -0
  53. package/dist/mcp/session-projection.js +18 -0
  54. package/dist/mcp/session-projection.js.map +1 -0
  55. package/dist/mcp/session-queue.d.ts +3 -0
  56. package/dist/mcp/session-queue.d.ts.map +1 -0
  57. package/dist/mcp/session-queue.js +18 -0
  58. package/dist/mcp/session-queue.js.map +1 -0
  59. package/dist/mcp/session-types.d.ts +72 -0
  60. package/dist/mcp/session-types.d.ts.map +1 -0
  61. package/dist/mcp/session-types.js +2 -0
  62. package/dist/mcp/session-types.js.map +1 -0
  63. package/dist/mcp/session.d.ts +65 -84
  64. package/dist/mcp/session.d.ts.map +1 -1
  65. package/dist/mcp/session.js +667 -224
  66. package/dist/mcp/session.js.map +1 -1
  67. package/dist/mcp/tools.d.ts +26 -1
  68. package/dist/mcp/tools.d.ts.map +1 -1
  69. package/dist/mcp/tools.js +401 -254
  70. package/dist/mcp/tools.js.map +1 -1
  71. package/dist/policy-metrics.d.ts +24 -0
  72. package/dist/policy-metrics.d.ts.map +1 -1
  73. package/dist/policy-metrics.js +174 -0
  74. package/dist/policy-metrics.js.map +1 -1
  75. package/dist/policy.d.ts +74 -12
  76. package/dist/policy.d.ts.map +1 -1
  77. package/dist/policy.js +124 -19
  78. package/dist/policy.js.map +1 -1
  79. package/dist/prompt-assembler.d.ts +8 -4
  80. package/dist/prompt-assembler.d.ts.map +1 -1
  81. package/dist/prompt-assembler.js +533 -86
  82. package/dist/prompt-assembler.js.map +1 -1
  83. package/dist/prompt-policy.d.ts +8 -1
  84. package/dist/prompt-policy.d.ts.map +1 -1
  85. package/dist/prompt-policy.js +26 -8
  86. package/dist/prompt-policy.js.map +1 -1
  87. package/dist/protocol.d.ts +259 -173
  88. package/dist/protocol.d.ts.map +1 -1
  89. package/dist/protocol.js +17 -96
  90. package/dist/protocol.js.map +1 -1
  91. package/dist/replay.d.ts +11 -3
  92. package/dist/replay.d.ts.map +1 -1
  93. package/dist/replay.js +51 -14
  94. package/dist/replay.js.map +1 -1
  95. package/dist/round-commit-store.d.ts +12 -0
  96. package/dist/round-commit-store.d.ts.map +1 -0
  97. package/dist/round-commit-store.js +13 -0
  98. package/dist/round-commit-store.js.map +1 -0
  99. package/dist/round-coordinator.d.ts +53 -22
  100. package/dist/round-coordinator.d.ts.map +1 -1
  101. package/dist/round-coordinator.js +140 -44
  102. package/dist/round-coordinator.js.map +1 -1
  103. package/dist/round-driver.d.ts +18 -10
  104. package/dist/round-driver.d.ts.map +1 -1
  105. package/dist/round-driver.js +11 -13
  106. package/dist/round-driver.js.map +1 -1
  107. package/dist/round-gate.d.ts +31 -0
  108. package/dist/round-gate.d.ts.map +1 -0
  109. package/dist/round-gate.js +259 -0
  110. package/dist/round-gate.js.map +1 -0
  111. package/dist/round-recovery.d.ts +17 -0
  112. package/dist/round-recovery.d.ts.map +1 -0
  113. package/dist/round-recovery.js +117 -0
  114. package/dist/round-recovery.js.map +1 -0
  115. package/dist/round-report.d.ts +16 -0
  116. package/dist/round-report.d.ts.map +1 -0
  117. package/dist/round-report.js +401 -0
  118. package/dist/round-report.js.map +1 -0
  119. package/dist/round-transaction.d.ts +23 -12
  120. package/dist/round-transaction.d.ts.map +1 -1
  121. package/dist/round-transaction.js +104 -91
  122. package/dist/round-transaction.js.map +1 -1
  123. package/dist/runtime-services.d.ts +59 -0
  124. package/dist/runtime-services.d.ts.map +1 -0
  125. package/dist/{engine.js → runtime-services.js} +157 -275
  126. package/dist/runtime-services.js.map +1 -0
  127. package/dist/storage.d.ts +3 -9
  128. package/dist/storage.d.ts.map +1 -1
  129. package/dist/storage.js +6 -17
  130. package/dist/storage.js.map +1 -1
  131. package/dist/token-utils.d.ts +12 -8
  132. package/dist/token-utils.d.ts.map +1 -1
  133. package/dist/token-utils.js +56 -10
  134. package/dist/token-utils.js.map +1 -1
  135. package/dist/vault-format.d.ts +4 -0
  136. package/dist/vault-format.d.ts.map +1 -0
  137. package/dist/vault-format.js +4 -0
  138. package/dist/vault-format.js.map +1 -0
  139. package/dist/vault-types.d.ts +24 -0
  140. package/dist/vault-types.d.ts.map +1 -0
  141. package/dist/vault-types.js +2 -0
  142. package/dist/vault-types.js.map +1 -0
  143. package/loop_policy.json +10 -12
  144. package/loopforge-policy.json +340 -0
  145. package/package.json +13 -7
  146. package/skills/perception/SKILL.md +200 -90
  147. package/dist/backends/interface.d.ts +0 -39
  148. package/dist/backends/interface.d.ts.map +0 -1
  149. package/dist/backends/interface.js +0 -6
  150. package/dist/backends/interface.js.map +0 -1
  151. package/dist/enforcement-gate.d.ts +0 -50
  152. package/dist/enforcement-gate.d.ts.map +0 -1
  153. package/dist/enforcement-gate.js +0 -501
  154. package/dist/enforcement-gate.js.map +0 -1
  155. package/dist/engine.d.ts +0 -59
  156. package/dist/engine.d.ts.map +0 -1
  157. package/dist/engine.js.map +0 -1
  158. package/dist/interop.d.ts +0 -35
  159. package/dist/interop.d.ts.map +0 -1
  160. package/dist/interop.js +0 -34
  161. package/dist/interop.js.map +0 -1
  162. package/dist/run.d.ts +0 -51
  163. package/dist/run.d.ts.map +0 -1
  164. package/dist/run.js +0 -200
  165. package/dist/run.js.map +0 -1
  166. package/dist/self-eval.d.ts +0 -23
  167. package/dist/self-eval.d.ts.map +0 -1
  168. package/dist/self-eval.js +0 -151
  169. package/dist/self-eval.js.map +0 -1
  170. package/dist/verification-gate.d.ts +0 -52
  171. package/dist/verification-gate.d.ts.map +0 -1
  172. package/dist/verification-gate.js +0 -527
  173. package/dist/verification-gate.js.map +0 -1
@@ -2,82 +2,21 @@
2
2
  *
3
3
  * Each McpSession = one complete multi-round loop.
4
4
  * SessionManager holds Map<sessionId, McpSession> and drives
5
- * the advance() cycle: extract → feedback → check stop → compile next.
5
+ * the advance() cycle: validate report → commit round event → check stop → compile next.
6
6
  */
7
- import { LoopForgeEngine } from "../engine.js";
8
- import type { VaultBackend } from "../backends/interface.js";
9
7
  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";
8
+ import type { ExternalContextProvider, LoopTerminalSink } from "../protocol.js";
9
+ import { type PolicyMetricsSnapshot } from "../policy-metrics.js";
13
10
  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
- /** Evidence baseline captured immediately before the agent receives a prompt. */
31
- evidenceBaseline?: ProviderSnapshot[];
32
- /** Schema-versioned transaction for the prompt currently held by the agent. */
33
- roundSnapshot?: RoundTransactionSnapshot;
34
- /** Persisted prompt prevents resume from compiling the same round twice. */
35
- currentPrompt?: string | null;
36
- currentLevel?: string;
37
- /** Structured warnings from the most recent compile — preferred over regex parsing. */
38
- currentWarnings?: string[];
39
- }
40
- export interface McpSessionSummary {
41
- sessionId: string;
42
- loopId: string;
43
- round: number;
44
- status: "running" | "stopped" | "stalled" | "paused";
45
- }
46
- export interface StartInput {
47
- task: string;
48
- loopId?: string;
49
- maxRounds?: number;
50
- domain?: string;
51
- planSource?: string;
52
- constraints?: string[];
53
- }
54
- export interface AdvanceResult {
55
- sessionId: string;
56
- round: number;
57
- /** Stable logical identity; unchanged when enforcement retries the round. */
58
- roundId?: string;
59
- prompt: string | null;
60
- stopReason?: string;
61
- /** v2.0.1: Human-readable context for why the loop stopped.
62
- * Provides facts the agent can use to decide its next action,
63
- * without LoopForge prescribing a specific behavior. */
64
- stopDetail?: string;
65
- level?: string;
66
- roundSuccess?: boolean;
67
- warnings?: string[];
68
- /** v1.13: Enforcement action for this round. accept/reject/terminate.
69
- * When "reject", the prompt contains a rejection notice and the agent
70
- * must redo the same round. Round counter does NOT increment. */
71
- enforcementAction?: "accept" | "reject" | "terminate";
72
- /** v1.13: When enforcementAction is "reject" or "terminate", the reason
73
- * why the round was rejected or the loop was terminated. */
74
- enforcementReason?: string;
75
- }
11
+ import type { McpSession, McpSessionSummary, StartInput, AdvanceResult } from "./session-types.js";
12
+ import type { GateActionDescriptor, RoundReport } from "../protocol.js";
13
+ export type { McpSession, McpSessionSummary, StartInput, AdvanceResult } from "./session-types.js";
76
14
  export declare class SessionManager {
77
15
  private sessions;
78
16
  /** Serializes state transitions for each session. */
79
17
  private sessionQueues;
80
18
  private backend;
19
+ private eventWriter;
81
20
  private sessionStore;
82
21
  private readonly ownerId;
83
22
  private readonly leaseMs;
@@ -86,7 +25,12 @@ export declare class SessionManager {
86
25
  /** Explicit context provider; never auto-discovered. */
87
26
  contextProvider?: ExternalContextProvider;
88
27
  private readonly terminalSinks;
89
- constructor(storeOrBackend?: LoopStore | VaultBackend, sessionStore?: SessionStateStore);
28
+ /** Vault-replayed policy metrics, keyed by loop. The signature covers every
29
+ * entry's task_id/timestamp/sequence so both appends and idempotent
30
+ * replacements (same task_id) invalidate the cache. */
31
+ private derivedMetricsCache;
32
+ constructor(storeOrBackend?: LoopStore, sessionStore?: SessionStateStore);
33
+ private appendCanonicalEvent;
90
34
  /** Stable process-local owner token used for cross-process session leases. */
91
35
  getOwnerId(): string;
92
36
  addTerminalSink(sink: LoopTerminalSink): () => void;
@@ -97,10 +41,16 @@ export declare class SessionManager {
97
41
  private renewSessionLease;
98
42
  private renewOwnedLeases;
99
43
  private leaseConflictResult;
100
- private withSessionQueue;
101
44
  create(input: StartInput): Promise<AdvanceResult>;
102
45
  get(sessionId: string): McpSession | undefined;
103
46
  getLeaseStatus(loopId: string): Record<string, unknown> | null;
47
+ audit(loopId: string): Record<string, unknown>;
48
+ inspect(loopId: string, round: number): Record<string, unknown> | null;
49
+ retry(sessionId: string, report: RoundReport): Promise<AdvanceResult>;
50
+ backtrack(sessionId: string): Promise<AdvanceResult>;
51
+ cognitiveProjection(sessionId: string): Record<string, unknown> | null;
52
+ checkGate(action: GateActionDescriptor): Record<string, unknown>;
53
+ resolveGate(sessionId: string, gateId: string, action: GateActionDescriptor, approved: boolean, note: string): Record<string, unknown>;
104
54
  delete(sessionId: string): boolean;
105
55
  /** v1.18: Pause a running session. The session state is persisted to
106
56
  * vault so it survives process restarts. Returns the session status.
@@ -111,7 +61,7 @@ export declare class SessionManager {
111
61
  status: string;
112
62
  };
113
63
  private restoredPromptResult;
114
- /** Reconcile the crash window where feedback committed but session_state
64
+ /** Reconcile the crash window where a round event committed but session_state
115
65
  * still points at the old prompt. Returns null when no commit is pending. */
116
66
  private reconcileCommittedRound;
117
67
  /** v1.18: Resume a paused session. Reconstructs from vault state and
@@ -129,33 +79,60 @@ export declare class SessionManager {
129
79
  /** Resume a loop from vault state.
130
80
  * Reconstructs the session and compiles the prompt for the next round.
131
81
  * Returns null if no session_state entry exists for this loopId. */
132
- resume(loopId: string): AdvanceResult | null;
82
+ resume(loopId: string): Promise<AdvanceResult | null>;
133
83
  /** Auto-resume all "running" sessions from vault on server startup.
134
84
  * Scans vault for session_state entries, reconstructs each as an in-memory
135
85
  * McpSession (without compiling — the next loopforge_next will do that).
136
86
  * Returns the number of sessions resumed. */
137
87
  autoResumeAll(): number;
138
88
  list(): McpSessionSummary[];
89
+ /** Stable signature over the vault event list. A changed signature means the
90
+ * vault has grown or an idempotent replacement landed, so the cached
91
+ * snapshot must be recomputed. Physical order is stable: writeEntry appends,
92
+ * and replacements update in place. */
93
+ private metricsSignature;
94
+ /** Policy metrics that survive process restarts: durable events are
95
+ * replayed through derivePolicyMetrics and merged with live in-process
96
+ * observations (rejections never reach the vault). */
97
+ getLoopPolicyMetrics(loopId: string): PolicyMetricsSnapshot;
98
+ /** Append a durable session_end event for a terminal transition. Call after
99
+ * the session_state write so a failure here only loses a metric, never the
100
+ * stopped status. The fixed task_id makes repeated terminals idempotent. */
101
+ persistTerminalEvent(session: McpSession, stopReason: string, extra?: Record<string, unknown>): void;
139
102
  /** Get loop health for a loop (in-memory or vault).
140
103
  * Computes goal alignment, constraint integrity, drift, strategy stability. */
141
104
  getHealth(loopId: string): Record<string, unknown> | null;
142
- /** Core cycle: extract self-eval → record feedback → check stop → compile next.
143
- * @param preExtractedEval Optional pre-built SelfEvaluation from MCP tool parameter.
144
- * When provided (MCP path with evaluation parameter), skips regex extraction.
145
- * When undefined (runtime/CLI path), falls back to regex extraction from output. */
146
- advance(sessionId: string, output: string, preExtractedEval?: SelfEvaluation): Promise<AdvanceResult>;
147
- /** Extract a SelfEvaluation from agent output.
148
- * Structured param preferred → regex extraction → heuristic fallback.
149
- * Returns null only when both regex and heuristic returned null. */
150
- private extractEvaluation;
151
- /** Execute the round transaction and apply per-rule rejection tracking.
105
+ /** Core cycle for a canonical structured round report. Free-form output is
106
+ * intentionally ignored; the runtime never guesses state from text. */
107
+ advance(sessionId: string, report: RoundReport): Promise<AdvanceResult>;
108
+ /** Execute the round transaction and apply global rejection tracking.
152
109
  * MUTATES: session.roundSnapshot, session.consecutiveRejections,
153
- * session.lastRejectionCheck, session.lastSelfEval,
154
- * session.successTrajectory */
110
+ * session.escalatedRejectionChecks, session.lastRoundProjection,
111
+ * session.successTrajectory, session.driftClarificationStreak */
155
112
  private executeRoundTransaction;
113
+ /** v2.12: Update the clarification streak based on the round result.
114
+ * - Substantive clarification (anchors present): keep streak — genuine pivot.
115
+ * - No intent_drift this round: reset streak to 0.
116
+ * - Weak clarification rejected by R7: streak was already consumed by
117
+ * enforceIntentDrift to decide reject vs terminate; staleness is handled
118
+ * on the enforcement side. We sync the persisted counter for crash recovery.
119
+ * MUTATES: session.driftClarificationStreak */
120
+ private updateClarificationStreak;
121
+ /** Persist terminal-rule escalation independently for each enforcement
122
+ * check. A non-rejection ends the current rejection episode and clears the
123
+ * set; rejected rules retain their marker until the episode resolves. */
124
+ private updateEscalationChecks;
156
125
  /** Build a rejection result: compile a retry prompt, persist, return.
157
126
  * MUTATES: session.roundSnapshot, session.currentPrompt, session.currentLevel */
158
127
  private buildRejectionResult;
128
+ /** v2.10: Build a backtrack result — roll back to last clean round.
129
+ * Resets the round counter to the restore target + 1, merges preserved
130
+ * discoveries, compiles from the restored state, and injects the
131
+ * backtrack prompt at the top.
132
+ * MUTATES: session.currentRound, session.roundSnapshot,
133
+ * session.currentPrompt, session.currentLevel,
134
+ * session.consecutiveRejections, session.lastRoundProjection */
135
+ private buildBacktrackResult;
159
136
  /** Build a termination result: persist stopped status, notify sinks.
160
137
  * MUTATES: session.status, session.currentPrompt */
161
138
  private buildTerminationResult;
@@ -173,5 +150,9 @@ export declare class SessionManager {
173
150
  private notifyTerminal;
174
151
  /** Replay timeline for a session — creates ReplayBackend from the stored backend. */
175
152
  replayTimeline(sessionId: string): Record<string, unknown>[] | null;
153
+ replayTimelineByLoop(loopId: string, fromSequence?: number, toSequence?: number, limit?: number): {
154
+ timeline: Record<string, unknown>[];
155
+ nextSequence: number | null;
156
+ };
176
157
  }
177
158
  //# sourceMappingURL=session.d.ts.map
@@ -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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"}