loopforge 3.2.1 → 3.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/README.md +74 -71
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +6 -38
- package/dist/audit.js.map +1 -1
- package/dist/canonical-state.d.ts +71 -6
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +176 -29
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +16 -26
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-facts.d.ts +17 -0
- package/dist/cognitive-facts.d.ts.map +1 -0
- package/dist/cognitive-facts.js +99 -0
- package/dist/cognitive-facts.js.map +1 -0
- package/dist/cognitive-governance.d.ts +0 -1
- package/dist/cognitive-governance.d.ts.map +1 -1
- package/dist/cognitive-governance.js +1 -4
- package/dist/cognitive-governance.js.map +1 -1
- package/dist/committed-round.d.ts +100 -0
- package/dist/committed-round.d.ts.map +1 -0
- package/dist/committed-round.js +349 -0
- package/dist/committed-round.js.map +1 -0
- package/dist/enforcement-gate.d.ts +4 -2
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +385 -357
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +16 -4
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +65 -16
- package/dist/engine.js.map +1 -1
- package/dist/evidence-claims.d.ts.map +1 -1
- package/dist/evidence-claims.js +15 -39
- package/dist/evidence-claims.js.map +1 -1
- package/dist/evidence-provider.d.ts +35 -17
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +105 -108
- package/dist/evidence-provider.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +21 -10
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +232 -276
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-projection.d.ts +5 -25
- package/dist/loop-projection.d.ts.map +1 -1
- package/dist/loop-projection.js +18 -134
- package/dist/loop-projection.js.map +1 -1
- package/dist/loop-store.d.ts +16 -18
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js +21 -63
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +13 -10
- package/dist/mcp/round-lifecycle.d.ts.map +1 -1
- package/dist/mcp/round-lifecycle.js +95 -68
- package/dist/mcp/round-lifecycle.js.map +1 -1
- package/dist/mcp/server.js +3 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +17 -5
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +177 -54
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.d.ts +12 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +161 -53
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.d.ts +0 -7
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +15 -55
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +22 -31
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +24 -42
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts +0 -3
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +124 -191
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/protocol.d.ts +61 -46
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +2 -18
- package/dist/protocol.js.map +1 -1
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +21 -22
- package/dist/replay.js.map +1 -1
- package/dist/round-contract.d.ts +64 -0
- package/dist/round-contract.d.ts.map +1 -0
- package/dist/round-contract.js +80 -0
- package/dist/round-contract.js.map +1 -0
- package/dist/round-coordinator.d.ts +5 -3
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +34 -29
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +0 -4
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +1 -11
- package/dist/round-driver.js.map +1 -1
- package/dist/round-transaction.d.ts +0 -1
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +0 -1
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +29 -34
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +112 -148
- package/dist/self-eval.js.map +1 -1
- package/dist/token-utils.d.ts +7 -3
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +18 -3
- package/dist/token-utils.js.map +1 -1
- package/dist/verification-gate.d.ts +72 -21
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +544 -157
- package/dist/verification-gate.js.map +1 -1
- package/dist/workspace.d.ts +29 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +61 -0
- package/dist/workspace.js.map +1 -0
- package/loop_policy.json +5 -17
- package/package.json +2 -2
- package/skills/perception/SKILL.md +137 -136
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-metrics.d.ts","sourceRoot":"","sources":["../src/policy-metrics.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,
|
|
1
|
+
{"version":3,"file":"policy-metrics.d.ts","sourceRoot":"","sources":["../src/policy-metrics.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAqCD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,OAAO;IAUf,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,UAAQ,GAAG,IAAI;IA6B/E,cAAc,CACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,EAC5D,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI;IAYP;;iCAE6B;IAC7B,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAMpD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAKhD,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAQ7B;AAmBD;;;qEAGqE;AACrE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EAAE,GACpB,qBAAqB,CAuBvB;AAED;;;4EAG4E;AAC5E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,qBAAqB,GAC1B,qBAAqB,CAmCvB;AAED,eAAO,MAAM,aAAa,wBAA+B,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAEvE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAExD"}
|
package/dist/policy-metrics.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** In-process policy effectiveness metrics with no runtime dependency. */
|
|
2
|
-
import {
|
|
2
|
+
import { committedRoundsFromEntries } from "./committed-round.js";
|
|
3
3
|
function empty(loopId) {
|
|
4
4
|
return {
|
|
5
5
|
loopId,
|
|
@@ -23,7 +23,6 @@ function empty(loopId) {
|
|
|
23
23
|
vaultWriteErrors: 0,
|
|
24
24
|
vaultWriteReasons: {},
|
|
25
25
|
levels: {},
|
|
26
|
-
strategyEffectiveness: {},
|
|
27
26
|
};
|
|
28
27
|
}
|
|
29
28
|
function increment(target, key) {
|
|
@@ -51,8 +50,14 @@ export class PolicyMetricsCollector {
|
|
|
51
50
|
metric.roundAttempts++;
|
|
52
51
|
if (result.action === "reject")
|
|
53
52
|
metric.rejectedAttempts++;
|
|
54
|
-
|
|
53
|
+
// v3.3.1: only continue/stop decisions commit a round outcome —
|
|
54
|
+
// terminates never commit (v2.14 invariant) and backtracks are
|
|
55
|
+
// roll-back directives whose redo replaces the round document, so
|
|
56
|
+
// neither may inflate committedRounds/acceptanceRate. This mirrors
|
|
57
|
+
// the vault-derived side, which already excludes backtrack entries.
|
|
58
|
+
else if (result.action === "continue" || result.action === "stop") {
|
|
55
59
|
metric.committedRounds++;
|
|
60
|
+
}
|
|
56
61
|
if (result.action === "terminate")
|
|
57
62
|
metric.terminatedRounds++;
|
|
58
63
|
if (result.action === "stop")
|
|
@@ -99,24 +104,6 @@ export class PolicyMetricsCollector {
|
|
|
99
104
|
increment(metric.levels, level);
|
|
100
105
|
}
|
|
101
106
|
}
|
|
102
|
-
recordStrategyOutcome(loopId, level, result, replayed = false) {
|
|
103
|
-
if (replayed)
|
|
104
|
-
return;
|
|
105
|
-
const key = level ?? "unknown";
|
|
106
|
-
for (const metric of this.targets(loopId)) {
|
|
107
|
-
const current = metric.strategyEffectiveness[key] ?? {
|
|
108
|
-
attempts: 0,
|
|
109
|
-
successes: 0,
|
|
110
|
-
rejections: 0,
|
|
111
|
-
};
|
|
112
|
-
current.attempts++;
|
|
113
|
-
if (result.roundSuccess && result.action !== "reject")
|
|
114
|
-
current.successes++;
|
|
115
|
-
if (result.action === "reject")
|
|
116
|
-
current.rejections++;
|
|
117
|
-
metric.strategyEffectiveness[key] = current;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
107
|
snapshot(loopId) {
|
|
121
108
|
const source = loopId ? this.loops.get(loopId) ?? empty(loopId) : this.aggregate;
|
|
122
109
|
return snapshotFrom(source);
|
|
@@ -134,20 +121,12 @@ export class PolicyMetricsCollector {
|
|
|
134
121
|
function snapshotFrom(source) {
|
|
135
122
|
const attempts = source.roundAttempts;
|
|
136
123
|
const evidence = source.evidenceCaptures;
|
|
137
|
-
const strategyEffectiveness = {};
|
|
138
|
-
for (const [key, value] of Object.entries(source.strategyEffectiveness)) {
|
|
139
|
-
strategyEffectiveness[key] = {
|
|
140
|
-
...value,
|
|
141
|
-
successRate: value.attempts === 0 ? 0 : value.successes / value.attempts,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
124
|
return {
|
|
145
125
|
...source,
|
|
146
126
|
verificationFlags: { ...source.verificationFlags },
|
|
147
127
|
enforcementReasons: { ...source.enforcementReasons },
|
|
148
128
|
evidenceOutcomesByProvider: { ...source.evidenceOutcomesByProvider },
|
|
149
129
|
levels: { ...source.levels },
|
|
150
|
-
strategyEffectiveness,
|
|
151
130
|
acceptanceRate: attempts === 0 ? 0 : source.committedRounds / attempts,
|
|
152
131
|
evidenceAvailabilityRate: evidence === 0 ? 0 : source.evidenceAvailable / evidence,
|
|
153
132
|
// evidenceLatencyMs is a raw sum; derive the average for consumers
|
|
@@ -160,25 +139,12 @@ function snapshotFrom(source) {
|
|
|
160
139
|
* restarted process reports nonzero metrics for persisted loops. */
|
|
161
140
|
export function derivePolicyMetrics(loopId, entries) {
|
|
162
141
|
const metric = empty(loopId);
|
|
163
|
-
for (const
|
|
164
|
-
|
|
165
|
-
if (!taskId.startsWith(`loop:${loopId}:r`) || !taskId.endsWith(":feedback"))
|
|
166
|
-
continue;
|
|
167
|
-
if (!isRecord(entry.loop_lineage))
|
|
168
|
-
continue;
|
|
169
|
-
const transaction = entry.loop_lineage.round_transaction;
|
|
170
|
-
if (!isRecord(transaction) || !isRecord(transaction.snapshot))
|
|
142
|
+
for (const round of committedRoundsFromEntries(entries)) {
|
|
143
|
+
if (round.loopId !== loopId)
|
|
171
144
|
continue;
|
|
172
|
-
const
|
|
173
|
-
const result = isRecord(snapshot.result) ? snapshot.result : null;
|
|
145
|
+
const result = round.result;
|
|
174
146
|
if (!result)
|
|
175
147
|
continue;
|
|
176
|
-
// v2.14: rounds committed with action="backtrack" were rolled back and
|
|
177
|
-
// are not part of the loop's committed progress — exclude them from
|
|
178
|
-
// committed-round statistics (their redo, when it commits, replaces
|
|
179
|
-
// the same round document).
|
|
180
|
-
if (result.action === "backtrack")
|
|
181
|
-
continue;
|
|
182
148
|
metric.roundAttempts++;
|
|
183
149
|
metric.committedRounds++;
|
|
184
150
|
if (result.action === "stop")
|
|
@@ -189,19 +155,14 @@ export function derivePolicyMetrics(loopId, entries) {
|
|
|
189
155
|
metric.successfulRounds++;
|
|
190
156
|
if (result.gateContradicted === true)
|
|
191
157
|
metric.contradictedRounds++;
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
if (isRecord(flag) && typeof flag.check === "string") {
|
|
195
|
-
increment(metric.verificationFlags, flag.check);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
158
|
+
for (const flag of round.verificationFlags) {
|
|
159
|
+
increment(metric.verificationFlags, flag.check);
|
|
198
160
|
}
|
|
199
161
|
if (typeof result.enforcementReason === "string" && result.enforcementReason.length > 0) {
|
|
200
162
|
increment(metric.enforcementReasons, result.enforcementReason);
|
|
201
163
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
increment(metric.levels, artifact.level);
|
|
164
|
+
if (round.promptArtifact?.level) {
|
|
165
|
+
increment(metric.levels, round.promptArtifact.level);
|
|
205
166
|
}
|
|
206
167
|
}
|
|
207
168
|
return snapshotFrom(metric);
|
|
@@ -242,7 +203,6 @@ export function mergePolicyMetrics(derived, live) {
|
|
|
242
203
|
vaultWriteErrors: live.vaultWriteErrors,
|
|
243
204
|
vaultWriteReasons: { ...live.vaultWriteReasons },
|
|
244
205
|
levels: { ...derived.levels },
|
|
245
|
-
strategyEffectiveness: { ...derived.strategyEffectiveness },
|
|
246
206
|
};
|
|
247
207
|
return snapshotFrom(merged);
|
|
248
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-metrics.js","sourceRoot":"","sources":["../src/policy-metrics.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAI1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"policy-metrics.js","sourceRoot":"","sources":["../src/policy-metrics.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAI1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAoClE,SAAS,KAAK,CAAC,MAAe;IAC5B,OAAO;QACL,MAAM;QACN,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;QAChB,oBAAoB,EAAE,CAAC;QACvB,gBAAgB,EAAE,CAAC;QACnB,kBAAkB,EAAE,CAAC;QACrB,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,EAAE;QACtB,0BAA0B,EAAE,EAAE;QAC9B,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,CAAC;QACpB,mBAAmB,EAAE,CAAC;QACtB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,EAAE;QACrB,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAA8B,EAAE,GAAW;IAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,OAAO,sBAAsB;IAChB,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IACnD,SAAS,GAAG,KAAK,EAAE,CAAC;IAEpB,OAAO,CAAC,MAAe;QAC7B,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,MAA0B,EAAE,QAAQ,GAAG,KAAK;QACtE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,MAAM,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1D,gEAAgE;YAChE,+DAA+D;YAC/D,kEAAkE;YAClE,mEAAmE;YACnE,oEAAoE;iBAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClE,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;gBAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,CAAC,aAAa,EAAE,CAAC;YACrD,IAAI,MAAM,CAAC,YAAY;gBAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,gBAAgB;gBAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACzD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC5C,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CACZ,QAAgB,EAChB,OAA4D,EAC5D,SAAiB,EACjB,MAAe;QAEf,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YACnD,IAAI,OAAO,KAAK,WAAW;gBAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACxD,IAAI,OAAO,KAAK,aAAa;gBAAE,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC5D,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACrD,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACrD,SAAS,CAAC,MAAM,CAAC,0BAA0B,EAAE,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;iCAE6B;IAC7B,qBAAqB,CAAC,MAAc,EAAE,MAAe;QACnD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1B,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,KAAc;QAC3C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,IAAI,KAAK;gBAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,MAAe;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACjF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAe;QACnB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,4EAA4E;AAC5E,SAAS,YAAY,CAAC,MAAsB;IAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACzC,OAAO;QACL,GAAG,MAAM;QACT,iBAAiB,EAAE,EAAE,GAAG,MAAM,CAAC,iBAAiB,EAAE;QAClD,kBAAkB,EAAE,EAAE,GAAG,MAAM,CAAC,kBAAkB,EAAE;QACpD,0BAA0B,EAAE,EAAE,GAAG,MAAM,CAAC,0BAA0B,EAAE;QACpE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE;QAC5B,cAAc,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,GAAG,QAAQ;QACtE,wBAAwB,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,GAAG,QAAQ;QAClF,mEAAmE;QACnE,oBAAoB,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,GAAG,QAAQ;KAC/E,CAAC;AACJ,CAAC;AAED;;;qEAGqE;AACrE,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,OAAqB;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,SAAS;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;YAAE,MAAM,CAAC,aAAa,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW;YAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC7D,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI;YAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5D,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI;YAAE,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC3C,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxF,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;YAChC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;4EAG4E;AAC5E,MAAM,UAAU,kBAAkB,CAChC,OAA8B,EAC9B,IAA2B;IAE3B,MAAM,MAAM,GAAmB;QAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,qEAAqE;QACrE,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,+DAA+D;QAC/D,0DAA0D;QAC1D,aAAa,EACX,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB;QACvE,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,iEAAiE;QACjE,mEAAmE;QACnE,4DAA4D;QAC5D,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC3E,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,iBAAiB,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE;QACnD,kBAAkB,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE;QACrD,0BAA0B,EAAE,EAAE,GAAG,IAAI,CAAC,0BAA0B,EAAE;QAClE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,iBAAiB,EAAE,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE;QAChD,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE;KAC9B,CAAC;IACF,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,sBAAsB,EAAE,CAAC;AAE1D,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC"}
|
package/dist/policy.d.ts
CHANGED
|
@@ -19,12 +19,10 @@ export interface SummaryPolicy {
|
|
|
19
19
|
/** v3.0.1: L1 milestone sampling — this many of the NEWEST milestones are
|
|
20
20
|
* always kept when the cap is exceeded. */
|
|
21
21
|
milestone_tail_count: number;
|
|
22
|
-
/** v2.1: Enable the loop_synthesis paragraph in L2 prompts and state files. */
|
|
23
|
-
enable_loop_synthesis: boolean;
|
|
24
22
|
}
|
|
25
23
|
export interface EnginePolicy {
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
/** Number of committed rounds inspected for progress stalls. */
|
|
25
|
+
stall_lookback_rounds: number;
|
|
28
26
|
max_rounds: number;
|
|
29
27
|
/** v2.7: When true, enforcement rules that would terminate (R4 2nd strike,
|
|
30
28
|
* R5 flatline, R6 max rejections) instead issue one final escalated
|
|
@@ -61,7 +59,6 @@ export interface EnginePolicy {
|
|
|
61
59
|
}
|
|
62
60
|
/** Levels control state density only; reasoning strategy belongs to the Agent. */
|
|
63
61
|
export interface PromptPolicy {
|
|
64
|
-
injection_mode: "adaptive" | "full" | "pointer";
|
|
65
62
|
full_refresh_interval: number;
|
|
66
63
|
l0_max_chars: number;
|
|
67
64
|
l1_max_chars: number;
|
|
@@ -87,18 +84,21 @@ export interface PromptPolicy {
|
|
|
87
84
|
* presentation) into one-line state-file pointers. Default: true.
|
|
88
85
|
* Set to false to restore pre-v3.2 full L1 rendering. */
|
|
89
86
|
l1_collapse_enabled: boolean;
|
|
87
|
+
/** v3.5: When true, L2 prompts whose Current Task is NOT a Round Contract
|
|
88
|
+
* append a short suggestion to declare one when the remaining work spans
|
|
89
|
+
* several rounds. L2-only prose in the eval template tail — never the
|
|
90
|
+
* JSON key name; L0/L1 prompts are unaffected (byte-identical to v3.4).
|
|
91
|
+
* Default: true. Set to false to restore pre-v3.5 L2 rendering. */
|
|
92
|
+
contract_nudge_on_l2: boolean;
|
|
90
93
|
/** v2.9: Max emphasize items when level is L2. Default: 5. */
|
|
91
94
|
max_emphasize_l2: number;
|
|
92
95
|
/** v2.9: Max emphasize items when level is L1. Default: 3. */
|
|
93
96
|
max_emphasize_l1: number;
|
|
94
|
-
/** v2.9: Max expand sections when level is L1. Default: 1. */
|
|
95
|
-
max_expand_l1: number;
|
|
96
97
|
/** v2.9: Max confusion points rendered. Default: 3. */
|
|
97
98
|
max_confusion_points: number;
|
|
98
99
|
/** v2.14: Jaccard threshold for pointing a confusion point at its
|
|
99
100
|
* best-matching state section. Default: 0.15 (15%). */
|
|
100
101
|
confusion_section_threshold: number;
|
|
101
|
-
base_prompt_version: string;
|
|
102
102
|
}
|
|
103
103
|
export interface BackendPolicy {
|
|
104
104
|
/** Root for typed per-loop documents. */
|
|
@@ -109,7 +109,6 @@ export interface EvolutionPolicy {
|
|
|
109
109
|
max_active_constraints: number;
|
|
110
110
|
max_objective_versions: number;
|
|
111
111
|
progress_stall_threshold: number;
|
|
112
|
-
progress_stall_rounds: number;
|
|
113
112
|
progress_mismatch_threshold: number;
|
|
114
113
|
/** v2.14: Jaccard threshold for task continuity in checkLoopHealth —
|
|
115
114
|
* below this, the loop is considered drifting. Default: 0.2. */
|
|
@@ -119,9 +118,6 @@ export interface EvolutionPolicy {
|
|
|
119
118
|
* round's output_summary have similarity below this threshold, a
|
|
120
119
|
* verification flag is raised. Default: 0.15 (15%). */
|
|
121
120
|
intent_drift_threshold: number;
|
|
122
|
-
/** v2.2: Jaccard similarity threshold for auto-completing a sub-goal
|
|
123
|
-
* when a success_criteria is met. Default: 0.4. */
|
|
124
|
-
subgoal_auto_complete_threshold: number;
|
|
125
121
|
/** v2.5: Jaccard threshold for detecting genuinely new success criteria
|
|
126
122
|
* between rounds. Used by detectNewCriteria(). Default: 0.45. */
|
|
127
123
|
criteria_dedup_threshold: number;
|
|
@@ -131,9 +127,6 @@ export interface EvolutionPolicy {
|
|
|
131
127
|
/** v2.5: Jaccard threshold for matching agent-declared status changes
|
|
132
128
|
* (completed/blocked/canceled) to existing sub-goals. Default: 0.5. */
|
|
133
129
|
subgoal_match_threshold: number;
|
|
134
|
-
/** v2.5: Jaccard threshold for auto-promoting a pending sub-goal to
|
|
135
|
-
* in_progress when next_action aligns. Default: 0.4. */
|
|
136
|
-
subgoal_auto_in_progress_threshold: number;
|
|
137
130
|
/** v2.5: Jaccard threshold for matching constraints during discovery
|
|
138
131
|
* and violation tracking. Default: 0.5. */
|
|
139
132
|
constraint_match_threshold: number;
|
|
@@ -141,22 +134,10 @@ export interface EvolutionPolicy {
|
|
|
141
134
|
* exceed this to be considered "aligned" with a pending sub-goal.
|
|
142
135
|
* Default: 0.3. */
|
|
143
136
|
subgoal_drift_alignment_threshold: number;
|
|
144
|
-
/** v2.2: Number of rounds a sub-goal can stay pending before
|
|
145
|
-
* being flagged as stale in prompts. Default: 10. */
|
|
146
|
-
subgoal_stale_rounds: number;
|
|
147
|
-
/** v2.2: Maximum sub-goals to render in prompt. Default: 10. */
|
|
148
|
-
max_subgoals_in_prompt: number;
|
|
149
|
-
/** v2.2: Maximum completed sub-goals to render in prompt. Default: 5. */
|
|
150
|
-
max_done_subgoals_in_prompt: number;
|
|
151
|
-
/** v2.3: Number of rounds without violation before a discovered
|
|
152
|
-
* constraint is demoted to inactive. Hard/plan/criteria constraints
|
|
153
|
-
* are never auto-demoted. Default: 15. */
|
|
154
|
-
constraint_inactive_rounds: number;
|
|
155
137
|
/** v2.11: When true, constraints and criteria are assigned stable IDs
|
|
156
138
|
* (c-XXXXXXXX, cr-XXXXXXXX) rendered in prompts. The agent is encouraged
|
|
157
|
-
* to reference IDs for exact matching;
|
|
158
|
-
*
|
|
159
|
-
* pure-text + Jaccard behavior. Default: true. */
|
|
139
|
+
* to reference IDs for exact matching; natural-language references use
|
|
140
|
+
* Jaccard similarity. Default: true. */
|
|
160
141
|
constraint_id_enabled: boolean;
|
|
161
142
|
}
|
|
162
143
|
export interface CheckpointPolicy {
|
|
@@ -166,13 +147,19 @@ export interface CheckpointPolicy {
|
|
|
166
147
|
export interface StateFilePolicy {
|
|
167
148
|
enabled: boolean;
|
|
168
149
|
directory: string;
|
|
169
|
-
max_checkpoints: number;
|
|
170
|
-
max_summary_rounds: number;
|
|
171
150
|
}
|
|
172
151
|
export interface EvidencePolicy {
|
|
173
152
|
providers: string[];
|
|
174
153
|
timeout_ms: number;
|
|
175
154
|
commands: CommandEvidencePolicy[];
|
|
155
|
+
/** v3.3: How a success claim with zero machine-backed evidence is treated.
|
|
156
|
+
* "required" (default): the runtime rejects/terminates via R8 — a success
|
|
157
|
+
* claim must be backed by a passed after-phase command (or a declared
|
|
158
|
+
* no_change_reason). "warn": the flag downgrades to warn — the round
|
|
159
|
+
* commits, but its success never enters the trajectory and trust drops.
|
|
160
|
+
* The machine-evidence tightening itself is unconditional; this switch
|
|
161
|
+
* only controls the rejection/tolerance policy. */
|
|
162
|
+
machine_backed_success: "required" | "warn";
|
|
176
163
|
}
|
|
177
164
|
export interface CommandEvidencePolicy {
|
|
178
165
|
name: string;
|
|
@@ -228,6 +215,10 @@ export declare function resetPolicy(): void;
|
|
|
228
215
|
/** v3.2: Test-only injection — mirrors resetPolicy so tests can exercise a
|
|
229
216
|
* specific policy configuration (e.g. l1_collapse_enabled=false). */
|
|
230
217
|
export declare function setPolicyForTest(next: LoopPolicy): void;
|
|
218
|
+
/** v3.3: Whether a command name is configured AND enabled in the current
|
|
219
|
+
* policy's evidence.commands. The machine-checkable predicate behind the
|
|
220
|
+
* round_contract verification_plan (round_unverifiable otherwise). */
|
|
221
|
+
export declare function isConfiguredCommand(name: string): boolean;
|
|
231
222
|
export declare function validateLoopId(loopId: string): void;
|
|
232
223
|
export declare function resolveStateDirectory(workspaceRoot: string, configuredDirectory: string): string;
|
|
233
224
|
export declare function writeStateFile(loopId: string, content: string | undefined): void;
|
package/dist/policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAe7C,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;iDAE6C;IAC7C,kBAAkB,EAAE,MAAM,CAAC;IAC3B;kEAC8D;IAC9D,cAAc,EAAE,MAAM,CAAC;IACvB;;4EAEwE;IACxE,oBAAoB,EAAE,MAAM,CAAC;IAC7B;gDAC4C;IAC5C,oBAAoB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/policy.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/** Externalized LoopForge runtime policy. */
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
|
-
import { existsSync, lstatSync, mkdirSync, readFileSync,
|
|
4
|
-
import {
|
|
3
|
+
import { existsSync, lstatSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync, } from "node:fs";
|
|
4
|
+
import { resolve } from "node:path";
|
|
5
|
+
import { containInWorkspace } from "./workspace.js";
|
|
5
6
|
export const DEFAULT_POLICY = {
|
|
6
7
|
version: "2",
|
|
7
8
|
constraints: { retire_window: 3 },
|
|
8
|
-
summary: { window: 5, health_check_interval: 1, milestone_interval: 20, max_milestones: 10, milestone_head_count: 3, milestone_tail_count: 3
|
|
9
|
-
engine: {
|
|
9
|
+
summary: { window: 5, health_check_interval: 1, milestone_interval: 20, max_milestones: 10, milestone_head_count: 3, milestone_tail_count: 3 },
|
|
10
|
+
engine: { stall_lookback_rounds: 3, max_rounds: 20, enforcement_escalation_enabled: true, backtrack_enabled: true, backtrack_max_depth: 3, backtrack_preserve_discoveries: true, drift_clarification_max_streak: 3, backtrack_auto_restore: false },
|
|
10
11
|
prompt: {
|
|
11
|
-
injection_mode: "adaptive",
|
|
12
12
|
full_refresh_interval: 0,
|
|
13
13
|
l0_max_chars: 3000,
|
|
14
14
|
l1_max_chars: 7000,
|
|
@@ -20,12 +20,11 @@ export const DEFAULT_POLICY = {
|
|
|
20
20
|
l2_adaptive_subgoal_factor: 100,
|
|
21
21
|
l2_pointer_enabled: true,
|
|
22
22
|
l1_collapse_enabled: true,
|
|
23
|
+
contract_nudge_on_l2: true,
|
|
23
24
|
max_emphasize_l2: 5,
|
|
24
25
|
max_emphasize_l1: 3,
|
|
25
|
-
max_expand_l1: 1,
|
|
26
26
|
max_confusion_points: 3,
|
|
27
27
|
confusion_section_threshold: 0.15,
|
|
28
|
-
base_prompt_version: "2.0.0",
|
|
29
28
|
},
|
|
30
29
|
backend: { root_dir: ".loopforge" },
|
|
31
30
|
evolution: {
|
|
@@ -33,31 +32,22 @@ export const DEFAULT_POLICY = {
|
|
|
33
32
|
max_active_constraints: 15,
|
|
34
33
|
max_objective_versions: 10,
|
|
35
34
|
progress_stall_threshold: 0.05,
|
|
36
|
-
progress_stall_rounds: 2,
|
|
37
35
|
progress_mismatch_threshold: 0.3,
|
|
38
36
|
task_continuity_threshold: 0.2,
|
|
39
37
|
intent_drift_threshold: 0.15,
|
|
40
38
|
criteria_dedup_threshold: 0.45,
|
|
41
39
|
subgoal_dedup_threshold: 0.6,
|
|
42
40
|
subgoal_match_threshold: 0.5,
|
|
43
|
-
subgoal_auto_in_progress_threshold: 0.4,
|
|
44
|
-
subgoal_auto_complete_threshold: 0.4,
|
|
45
41
|
constraint_match_threshold: 0.5,
|
|
46
42
|
subgoal_drift_alignment_threshold: 0.3,
|
|
47
|
-
subgoal_stale_rounds: 10,
|
|
48
|
-
max_subgoals_in_prompt: 10,
|
|
49
|
-
max_done_subgoals_in_prompt: 5,
|
|
50
|
-
constraint_inactive_rounds: 15,
|
|
51
43
|
constraint_id_enabled: true,
|
|
52
44
|
},
|
|
53
45
|
checkpoint: { outcome_max_chars: 200 },
|
|
54
46
|
state_file: {
|
|
55
47
|
enabled: true,
|
|
56
48
|
directory: ".loopforge/state",
|
|
57
|
-
max_checkpoints: 5,
|
|
58
|
-
max_summary_rounds: 5,
|
|
59
49
|
},
|
|
60
|
-
evidence: { providers: ["git"], timeout_ms: 120_000, commands: [] },
|
|
50
|
+
evidence: { providers: ["git"], timeout_ms: 120_000, commands: [], machine_backed_success: "required" },
|
|
61
51
|
mcp: {
|
|
62
52
|
session_lease_ms: 30_000,
|
|
63
53
|
session_lease_renew_interval_ms: 10_000,
|
|
@@ -135,6 +125,13 @@ export function resetPolicy() {
|
|
|
135
125
|
export function setPolicyForTest(next) {
|
|
136
126
|
policy = next;
|
|
137
127
|
}
|
|
128
|
+
/** v3.3: Whether a command name is configured AND enabled in the current
|
|
129
|
+
* policy's evidence.commands. The machine-checkable predicate behind the
|
|
130
|
+
* round_contract verification_plan (round_unverifiable otherwise). */
|
|
131
|
+
export function isConfiguredCommand(name) {
|
|
132
|
+
const commands = getPolicy().evidence?.commands ?? [];
|
|
133
|
+
return commands.some((c) => c.enabled && c.name === name);
|
|
134
|
+
}
|
|
138
135
|
const LOOP_ID_RE = /^[a-zA-Z0-9][-a-zA-Z0-9_:.]{0,127}$/;
|
|
139
136
|
export function validateLoopId(loopId) {
|
|
140
137
|
if (typeof loopId !== "string" || !loopId) {
|
|
@@ -150,28 +147,12 @@ export function validateLoopId(loopId) {
|
|
|
150
147
|
}
|
|
151
148
|
}
|
|
152
149
|
export function resolveStateDirectory(workspaceRoot, configuredDirectory) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}
|
|
160
|
-
const realRoot = realpathSync(lexicalRoot);
|
|
161
|
-
let ancestor = lexicalTarget;
|
|
162
|
-
while (!existsSync(ancestor)) {
|
|
163
|
-
const parent = resolve(ancestor, "..");
|
|
164
|
-
if (parent === ancestor)
|
|
165
|
-
break;
|
|
166
|
-
ancestor = parent;
|
|
167
|
-
}
|
|
168
|
-
const projected = resolve(realpathSync(ancestor), relative(ancestor, lexicalTarget));
|
|
169
|
-
const realRelative = relative(realRoot, projected);
|
|
170
|
-
if (realRelative === ".." || realRelative.startsWith(`..${sep}`) ||
|
|
171
|
-
isAbsolute(realRelative)) {
|
|
172
|
-
throw new Error("State file directory resolves outside the workspace");
|
|
173
|
-
}
|
|
174
|
-
return lexicalTarget;
|
|
150
|
+
// v3.3.1: delegated to the single shared containment check (workspace.ts).
|
|
151
|
+
// Behavior note: an EXISTING configured directory now resolves through
|
|
152
|
+
// symlinks to its real location (the old implementation returned the
|
|
153
|
+
// lexical path) — writes can never land behind the workspace's back via a
|
|
154
|
+
// symlinked alias. Absent first-run directories keep the lexical path.
|
|
155
|
+
return containInWorkspace(workspaceRoot, configuredDirectory);
|
|
175
156
|
}
|
|
176
157
|
export function writeStateFile(loopId, content) {
|
|
177
158
|
if (!content)
|
|
@@ -182,12 +163,13 @@ export function writeStateFile(loopId, content) {
|
|
|
182
163
|
return;
|
|
183
164
|
const directory = resolveStateDirectory(process.cwd(), config.directory);
|
|
184
165
|
mkdirSync(directory, { recursive: true });
|
|
185
|
-
|
|
186
|
-
|
|
166
|
+
// v3.3.1: the double resolveStateDirectory call was redundant — the
|
|
167
|
+
// containment check is pure; one resolution serves mkdir, target, tmp.
|
|
168
|
+
const target = resolve(directory, `${loopId}-state.md`);
|
|
187
169
|
if (existsSync(target) && lstatSync(target).isSymbolicLink()) {
|
|
188
170
|
throw new Error("State file target must not be a symbolic link");
|
|
189
171
|
}
|
|
190
|
-
const temporary = resolve(
|
|
172
|
+
const temporary = resolve(directory, `.${loopId}-state.${process.pid}.${randomUUID()}.tmp`);
|
|
191
173
|
try {
|
|
192
174
|
writeFileSync(temporary, content, "utf8");
|
|
193
175
|
renameSync(temporary, target);
|
package/dist/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,6 @@ import type { PromptArtifact, PromptRequests } from "./protocol.js";
|
|
|
9
9
|
import type { ConstraintMeta, MilestoneSummary, SubGoal } from "./protocol.js";
|
|
10
10
|
import type { PromptLevel, PromptLevelReason } from "./prompt-policy.js";
|
|
11
11
|
export declare const PROMPT_ARTIFACT_SCHEMA_VERSION: 1;
|
|
12
|
-
export declare const BASE_PROMPT_VERSION = "2.0.0";
|
|
13
|
-
export type InjectionMode = "adaptive" | "full" | "pointer";
|
|
14
12
|
export interface PromptBudgets {
|
|
15
13
|
l0: number;
|
|
16
14
|
l1: number;
|
|
@@ -21,7 +19,6 @@ export interface PromptAssemblyInput {
|
|
|
21
19
|
state: CanonicalLoopState;
|
|
22
20
|
level: PromptLevel;
|
|
23
21
|
reasons: PromptLevelReason[];
|
|
24
|
-
mode?: InjectionMode;
|
|
25
22
|
budgets?: Partial<PromptBudgets>;
|
|
26
23
|
attempt?: number;
|
|
27
24
|
selfEvaluationBlock: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembler.d.ts","sourceRoot":"","sources":["../src/prompt-assembler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,8BAA8B,EAAG,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"prompt-assembler.d.ts","sourceRoot":"","sources":["../src/prompt-assembler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAI5B,eAAO,MAAM,8BAA8B,EAAG,CAAU,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,sBAAsB,EAAE,aAIpC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;mEAC+D;IAC/D,iBAAiB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACnD;AA6HD;+DAC+D;AAC/D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAmCD;4DAC4D;AAC5D,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,IAAI,CAAC;AASpC,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB;6CACyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,cAAc,EAAE,EAC1B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,cAAc,CAyBhB;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,UAAU,EAAE,OAAO,EAAE,GACpB,WAAW,CAgBb;AAED;sEACsE;AACtE,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,EACvC,UAAU,EAAE,gBAAgB,EAAE,GAC7B,OAAO,CAQT;AAoqBD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CA0LjF"}
|