loopforge 3.6.0 → 3.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +28 -13
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +3 -8
- package/dist/audit.js.map +1 -1
- package/dist/canonical-state.d.ts +23 -4
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +148 -47
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +8 -16
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-facts.d.ts.map +1 -1
- package/dist/cognitive-facts.js +2 -3
- package/dist/cognitive-facts.js.map +1 -1
- package/dist/cognitive-governance.d.ts +30 -7
- package/dist/cognitive-governance.d.ts.map +1 -1
- package/dist/cognitive-governance.js +75 -22
- package/dist/cognitive-governance.js.map +1 -1
- package/dist/committed-round.d.ts +48 -4
- package/dist/committed-round.d.ts.map +1 -1
- package/dist/committed-round.js +177 -10
- package/dist/committed-round.js.map +1 -1
- package/dist/enforcement-gate.d.ts +24 -19
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +216 -146
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +10 -5
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +52 -31
- package/dist/engine.js.map +1 -1
- package/dist/evidence-claims.d.ts.map +1 -1
- package/dist/evidence-claims.js +3 -9
- package/dist/evidence-claims.js.map +1 -1
- package/dist/evidence-provider.d.ts +13 -19
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +65 -100
- package/dist/evidence-provider.js.map +1 -1
- package/dist/generate-schema.js +104 -43
- package/dist/generate-schema.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/loop-compiler.d.ts +18 -10
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +205 -343
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-store.d.ts +11 -16
- 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 +18 -3
- package/dist/mcp/round-lifecycle.d.ts.map +1 -1
- package/dist/mcp/round-lifecycle.js +162 -35
- package/dist/mcp/round-lifecycle.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +12 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +35 -4
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +169 -52
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +170 -39
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy.d.ts +10 -13
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +3 -6
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts +6 -4
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +46 -100
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/protocol.d.ts +52 -51
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +5 -28
- package/dist/protocol.js.map +1 -1
- package/dist/round-coordinator.d.ts +19 -0
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +63 -4
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +4 -3
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +3 -10
- package/dist/round-driver.js.map +1 -1
- package/dist/round-transaction.d.ts +4 -0
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +9 -0
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +41 -3
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +125 -13
- 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 +32 -24
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +262 -178
- package/dist/verification-gate.js.map +1 -1
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/loop_policy.json +19 -7
- package/package.json +6 -6
- package/skills/perception/SKILL.md +56 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembler.d.ts","sourceRoot":"","sources":["../src/prompt-assembler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"prompt-assembler.d.ts","sourceRoot":"","sources":["../src/prompt-assembler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAQvF,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;AAgID;+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;AAwpBD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CA0LjF"}
|
package/dist/prompt-assembler.js
CHANGED
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
*
|
|
3
3
|
* L0/L1/L2 control state density only. Reasoning strategy belongs to the
|
|
4
4
|
* external Agent. Mandatory task, hard-constraint, and verification sections
|
|
5
|
-
* are never truncated
|
|
5
|
+
* are never truncated and always render. Budgets are soft CEILINGS applied
|
|
6
|
+
* to optional sections: optional sections are appended in priority order
|
|
7
|
+
* while the rendered length stays under the level's budget, and the rest are
|
|
8
|
+
* dropped from the prompt (the dropped content stays derivable from the
|
|
9
|
+
* vault). Prompt length can exceed the ceiling when the mandatory sections
|
|
10
|
+
* alone are over it — truncation of mandatory content never happens.
|
|
6
11
|
*/
|
|
7
12
|
import { createHash } from "node:crypto";
|
|
8
|
-
import { buildRoadmap, hashCanonicalState, milestoneHeading, trustBarLine } from "./canonical-state.js";
|
|
13
|
+
import { activeSubGoalView, buildRoadmap, hashCanonicalState, milestoneHeading, trustBarLine, } from "./canonical-state.js";
|
|
9
14
|
import { deriveItemId, STABLE_ID_RE, jaccardSimilarity } from "./token-utils.js";
|
|
10
15
|
import { getPolicy } from "./policy.js";
|
|
11
16
|
export const PROMPT_ARTIFACT_SCHEMA_VERSION = 1;
|
|
12
|
-
export const BASE_PROMPT_VERSION = "2.0.0";
|
|
13
17
|
export const DEFAULT_PROMPT_BUDGETS = {
|
|
14
18
|
l0: 3000,
|
|
15
19
|
l1: 7000,
|
|
@@ -70,12 +74,9 @@ function bulletsWithIdentities(values, metadata) {
|
|
|
70
74
|
* iterates the verification-gate module's CHECK_ exports (no hardcoded
|
|
71
75
|
* list — a new constant can never silently lack an action entry). */
|
|
72
76
|
const VERIFICATION_ACTIONS = {
|
|
73
|
-
progress_regression: "Correct progress_estimate or explain the change in output_summary.",
|
|
74
|
-
empty_change_with_passing: "Report the actual files_changed, or set success=false with the real state.",
|
|
75
77
|
success_with_remaining_criteria: "Complete the remaining criteria before claiming success, or set success=false and report what remains.",
|
|
76
|
-
success_without_verified_evidence: "Back the success claim with machine-verifiable evidence: run tests or a required verification command and report the actual output.",
|
|
78
|
+
success_without_verified_evidence: "Back the success claim with machine-verifiable evidence: run tests or a required verification command and report the actual output. If you genuinely performed no work, provide execution_evidence and declare no_change_reason.",
|
|
77
79
|
outcome_success_contradiction: "Reconcile the declared outcome with the success flag and resubmit an honest evaluation.",
|
|
78
|
-
success_claim_conflict: "Align the success claim with your own evaluation data before resubmitting.",
|
|
79
80
|
blocked_without_blocker: "State the concrete blocker, or drop the blocked outcome.",
|
|
80
81
|
retroactive_claim_bad_round: "Correct the referenced round number, or withdraw the retroactive claim.",
|
|
81
82
|
retroactive_claim_unverified: "Provide evidence for the retroactive claim, or withdraw it.",
|
|
@@ -100,6 +101,8 @@ const VERIFICATION_ACTIONS = {
|
|
|
100
101
|
// v3.5 — contract completion machine-backing + premature-replacement warn
|
|
101
102
|
contract_completion_unverified: "Completion under the ACTIVE Round Contract requires its verification_plan commands to pass this round — fix the underlying failure so they pass and resubmit. Completion claims are not accepted without machine verification (no_change_reason does not apply).",
|
|
102
103
|
contract_premature: "The ACTIVE contract is still open — restate it unchanged to continue it; a different contract is ignored until the active one is completed or blocked.",
|
|
104
|
+
// v3.7.1 — opt-in gate layer: cited gates need an approved human decision
|
|
105
|
+
user_gate_unresolved: "The round cites a high-risk action without an approved human decision. Run loopforge_gate_check, present the approval question, call loopforge_gate_resolve after the human decides, and resubmit with the approved gate id in evaluation.gate_ids.",
|
|
103
106
|
};
|
|
104
107
|
/** Fallback for unmapped check names (forward-compat with future checks). */
|
|
105
108
|
const VERIFICATION_ACTION_FALLBACK = "Re-examine the flagged claim and correct your evaluation before resubmitting.";
|
|
@@ -206,7 +209,7 @@ export function milestoneBoundaryChanged(baseline, milestones) {
|
|
|
206
209
|
const baselineRanges = new Set(baseline.milestoneRanges.map(([s, e]) => `${s}:${e}`));
|
|
207
210
|
return milestones.some((m) => !baselineRanges.has(`${m.round_range.start}:${m.round_range.end}`));
|
|
208
211
|
}
|
|
209
|
-
function commonMandatorySections(state,
|
|
212
|
+
function commonMandatorySections(state,
|
|
210
213
|
/** v2.11: L0 skips ID rendering to stay within tight budget. */
|
|
211
214
|
level) {
|
|
212
215
|
const sections = [
|
|
@@ -266,7 +269,11 @@ function l0Sections(state) {
|
|
|
266
269
|
function l1Sections(state, baseline, emphasized) {
|
|
267
270
|
const sections = commonMandatorySections(state, "l1");
|
|
268
271
|
const active = activeNonHardConstraints(state);
|
|
269
|
-
|
|
272
|
+
// L7: collapse needs the state file — its collapse line points at the file
|
|
273
|
+
// for the full content. With the file disabled (stateFilePath empty),
|
|
274
|
+
// collapsing would silently truncate the prompt's constraints view.
|
|
275
|
+
const collapseEnabled = getPolicy().prompt.l1_collapse_enabled &&
|
|
276
|
+
state.stateFilePath.length > 0;
|
|
270
277
|
if (state.changesSinceLastRound.length > 0) {
|
|
271
278
|
sections.push({
|
|
272
279
|
id: "changes",
|
|
@@ -321,17 +328,18 @@ function l1Sections(state, baseline, emphasized) {
|
|
|
321
328
|
}
|
|
322
329
|
// v2.2: Sub-Goal Dashboard (compact — L1). v3.2: unchanged sub-goals
|
|
323
330
|
// collapse to a count line; new/transitioned ones render in full.
|
|
324
|
-
|
|
331
|
+
// v3.7.1: only ACTIVE items (pending/in_progress/blocked) enter the view;
|
|
332
|
+
// done/canceled never render as rows.
|
|
333
|
+
const view = activeSubGoalView(state.subGoals, Number.POSITIVE_INFINITY);
|
|
334
|
+
const activeSubs = view.active;
|
|
325
335
|
if (activeSubs.length > 0) {
|
|
336
|
+
const iconOf = (sg) => sg.status === "in_progress" ? "🔄" : sg.status === "blocked" ? "🚫" : "⏳";
|
|
326
337
|
const diff = diffSubGoals(baseline, activeSubs);
|
|
327
338
|
const renderFull = !collapseEnabled || !baseline
|
|
328
339
|
|| diff.unchangedCount < COLLAPSE_MIN_UNCHANGED;
|
|
329
340
|
if (renderFull) {
|
|
330
341
|
const maxShow = 5;
|
|
331
|
-
const items = activeSubs.slice(0, maxShow).map((sg) => {
|
|
332
|
-
const icon = sg.status === "in_progress" ? "🔄" : "⏳";
|
|
333
|
-
return `${icon} [\`${sg.id}\`] ${sg.description}`;
|
|
334
|
-
});
|
|
342
|
+
const items = activeSubs.slice(0, maxShow).map((sg) => `${iconOf(sg)} [\`${sg.id}\`] ${sg.description}`);
|
|
335
343
|
if (activeSubs.length > maxShow) {
|
|
336
344
|
items.push(`... and ${activeSubs.length - maxShow} more`);
|
|
337
345
|
}
|
|
@@ -346,10 +354,7 @@ function l1Sections(state, baseline, emphasized) {
|
|
|
346
354
|
const prev = baseline.subGoals.find(([id]) => id === sg.id);
|
|
347
355
|
return prev !== undefined && prev[1] !== sg.status;
|
|
348
356
|
}).length;
|
|
349
|
-
const items = diff.changed.slice(0, 5).map((sg) => {
|
|
350
|
-
const icon = sg.status === "in_progress" ? "🔄" : "⏳";
|
|
351
|
-
return `${icon} [\`${sg.id}\`] ${sg.description}`;
|
|
352
|
-
});
|
|
357
|
+
const items = diff.changed.slice(0, 5).map((sg) => `${iconOf(sg)} [\`${sg.id}\`] ${sg.description}`);
|
|
353
358
|
items.push(`- … ${diff.unchangedCount} unchanged sub-goals, ${transitionCount + diff.removedCount} changed since R${baseline.round} (see state file)`);
|
|
354
359
|
sections.push({
|
|
355
360
|
id: "sub_goals",
|
|
@@ -523,43 +528,27 @@ function l2Sections(state, fullStateMarkdown) {
|
|
|
523
528
|
});
|
|
524
529
|
}
|
|
525
530
|
if (state.subGoals.length > 0) {
|
|
531
|
+
// v3.7.1: active-only rows ordered blocked → in_progress → pending
|
|
532
|
+
// (priority asc, recently changed first), capped by policy; done and
|
|
533
|
+
// canceled appear only in the stats line.
|
|
534
|
+
const cap = getPolicy().evolution.max_active_subgoals;
|
|
535
|
+
const view = activeSubGoalView(state.subGoals, cap);
|
|
526
536
|
const lines = [];
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
}
|
|
540
|
-
if (pending.length > 10) {
|
|
541
|
-
lines.push(`... and ${pending.length - 10} more pending`);
|
|
542
|
-
}
|
|
543
|
-
// Blocked
|
|
544
|
-
const blocked = state.subGoals.filter((sg) => sg.status === "blocked");
|
|
545
|
-
for (const sg of blocked) {
|
|
546
|
-
lines.push(`🚫 [\`${sg.id}\`] ${sg.description} (blocked since R${sg.status_changed_at_round})`);
|
|
547
|
-
}
|
|
548
|
-
// Recently done
|
|
549
|
-
const done = state.subGoals.filter((sg) => sg.status === "done");
|
|
550
|
-
const recentDone = done.slice(0, 5);
|
|
551
|
-
for (const sg of recentDone) {
|
|
552
|
-
lines.push(`✅ [\`${sg.id}\`] ${sg.description} (done R${sg.completed_at_round ?? sg.status_changed_at_round})`);
|
|
553
|
-
}
|
|
554
|
-
if (done.length > 5) {
|
|
555
|
-
lines.push(`... and ${done.length - 5} more completed`);
|
|
537
|
+
for (const sg of view.active) {
|
|
538
|
+
if (sg.status === "in_progress") {
|
|
539
|
+
lines.push(`🔄 [\`${sg.id}\`] ${sg.description} (since R${sg.status_changed_at_round})`);
|
|
540
|
+
}
|
|
541
|
+
else if (sg.status === "blocked") {
|
|
542
|
+
lines.push(`🚫 [\`${sg.id}\`] ${sg.description} (blocked since R${sg.status_changed_at_round})`);
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
const age = state.round - sg.declared_at_round;
|
|
546
|
+
const stale = age >= 10 ? " ⚠️ stale" : "";
|
|
547
|
+
lines.push(`⏳ [\`${sg.id}\`] ${sg.description} (pending ${age} rounds)${stale}`);
|
|
548
|
+
}
|
|
556
549
|
}
|
|
557
|
-
// Stats line
|
|
558
|
-
|
|
559
|
-
const doneCount = done.length;
|
|
560
|
-
const canceledCount = state.subGoals.filter((sg) => sg.status === "canceled").length;
|
|
561
|
-
const activeCount = inProgress.length + pending.length + blocked.length;
|
|
562
|
-
lines.push(`─── ${total} total: ${activeCount} active, ${doneCount} done, ${canceledCount} canceled`);
|
|
550
|
+
// Stats line (full counts — rows may be capped)
|
|
551
|
+
lines.push(`─── ${view.total} total: ${view.activeTotal} active, ${view.done} done, ${view.canceled} canceled`);
|
|
563
552
|
sections.push({
|
|
564
553
|
id: "sub_goals_full",
|
|
565
554
|
text: section("Sub-Goal Dashboard", lines.join("\n")),
|
|
@@ -681,28 +670,6 @@ function l2Sections(state, fullStateMarkdown) {
|
|
|
681
670
|
mandatory: false,
|
|
682
671
|
});
|
|
683
672
|
}
|
|
684
|
-
// Inactive Constraints (with decay metadata)
|
|
685
|
-
if (state.inactiveConstraints.length > 0) {
|
|
686
|
-
const lines = [
|
|
687
|
-
"> Demoted after prolonged inactivity. Auto-reactivated if violated again.",
|
|
688
|
-
"",
|
|
689
|
-
];
|
|
690
|
-
for (const c of state.inactiveConstraints) {
|
|
691
|
-
const meta = state.constraintMetadata.find((m) => m.text === c);
|
|
692
|
-
const age = meta
|
|
693
|
-
? state.round - (meta.last_violated_at_round || meta.discovered_at_round || 0)
|
|
694
|
-
: "?";
|
|
695
|
-
const lastV = meta?.last_violated_at_round
|
|
696
|
-
? `last violated R${meta.last_violated_at_round}`
|
|
697
|
-
: "never violated";
|
|
698
|
-
lines.push(`- ${c} (${lastV}, ${age} rounds inactive)`);
|
|
699
|
-
}
|
|
700
|
-
sections.push({
|
|
701
|
-
id: "inactive_constraints",
|
|
702
|
-
text: section("Inactive Constraints", lines.join("\n")),
|
|
703
|
-
mandatory: false,
|
|
704
|
-
});
|
|
705
|
-
}
|
|
706
673
|
// Agent Trust Score + Trend
|
|
707
674
|
if (state.agentTrustScore !== undefined) {
|
|
708
675
|
const lines = [
|
|
@@ -723,9 +690,6 @@ function l2Sections(state, fullStateMarkdown) {
|
|
|
723
690
|
return sections;
|
|
724
691
|
}
|
|
725
692
|
function selectSections(input, emphasized) {
|
|
726
|
-
if (input.mode === "full") {
|
|
727
|
-
return l2Sections(input.state, input.fullStateMarkdown);
|
|
728
|
-
}
|
|
729
693
|
if (input.level === "l0")
|
|
730
694
|
return l0Sections(input.state);
|
|
731
695
|
if (input.level === "l1") {
|
|
@@ -853,15 +817,14 @@ function renderCriticalContext(emphasized, state) {
|
|
|
853
817
|
return lines.join("\n");
|
|
854
818
|
}
|
|
855
819
|
export function assemblePromptArtifact(input) {
|
|
856
|
-
const mode = input.mode ?? "adaptive";
|
|
857
820
|
const budgets = { ...DEFAULT_PROMPT_BUDGETS, ...input.budgets };
|
|
858
821
|
const budget = budgets[input.level];
|
|
859
822
|
const stateHash = hashCanonicalState(input.state);
|
|
860
823
|
const attempt = Math.max(1, input.attempt ?? 1);
|
|
861
824
|
// ── State file reference + conditional read instruction ────────────
|
|
862
|
-
// L2 rounds (full rehydration), recovery, rejection, drift
|
|
863
|
-
//
|
|
864
|
-
//
|
|
825
|
+
// L2 rounds (full rehydration), recovery, rejection, and drift all
|
|
826
|
+
// benefit from the model reading the durable state file rather than
|
|
827
|
+
// relying on potentially-compacted conversation history.
|
|
865
828
|
const fullContextReasons = new Set([
|
|
866
829
|
"first_round", "plan_boundary", "checkpoint_boundary", "goal_changed",
|
|
867
830
|
"missing_previous_state", "verification_contradicted",
|
|
@@ -869,7 +832,6 @@ export function assemblePromptArtifact(input) {
|
|
|
869
832
|
"periodic_refresh",
|
|
870
833
|
]);
|
|
871
834
|
const needsFullContext = input.level === "l2"
|
|
872
|
-
|| input.mode === "pointer"
|
|
873
835
|
|| input.reasons.some((r) => fullContextReasons.has(r));
|
|
874
836
|
const stateFilePath = input.state.stateFilePath;
|
|
875
837
|
// v3.2: L1 annotates the pointer with the round the freshly-regenerated
|
|
@@ -1005,33 +967,17 @@ export function assemblePromptArtifact(input) {
|
|
|
1005
967
|
...sections,
|
|
1006
968
|
];
|
|
1007
969
|
}
|
|
1008
|
-
const selected =
|
|
1009
|
-
? renderWithinBudget(augmentedSections.filter((item) => item.mandatory), fixedText, budget)
|
|
1010
|
-
: renderWithinBudget(augmentedSections, fixedText, budget - footer.length);
|
|
970
|
+
const selected = renderWithinBudget(augmentedSections, fixedText, budget - footer.length);
|
|
1011
971
|
const renderedPrompt = selected.rendered + footer;
|
|
1012
|
-
const includedSections = [
|
|
1013
|
-
...selected.included,
|
|
1014
|
-
...(confusionText ? ["confusion_alerts"] : []),
|
|
1015
|
-
...(criticalContextText ? ["critical_context"] : []),
|
|
1016
|
-
...(pointer ? ["state_pointer"] : []),
|
|
1017
|
-
...(evaluation ? ["self_evaluation"] : []),
|
|
1018
|
-
];
|
|
1019
972
|
const promptHash = createHash("sha256").update(renderedPrompt).digest("hex");
|
|
1020
973
|
return {
|
|
1021
974
|
schemaVersion: PROMPT_ARTIFACT_SCHEMA_VERSION,
|
|
1022
975
|
roundId: `loop:${input.state.loopId}:round:${input.state.round}`,
|
|
1023
976
|
attempt,
|
|
1024
977
|
level: input.level,
|
|
1025
|
-
levelReasons: [...input.reasons],
|
|
1026
978
|
renderedPrompt,
|
|
1027
979
|
promptHash,
|
|
1028
980
|
stateHash,
|
|
1029
|
-
basePromptVersion: BASE_PROMPT_VERSION,
|
|
1030
|
-
includedSections,
|
|
1031
|
-
budgetChars: budget,
|
|
1032
|
-
charCount: renderedPrompt.length,
|
|
1033
|
-
budgetExceeded: renderedPrompt.length > budget,
|
|
1034
|
-
generatedAt: Date.now(),
|
|
1035
981
|
...(presentedState ? { presentedState } : {}),
|
|
1036
982
|
};
|
|
1037
983
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembler.js","sourceRoot":"","sources":["../src/prompt-assembler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompt-assembler.js","sourceRoot":"","sources":["../src/prompt-assembler.ts"],"names":[],"mappings":"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"}
|