loopforge 1.3.1 → 1.7.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.
- package/dist/backends/fs.d.ts +5 -0
- package/dist/backends/fs.d.ts.map +1 -1
- package/dist/backends/fs.js +66 -16
- package/dist/backends/fs.js.map +1 -1
- package/dist/builder.d.ts +0 -1
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +14 -25
- package/dist/builder.js.map +1 -1
- package/dist/engine.d.ts +14 -5
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +202 -105
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +4 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -9
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +5 -2
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +533 -19
- package/dist/loop-compiler.js.map +1 -1
- package/dist/mcp/session.d.ts +11 -3
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +106 -31
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.d.ts +133 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +116 -6
- package/dist/mcp/tools.js.map +1 -1
- package/dist/observability.d.ts +23 -0
- package/dist/observability.d.ts.map +1 -0
- package/dist/observability.js +29 -0
- package/dist/observability.js.map +1 -0
- package/dist/policy.d.ts +15 -0
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +8 -0
- package/dist/policy.js.map +1 -1
- package/dist/protocol.d.ts +114 -5
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +44 -3
- package/dist/protocol.js.map +1 -1
- package/dist/runtime.d.ts +2 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +51 -3
- package/dist/runtime.js.map +1 -1
- package/dist/tests/builder.test.js +1 -25
- package/dist/tests/builder.test.js.map +1 -1
- package/dist/tests/engine.test.js +213 -38
- package/dist/tests/engine.test.js.map +1 -1
- package/dist/tests/generate-schema.test.js +4 -4
- package/dist/tests/generate-schema.test.js.map +1 -1
- package/dist/tests/loop-compiler.test.js +191 -2
- package/dist/tests/loop-compiler.test.js.map +1 -1
- package/dist/tests/mcp.test.js +87 -0
- package/dist/tests/mcp.test.js.map +1 -1
- package/dist/tests/protocol.test.js +2 -4
- package/dist/tests/protocol.test.js.map +1 -1
- package/dist/tests/verification-gate.test.d.ts +2 -0
- package/dist/tests/verification-gate.test.d.ts.map +1 -0
- package/dist/tests/verification-gate.test.js +407 -0
- package/dist/tests/verification-gate.test.js.map +1 -0
- package/dist/verification-gate.d.ts +26 -0
- package/dist/verification-gate.d.ts.map +1 -0
- package/dist/verification-gate.js +232 -0
- package/dist/verification-gate.js.map +1 -0
- package/loop_policy.json +8 -0
- package/package.json +1 -2
- package/skills/perception/SKILL.md +95 -54
- package/dist/cli.d.ts +0 -7
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -458
- package/dist/cli.js.map +0 -1
- package/dist/tests/adapter.test.js +0 -104
- package/dist/tests/adapter.test.js.map +0 -1
package/dist/mcp/tools.d.ts
CHANGED
|
@@ -39,6 +39,7 @@ export declare const TOOL_SCHEMAS: ({
|
|
|
39
39
|
};
|
|
40
40
|
sessionId?: undefined;
|
|
41
41
|
output?: undefined;
|
|
42
|
+
evaluation?: undefined;
|
|
42
43
|
};
|
|
43
44
|
required: string[];
|
|
44
45
|
};
|
|
@@ -56,6 +57,135 @@ export declare const TOOL_SCHEMAS: ({
|
|
|
56
57
|
type: "string";
|
|
57
58
|
description: string;
|
|
58
59
|
};
|
|
60
|
+
evaluation: {
|
|
61
|
+
type: "object";
|
|
62
|
+
description: string;
|
|
63
|
+
required: string[];
|
|
64
|
+
properties: {
|
|
65
|
+
success: {
|
|
66
|
+
type: "boolean";
|
|
67
|
+
description: string;
|
|
68
|
+
};
|
|
69
|
+
output_summary: {
|
|
70
|
+
type: "string";
|
|
71
|
+
description: string;
|
|
72
|
+
};
|
|
73
|
+
should_continue: {
|
|
74
|
+
type: "boolean";
|
|
75
|
+
description: string;
|
|
76
|
+
};
|
|
77
|
+
constraint_violations: {
|
|
78
|
+
type: "array";
|
|
79
|
+
items: {
|
|
80
|
+
type: "string";
|
|
81
|
+
};
|
|
82
|
+
description: string;
|
|
83
|
+
};
|
|
84
|
+
discovered_constraints: {
|
|
85
|
+
type: "array";
|
|
86
|
+
items: {
|
|
87
|
+
type: "string";
|
|
88
|
+
};
|
|
89
|
+
description: string;
|
|
90
|
+
};
|
|
91
|
+
objective_refinement: {
|
|
92
|
+
type: "string";
|
|
93
|
+
description: string;
|
|
94
|
+
};
|
|
95
|
+
emerged_subtasks: {
|
|
96
|
+
type: "array";
|
|
97
|
+
items: {
|
|
98
|
+
type: "string";
|
|
99
|
+
};
|
|
100
|
+
description: string;
|
|
101
|
+
};
|
|
102
|
+
execution_evidence: {
|
|
103
|
+
type: "object";
|
|
104
|
+
description: string;
|
|
105
|
+
properties: {
|
|
106
|
+
files_changed: {
|
|
107
|
+
type: "array";
|
|
108
|
+
items: {
|
|
109
|
+
type: "string";
|
|
110
|
+
};
|
|
111
|
+
description: string;
|
|
112
|
+
};
|
|
113
|
+
test_results: {
|
|
114
|
+
type: "object";
|
|
115
|
+
description: string;
|
|
116
|
+
properties: {
|
|
117
|
+
passed: {
|
|
118
|
+
type: "integer";
|
|
119
|
+
minimum: number;
|
|
120
|
+
description: string;
|
|
121
|
+
};
|
|
122
|
+
failed: {
|
|
123
|
+
type: "integer";
|
|
124
|
+
minimum: number;
|
|
125
|
+
description: string;
|
|
126
|
+
};
|
|
127
|
+
skipped: {
|
|
128
|
+
type: "integer";
|
|
129
|
+
minimum: number;
|
|
130
|
+
description: string;
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
success_criteria_met: {
|
|
135
|
+
type: "array";
|
|
136
|
+
items: {
|
|
137
|
+
type: "string";
|
|
138
|
+
};
|
|
139
|
+
description: string;
|
|
140
|
+
};
|
|
141
|
+
success_criteria_remaining: {
|
|
142
|
+
type: "array";
|
|
143
|
+
items: {
|
|
144
|
+
type: "string";
|
|
145
|
+
};
|
|
146
|
+
description: string;
|
|
147
|
+
};
|
|
148
|
+
progress_estimate: {
|
|
149
|
+
type: "number";
|
|
150
|
+
minimum: number;
|
|
151
|
+
maximum: number;
|
|
152
|
+
description: string;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
retracted_constraints: {
|
|
157
|
+
type: "array";
|
|
158
|
+
items: {
|
|
159
|
+
type: "string";
|
|
160
|
+
};
|
|
161
|
+
description: string;
|
|
162
|
+
};
|
|
163
|
+
revised_success_criteria: {
|
|
164
|
+
type: "array";
|
|
165
|
+
description: string;
|
|
166
|
+
items: {
|
|
167
|
+
type: "object";
|
|
168
|
+
properties: {
|
|
169
|
+
old: {
|
|
170
|
+
type: "string";
|
|
171
|
+
description: string;
|
|
172
|
+
};
|
|
173
|
+
new: {
|
|
174
|
+
type: "string";
|
|
175
|
+
description: string;
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
wrong_assumptions: {
|
|
181
|
+
type: "array";
|
|
182
|
+
items: {
|
|
183
|
+
type: "string";
|
|
184
|
+
};
|
|
185
|
+
description: string;
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
};
|
|
59
189
|
task?: undefined;
|
|
60
190
|
loopId?: undefined;
|
|
61
191
|
maxRounds?: undefined;
|
|
@@ -82,6 +212,7 @@ export declare const TOOL_SCHEMAS: ({
|
|
|
82
212
|
planSource?: undefined;
|
|
83
213
|
constraints?: undefined;
|
|
84
214
|
output?: undefined;
|
|
215
|
+
evaluation?: undefined;
|
|
85
216
|
};
|
|
86
217
|
required: string[];
|
|
87
218
|
};
|
|
@@ -99,6 +230,7 @@ export declare const TOOL_SCHEMAS: ({
|
|
|
99
230
|
constraints?: undefined;
|
|
100
231
|
sessionId?: undefined;
|
|
101
232
|
output?: undefined;
|
|
233
|
+
evaluation?: undefined;
|
|
102
234
|
};
|
|
103
235
|
required: never[];
|
|
104
236
|
};
|
|
@@ -119,6 +251,7 @@ export declare const TOOL_SCHEMAS: ({
|
|
|
119
251
|
constraints?: undefined;
|
|
120
252
|
sessionId?: undefined;
|
|
121
253
|
output?: undefined;
|
|
254
|
+
evaluation?: undefined;
|
|
122
255
|
};
|
|
123
256
|
required: string[];
|
|
124
257
|
};
|
package/dist/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,cAAc,CAAC;AAO/D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4OxB,CAAC;AAMF,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3G,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA0HrD,CAAC"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* 6 tools: start, next, status, stop, list, replay.
|
|
4
4
|
* Each handler receives SessionManager + parsed input, returns the output object.
|
|
5
5
|
*/
|
|
6
|
+
import { buildSelfEvaluation } from "../engine.js";
|
|
6
7
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
7
8
|
// Tool schemas (MCP JSON Schema format)
|
|
8
9
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
@@ -44,7 +45,7 @@ export const TOOL_SCHEMAS = [
|
|
|
44
45
|
},
|
|
45
46
|
{
|
|
46
47
|
name: "loopforge_next",
|
|
47
|
-
description: "Submit the output from the current round and advance to the next. Returns the next-round prompt, or null with a stopReason when the loop ends.",
|
|
48
|
+
description: "Submit the output from the current round and advance to the next. Returns the next-round prompt, or null with a stopReason when the loop ends. The evaluation parameter provides structured self-assessment — prefer this over embedding a ---loopforge-eval block in the output text.",
|
|
48
49
|
inputSchema: {
|
|
49
50
|
type: "object",
|
|
50
51
|
properties: {
|
|
@@ -54,10 +55,105 @@ export const TOOL_SCHEMAS = [
|
|
|
54
55
|
},
|
|
55
56
|
output: {
|
|
56
57
|
type: "string",
|
|
57
|
-
description: "The agent's full output from executing the current round's prompt.",
|
|
58
|
+
description: "Optional. The agent's full output from executing the current round's prompt. May be omitted if evaluation parameter is provided.",
|
|
59
|
+
},
|
|
60
|
+
evaluation: {
|
|
61
|
+
type: "object",
|
|
62
|
+
description: "Structured self-evaluation for this round. Required for the loop to continue. Preferred over embedding ---loopforge-eval blocks in output text.",
|
|
63
|
+
required: ["success", "output_summary", "should_continue", "constraint_violations"],
|
|
64
|
+
properties: {
|
|
65
|
+
success: {
|
|
66
|
+
type: "boolean",
|
|
67
|
+
description: "true ONLY if all hard constraints met AND the task goal achieved.",
|
|
68
|
+
},
|
|
69
|
+
output_summary: {
|
|
70
|
+
type: "string",
|
|
71
|
+
description: "Specific, actionable summary of what was DONE this round — not what was attempted.",
|
|
72
|
+
},
|
|
73
|
+
should_continue: {
|
|
74
|
+
type: "boolean",
|
|
75
|
+
description: "false ONLY when the ENTIRE task is complete. Partial progress = true.",
|
|
76
|
+
},
|
|
77
|
+
constraint_violations: {
|
|
78
|
+
type: "array",
|
|
79
|
+
items: { type: "string" },
|
|
80
|
+
description: "Constraints the agent actually violated this round. Be honest.",
|
|
81
|
+
},
|
|
82
|
+
discovered_constraints: {
|
|
83
|
+
type: "array",
|
|
84
|
+
items: { type: "string" },
|
|
85
|
+
description: "Optional. New constraints discovered this round.",
|
|
86
|
+
},
|
|
87
|
+
objective_refinement: {
|
|
88
|
+
type: "string",
|
|
89
|
+
description: "Optional. If this round deepened understanding of the task objective.",
|
|
90
|
+
},
|
|
91
|
+
emerged_subtasks: {
|
|
92
|
+
type: "array",
|
|
93
|
+
items: { type: "string" },
|
|
94
|
+
description: "Optional. Sub-problems that surfaced during execution.",
|
|
95
|
+
},
|
|
96
|
+
execution_evidence: {
|
|
97
|
+
type: "object",
|
|
98
|
+
description: "Optional. Structured record of what actually happened this round.",
|
|
99
|
+
properties: {
|
|
100
|
+
files_changed: {
|
|
101
|
+
type: "array",
|
|
102
|
+
items: { type: "string" },
|
|
103
|
+
description: "Files modified this round.",
|
|
104
|
+
},
|
|
105
|
+
test_results: {
|
|
106
|
+
type: "object",
|
|
107
|
+
description: "Test results from this round.",
|
|
108
|
+
properties: {
|
|
109
|
+
passed: { type: "integer", minimum: 0, description: "Number of passing tests." },
|
|
110
|
+
failed: { type: "integer", minimum: 0, description: "Number of failing tests." },
|
|
111
|
+
skipped: { type: "integer", minimum: 0, description: "Number of skipped tests." },
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
success_criteria_met: {
|
|
115
|
+
type: "array",
|
|
116
|
+
items: { type: "string" },
|
|
117
|
+
description: "Success criteria satisfied this round.",
|
|
118
|
+
},
|
|
119
|
+
success_criteria_remaining: {
|
|
120
|
+
type: "array",
|
|
121
|
+
items: { type: "string" },
|
|
122
|
+
description: "Success criteria still outstanding.",
|
|
123
|
+
},
|
|
124
|
+
progress_estimate: {
|
|
125
|
+
type: "number",
|
|
126
|
+
minimum: 0,
|
|
127
|
+
maximum: 1,
|
|
128
|
+
description: "Estimated progress toward task completion (0.0–1.0).",
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
retracted_constraints: {
|
|
133
|
+
type: "array",
|
|
134
|
+
items: { type: "string" },
|
|
135
|
+
description: "Optional. Constraints the agent now believes are wrong.",
|
|
136
|
+
},
|
|
137
|
+
revised_success_criteria: {
|
|
138
|
+
type: "array",
|
|
139
|
+
description: "Optional. Success criteria that need reformulation.",
|
|
140
|
+
items: {
|
|
141
|
+
type: "object",
|
|
142
|
+
properties: {
|
|
143
|
+
old: { type: "string", description: "Original criterion." },
|
|
144
|
+
new: { type: "string", description: "Revised criterion." },
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
wrong_assumptions: {
|
|
149
|
+
type: "array",
|
|
150
|
+
items: { type: "string" },
|
|
151
|
+
description: "Optional. Assumptions from earlier rounds that were incorrect.",
|
|
152
|
+
},
|
|
153
|
+
},
|
|
58
154
|
},
|
|
59
155
|
},
|
|
60
|
-
required: ["sessionId", "
|
|
156
|
+
required: ["sessionId", "evaluation"],
|
|
61
157
|
},
|
|
62
158
|
},
|
|
63
159
|
{
|
|
@@ -161,11 +257,16 @@ export const TOOL_HANDLERS = {
|
|
|
161
257
|
loopforge_next(mgr, input) {
|
|
162
258
|
const sessionId = String(input.sessionId ?? "");
|
|
163
259
|
const output = String(input.output ?? "");
|
|
260
|
+
const rawEval = input.evaluation;
|
|
164
261
|
if (!sessionId)
|
|
165
262
|
return { error: "sessionId is required" };
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
263
|
+
// Build SelfEvaluation from structured evaluation parameter
|
|
264
|
+
const preExtractedEval = rawEval ? buildSelfEvaluation(rawEval) : undefined;
|
|
265
|
+
// Require at least one of: evaluation parameter or output with embedded eval block
|
|
266
|
+
if (!preExtractedEval && !output.trim()) {
|
|
267
|
+
return { error: "Either evaluation parameter or output with ---loopforge-eval block is required" };
|
|
268
|
+
}
|
|
269
|
+
const result = mgr.advance(sessionId, output, preExtractedEval);
|
|
169
270
|
// Clean up finished sessions
|
|
170
271
|
if (result.prompt === null) {
|
|
171
272
|
mgr.delete(sessionId);
|
|
@@ -179,6 +280,7 @@ export const TOOL_HANDLERS = {
|
|
|
179
280
|
const session = mgr.get(sessionId);
|
|
180
281
|
if (!session)
|
|
181
282
|
return { error: `session not found: ${sessionId}` };
|
|
283
|
+
const metrics = session.engine.getMetrics();
|
|
182
284
|
return {
|
|
183
285
|
sessionId: session.sessionId,
|
|
184
286
|
loopId: session.loopId,
|
|
@@ -187,6 +289,14 @@ export const TOOL_HANDLERS = {
|
|
|
187
289
|
status: session.status,
|
|
188
290
|
qualityTrajectory: session.qualityTrajectory,
|
|
189
291
|
technique: session.engine.state?.last_technique ?? null,
|
|
292
|
+
metrics: {
|
|
293
|
+
vaultWriteErrors: metrics.vaultWriteErrors,
|
|
294
|
+
vaultWriteBytes: metrics.vaultWriteBytes,
|
|
295
|
+
feedbackBufferFlushes: metrics.feedbackBufferFlushes,
|
|
296
|
+
feedbackBufferMaxSize: metrics.feedbackBufferMaxSize,
|
|
297
|
+
hydrateCacheMisses: metrics.hydrateCacheMisses,
|
|
298
|
+
silentAnalysisErrors: metrics.silentAnalysisErrors,
|
|
299
|
+
},
|
|
190
300
|
};
|
|
191
301
|
},
|
|
192
302
|
loopforge_stop(mgr, input) {
|
package/dist/mcp/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** LoopForge — Structured event logging (v1.7).
|
|
2
|
+
*
|
|
3
|
+
* JSON-line events to stderr for key lifecycle moments.
|
|
4
|
+
* Gated behind process.env.LOOPFORGE_LOG — silent by default.
|
|
5
|
+
*
|
|
6
|
+
* Events:
|
|
7
|
+
* round_complete — engine/runtime after feedback processed
|
|
8
|
+
* circuit_breaker — shouldBreak() returns true
|
|
9
|
+
* gate_contradicted — verification gate returns contradicted verdict
|
|
10
|
+
* strategy_rotated — adaptive technique routing rotates
|
|
11
|
+
* vault_write_error — any catch in vault write paths
|
|
12
|
+
* session_start / session_end — MCP session lifecycle
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* LOOPFORGE_LOG=1 npm test
|
|
16
|
+
* LOOPFORGE_LOG=1 node my_script.js 2>&1 | grep '\[loopforge\]'
|
|
17
|
+
*/
|
|
18
|
+
export interface LogEventData {
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
}
|
|
21
|
+
/** Emit a structured JSON event to stderr when LOOPFORGE_LOG is set. */
|
|
22
|
+
export declare function logEvent(event: string, data?: LogEventData): void;
|
|
23
|
+
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,IAAI,CAQrE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** LoopForge — Structured event logging (v1.7).
|
|
2
|
+
*
|
|
3
|
+
* JSON-line events to stderr for key lifecycle moments.
|
|
4
|
+
* Gated behind process.env.LOOPFORGE_LOG — silent by default.
|
|
5
|
+
*
|
|
6
|
+
* Events:
|
|
7
|
+
* round_complete — engine/runtime after feedback processed
|
|
8
|
+
* circuit_breaker — shouldBreak() returns true
|
|
9
|
+
* gate_contradicted — verification gate returns contradicted verdict
|
|
10
|
+
* strategy_rotated — adaptive technique routing rotates
|
|
11
|
+
* vault_write_error — any catch in vault write paths
|
|
12
|
+
* session_start / session_end — MCP session lifecycle
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* LOOPFORGE_LOG=1 npm test
|
|
16
|
+
* LOOPFORGE_LOG=1 node my_script.js 2>&1 | grep '\[loopforge\]'
|
|
17
|
+
*/
|
|
18
|
+
/** Emit a structured JSON event to stderr when LOOPFORGE_LOG is set. */
|
|
19
|
+
export function logEvent(event, data = {}) {
|
|
20
|
+
if (!process.env.LOOPFORGE_LOG)
|
|
21
|
+
return;
|
|
22
|
+
const record = {
|
|
23
|
+
ts: new Date().toISOString(),
|
|
24
|
+
event,
|
|
25
|
+
...data,
|
|
26
|
+
};
|
|
27
|
+
process.stderr.write(`[loopforge] ${JSON.stringify(record)}\n`);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=observability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.js","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,OAAqB,EAAE;IAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa;QAAE,OAAO;IACvC,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5B,KAAK;QACL,GAAG,IAAI;KACR,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC"}
|
package/dist/policy.d.ts
CHANGED
|
@@ -35,6 +35,20 @@ export interface BackendPolicy {
|
|
|
35
35
|
vault_path: string;
|
|
36
36
|
global_vault_path: string;
|
|
37
37
|
}
|
|
38
|
+
export interface EvolutionPolicy {
|
|
39
|
+
/** P0: Max new constraints the agent can discover per round. */
|
|
40
|
+
max_discovered_constraints_per_round: number;
|
|
41
|
+
/** P0: Hard upper bound on total active constraints. */
|
|
42
|
+
max_active_constraints: number;
|
|
43
|
+
/** P1: Max versions of the loop objective to retain in history. */
|
|
44
|
+
max_objective_versions: number;
|
|
45
|
+
/** P4: Minimum progress delta to not be considered stalled. */
|
|
46
|
+
progress_stall_threshold: number;
|
|
47
|
+
/** P4: Consecutive rounds below stall threshold before warning. */
|
|
48
|
+
progress_stall_rounds: number;
|
|
49
|
+
/** P4: Max allowed difference between objective and subjective progress. */
|
|
50
|
+
progress_mismatch_threshold: number;
|
|
51
|
+
}
|
|
38
52
|
export interface LoopPolicy {
|
|
39
53
|
version: string;
|
|
40
54
|
constraints: ConstraintsPolicy;
|
|
@@ -44,6 +58,7 @@ export interface LoopPolicy {
|
|
|
44
58
|
engine: EnginePolicy;
|
|
45
59
|
runtime: RuntimePolicy;
|
|
46
60
|
backend: BackendPolicy;
|
|
61
|
+
evolution: EvolutionPolicy;
|
|
47
62
|
}
|
|
48
63
|
export declare const DEFAULT_POLICY: LoopPolicy;
|
|
49
64
|
export declare function loadPolicy(path?: string): LoopPolicy;
|
package/dist/policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,0BAA0B,EAAE,MAAM,CAAC;IACnC,2BAA2B,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,0BAA0B,EAAE,MAAM,CAAC;IACnC,2BAA2B,EAAE,MAAM,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,oCAAoC,EAAE,MAAM,CAAC;IAC7C,wDAAwD;IACxD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,wBAAwB,EAAE,MAAM,CAAC;IACjC,mEAAmE;IACnE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,kBAAkB,EAAE,uBAAuB,CAAC;IAC5C,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,eAAe,CAAC;CAC5B;AAMD,eAAO,MAAM,cAAc,EAAE,UA+D5B,CAAC;AAmCF,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAmBpD;AAQD,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAKnD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
|
package/dist/policy.js
CHANGED
|
@@ -62,6 +62,14 @@ export const DEFAULT_POLICY = {
|
|
|
62
62
|
vault_path: ".promptcraft/prompt_vault.json",
|
|
63
63
|
global_vault_path: "~/.promptcraft/global_vault.json",
|
|
64
64
|
},
|
|
65
|
+
evolution: {
|
|
66
|
+
max_discovered_constraints_per_round: 5,
|
|
67
|
+
max_active_constraints: 15,
|
|
68
|
+
max_objective_versions: 10,
|
|
69
|
+
progress_stall_threshold: 0.05,
|
|
70
|
+
progress_stall_rounds: 2,
|
|
71
|
+
progress_mismatch_threshold: 0.3,
|
|
72
|
+
},
|
|
65
73
|
};
|
|
66
74
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
67
75
|
// Deep merge — custom values override defaults, unset fields retain defaults
|
package/dist/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|