loopforge 3.9.2 → 4.0.7

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 (285) hide show
  1. package/README.md +236 -112
  2. package/dist/audit.d.ts +73 -15
  3. package/dist/audit.d.ts.map +1 -1
  4. package/dist/audit.js +131 -61
  5. package/dist/audit.js.map +1 -1
  6. package/dist/canonical-state.d.ts +152 -40
  7. package/dist/canonical-state.d.ts.map +1 -1
  8. package/dist/canonical-state.js +382 -206
  9. package/dist/canonical-state.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +41 -12
  12. package/dist/cli.js.map +1 -1
  13. package/dist/cognitive-governance.d.ts +0 -2
  14. package/dist/cognitive-governance.d.ts.map +1 -1
  15. package/dist/cognitive-governance.js +0 -4
  16. package/dist/cognitive-governance.js.map +1 -1
  17. package/dist/committed-round.d.ts +105 -141
  18. package/dist/committed-round.d.ts.map +1 -1
  19. package/dist/committed-round.js +249 -372
  20. package/dist/committed-round.js.map +1 -1
  21. package/dist/constraint-lifecycle.d.ts +73 -0
  22. package/dist/constraint-lifecycle.d.ts.map +1 -0
  23. package/dist/constraint-lifecycle.js +174 -0
  24. package/dist/constraint-lifecycle.js.map +1 -0
  25. package/dist/context-boundary.d.ts +83 -0
  26. package/dist/context-boundary.d.ts.map +1 -0
  27. package/dist/context-boundary.js +101 -0
  28. package/dist/context-boundary.js.map +1 -0
  29. package/dist/contract-items.d.ts +12 -8
  30. package/dist/contract-items.d.ts.map +1 -1
  31. package/dist/contract-items.js +31 -26
  32. package/dist/contract-items.js.map +1 -1
  33. package/dist/contract-requirement.d.ts +47 -0
  34. package/dist/contract-requirement.d.ts.map +1 -0
  35. package/dist/contract-requirement.js +51 -0
  36. package/dist/contract-requirement.js.map +1 -0
  37. package/dist/criterion-status.d.ts +35 -0
  38. package/dist/criterion-status.d.ts.map +1 -0
  39. package/dist/criterion-status.js +89 -0
  40. package/dist/criterion-status.js.map +1 -0
  41. package/dist/enforcement-gate.d.ts +32 -67
  42. package/dist/enforcement-gate.d.ts.map +1 -1
  43. package/dist/enforcement-gate.js +203 -439
  44. package/dist/enforcement-gate.js.map +1 -1
  45. package/dist/engine.d.ts +9 -103
  46. package/dist/engine.d.ts.map +1 -1
  47. package/dist/engine.js +28 -887
  48. package/dist/engine.js.map +1 -1
  49. package/dist/errors.d.ts +41 -0
  50. package/dist/errors.d.ts.map +1 -0
  51. package/dist/errors.js +69 -0
  52. package/dist/errors.js.map +1 -0
  53. package/dist/evidence-claims.d.ts +33 -31
  54. package/dist/evidence-claims.d.ts.map +1 -1
  55. package/dist/evidence-claims.js +58 -72
  56. package/dist/evidence-claims.js.map +1 -1
  57. package/dist/evidence-posture-view.d.ts +19 -0
  58. package/dist/evidence-posture-view.d.ts.map +1 -0
  59. package/dist/evidence-posture-view.js +116 -0
  60. package/dist/evidence-posture-view.js.map +1 -0
  61. package/dist/evidence-posture.d.ts +73 -0
  62. package/dist/evidence-posture.d.ts.map +1 -0
  63. package/dist/evidence-posture.js +281 -0
  64. package/dist/evidence-posture.js.map +1 -0
  65. package/dist/evidence-provider.d.ts +55 -37
  66. package/dist/evidence-provider.d.ts.map +1 -1
  67. package/dist/evidence-provider.js +182 -332
  68. package/dist/evidence-provider.js.map +1 -1
  69. package/dist/explain.d.ts +167 -27
  70. package/dist/explain.d.ts.map +1 -1
  71. package/dist/explain.js +373 -58
  72. package/dist/explain.js.map +1 -1
  73. package/dist/field-accounting.d.ts.map +1 -1
  74. package/dist/field-accounting.js +3 -22
  75. package/dist/field-accounting.js.map +1 -1
  76. package/dist/generate-schema.js +13 -8
  77. package/dist/generate-schema.js.map +1 -1
  78. package/dist/git-boundary.d.ts +128 -0
  79. package/dist/git-boundary.d.ts.map +1 -0
  80. package/dist/git-boundary.js +625 -0
  81. package/dist/git-boundary.js.map +1 -0
  82. package/dist/git-facts.d.ts +22 -0
  83. package/dist/git-facts.d.ts.map +1 -0
  84. package/dist/git-facts.js +29 -0
  85. package/dist/git-facts.js.map +1 -0
  86. package/dist/git-motion.d.ts +37 -0
  87. package/dist/git-motion.d.ts.map +1 -0
  88. package/dist/git-motion.js +59 -0
  89. package/dist/git-motion.js.map +1 -0
  90. package/dist/history.d.ts +44 -0
  91. package/dist/history.d.ts.map +1 -0
  92. package/dist/history.js +77 -0
  93. package/dist/history.js.map +1 -0
  94. package/dist/index.d.ts +19 -9
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +12 -4
  97. package/dist/index.js.map +1 -1
  98. package/dist/init.d.ts +16 -0
  99. package/dist/init.d.ts.map +1 -1
  100. package/dist/init.js +80 -14
  101. package/dist/init.js.map +1 -1
  102. package/dist/loop-compiler.d.ts +51 -19
  103. package/dist/loop-compiler.d.ts.map +1 -1
  104. package/dist/loop-compiler.js +423 -507
  105. package/dist/loop-compiler.js.map +1 -1
  106. package/dist/loop-store.d.ts +6 -5
  107. package/dist/loop-store.d.ts.map +1 -1
  108. package/dist/loop-store.js +153 -35
  109. package/dist/loop-store.js.map +1 -1
  110. package/dist/mcp/round-lifecycle.d.ts +285 -81
  111. package/dist/mcp/round-lifecycle.d.ts.map +1 -1
  112. package/dist/mcp/round-lifecycle.js +1629 -574
  113. package/dist/mcp/round-lifecycle.js.map +1 -1
  114. package/dist/mcp/server.d.ts +5 -0
  115. package/dist/mcp/server.d.ts.map +1 -1
  116. package/dist/mcp/server.js +61 -19
  117. package/dist/mcp/server.js.map +1 -1
  118. package/dist/mcp/session.d.ts +81 -39
  119. package/dist/mcp/session.d.ts.map +1 -1
  120. package/dist/mcp/session.js +963 -271
  121. package/dist/mcp/session.js.map +1 -1
  122. package/dist/mcp/submission-boundary.d.ts +23 -31
  123. package/dist/mcp/submission-boundary.d.ts.map +1 -1
  124. package/dist/mcp/submission-boundary.js +242 -82
  125. package/dist/mcp/submission-boundary.js.map +1 -1
  126. package/dist/mcp/submission-handle.d.ts +66 -0
  127. package/dist/mcp/submission-handle.d.ts.map +1 -0
  128. package/dist/mcp/submission-handle.js +173 -0
  129. package/dist/mcp/submission-handle.js.map +1 -0
  130. package/dist/mcp/tools.d.ts +17 -7
  131. package/dist/mcp/tools.d.ts.map +1 -1
  132. package/dist/mcp/tools.js +763 -244
  133. package/dist/mcp/tools.js.map +1 -1
  134. package/dist/open-question.d.ts +7 -0
  135. package/dist/open-question.d.ts.map +1 -0
  136. package/dist/open-question.js +14 -0
  137. package/dist/open-question.js.map +1 -0
  138. package/dist/policy-metrics.d.ts +31 -21
  139. package/dist/policy-metrics.d.ts.map +1 -1
  140. package/dist/policy-metrics.js +117 -64
  141. package/dist/policy-metrics.js.map +1 -1
  142. package/dist/policy.d.ts +15 -40
  143. package/dist/policy.d.ts.map +1 -1
  144. package/dist/policy.js +13 -13
  145. package/dist/policy.js.map +1 -1
  146. package/dist/progress.d.ts +45 -0
  147. package/dist/progress.d.ts.map +1 -0
  148. package/dist/progress.js +136 -0
  149. package/dist/progress.js.map +1 -0
  150. package/dist/prompt-assembler.d.ts +28 -9
  151. package/dist/prompt-assembler.d.ts.map +1 -1
  152. package/dist/prompt-assembler.js +592 -603
  153. package/dist/prompt-assembler.js.map +1 -1
  154. package/dist/prompt-coverage.d.ts +39 -0
  155. package/dist/prompt-coverage.d.ts.map +1 -0
  156. package/dist/prompt-coverage.js +80 -0
  157. package/dist/prompt-coverage.js.map +1 -0
  158. package/dist/prompt-freshness.d.ts +25 -0
  159. package/dist/prompt-freshness.d.ts.map +1 -0
  160. package/dist/prompt-freshness.js +88 -0
  161. package/dist/prompt-freshness.js.map +1 -0
  162. package/dist/prompt-policy.d.ts +14 -4
  163. package/dist/prompt-policy.d.ts.map +1 -1
  164. package/dist/prompt-policy.js +29 -10
  165. package/dist/prompt-policy.js.map +1 -1
  166. package/dist/protocol.d.ts +875 -419
  167. package/dist/protocol.d.ts.map +1 -1
  168. package/dist/protocol.js +73 -99
  169. package/dist/protocol.js.map +1 -1
  170. package/dist/recovery-guidance.d.ts +13 -0
  171. package/dist/recovery-guidance.d.ts.map +1 -0
  172. package/dist/recovery-guidance.js +15 -0
  173. package/dist/recovery-guidance.js.map +1 -0
  174. package/dist/recovery.d.ts +68 -0
  175. package/dist/recovery.d.ts.map +1 -0
  176. package/dist/recovery.js +234 -0
  177. package/dist/recovery.js.map +1 -0
  178. package/dist/replay.d.ts +42 -8
  179. package/dist/replay.d.ts.map +1 -1
  180. package/dist/replay.js +311 -84
  181. package/dist/replay.js.map +1 -1
  182. package/dist/result-facts.d.ts +45 -0
  183. package/dist/result-facts.d.ts.map +1 -0
  184. package/dist/result-facts.js +86 -0
  185. package/dist/result-facts.js.map +1 -0
  186. package/dist/round-contract.d.ts +38 -8
  187. package/dist/round-contract.d.ts.map +1 -1
  188. package/dist/round-contract.js +71 -31
  189. package/dist/round-contract.js.map +1 -1
  190. package/dist/round-coordinator.d.ts +45 -91
  191. package/dist/round-coordinator.d.ts.map +1 -1
  192. package/dist/round-coordinator.js +254 -271
  193. package/dist/round-coordinator.js.map +1 -1
  194. package/dist/round-driver.d.ts +56 -16
  195. package/dist/round-driver.d.ts.map +1 -1
  196. package/dist/round-driver.js +225 -39
  197. package/dist/round-driver.js.map +1 -1
  198. package/dist/round-facts.d.ts +33 -52
  199. package/dist/round-facts.d.ts.map +1 -1
  200. package/dist/round-facts.js +54 -157
  201. package/dist/round-facts.js.map +1 -1
  202. package/dist/round-guidance.d.ts +56 -0
  203. package/dist/round-guidance.d.ts.map +1 -0
  204. package/dist/round-guidance.js +161 -0
  205. package/dist/round-guidance.js.map +1 -0
  206. package/dist/round-outcome.d.ts +21 -0
  207. package/dist/round-outcome.d.ts.map +1 -0
  208. package/dist/round-outcome.js +31 -0
  209. package/dist/round-outcome.js.map +1 -0
  210. package/dist/round-transaction.d.ts +168 -21
  211. package/dist/round-transaction.d.ts.map +1 -1
  212. package/dist/round-transaction.js +856 -39
  213. package/dist/round-transaction.js.map +1 -1
  214. package/dist/self-eval.d.ts +40 -60
  215. package/dist/self-eval.d.ts.map +1 -1
  216. package/dist/self-eval.js +455 -384
  217. package/dist/self-eval.js.map +1 -1
  218. package/dist/storage.d.ts +16 -0
  219. package/dist/storage.d.ts.map +1 -1
  220. package/dist/storage.js +54 -4
  221. package/dist/storage.js.map +1 -1
  222. package/dist/subgoal-state.d.ts +2 -3
  223. package/dist/subgoal-state.d.ts.map +1 -1
  224. package/dist/subgoal-state.js +2 -3
  225. package/dist/subgoal-state.js.map +1 -1
  226. package/dist/submission-guidance.d.ts +43 -21
  227. package/dist/submission-guidance.d.ts.map +1 -1
  228. package/dist/submission-guidance.js +368 -262
  229. package/dist/submission-guidance.js.map +1 -1
  230. package/dist/submission-receipt.d.ts +16 -8
  231. package/dist/submission-receipt.d.ts.map +1 -1
  232. package/dist/submission-receipt.js +146 -51
  233. package/dist/submission-receipt.js.map +1 -1
  234. package/dist/token-utils.d.ts +47 -7
  235. package/dist/token-utils.d.ts.map +1 -1
  236. package/dist/token-utils.js +66 -15
  237. package/dist/token-utils.js.map +1 -1
  238. package/dist/transaction-identity.d.ts +9 -0
  239. package/dist/transaction-identity.d.ts.map +1 -0
  240. package/dist/transaction-identity.js +69 -0
  241. package/dist/transaction-identity.js.map +1 -0
  242. package/dist/verification-actions.d.ts +13 -0
  243. package/dist/verification-actions.d.ts.map +1 -0
  244. package/dist/verification-actions.js +44 -0
  245. package/dist/verification-actions.js.map +1 -0
  246. package/dist/verification-gate.d.ts +26 -46
  247. package/dist/verification-gate.d.ts.map +1 -1
  248. package/dist/verification-gate.js +218 -427
  249. package/dist/verification-gate.js.map +1 -1
  250. package/dist/version.d.ts +1 -1
  251. package/dist/version.js +1 -1
  252. package/dist/working-memory.d.ts +187 -0
  253. package/dist/working-memory.d.ts.map +1 -0
  254. package/dist/working-memory.js +767 -0
  255. package/dist/working-memory.js.map +1 -0
  256. package/dist/workspace-checkpoint.d.ts +88 -0
  257. package/dist/workspace-checkpoint.d.ts.map +1 -0
  258. package/dist/workspace-checkpoint.js +326 -0
  259. package/dist/workspace-checkpoint.js.map +1 -0
  260. package/dist/workspace-restore.d.ts +68 -0
  261. package/dist/workspace-restore.d.ts.map +1 -0
  262. package/dist/workspace-restore.js +604 -0
  263. package/dist/workspace-restore.js.map +1 -0
  264. package/dist/workspace.d.ts +0 -9
  265. package/dist/workspace.d.ts.map +1 -1
  266. package/dist/workspace.js +0 -17
  267. package/dist/workspace.js.map +1 -1
  268. package/loop_policy.json +5 -19
  269. package/package.json +2 -2
  270. package/skills/forge/SKILL.md +212 -0
  271. package/skills/forge/references/evidence-and-contracts.md +204 -0
  272. package/skills/forge/references/recovery-and-views.md +188 -0
  273. package/dist/cognitive-facts.d.ts +0 -30
  274. package/dist/cognitive-facts.d.ts.map +0 -1
  275. package/dist/cognitive-facts.js +0 -113
  276. package/dist/cognitive-facts.js.map +0 -1
  277. package/dist/loop-extras-parser.d.ts +0 -81
  278. package/dist/loop-extras-parser.d.ts.map +0 -1
  279. package/dist/loop-extras-parser.js +0 -213
  280. package/dist/loop-extras-parser.js.map +0 -1
  281. package/dist/loop-projection.d.ts +0 -6
  282. package/dist/loop-projection.d.ts.map +0 -1
  283. package/dist/loop-projection.js +0 -28
  284. package/dist/loop-projection.js.map +0 -1
  285. package/skills/perception/SKILL.md +0 -370
@@ -7,34 +7,37 @@
7
7
  import type { MachineObservation } from "./protocol.js";
8
8
  import type { ObservationDelta } from "./evidence-provider.js";
9
9
  import type { VaultEntry } from "./loop-store.js";
10
- import type { ContractBinding, ExecutionReport, PromptArtifact, RoundContractProposal, RoundOutcome, SelfEvaluation, SubmissionDiagnostic, SubGoalUpdate, VerificationFlag } from "./protocol.js";
10
+ import type { CheckpointRef, CompiledRoundFacts, ContractBinding, ContractSupersede, EvidencePosture, ExecutionReport, LoopRoundResult, OperatorAcceptance, PromptArtifact, RecoveryDirective, RoundContractProposal, RoundOutcome, SelfEvaluation, SubmissionDiagnostic, SubGoalUpdate, VerificationFlag } from "./protocol.js";
11
11
  import type { RoundProcessResult } from "./round-coordinator.js";
12
- export type CommittedAction = "continue" | "stop" | "backtrack";
13
- /** v3.8.1: the rolled-back branch's facts, decoded from a committed rollback
14
- * directive. One shape for the compile-side Recovery Brief, the state file's
15
- * Recent tier and the rollback prompt — these were three renderers over two
16
- * independent derivations (the committed record and an in-memory walk).
17
- *
18
- * Note the target is a RESTORE POINT, not an upper bound: the redo re-commits
19
- * the same round numbers the abandoned rounds occupied (round-lifecycle.ts
20
- * sets `currentRound = backtrackTarget + 1`), so this is never a window
21
- * fence. Abandonment is temporal, not numeric. */
22
- export interface BacktrackRecoveryRecord {
23
- readonly target: number;
24
- readonly triggerRule: string;
25
- readonly failedRounds: number[];
26
- readonly approaches: string[];
27
- readonly wrongAssumptions: string[];
28
- readonly skippedFiles: string[];
29
- readonly skippedFingerprints: Record<string, string>;
30
- readonly targetGitHead?: string;
31
- }
12
+ import type { RoundTransactionSnapshot } from "./round-transaction.js";
13
+ export type CommittedAction = "continue" | "stop" | "recovery" | "backtrack";
32
14
  export interface CommittedRoundView {
33
- readonly source: "feedback" | "merged";
15
+ readonly source: "feedback" | "rollback";
34
16
  readonly sourceEntry: VaultEntry | Record<string, unknown>;
35
17
  readonly loopId: string;
36
18
  readonly round: number;
37
19
  readonly roundId: string;
20
+ /** v3.9.6: transaction/branch identity. Optional on hand-built/library
21
+ * views; committed decoders always set them. The branch read model
22
+ * normalizes a missing kind/branch to an evaluation on the root branch. */
23
+ readonly transactionId?: string;
24
+ readonly branchId?: string;
25
+ readonly kind?: "evaluation" | "rollback";
26
+ /** v3.9.6: evaluation for ordinary work; agent/machine for a directive. */
27
+ readonly origin?: "evaluation" | "agent" | "machine";
28
+ /** v3.9.6: rollback directive facts; null for ordinary evaluation rounds. */
29
+ readonly recovery?: RecoveryDirective | null;
30
+ /** v3.9.7: the transaction's automatic before-image, if one was captured. */
31
+ readonly beforeCheckpoint: CheckpointRef | null;
32
+ /** v3.9.7: Agent-created mid-round savepoints on this transaction. */
33
+ readonly checkpoints: CheckpointRef[];
34
+ /** v3.9.7: present only on a redo transaction that completed a verified
35
+ * restore. The directive remains the target's one source. */
36
+ readonly restore: RoundTransactionSnapshot["restore"] | null;
37
+ /** Operator-owned immutable acceptance, when this transaction carries it. */
38
+ readonly operatorAcceptance: OperatorAcceptance | null;
39
+ /** v4.0.1: the compile facts stamped at commit, when present. */
40
+ readonly compiled: CompiledRoundFacts | null;
38
41
  readonly sequence?: number;
39
42
  readonly attempt: number;
40
43
  readonly promptArtifact: PromptArtifact | null;
@@ -42,10 +45,26 @@ export interface CommittedRoundView {
42
45
  readonly executionReport: ExecutionReport | null;
43
46
  readonly verificationFlags: VerificationFlag[];
44
47
  readonly result: RoundProcessResult | null;
48
+ /** v4.0.3: the evidence posture persisted with this transaction. The
49
+ * current (schema 8) decoder refuses a commit without one, so this is null
50
+ * only on a hand-built/library view. */
51
+ readonly evidencePosture: EvidencePosture | null;
45
52
  readonly action: CommittedAction;
46
- readonly success: boolean;
47
- readonly outcome: RoundOutcome | null;
53
+ /** v4.0.3/v4.0.6: the Agent's success claim — a derived projection of
54
+ * `outcome === "success"`, never a machine verdict. */
55
+ readonly agentSuccessClaim: boolean;
56
+ /** v4.0.6: the Agent-declared outcome. */
57
+ readonly agentOutcome: RoundOutcome | null;
58
+ /** v4.0.6: the Agent's committed overall-objective refinement, if this
59
+ * round carried one. The latest such value on the current branch is the
60
+ * working objective text. */
61
+ readonly objectiveRefinement?: string;
48
62
  readonly contractProposal: RoundContractProposal | null;
63
+ /** v4.0.6: this round's explicit contract redirection, DERIVED from the
64
+ * committed proposal's optional `supersedes` (never a second persisted
65
+ * field). A target the reducer cannot match is inert, never a reason to
66
+ * close a contract. */
67
+ readonly contractRedirect: ContractSupersede | null;
49
68
  /** v3.8: the machine binding stamped when the declaring round committed. */
50
69
  readonly contractBinding: ContractBinding | null;
51
70
  readonly beforeEvidence: MachineObservation[];
@@ -65,103 +84,77 @@ export interface CommittedRoundView {
65
84
  readonly constraintViolations?: string[];
66
85
  readonly discoveredConstraints?: string[];
67
86
  readonly activeConstraints?: string[];
87
+ /** Effective retirements from the compile that produced this round. */
88
+ readonly compiledRetirements?: string[];
68
89
  readonly retractedConstraints?: string[];
90
+ /** v4.0.2: committed Agent-reported unresolved questions (report-only).
91
+ * Read by bounded Working Memory, replay and explain; never by a gate. */
92
+ readonly openQuestions?: string[];
93
+ /** v4.0.3: stable ids of questions resolved in this committed round. */
94
+ readonly resolvedOpenQuestionIds?: string[];
69
95
  readonly emergedSubtasks?: string[];
70
96
  readonly subgoalUpdates?: SubGoalUpdate[];
71
- /** v3.8.1: present only on a committed rollback directive, null elsewhere.
72
- * Decoded from `result.*` on the durable feedback entry and from the
73
- * `lineage.backtrack*` stamps on a hydrated merged entry. */
74
- readonly backtrack: BacktrackRecoveryRecord | null;
75
97
  }
76
- /** v3.8.1: decode a rollback directive's facts from either carrier —
77
- * `result.*` on a durable :feedback entry, `lineage.*` on a hydrated merged
78
- * entry. Returns null when no restore point is recorded, which is also the
79
- * signal that the record cannot serve as recovery guidance. */
80
- export declare function decodeBacktrackRecord(source: unknown): BacktrackRecoveryRecord | null;
81
98
  export declare function decodeCommittedRound(entry: VaultEntry): CommittedRoundView | null;
82
- /** Decode an in-memory lineage entry after the engine merged its committed
83
- * feedback. The merged entry MUST carry the embedded transaction snapshot;
84
- * the old raw top-level evaluation reconstruction is gone, so a partial
85
- * lineage entry cannot become a second history. */
86
- export declare function decodeMergedRound(entry: unknown): CommittedRoundView | null;
99
+ /** v3.9.6: decode a committed rollback directive event. It is a typed event
100
+ * in the round document, never a normal feedback round. */
101
+ export declare function decodeRollbackEvent(entry: VaultEntry): CommittedRoundView | null;
87
102
  /** Normalize committed history: rollback directives disappear, later records
88
103
  * replace earlier records for the same logical round, and output is ascending. */
89
- /** Decode a committed round from either representation: an engine-hydrated
90
- * merged lineage entry first (decodeMergedRound), then a durable :feedback
91
- * entry. Compile-side callers used to inline this chain as a private
92
- * `committedView` helper. */
93
- export declare function decodeRound(entry: unknown): CommittedRoundView | null;
104
+ /** v4.0.1: decode either an ordinary committed round or a rollback event.
105
+ * There is no merged-lineage representation any more: a committed round is
106
+ * exactly its durable :feedback envelope, and a rollback is its event. */
107
+ export declare function decodeCommittedRecord(entry: unknown): CommittedRoundView | null;
108
+ /** THE committed-view → compiler-request projection.
109
+ *
110
+ * The compiler once received these fields from the caller's mutable
111
+ * `last_round_result`, which existed on the live path and was absent on
112
+ * resume/unpause/backtrack compiles. This projection lets one committed
113
+ * fact source feed every consumer. Optional declarations are read from the
114
+ * decoded view where it exposes them. */
115
+ export declare function roundResultFromCommittedRound(view: CommittedRoundView): LoopRoundResult;
116
+ /** The ONE pending-directive lookup for a redo round. The directive's
117
+ * `target.redo_round` is the branch fence, so a deep restore and a
118
+ * same-round redo match the same way. */
119
+ export declare function pendingBacktrackRecord(entries: ReadonlyArray<unknown>, redoRound: number): CommittedRoundView | null;
94
120
  /** Lineage sub-object of an entry (`loop_lineage`; v3.7: the legacy
95
121
  * top-level `lineage` alias was removed), or {} when absent. */
96
122
  export declare function entryLineage(entry: unknown): Record<string, unknown>;
97
- /** Extract execution_report from an entry, handling both direct-field and
98
- * lineage-nested shapes. The decoded committed view wins when the entry is
99
- * a committed round. Returns null when absent. Moved from loop-compiler so
100
- * field-shape interpretation lives in this module only. */
101
- export declare function entryExecutionReport(entry: unknown): Record<string, unknown> | null;
102
- /** Read the criteria the agent claimed met from an entry's execution_report. */
103
- export declare function entryCriteriaMet(entry: unknown): string[];
104
- /** Read the criteria the agent declared outstanding from an entry. */
105
- export declare function entryCriteriaRemaining(entry: unknown): string[];
106
- /** Read constraints_active from an entry's lineage. */
107
- export declare function entryActiveConstraints(entry: unknown): string[];
108
- /** Read retracted_constraints from an entry (direct field, else nested in
109
- * the lineage). */
110
- export declare function entryRetractedConstraints(entry: unknown): string[];
111
- /** Read emerged_subtasks from an entry (handles direct + lineage nesting). */
112
- export declare function entryEmergedSubtasks(entry: unknown): string[];
113
- /** Read subgoal_updates from an entry (handles direct + lineage nesting).
114
- * v3.7.1: committed status transitions are replayed in round order by the
115
- * compiler — every derivation replays ALL committed rounds, not just the
116
- * last one. */
117
- export declare function entrySubGoalUpdates(entry: unknown): SubGoalUpdate[];
118
- /** Read constraint_violations from an entry (entry-level, stored from the
119
- * previous round's last_round_result at persist time — distinct from the
120
- * evaluation-level violations on the committed view). Moved from
121
- * verification-gate so lineage-shape reads live in this module only. */
122
- export declare function entryViolations(entry: unknown): string[];
123
- export declare function historyRounds(views: Iterable<CommittedRoundView | null>, beforeRound?: number): CommittedRoundView[];
124
- /** v3.8.1: the ONE committed-history window every derivation reads.
125
- *
126
- * `decodeRound` (hydrated merged lineage first, then the durable feedback
127
- * entry) plus the rollback handling in `historyRounds` — so the compile path,
128
- * the projection, the live coordinator, audit and explain can no longer
129
- * disagree about which rounds are this branch's history, nor about how their
130
- * envelope was interpreted.
131
- *
132
- * `currentRound` bounds the window exactly as before (default: unbounded). It
133
- * is NOT a rollback fence: the redo re-commits the round numbers the abandoned
134
- * rounds occupied, so abandonment is temporal, not numeric, and cannot be
135
- * expressed as a bound here. */
123
+ /** v3.9.6: the ONE branch read model. */
124
+ export interface BranchView {
125
+ loopId: string;
126
+ branchId: string;
127
+ /** Evaluation rounds on the current branch, ascending. */
128
+ rounds: CommittedRoundView[];
129
+ /** Rollback directives on the chain, chronological. */
130
+ directives: CommittedRoundView[];
131
+ /** The last directive whose child branch has no evaluation commit yet. */
132
+ pendingDirective: CommittedRoundView | null;
133
+ }
134
+ /** Resolve the current branch from already-decoded committed views. This is
135
+ * the branch walker itself; `resolveBranch` is only the entry-decoding
136
+ * wrapper, so a caller that already holds the views (the history loader)
137
+ * never decodes the same entries twice. */
138
+ export declare function resolveBranchViews(records: ReadonlyArray<CommittedRoundView>): BranchView;
139
+ /** Resolve the current branch from committed records in the raw entry view.
140
+ * Decoding happens once here; the walker itself is `resolveBranchViews`. */
141
+ export declare function resolveBranch(entries: ReadonlyArray<unknown>): BranchView;
142
+ /** v3.9.6: current-branch evaluation rounds. */
143
+ export declare function branchRounds(entries: ReadonlyArray<unknown>): CommittedRoundView[];
144
+ /** v3.9.6: rollback directive chain. */
145
+ export declare function branchDirectives(entries: ReadonlyArray<unknown>): CommittedRoundView[];
146
+ /** v3.9.6: the pending directive controlling a redo round. */
147
+ export declare function pendingRollbackDirective(entries: ReadonlyArray<unknown>, redoRound?: number): CommittedRoundView | null;
148
+ /** v3.9.6: machine deadlock guard. Agent-origin directives never consume it. */
149
+ export declare function hasCommittedMachineBacktrack(entries: ReadonlyArray<unknown>, currentRound: number): boolean;
150
+ /** v3.9.6: live history window = current branch below the round being
151
+ * compiled. `currentRound` is the round being prepared/submitted. */
136
152
  export declare function derivationRounds(entries: ReadonlyArray<unknown>, currentRound?: number): CommittedRoundView[];
137
- /** v3.8.1: the loop's durable round frontier — the session document's
138
- * `current_round`. Null when no session document is in the entry set, so
139
- * callers fail OPEN rather than inventing a bound. */
140
- export declare function persistedFrontier(entries: ReadonlyArray<unknown>): number | null;
141
- /** v3.8.1: THE window for a READ-ONLY view of a loop — audit, explain, replay,
142
- * the projection, the metrics replay. Same decoder and same rollback handling
143
- * as `derivationRounds`, plus the bound those callers cannot compute
144
- * themselves.
145
- *
146
- * The live paths bound their window at the round being compiled, and that
147
- * bound is what keeps a backtracked branch out of this branch's history. A
148
- * read-only view has no compile round, so it reads the SAME frontier from the
149
- * durable session document and applies it only while a committed rollback
150
- * directive is still in effect — a directive stops being history the moment
151
- * the redo commit replaces its round's record, which is exactly when the
152
- * abandoned rounds have been re-committed and must count again.
153
- *
154
- * With no directive in effect the window stays UNBOUNDED on purpose: after a
155
- * stop, terminate or max_rounds the session's `current_round` sits ON the
156
- * round it just committed, so bounding there would silently drop the loop's
157
- * final round. An unobservable frontier fails open the same way — a read-only
158
- * view never invents a fence, it only applies the one the runtime recorded. */
153
+ /** v3.9.6: read-only history = current branch rounds. No session frontier,
154
+ * no numeric fence, no second cursor. */
159
155
  export declare function readOnlyRounds(entries: ReadonlyArray<unknown>): CommittedRoundView[];
160
- /** The machine-evidence set that best represents a committed round: the
161
- * after-phase observations (captured post-execution), else the pre-round
162
- * baseline. The derived delta is never evidence — it is a change-set view
163
- * over these facts, not a second observation collection. */
164
- export declare function machineEvidenceForRound(view: CommittedRoundView): MachineObservation[];
156
+ /** v3.9.6: read-only rollback events = committed directive chain. */
157
+ export declare function readOnlyRollbacks(entries: ReadonlyArray<unknown>): CommittedRoundView[];
165
158
  /** v3.8: Rounds whose persisted transaction carries a LEGACY schema version.
166
159
  * A hard version break must be visible, not silent: these rounds drop out of
167
160
  * history views, so audit/status surface them here instead of letting the
@@ -173,38 +166,9 @@ export interface LegacyRound {
173
166
  * breaks — a round that fails any check is not committed history — so all
174
167
  * must be REPORTED, not just the transaction one.
175
168
  * v3.9.1 adds "observation": a transaction whose embedded Git/command
176
- * observation schema is unsupported. */
177
- envelope: "transaction" | "prompt_artifact" | "observation";
169
+ * observation schema is unsupported. v4.0.4 adds "prompt_context": the
170
+ * artifact has the current schema but an illegal context-boundary pair. */
171
+ envelope: "transaction" | "prompt_artifact" | "prompt_context" | "observation";
178
172
  }
179
173
  export declare function legacyTransactionRounds(entries: unknown[]): LegacyRound[];
180
- /** The ONE definition of machine Git motion for a single round.
181
- *
182
- * Motion is a non-empty file list, a HEAD that moved across the round, or a
183
- * HEAD that landed on the rollback's restore point — restoring the workspace
184
- * IS that round's work, and would otherwise read as a round that did
185
- * nothing. A clean worktree is not the same thing as no progress:
186
- * commit-per-slice workflows leave no file delta even though HEAD advanced.
187
- *
188
- * Observability stays the caller's concern: this answers "did this round
189
- * move", never "could the round be observed". The restore-point arm compares
190
- * short hashes, the rule `checkBacktrackGitHeadRestore` uses; the
191
- * before/after arm compares the observations themselves. */
192
- export declare function gitMotionSignal(input: {
193
- /** The round's derived Git change set; null means unknown. */
194
- changedFiles: ReadonlyArray<string> | null;
195
- headBefore?: string | null;
196
- headAfter?: string | null;
197
- restoreTargetHead?: string | null;
198
- }): boolean | null;
199
- /** Git HEAD as a machine observation exposes it, or null when it is silent. */
200
- export declare function observedGitHead(observation: MachineObservation | undefined): string | null;
201
- /** The in-flight round's own motion, from its derived Git delta. A Git
202
- * boundary that cannot be compared yields `null` unless HEAD movement or the
203
- * restore point independently proves motion. */
204
- export declare function inFlightGitMotion(deltas: ReadonlyArray<ObservationDelta>, restoreTargetHead?: string): boolean | null;
205
- /** Machine-observed git motion for the most recent contiguous window.
206
- * A clean worktree is not the same thing as no progress: commit-per-slice
207
- * workflows leave no file delta even though HEAD advanced. Unknown motion in
208
- * any round makes the window undecidable rather than falsely empty. */
209
- export declare function machineGitMotionSeries(rounds: ReadonlyArray<CommittedRoundView>, currentRound: number, lookback: number): boolean[] | null;
210
174
  //# sourceMappingURL=committed-round.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"committed-round.d.ts","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"committed-round.d.ts","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AASjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAQvE,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAE7E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;gFAE4E;IAC5E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAC1C,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;IACrD,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAC;IAChD,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC;IACtC;kEAC8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC7D,6EAA6E;IAC7E,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvD,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3C;;6CAEyC;IACzC,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC;4DACwD;IACxD,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3C;;kCAE8B;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACxD;;;4BAGwB;IACxB,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpD,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,kBAAkB,EAAE,CAAC;IAC7C;oDACgD;IAChD,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAC9C,gDAAgD;IAChD,QAAQ,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC;IAC1D,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC;;+BAE2B;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,wEAAwE;IACxE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,uEAAuE;IACvE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC;+EAC2E;IAC3E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,wEAAwE;IACxE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3C;AAoJD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CA6BjF;AAED;4DAC4D;AAC5D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAwBhF;AAED;kFACkF;AAClF;;2EAE2E;AAC3E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAG/E;AAED;;;;;;0CAM0C;AAC1C,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,kBAAkB,GACvB,eAAe,CAyBjB;AAED;;0CAE0C;AAC1C,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAC/B,SAAS,EAAE,MAAM,GAChB,kBAAkB,GAAG,IAAI,CAE3B;AAED;iEACiE;AACjE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIpE;AAED,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,uDAAuD;IACvD,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,0EAA0E;IAC1E,gBAAgB,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC7C;AAED;;;4CAG4C;AAC5C,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,GACzC,UAAU,CA6DZ;AAED;6EAC6E;AAC7E,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,UAAU,CAMzE;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC9B,kBAAkB,EAAE,CAEtB;AAED,wCAAwC;AACxC,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC9B,kBAAkB,EAAE,CAEtB;AAED,8DAA8D;AAC9D,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,GACjB,kBAAkB,GAAG,IAAI,CAO3B;AAED,gFAAgF;AAChF,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAC/B,YAAY,EAAE,MAAM,GACnB,OAAO,CAQT;AAED;sEACsE;AACtE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAC/B,YAAY,GAAE,MAAiC,GAC9C,kBAAkB,EAAE,CAEtB;AAED;0CAC0C;AAC1C,wBAAgB,cAAc,CAC5B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC9B,kBAAkB,EAAE,CAEtB;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC9B,kBAAkB,EAAE,CAEtB;AAED;;;mDAGmD;AACnD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;gFAK4E;IAC5E,QAAQ,EACJ,aAAa,GACb,iBAAiB,GACjB,gBAAgB,GAChB,aAAa,CAAC;CACnB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAwFzE"}