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.
Files changed (122) hide show
  1. package/README.md +74 -71
  2. package/dist/audit.d.ts.map +1 -1
  3. package/dist/audit.js +6 -38
  4. package/dist/audit.js.map +1 -1
  5. package/dist/canonical-state.d.ts +71 -6
  6. package/dist/canonical-state.d.ts.map +1 -1
  7. package/dist/canonical-state.js +176 -29
  8. package/dist/canonical-state.js.map +1 -1
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +16 -26
  11. package/dist/cli.js.map +1 -1
  12. package/dist/cognitive-facts.d.ts +17 -0
  13. package/dist/cognitive-facts.d.ts.map +1 -0
  14. package/dist/cognitive-facts.js +99 -0
  15. package/dist/cognitive-facts.js.map +1 -0
  16. package/dist/cognitive-governance.d.ts +0 -1
  17. package/dist/cognitive-governance.d.ts.map +1 -1
  18. package/dist/cognitive-governance.js +1 -4
  19. package/dist/cognitive-governance.js.map +1 -1
  20. package/dist/committed-round.d.ts +100 -0
  21. package/dist/committed-round.d.ts.map +1 -0
  22. package/dist/committed-round.js +349 -0
  23. package/dist/committed-round.js.map +1 -0
  24. package/dist/enforcement-gate.d.ts +4 -2
  25. package/dist/enforcement-gate.d.ts.map +1 -1
  26. package/dist/enforcement-gate.js +385 -357
  27. package/dist/enforcement-gate.js.map +1 -1
  28. package/dist/engine.d.ts +16 -4
  29. package/dist/engine.d.ts.map +1 -1
  30. package/dist/engine.js +65 -16
  31. package/dist/engine.js.map +1 -1
  32. package/dist/evidence-claims.d.ts.map +1 -1
  33. package/dist/evidence-claims.js +15 -39
  34. package/dist/evidence-claims.js.map +1 -1
  35. package/dist/evidence-provider.d.ts +35 -17
  36. package/dist/evidence-provider.d.ts.map +1 -1
  37. package/dist/evidence-provider.js +105 -108
  38. package/dist/evidence-provider.js.map +1 -1
  39. package/dist/index.d.ts +4 -4
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +3 -3
  42. package/dist/index.js.map +1 -1
  43. package/dist/loop-compiler.d.ts +21 -10
  44. package/dist/loop-compiler.d.ts.map +1 -1
  45. package/dist/loop-compiler.js +232 -276
  46. package/dist/loop-compiler.js.map +1 -1
  47. package/dist/loop-projection.d.ts +5 -25
  48. package/dist/loop-projection.d.ts.map +1 -1
  49. package/dist/loop-projection.js +18 -134
  50. package/dist/loop-projection.js.map +1 -1
  51. package/dist/loop-store.d.ts +16 -18
  52. package/dist/loop-store.d.ts.map +1 -1
  53. package/dist/loop-store.js +21 -63
  54. package/dist/loop-store.js.map +1 -1
  55. package/dist/mcp/round-lifecycle.d.ts +13 -10
  56. package/dist/mcp/round-lifecycle.d.ts.map +1 -1
  57. package/dist/mcp/round-lifecycle.js +95 -68
  58. package/dist/mcp/round-lifecycle.js.map +1 -1
  59. package/dist/mcp/server.js +3 -3
  60. package/dist/mcp/server.js.map +1 -1
  61. package/dist/mcp/session.d.ts +17 -5
  62. package/dist/mcp/session.d.ts.map +1 -1
  63. package/dist/mcp/session.js +177 -54
  64. package/dist/mcp/session.js.map +1 -1
  65. package/dist/mcp/tools.d.ts +12 -0
  66. package/dist/mcp/tools.d.ts.map +1 -1
  67. package/dist/mcp/tools.js +161 -53
  68. package/dist/mcp/tools.js.map +1 -1
  69. package/dist/policy-metrics.d.ts +0 -7
  70. package/dist/policy-metrics.d.ts.map +1 -1
  71. package/dist/policy-metrics.js +15 -55
  72. package/dist/policy-metrics.js.map +1 -1
  73. package/dist/policy.d.ts +22 -31
  74. package/dist/policy.d.ts.map +1 -1
  75. package/dist/policy.js +24 -42
  76. package/dist/policy.js.map +1 -1
  77. package/dist/prompt-assembler.d.ts +0 -3
  78. package/dist/prompt-assembler.d.ts.map +1 -1
  79. package/dist/prompt-assembler.js +124 -191
  80. package/dist/prompt-assembler.js.map +1 -1
  81. package/dist/protocol.d.ts +61 -46
  82. package/dist/protocol.d.ts.map +1 -1
  83. package/dist/protocol.js +2 -18
  84. package/dist/protocol.js.map +1 -1
  85. package/dist/replay.d.ts.map +1 -1
  86. package/dist/replay.js +21 -22
  87. package/dist/replay.js.map +1 -1
  88. package/dist/round-contract.d.ts +64 -0
  89. package/dist/round-contract.d.ts.map +1 -0
  90. package/dist/round-contract.js +80 -0
  91. package/dist/round-contract.js.map +1 -0
  92. package/dist/round-coordinator.d.ts +5 -3
  93. package/dist/round-coordinator.d.ts.map +1 -1
  94. package/dist/round-coordinator.js +34 -29
  95. package/dist/round-coordinator.js.map +1 -1
  96. package/dist/round-driver.d.ts +0 -4
  97. package/dist/round-driver.d.ts.map +1 -1
  98. package/dist/round-driver.js +1 -11
  99. package/dist/round-driver.js.map +1 -1
  100. package/dist/round-transaction.d.ts +0 -1
  101. package/dist/round-transaction.d.ts.map +1 -1
  102. package/dist/round-transaction.js +0 -1
  103. package/dist/round-transaction.js.map +1 -1
  104. package/dist/self-eval.d.ts +29 -34
  105. package/dist/self-eval.d.ts.map +1 -1
  106. package/dist/self-eval.js +112 -148
  107. package/dist/self-eval.js.map +1 -1
  108. package/dist/token-utils.d.ts +7 -3
  109. package/dist/token-utils.d.ts.map +1 -1
  110. package/dist/token-utils.js +18 -3
  111. package/dist/token-utils.js.map +1 -1
  112. package/dist/verification-gate.d.ts +72 -21
  113. package/dist/verification-gate.d.ts.map +1 -1
  114. package/dist/verification-gate.js +544 -157
  115. package/dist/verification-gate.js.map +1 -1
  116. package/dist/workspace.d.ts +29 -0
  117. package/dist/workspace.d.ts.map +1 -0
  118. package/dist/workspace.js +61 -0
  119. package/dist/workspace.js.map +1 -0
  120. package/loop_policy.json +5 -17
  121. package/package.json +2 -2
  122. package/skills/perception/SKILL.md +137 -136
@@ -11,16 +11,19 @@
11
11
  * this round is excluded from the success trend (NOT
12
12
  * modified). Flags become hard constraints — the agent
13
13
  * must respond in the next round.
14
+ *
15
+ * v3.7: every check belongs to one of four verification domains (CHECK_DOMAIN
16
+ * below): evaluation consistency / evidence integrity / plan & contract /
17
+ * progress & recovery. A domain describes a check's semantic job — it never
18
+ * changes run order or verdict aggregation. Round Contract checks are further
19
+ * framed as declaration / execution / closure stages in their doc comments.
14
20
  */
15
21
  import type { VaultEntry } from "./loop-store.js";
16
22
  import type { ProviderSnapshot } from "./evidence-provider.js";
17
23
  import type { SelfEvaluation, VerificationResult } from "./protocol.js";
18
- export declare const CHECK_PROGRESS_REGRESSION = "progress_regression";
19
- export declare const CHECK_EMPTY_CHANGE_WITH_PASSING = "empty_change_with_passing";
20
24
  export declare const CHECK_SUCCESS_WITH_REMAINING_CRITERIA = "success_with_remaining_criteria";
21
25
  export declare const CHECK_SUCCESS_WITHOUT_VERIFIED_EVIDENCE = "success_without_verified_evidence";
22
26
  export declare const CHECK_OUTCOME_SUCCESS_CONTRADICTION = "outcome_success_contradiction";
23
- export declare const CHECK_SUCCESS_CLAIM_CONFLICT = "success_claim_conflict";
24
27
  export declare const CHECK_BLOCKED_WITHOUT_BLOCKER = "blocked_without_blocker";
25
28
  export declare const CHECK_RETROACTIVE_CLAIM_BAD_ROUND = "retroactive_claim_bad_round";
26
29
  export declare const CHECK_RETROACTIVE_CLAIM_UNVERIFIED = "retroactive_claim_unverified";
@@ -30,20 +33,72 @@ export declare const CHECK_RETRACT_FRESH_CONSTRAINT = "retract_fresh_constraint"
30
33
  export declare const CHECK_EVIDENCE_INTEGRITY = "evidence_integrity";
31
34
  export declare const CHECK_REQUIRED_COMMAND_FAILED = "required_command_failed";
32
35
  export declare const CHECK_COMMAND_EVIDENCE_MISMATCH = "command_evidence_mismatch";
36
+ /** v3.3: Verification domain integrity — a command entrypoint (run-tests.sh,
37
+ * package.json, …) changed in the same round the command ran. The runtime
38
+ * executed a script the agent just rewrote, so the observation has no
39
+ * stable baseline: error. Test-file changes are normal dev activity (TDD):
40
+ * warn-only, see CHECK_TEST_FILES_MODIFIED. */
41
+ export declare const CHECK_VERIFICATION_ENTRYPOINT_MODIFIED = "verification_entrypoint_modified";
42
+ /** v3.3: Test files changed in the same round a verification command passed.
43
+ * Warn-only — the command result stays usable. */
44
+ export declare const CHECK_TEST_FILES_MODIFIED = "test_files_modified";
33
45
  export declare const CHECK_INTENT_DRIFT = "intent_drift";
34
46
  export declare const CHECK_SUBGOAL_DRIFT = "subgoal_drift";
35
47
  export declare const CHECK_BACKTRACK_WORKSPACE_NOT_RESTORED = "backtrack_workspace_not_restored";
36
48
  export declare const CHECK_CRITERIA_CLAIMS_UNVERIFIED = "criteria_claims_unverified";
37
- /** v3.2: success declared with no machine-verified observation this round
38
- * (providerStatus ≠ verified). Warn-level: the round still commits, but its
39
- * success never enters the trajectory and trust drops. */
40
- export declare const CHECK_SUCCESS_UNVERIFIED = "success_unverified";
41
- /** Extract the round number from a vault entry's loop_lineage.
42
- * Returns 0 if the entry has no lineage or no round field.
43
- * In practice, persistLoopLineage always writes round ≥ 1, so 0
44
- * unambiguously means "not a valid round entry" in this context.
45
- * Exported for reuse by enforcement-gate.ts. */
46
- export declare function entryRound(entry: VaultEntry): number;
49
+ /** Contract proposed with an empty done_when — nothing is promised, so
50
+ * nothing can be verified at the boundary. Warn: the contract can be fixed
51
+ * by re-declaring next round. */
52
+ export declare const CHECK_ROUND_UNDERSPECIFIED = "round_underspecified";
53
+ /** done_when items exist but verification_plan is empty or names commands
54
+ * that are not configured AND enabled in policy.evidence.commands — the
55
+ * completion claims could never be machine-checked. Warn. */
56
+ export declare const CHECK_ROUND_UNVERIFIABLE = "round_unverifiable";
57
+ /** The round's actual git changes include files outside the ACTIVE
58
+ * contract's declared scope. Warn + drift_clarification exemption
59
+ * (R7-style). */
60
+ export declare const CHECK_ROUND_SCOPE_DRIFT = "round_scope_drift";
61
+ /** success claimed under the ACTIVE contract whose done_when items are
62
+ * either claimed met without machine-verified evidence or silently dropped
63
+ * (not in success_criteria_met NOR success_criteria_remaining). Error. */
64
+ export declare const CHECK_PREMATURE_BOUNDARY = "premature_boundary";
65
+ /** v3.5: Closing a Round Contract is a success-class claim and must be
66
+ * machine-backed. The eval's met claims satisfy every done_when of the
67
+ * ACTIVE contract but its verification_plan commands did not pass this
68
+ * round. Error; warn under evidence.machine_backed_success "warn"; never
69
+ * downgraded by no_change_reason (all done_when met contradicts "no
70
+ * change"). Fail-open: plan names no longer configured+enabled are not
71
+ * required (cannot observe). */
72
+ export declare const CHECK_CONTRACT_COMPLETION_UNVERIFIED = "contract_completion_unverified";
73
+ /** v3.5: The ACTIVE contract is still open (not completed, not blocked)
74
+ * while a different contract was proposed — the proposal is ignored until
75
+ * the active one closes. Warn: the walker still ignores it; this only
76
+ * surfaces the otherwise-silent state. */
77
+ export declare const CHECK_CONTRACT_PREMATURE = "contract_premature";
78
+ export type VerificationDomain =
79
+ /** The declaration is self-consistent (and consistent with committed facts). */
80
+ "evaluation_consistency"
81
+ /** Machine evidence and the agent's claims about it. */
82
+ | "evidence_integrity"
83
+ /** Plan conformance: intent/sub-goal drift (two detection bases under the
84
+ * "plan drift" label) and the Round Contract declaration/execution/closure
85
+ * checks. */
86
+ | "plan_contract"
87
+ /** Workspace restore after backtrack. Machine-side progress enforcement
88
+ * (the stall evaluator) lives in the enforcement gate, not here. */
89
+ | "progress_recovery";
90
+ export declare const CHECK_DOMAIN: Readonly<Record<string, VerificationDomain>>;
91
+ /** Normalize a contract scope entry: backslashes → forward slashes, strip
92
+ * leading "./", trim, strip trailing slashes. "." / "./" / "" normalize to
93
+ * "" = the repository root (everything is in scope). */
94
+ export declare function normalizeScopeEntry(path: string): string;
95
+ /** Whether a git-diff file path falls inside any declared scope entry:
96
+ * exact file match, or the file lives under a declared directory. The ""
97
+ * entry (repo root) matches everything. Git paths are always workspace-
98
+ * relative with forward slashes. */
99
+ export declare function isFileInScope(file: string, scope: string[]): boolean;
100
+ /** Git-diff files outside the declared scope (the round_scope_drift signal). */
101
+ export declare function collectOutOfScopeFiles(files: string[], scope: string[]): string[];
47
102
  export interface EvidenceStatus {
48
103
  /** Whether this round produced a machine-verified observation. */
49
104
  providerStatus: "verified" | "unavailable" | "absent";
@@ -61,13 +116,7 @@ export interface EvidenceStatus {
61
116
  * of letting evidence-dependent checks silently disappear when snapshots are
62
117
  * missing — the fix for the "weakest when it matters most" gap. */
63
118
  export declare function deriveEvidenceStatus(selfEval: SelfEvaluation, evidenceSnapshots: ProviderSnapshot[]): EvidenceStatus;
64
- /** v3.2: Per-round machine progress — whether git observed file changes in
65
- * each of the last `lookback` committed rounds, rebuilt from the feedback
66
- * entries' roundEvidence snapshots (already persisted at commit). Returns
67
- * null when fewer than `lookback` rounds carry git snapshots — the machine
68
- * signal is unavailable and callers (R4/R5 on the heuristic path) keep
69
- * their legacy skip. The snapshot shape is parsed defensively here because
70
- * this module must not import round-transaction (import cycle). */
119
+ /** Per-round machine progress over decoded committed history. */
71
120
  export declare function machineProgressSeries(vaultEntries: VaultEntry[], currentRound: number, lookback: number): boolean[] | null;
72
121
  interface ParsedTestCounts {
73
122
  passed: number;
@@ -89,7 +138,9 @@ export declare function parseTestOutput(stdout: string): ParsedTestCounts | null
89
138
  *
90
139
  * @param selfEval The agent's self-evaluation for the current round.
91
140
  * @param currentRound The current round number (1-based).
92
- * @param vaultEntries Vault entries for this loop (non-feedback only).
141
+ * @param vaultEntries Vault entries for this loop (committed lineage
142
+ * entries AND :feedback entries — the feedback
143
+ * entries feed the ACTIVE-contract derivation).
93
144
  * @param prevSelfEval The agent's self-evaluation from the previous round
94
145
  * (null for round 1).
95
146
  * @param evidenceSnapshots v1.18: Evidence snapshots from configured providers.
@@ -1 +1 @@
1
- {"version":3,"file":"verification-gate.d.ts","sourceRoot":"","sources":["../src/verification-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAY1F,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,+BAA+B,8BAA8B,CAAC;AAC3E,eAAO,MAAM,qCAAqC,oCAAoC,CAAC;AACvF,eAAO,MAAM,uCAAuC,sCAAsC,CAAC;AAC3F,eAAO,MAAM,mCAAmC,kCAAkC,CAAC;AACnF,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AACrE,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAC/E,eAAO,MAAM,kCAAkC,iCAAiC,CAAC;AACjF,eAAO,MAAM,oCAAoC,mCAAmC,CAAC;AACrF,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AACzE,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,+BAA+B,8BAA8B,CAAC;AAC3E,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,sCAAsC,qCAAqC,CAAC;AACzF,eAAO,MAAM,gCAAgC,+BAA+B,CAAC;AAC7E;;2DAE2D;AAC3D,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAM7D;;;;iDAIiD;AACjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEpD;AAgBD,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,cAAc,EAAE,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;IACtD,8DAA8D;IAC9D,WAAW,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,eAAe,EAAE,OAAO,CAAC;IACzB,+EAA+E;IAC/E,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAUD;;;oEAGoE;AACpE,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,iBAAiB,EAAE,gBAAgB,EAAE,GACpC,cAAc,CAuChB;AAED;;;;;;oEAMoE;AACpE,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,EAAE,GAAG,IAAI,CAyBlB;AA0iBD,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;gCAQgC;AAChC,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA4DvE;AAgOD;;;;;;;;;4EAS4E;AAC5E,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,UAAU,EAAE,EAC1B,YAAY,GAAE,cAAc,GAAG,IAAW,EAC1C,iBAAiB,GAAE,gBAAgB,EAAO;AAC1C;;gDAEgD;AAChD,qBAAqB,GAAE,MAAM,EAAO;AACpC;;yDAEyD;AACzD,sBAAsB,CAAC,EAAE,MAAM,GAC9B,kBAAkB,CAqEpB"}
1
+ {"version":3,"file":"verification-gate.d.ts","sourceRoot":"","sources":["../src/verification-gate.ts"],"names":[],"mappings":"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"}