loopforge 3.0.0 → 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 (194) hide show
  1. package/README.md +126 -143
  2. package/dist/audit.d.ts +50 -0
  3. package/dist/audit.d.ts.map +1 -0
  4. package/dist/audit.js +131 -0
  5. package/dist/audit.js.map +1 -0
  6. package/dist/canonical-state.d.ts +98 -23
  7. package/dist/canonical-state.d.ts.map +1 -1
  8. package/dist/canonical-state.js +257 -181
  9. package/dist/canonical-state.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +40 -33
  12. package/dist/cli.js.map +1 -1
  13. package/dist/cognitive-facts.d.ts +17 -0
  14. package/dist/cognitive-facts.d.ts.map +1 -0
  15. package/dist/cognitive-facts.js +99 -0
  16. package/dist/cognitive-facts.js.map +1 -0
  17. package/dist/cognitive-governance.d.ts +25 -33
  18. package/dist/cognitive-governance.d.ts.map +1 -1
  19. package/dist/cognitive-governance.js +38 -138
  20. package/dist/cognitive-governance.js.map +1 -1
  21. package/dist/committed-round.d.ts +59 -0
  22. package/dist/committed-round.d.ts.map +1 -0
  23. package/dist/committed-round.js +222 -0
  24. package/dist/committed-round.js.map +1 -0
  25. package/dist/enforcement-gate.d.ts +78 -0
  26. package/dist/enforcement-gate.d.ts.map +1 -0
  27. package/dist/enforcement-gate.js +1109 -0
  28. package/dist/enforcement-gate.js.map +1 -0
  29. package/dist/engine.d.ts +111 -0
  30. package/dist/engine.d.ts.map +1 -0
  31. package/dist/engine.js +887 -0
  32. package/dist/engine.js.map +1 -0
  33. package/dist/evidence-claims.d.ts +50 -0
  34. package/dist/evidence-claims.d.ts.map +1 -0
  35. package/dist/evidence-claims.js +116 -0
  36. package/dist/evidence-claims.js.map +1 -0
  37. package/dist/evidence-provider.d.ts +50 -23
  38. package/dist/evidence-provider.d.ts.map +1 -1
  39. package/dist/evidence-provider.js +167 -50
  40. package/dist/evidence-provider.js.map +1 -1
  41. package/dist/generate-schema.js +1 -84
  42. package/dist/generate-schema.js.map +1 -1
  43. package/dist/index.d.ts +19 -22
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +16 -15
  46. package/dist/index.js.map +1 -1
  47. package/dist/loop-compiler.d.ts +58 -3
  48. package/dist/loop-compiler.d.ts.map +1 -1
  49. package/dist/loop-compiler.js +841 -304
  50. package/dist/loop-compiler.js.map +1 -1
  51. package/dist/loop-extras-parser.d.ts +2 -2
  52. package/dist/loop-extras-parser.d.ts.map +1 -1
  53. package/dist/loop-extras-parser.js +2 -2
  54. package/dist/loop-extras-parser.js.map +1 -1
  55. package/dist/loop-projection.d.ts +6 -0
  56. package/dist/loop-projection.d.ts.map +1 -0
  57. package/dist/loop-projection.js +26 -0
  58. package/dist/loop-projection.js.map +1 -0
  59. package/dist/loop-store.d.ts +115 -24
  60. package/dist/loop-store.d.ts.map +1 -1
  61. package/dist/loop-store.js +365 -218
  62. package/dist/loop-store.js.map +1 -1
  63. package/dist/mcp/round-lifecycle.d.ts +214 -0
  64. package/dist/mcp/round-lifecycle.d.ts.map +1 -0
  65. package/dist/mcp/round-lifecycle.js +935 -0
  66. package/dist/mcp/round-lifecycle.js.map +1 -0
  67. package/dist/mcp/server.d.ts +2 -1
  68. package/dist/mcp/server.d.ts.map +1 -1
  69. package/dist/mcp/server.js +29 -43
  70. package/dist/mcp/server.js.map +1 -1
  71. package/dist/mcp/session.d.ts +64 -101
  72. package/dist/mcp/session.d.ts.map +1 -1
  73. package/dist/mcp/session.js +433 -1110
  74. package/dist/mcp/session.js.map +1 -1
  75. package/dist/mcp/tools.d.ts +20 -11
  76. package/dist/mcp/tools.d.ts.map +1 -1
  77. package/dist/mcp/tools.js +587 -413
  78. package/dist/mcp/tools.js.map +1 -1
  79. package/dist/policy-metrics.d.ts +12 -24
  80. package/dist/policy-metrics.d.ts.map +1 -1
  81. package/dist/policy-metrics.js +78 -184
  82. package/dist/policy-metrics.js.map +1 -1
  83. package/dist/policy.d.ts +61 -50
  84. package/dist/policy.d.ts.map +1 -1
  85. package/dist/policy.js +48 -146
  86. package/dist/policy.js.map +1 -1
  87. package/dist/prompt-assembler.d.ts +37 -6
  88. package/dist/prompt-assembler.d.ts.map +1 -1
  89. package/dist/prompt-assembler.js +487 -278
  90. package/dist/prompt-assembler.js.map +1 -1
  91. package/dist/prompt-policy.d.ts +1 -8
  92. package/dist/prompt-policy.d.ts.map +1 -1
  93. package/dist/prompt-policy.js +8 -26
  94. package/dist/prompt-policy.js.map +1 -1
  95. package/dist/protocol.d.ts +398 -236
  96. package/dist/protocol.d.ts.map +1 -1
  97. package/dist/protocol.js +147 -17
  98. package/dist/protocol.js.map +1 -1
  99. package/dist/replay.d.ts +5 -13
  100. package/dist/replay.d.ts.map +1 -1
  101. package/dist/replay.js +32 -69
  102. package/dist/replay.js.map +1 -1
  103. package/dist/round-contract.d.ts +64 -0
  104. package/dist/round-contract.d.ts.map +1 -0
  105. package/dist/round-contract.js +80 -0
  106. package/dist/round-contract.js.map +1 -0
  107. package/dist/round-coordinator.d.ts +23 -25
  108. package/dist/round-coordinator.d.ts.map +1 -1
  109. package/dist/round-coordinator.js +103 -92
  110. package/dist/round-coordinator.js.map +1 -1
  111. package/dist/round-driver.d.ts +13 -13
  112. package/dist/round-driver.d.ts.map +1 -1
  113. package/dist/round-driver.js +25 -14
  114. package/dist/round-driver.js.map +1 -1
  115. package/dist/round-transaction.d.ts +14 -18
  116. package/dist/round-transaction.d.ts.map +1 -1
  117. package/dist/round-transaction.js +37 -47
  118. package/dist/round-transaction.js.map +1 -1
  119. package/dist/self-eval.d.ts +48 -0
  120. package/dist/self-eval.d.ts.map +1 -0
  121. package/dist/self-eval.js +248 -0
  122. package/dist/self-eval.js.map +1 -0
  123. package/dist/storage.d.ts +9 -4
  124. package/dist/storage.d.ts.map +1 -1
  125. package/dist/storage.js +18 -6
  126. package/dist/storage.js.map +1 -1
  127. package/dist/token-utils.d.ts +15 -3
  128. package/dist/token-utils.d.ts.map +1 -1
  129. package/dist/token-utils.js +24 -5
  130. package/dist/token-utils.js.map +1 -1
  131. package/dist/verification-gate.d.ts +149 -0
  132. package/dist/verification-gate.d.ts.map +1 -0
  133. package/dist/verification-gate.js +1343 -0
  134. package/dist/verification-gate.js.map +1 -0
  135. package/dist/workspace.d.ts +29 -0
  136. package/dist/workspace.d.ts.map +1 -0
  137. package/dist/workspace.js +61 -0
  138. package/dist/workspace.js.map +1 -0
  139. package/loop_policy.json +37 -16
  140. package/package.json +5 -10
  141. package/skills/perception/SKILL.md +184 -202
  142. package/dist/canonical-event-writer.d.ts +0 -20
  143. package/dist/canonical-event-writer.d.ts.map +0 -1
  144. package/dist/canonical-event-writer.js +0 -131
  145. package/dist/canonical-event-writer.js.map +0 -1
  146. package/dist/compiler-subgoals.d.ts +0 -7
  147. package/dist/compiler-subgoals.d.ts.map +0 -1
  148. package/dist/compiler-subgoals.js +0 -93
  149. package/dist/compiler-subgoals.js.map +0 -1
  150. package/dist/derive-id.d.ts +0 -12
  151. package/dist/derive-id.d.ts.map +0 -1
  152. package/dist/derive-id.js +0 -31
  153. package/dist/derive-id.js.map +0 -1
  154. package/dist/mcp/session-projection.d.ts +0 -5
  155. package/dist/mcp/session-projection.d.ts.map +0 -1
  156. package/dist/mcp/session-projection.js +0 -18
  157. package/dist/mcp/session-projection.js.map +0 -1
  158. package/dist/mcp/session-queue.d.ts +0 -3
  159. package/dist/mcp/session-queue.d.ts.map +0 -1
  160. package/dist/mcp/session-queue.js +0 -18
  161. package/dist/mcp/session-queue.js.map +0 -1
  162. package/dist/mcp/session-types.d.ts +0 -72
  163. package/dist/mcp/session-types.d.ts.map +0 -1
  164. package/dist/mcp/session-types.js +0 -2
  165. package/dist/mcp/session-types.js.map +0 -1
  166. package/dist/round-commit-store.d.ts +0 -12
  167. package/dist/round-commit-store.d.ts.map +0 -1
  168. package/dist/round-commit-store.js +0 -13
  169. package/dist/round-commit-store.js.map +0 -1
  170. package/dist/round-gate.d.ts +0 -31
  171. package/dist/round-gate.d.ts.map +0 -1
  172. package/dist/round-gate.js +0 -259
  173. package/dist/round-gate.js.map +0 -1
  174. package/dist/round-recovery.d.ts +0 -17
  175. package/dist/round-recovery.d.ts.map +0 -1
  176. package/dist/round-recovery.js +0 -117
  177. package/dist/round-recovery.js.map +0 -1
  178. package/dist/round-report.d.ts +0 -16
  179. package/dist/round-report.d.ts.map +0 -1
  180. package/dist/round-report.js +0 -401
  181. package/dist/round-report.js.map +0 -1
  182. package/dist/runtime-services.d.ts +0 -59
  183. package/dist/runtime-services.d.ts.map +0 -1
  184. package/dist/runtime-services.js +0 -460
  185. package/dist/runtime-services.js.map +0 -1
  186. package/dist/vault-format.d.ts +0 -4
  187. package/dist/vault-format.d.ts.map +0 -1
  188. package/dist/vault-format.js +0 -4
  189. package/dist/vault-format.js.map +0 -1
  190. package/dist/vault-types.d.ts +0 -24
  191. package/dist/vault-types.d.ts.map +0 -1
  192. package/dist/vault-types.js +0 -2
  193. package/dist/vault-types.js.map +0 -1
  194. package/loopforge-policy.json +0 -340
@@ -1 +1 @@
1
- {"version":3,"file":"loop-store.js","sourceRoot":"","sources":["../src/loop-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-store.js","sourceRoot":"","sources":["../src/loop-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ /** LoopForge MCP — Round lifecycle.
2
+ *
3
+ * The round state machine split out of SessionManager: crash recovery,
4
+ * transaction execution, disposition result building, and the advance
5
+ * pipeline. SessionManager owns "who may touch a session" (registry, queue,
6
+ * leases); this class owns "what happens to a session" (state machine,
7
+ * recovery, result building).
8
+ *
9
+ * The lifecycle depends on a narrow registry and explicit stores/providers;
10
+ * session ownership, queues, and leases remain in SessionManager.
11
+ */
12
+ import { LoopForgeEngine } from "../engine.js";
13
+ import type { LoopForgeRequest, LoopForgeResponse, SelfEvaluation, VerificationFlag, ExternalContextProvider, LoopTerminalSink } from "../protocol.js";
14
+ import type { ProviderSnapshot } from "../evidence-provider.js";
15
+ import type { RoundTransactionSnapshot } from "../round-transaction.js";
16
+ import type { LoopStore, VaultEntry } from "../loop-store.js";
17
+ import type { SessionStateStore } from "../storage.js";
18
+ export interface McpSession {
19
+ sessionId: string;
20
+ loopId: string;
21
+ task: string;
22
+ engine: LoopForgeEngine;
23
+ currentRound: number;
24
+ maxRounds: number;
25
+ successTrajectory: boolean[];
26
+ status: "running" | "stopped" | "stalled" | "paused";
27
+ createdAt: number;
28
+ /** Previous round's validated SelfEvaluation — used by verification gate. */
29
+ lastSelfEval?: SelfEvaluation;
30
+ consecutiveRejections: number;
31
+ /** Which enforcement check triggered the last rejection.
32
+ * Only same-check rejections accumulate toward the max. */
33
+ lastRejectionCheck: string;
34
+ /** v2.12: Consecutive rounds where the agent used drift_clarification
35
+ * to waive R7 rejection. Reset to 0 when a round has no intent_drift.
36
+ * Terminates the loop when exceeding policy.drift_clarification_max_streak. */
37
+ driftClarificationStreak: number;
38
+ /** v2.13: Files changed in skipped rounds during the last backtrack.
39
+ * The next round's verification gate checks that the agent did not
40
+ * continue working on stale files without restoring the workspace.
41
+ * Cleared after the first successful post-backtrack round. */
42
+ backtrackSkippedFiles: string[];
43
+ /** v2.12: Git HEAD of the last backtrack restore point. The verification
44
+ * gate checks the workspace returns to this commit before accepting.
45
+ * Cleared after the first successful post-backtrack round. */
46
+ backtrackTargetGitHead?: string;
47
+ /** Evidence baseline captured immediately before the agent receives a prompt. */
48
+ evidenceBaseline?: ProviderSnapshot[];
49
+ /** Schema-versioned transaction for the prompt currently held by the agent. */
50
+ roundSnapshot?: RoundTransactionSnapshot;
51
+ /** Persisted prompt prevents resume from compiling the same round twice. */
52
+ currentPrompt?: string | null;
53
+ currentLevel?: string;
54
+ /** Structured warnings from the most recent compile — preferred over regex parsing. */
55
+ currentWarnings?: string[];
56
+ /** v3.0.1: The full compile response of the current round, cached so the
57
+ * typed projection (getProjection) derives from it instead of recompiling
58
+ * the whole vault. Freshness is checked via loop_id + round; rebuilt by
59
+ * every compile path. Not persisted — cold sessions fall back to compiling. */
60
+ lastCompileResponse?: LoopForgeResponse | null;
61
+ }
62
+ export interface McpSessionSummary {
63
+ sessionId: string;
64
+ loopId: string;
65
+ round: number;
66
+ status: "running" | "stopped" | "stalled" | "paused";
67
+ }
68
+ export interface StartInput {
69
+ task: string;
70
+ loopId?: string;
71
+ maxRounds?: number;
72
+ domain?: string;
73
+ planSource?: string;
74
+ constraints?: string[];
75
+ }
76
+ export interface AdvanceResult {
77
+ sessionId: string;
78
+ round: number;
79
+ /** Stable logical identity; unchanged when enforcement retries the round. */
80
+ roundId?: string;
81
+ prompt: string | null;
82
+ stopReason?: string;
83
+ /** v2.0.1: Human-readable context for why the loop stopped.
84
+ * Provides facts the agent can use to decide its next action,
85
+ * without LoopForge prescribing a specific behavior. */
86
+ stopDetail?: string;
87
+ level?: string;
88
+ roundSuccess?: boolean;
89
+ warnings?: string[];
90
+ /** v1.13: Enforcement action for this round. accept/reject/terminate.
91
+ * When "reject", the prompt contains a rejection notice and the agent
92
+ * must redo the same round. Round counter does NOT increment. */
93
+ enforcementAction?: "accept" | "reject" | "terminate" | "backtrack";
94
+ /** v1.13: When enforcementAction is "reject" or "terminate", the reason
95
+ * why the round was rejected or the loop was terminated. */
96
+ enforcementReason?: string;
97
+ }
98
+ /** Narrow view of the session registry the lifecycle may touch. The owning
99
+ * SessionManager implements this over its private Map, so the lifecycle
100
+ * never holds or mutates registry state directly. */
101
+ export interface SessionRegistry {
102
+ get(sessionId: string): McpSession | undefined;
103
+ values(): Iterable<McpSession>;
104
+ upsert(session: McpSession): void;
105
+ }
106
+ export interface RoundLifecycleDeps {
107
+ store: LoopStore;
108
+ sessionStore: SessionStateStore | undefined;
109
+ registry: SessionRegistry;
110
+ terminalSinks: Set<LoopTerminalSink>;
111
+ /** Stable process-local owner token used for cross-process session leases. */
112
+ ownerId: string;
113
+ /** Session lease duration; stamped into saved session entries. */
114
+ leaseMs: number;
115
+ /** Live accessor for the mutable contextProvider field on SessionManager. */
116
+ getContext: () => ExternalContextProvider | undefined;
117
+ }
118
+ export declare function buildLoopRequest(session: McpSession, lastEval?: SelfEvaluation, verificationFlags?: VerificationFlag[]): LoopForgeRequest;
119
+ export declare class RoundLifecycle {
120
+ private readonly store;
121
+ private readonly sessionStore;
122
+ private readonly registry;
123
+ private readonly terminalSinks;
124
+ private readonly ownerId;
125
+ private readonly leaseMs;
126
+ private readonly getContext;
127
+ constructor(deps: RoundLifecycleDeps);
128
+ /** Persist session state to vault for cross-process recovery.
129
+ * The filtered vault and replacement entry are written once under the
130
+ * backend lock, so recovery never observes the old two-write gap. */
131
+ save(session: McpSession): void;
132
+ /** Reconstruct a McpSession from a vault session_state entry.
133
+ * Returns null if the entry is not "running" status.
134
+ * Shared by resume() and autoResumeAll(). */
135
+ reconstructSession(entry: VaultEntry, allowPaused?: boolean): McpSession | null;
136
+ /** Apply a prepared round to the session, persist, and build the result.
137
+ * Shared by reconcileCommittedRound, resume, and unpause — the three
138
+ * compile-then-persist tails were previously copy-pasted. */
139
+ private persistPrepared;
140
+ private restoredPromptResult;
141
+ /** Reconcile the crash window where feedback committed but session_state
142
+ * still points at the old prompt. Returns null when no commit is pending. */
143
+ private reconcileCommittedRound;
144
+ /** Resume tail: the session has been reconstructed and registered. Reconcile
145
+ * a committed-but-undelivered round, restore the held prompt, or recover a
146
+ * missing prompt from current round state. */
147
+ resume(session: McpSession): AdvanceResult;
148
+ /** Unpause tail: the session has been reconstructed and registered with
149
+ * status "running". Refresh async evidence, reconcile a committed round,
150
+ * restore the held prompt, or compile the next prompt. */
151
+ unpause(session: McpSession): Promise<AdvanceResult>;
152
+ /** Record a gate_opened entry when an accepted round reports a high-risk
153
+ * blocker (USER_RISK hit). Idempotent per gate. The gate is a record
154
+ * layer — it never blocks the round decision flow. */
155
+ private recordGateFromBlocked;
156
+ /** Undecided user gate descriptions for a loop (recorded but unresolved). */
157
+ listOpenGateDescriptions(loopId: string): string[];
158
+ /** The boundary supplies the typed evaluation. Free-text parsing is
159
+ * deliberately not part of the round state machine. */
160
+ private extractEvaluation;
161
+ /** Execute the round transaction and apply per-rule rejection tracking.
162
+ * MUTATES: session.roundSnapshot, session.consecutiveRejections,
163
+ * session.lastRejectionCheck, session.lastSelfEval,
164
+ * session.successTrajectory, session.driftClarificationStreak */
165
+ private executeRoundTransaction;
166
+ /** v2.12: Update the clarification streak based on the round result.
167
+ * - Substantive clarification (anchors present): keep streak — genuine pivot.
168
+ * - No intent_drift this round: reset streak to 0.
169
+ * - Weak clarification rejected by R7: streak was already consumed by
170
+ * enforceIntentDrift to decide reject vs terminate; staleness is handled
171
+ * on the enforcement side. We sync the persisted counter for crash recovery.
172
+ * v3.2.1: when a HIGHER-PRIORITY rule (R1–R6/R8/R9/R-EVID) rejected the
173
+ * round, R7 never participated — clarificationAccepted is undefined (it
174
+ * is only set on the continue path). Touching the streak there would
175
+ * pollute it with rejections unrelated to drift and terminate the loop
176
+ * one weak clarification early.
177
+ * MUTATES: session.driftClarificationStreak */
178
+ private updateClarificationStreak;
179
+ /** Build a rejection result: compile a retry prompt, persist, return.
180
+ * MUTATES: session.roundSnapshot, session.currentPrompt, session.currentLevel */
181
+ private buildRejectionResult;
182
+ /** v2.10: Build a backtrack result — roll back to last clean round.
183
+ * Resets the round counter to the restore target + 1, merges preserved
184
+ * discoveries, compiles from the restored state, and injects the
185
+ * backtrack prompt at the top.
186
+ * MUTATES: session.currentRound, session.roundSnapshot,
187
+ * session.currentPrompt, session.currentLevel,
188
+ * session.consecutiveRejections, session.lastSelfEval */
189
+ private buildBacktrackResult;
190
+ /** Build a termination result: persist stopped status, notify sinks.
191
+ * MUTATES: session.status, session.currentPrompt */
192
+ private buildTerminationResult;
193
+ /** Build a stop result: persist stopped/stalled status, notify sinks.
194
+ * MUTATES: session.status, session.currentPrompt */
195
+ private buildStopResult;
196
+ /** Compile the next round's prompt and advance the session.
197
+ * Includes the commit fence (pause/delete race guard) and context provider.
198
+ * MUTATES: session.currentRound, session.currentPrompt, session.currentLevel,
199
+ * session.evidenceBaseline, session.roundSnapshot */
200
+ private advanceToNextRound;
201
+ private advanceUnlocked;
202
+ /** Core cycle entry used by SessionManager.advance after the queue + lease
203
+ * dance: validate → extract → execute transaction → route disposition
204
+ * → advance to next round (continue) or return terminal result.
205
+ * @param roundId v3.0.1: the roundId of the round this submission reports
206
+ * on (from the last start/next/resume response). Anchors the submission;
207
+ * a stale or duplicate submission returns the held prompt instead of
208
+ * being processed. Optional — when absent the anchor check is skipped. */
209
+ advance(sessionId: string, output: string, preExtractedEval?: SelfEvaluation, roundId?: string): Promise<AdvanceResult>;
210
+ /** Write back loop knowledge to long-term memory.
211
+ * Uses shared base builder from policy.ts. Called when a loop terminates. */
212
+ notifyTerminal(session: McpSession, stopReason: string): Promise<void>;
213
+ }
214
+ //# sourceMappingURL=round-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"round-lifecycle.d.ts","sourceRoot":"","sources":["../../src/mcp/round-lifecycle.ts"],"names":[],"mappings":"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"}