loopforge 3.9.4 → 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.
- package/README.md +236 -112
- package/dist/audit.d.ts +73 -15
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +131 -61
- package/dist/audit.js.map +1 -1
- package/dist/canonical-state.d.ts +114 -40
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +276 -182
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +41 -12
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-governance.d.ts +0 -2
- package/dist/cognitive-governance.d.ts.map +1 -1
- package/dist/cognitive-governance.js +0 -4
- package/dist/cognitive-governance.js.map +1 -1
- package/dist/committed-round.d.ts +97 -156
- package/dist/committed-round.d.ts.map +1 -1
- package/dist/committed-round.js +223 -419
- package/dist/committed-round.js.map +1 -1
- package/dist/constraint-lifecycle.d.ts +73 -0
- package/dist/constraint-lifecycle.d.ts.map +1 -0
- package/dist/constraint-lifecycle.js +174 -0
- package/dist/constraint-lifecycle.js.map +1 -0
- package/dist/context-boundary.d.ts +83 -0
- package/dist/context-boundary.d.ts.map +1 -0
- package/dist/context-boundary.js +101 -0
- package/dist/context-boundary.js.map +1 -0
- package/dist/contract-items.d.ts +12 -8
- package/dist/contract-items.d.ts.map +1 -1
- package/dist/contract-items.js +31 -26
- package/dist/contract-items.js.map +1 -1
- package/dist/contract-requirement.d.ts +47 -0
- package/dist/contract-requirement.d.ts.map +1 -0
- package/dist/contract-requirement.js +51 -0
- package/dist/contract-requirement.js.map +1 -0
- package/dist/criterion-status.d.ts +35 -0
- package/dist/criterion-status.d.ts.map +1 -0
- package/dist/criterion-status.js +89 -0
- package/dist/criterion-status.js.map +1 -0
- package/dist/enforcement-gate.d.ts +26 -38
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +196 -319
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +9 -103
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +27 -897
- package/dist/engine.js.map +1 -1
- package/dist/errors.d.ts +41 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +69 -0
- package/dist/errors.js.map +1 -0
- package/dist/evidence-claims.d.ts +33 -31
- package/dist/evidence-claims.d.ts.map +1 -1
- package/dist/evidence-claims.js +58 -72
- package/dist/evidence-claims.js.map +1 -1
- package/dist/evidence-posture-view.d.ts +19 -0
- package/dist/evidence-posture-view.d.ts.map +1 -0
- package/dist/evidence-posture-view.js +116 -0
- package/dist/evidence-posture-view.js.map +1 -0
- package/dist/evidence-posture.d.ts +73 -0
- package/dist/evidence-posture.d.ts.map +1 -0
- package/dist/evidence-posture.js +281 -0
- package/dist/evidence-posture.js.map +1 -0
- package/dist/evidence-provider.d.ts +55 -37
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +182 -332
- package/dist/evidence-provider.js.map +1 -1
- package/dist/explain.d.ts +166 -27
- package/dist/explain.d.ts.map +1 -1
- package/dist/explain.js +372 -58
- package/dist/explain.js.map +1 -1
- package/dist/field-accounting.d.ts.map +1 -1
- package/dist/field-accounting.js +3 -22
- package/dist/field-accounting.js.map +1 -1
- package/dist/generate-schema.js +13 -8
- package/dist/generate-schema.js.map +1 -1
- package/dist/git-boundary.d.ts +128 -0
- package/dist/git-boundary.d.ts.map +1 -0
- package/dist/git-boundary.js +625 -0
- package/dist/git-boundary.js.map +1 -0
- package/dist/git-facts.d.ts +22 -0
- package/dist/git-facts.d.ts.map +1 -0
- package/dist/git-facts.js +29 -0
- package/dist/git-facts.js.map +1 -0
- package/dist/git-motion.d.ts +37 -0
- package/dist/git-motion.d.ts.map +1 -0
- package/dist/git-motion.js +59 -0
- package/dist/git-motion.js.map +1 -0
- package/dist/history.d.ts +44 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +77 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +19 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +16 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +80 -14
- package/dist/init.js.map +1 -1
- package/dist/loop-compiler.d.ts +39 -23
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +368 -565
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-store.d.ts +6 -5
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js +153 -35
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +255 -81
- package/dist/mcp/round-lifecycle.d.ts.map +1 -1
- package/dist/mcp/round-lifecycle.js +1552 -539
- package/dist/mcp/round-lifecycle.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +42 -18
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +81 -39
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +956 -282
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/submission-boundary.d.ts +23 -31
- package/dist/mcp/submission-boundary.d.ts.map +1 -1
- package/dist/mcp/submission-boundary.js +242 -92
- package/dist/mcp/submission-boundary.js.map +1 -1
- package/dist/mcp/submission-handle.d.ts +66 -0
- package/dist/mcp/submission-handle.d.ts.map +1 -0
- package/dist/mcp/submission-handle.js +173 -0
- package/dist/mcp/submission-handle.js.map +1 -0
- package/dist/mcp/tools.d.ts +17 -7
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +707 -244
- package/dist/mcp/tools.js.map +1 -1
- package/dist/open-question.d.ts +7 -0
- package/dist/open-question.d.ts.map +1 -0
- package/dist/open-question.js +14 -0
- package/dist/open-question.js.map +1 -0
- package/dist/policy-metrics.d.ts +31 -21
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +117 -64
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +11 -39
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +12 -12
- package/dist/policy.js.map +1 -1
- package/dist/progress.d.ts +45 -0
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +136 -0
- package/dist/progress.js.map +1 -0
- package/dist/prompt-assembler.d.ts +20 -6
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +475 -479
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/prompt-coverage.d.ts +0 -6
- package/dist/prompt-coverage.d.ts.map +1 -1
- package/dist/prompt-coverage.js +4 -8
- package/dist/prompt-coverage.js.map +1 -1
- package/dist/prompt-freshness.d.ts +6 -17
- package/dist/prompt-freshness.d.ts.map +1 -1
- package/dist/prompt-freshness.js +27 -22
- package/dist/prompt-freshness.js.map +1 -1
- package/dist/prompt-policy.d.ts +14 -7
- package/dist/prompt-policy.d.ts.map +1 -1
- package/dist/prompt-policy.js +21 -5
- package/dist/prompt-policy.js.map +1 -1
- package/dist/protocol.d.ts +843 -424
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +73 -102
- package/dist/protocol.js.map +1 -1
- package/dist/recovery-guidance.d.ts +13 -0
- package/dist/recovery-guidance.d.ts.map +1 -0
- package/dist/recovery-guidance.js +15 -0
- package/dist/recovery-guidance.js.map +1 -0
- package/dist/recovery.d.ts +68 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/recovery.js +234 -0
- package/dist/recovery.js.map +1 -0
- package/dist/replay.d.ts +42 -8
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +311 -84
- package/dist/replay.js.map +1 -1
- package/dist/result-facts.d.ts +45 -0
- package/dist/result-facts.d.ts.map +1 -0
- package/dist/result-facts.js +86 -0
- package/dist/result-facts.js.map +1 -0
- package/dist/round-contract.d.ts +38 -8
- package/dist/round-contract.d.ts.map +1 -1
- package/dist/round-contract.js +71 -31
- package/dist/round-contract.js.map +1 -1
- package/dist/round-coordinator.d.ts +41 -89
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +250 -267
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +56 -16
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +225 -39
- package/dist/round-driver.js.map +1 -1
- package/dist/round-facts.d.ts +33 -52
- package/dist/round-facts.d.ts.map +1 -1
- package/dist/round-facts.js +51 -160
- package/dist/round-facts.js.map +1 -1
- package/dist/round-guidance.d.ts +56 -0
- package/dist/round-guidance.d.ts.map +1 -0
- package/dist/round-guidance.js +161 -0
- package/dist/round-guidance.js.map +1 -0
- package/dist/round-outcome.d.ts +21 -0
- package/dist/round-outcome.d.ts.map +1 -0
- package/dist/round-outcome.js +31 -0
- package/dist/round-outcome.js.map +1 -0
- package/dist/round-transaction.d.ts +168 -21
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +837 -38
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +37 -61
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +413 -392
- package/dist/self-eval.js.map +1 -1
- package/dist/storage.d.ts +16 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +54 -4
- package/dist/storage.js.map +1 -1
- package/dist/subgoal-state.d.ts +2 -3
- package/dist/subgoal-state.d.ts.map +1 -1
- package/dist/subgoal-state.js +2 -3
- package/dist/subgoal-state.js.map +1 -1
- package/dist/submission-guidance.d.ts +29 -21
- package/dist/submission-guidance.d.ts.map +1 -1
- package/dist/submission-guidance.js +308 -260
- package/dist/submission-guidance.js.map +1 -1
- package/dist/submission-receipt.d.ts +16 -8
- package/dist/submission-receipt.d.ts.map +1 -1
- package/dist/submission-receipt.js +145 -51
- package/dist/submission-receipt.js.map +1 -1
- package/dist/token-utils.d.ts +28 -7
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +27 -11
- package/dist/token-utils.js.map +1 -1
- package/dist/transaction-identity.d.ts +9 -0
- package/dist/transaction-identity.d.ts.map +1 -0
- package/dist/transaction-identity.js +69 -0
- package/dist/transaction-identity.js.map +1 -0
- package/dist/verification-actions.d.ts.map +1 -1
- package/dist/verification-actions.js +10 -11
- package/dist/verification-actions.js.map +1 -1
- package/dist/verification-gate.d.ts +23 -47
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +202 -423
- package/dist/verification-gate.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/working-memory.d.ts +187 -0
- package/dist/working-memory.d.ts.map +1 -0
- package/dist/working-memory.js +767 -0
- package/dist/working-memory.js.map +1 -0
- package/dist/workspace-checkpoint.d.ts +88 -0
- package/dist/workspace-checkpoint.d.ts.map +1 -0
- package/dist/workspace-checkpoint.js +326 -0
- package/dist/workspace-checkpoint.js.map +1 -0
- package/dist/workspace-restore.d.ts +68 -0
- package/dist/workspace-restore.d.ts.map +1 -0
- package/dist/workspace-restore.js +604 -0
- package/dist/workspace-restore.js.map +1 -0
- package/dist/workspace.d.ts +0 -9
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +0 -17
- package/dist/workspace.js.map +1 -1
- package/loop_policy.json +4 -18
- package/package.json +68 -68
- package/skills/forge/SKILL.md +212 -0
- package/skills/forge/references/evidence-and-contracts.md +204 -0
- package/skills/forge/references/recovery-and-views.md +188 -0
- package/dist/cognitive-facts.d.ts +0 -30
- package/dist/cognitive-facts.d.ts.map +0 -1
- package/dist/cognitive-facts.js +0 -113
- package/dist/cognitive-facts.js.map +0 -1
- package/dist/loop-extras-parser.d.ts +0 -81
- package/dist/loop-extras-parser.d.ts.map +0 -1
- package/dist/loop-extras-parser.js +0 -213
- package/dist/loop-extras-parser.js.map +0 -1
- package/dist/loop-projection.d.ts +0 -6
- package/dist/loop-projection.d.ts.map +0 -1
- package/dist/loop-projection.js +0 -28
- package/dist/loop-projection.js.map +0 -1
- package/skills/perception/SKILL.md +0 -389
|
@@ -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, LoopRoundResult, 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
|
-
|
|
13
|
-
|
|
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" | "
|
|
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
|
-
|
|
47
|
-
|
|
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,120 +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
|
-
/**
|
|
83
|
-
*
|
|
84
|
-
|
|
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
|
-
/**
|
|
90
|
-
* merged
|
|
91
|
-
*
|
|
92
|
-
|
|
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;
|
|
94
108
|
/** THE committed-view → compiler-request projection.
|
|
95
109
|
*
|
|
96
110
|
* The compiler once received these fields from the caller's mutable
|
|
97
111
|
* `last_round_result`, which existed on the live path and was absent on
|
|
98
112
|
* resume/unpause/backtrack compiles. This projection lets one committed
|
|
99
113
|
* fact source feed every consumer. Optional declarations are read from the
|
|
100
|
-
* decoded view where it exposes them
|
|
101
|
-
* committed source and stays empty. */
|
|
114
|
+
* decoded view where it exposes them. */
|
|
102
115
|
export declare function roundResultFromCommittedRound(view: CommittedRoundView): LoopRoundResult;
|
|
103
|
-
/** The ONE pending-
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* `backtrackTarget + 1`, which is lower than R for a deep restore. Matching
|
|
107
|
-
* the decoded target (with the legacy exact-round fallback when the record
|
|
108
|
-
* carries no target) keeps the recovery boundary AND the Recovery Brief
|
|
109
|
-
* correct for every backtrack depth. */
|
|
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. */
|
|
110
119
|
export declare function pendingBacktrackRecord(entries: ReadonlyArray<unknown>, redoRound: number): CommittedRoundView | null;
|
|
111
120
|
/** Lineage sub-object of an entry (`loop_lineage`; v3.7: the legacy
|
|
112
121
|
* top-level `lineage` alias was removed), or {} when absent. */
|
|
113
122
|
export declare function entryLineage(entry: unknown): Record<string, unknown>;
|
|
114
|
-
/**
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* the
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
export declare function
|
|
130
|
-
/**
|
|
131
|
-
*
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
export declare function
|
|
135
|
-
/**
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
export declare function
|
|
141
|
-
/** v3.
|
|
142
|
-
*
|
|
143
|
-
* `decodeRound` (hydrated merged lineage first, then the durable feedback
|
|
144
|
-
* entry) plus the rollback handling in `historyRounds` — so the compile path,
|
|
145
|
-
* the projection, the live coordinator, audit and explain can no longer
|
|
146
|
-
* disagree about which rounds are this branch's history, nor about how their
|
|
147
|
-
* envelope was interpreted.
|
|
148
|
-
*
|
|
149
|
-
* `currentRound` bounds the window exactly as before (default: unbounded). It
|
|
150
|
-
* is NOT a rollback fence: the redo re-commits the round numbers the abandoned
|
|
151
|
-
* rounds occupied, so abandonment is temporal, not numeric, and cannot be
|
|
152
|
-
* 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. */
|
|
153
152
|
export declare function derivationRounds(entries: ReadonlyArray<unknown>, currentRound?: number): CommittedRoundView[];
|
|
154
|
-
/** v3.
|
|
155
|
-
*
|
|
156
|
-
* callers fail OPEN rather than inventing a bound. */
|
|
157
|
-
export declare function persistedFrontier(entries: ReadonlyArray<unknown>): number | null;
|
|
158
|
-
/** v3.8.1: THE window for a READ-ONLY view of a loop — audit, explain, replay,
|
|
159
|
-
* the projection, the metrics replay. Same decoder and same rollback handling
|
|
160
|
-
* as `derivationRounds`, plus the bound those callers cannot compute
|
|
161
|
-
* themselves.
|
|
162
|
-
*
|
|
163
|
-
* The live paths bound their window at the round being compiled, and that
|
|
164
|
-
* bound is what keeps a backtracked branch out of this branch's history. A
|
|
165
|
-
* read-only view has no compile round, so it reads the SAME frontier from the
|
|
166
|
-
* durable session document and applies it only while a committed rollback
|
|
167
|
-
* directive is still in effect — a directive stops being history the moment
|
|
168
|
-
* the redo commit replaces its round's record, which is exactly when the
|
|
169
|
-
* abandoned rounds have been re-committed and must count again.
|
|
170
|
-
*
|
|
171
|
-
* With no directive in effect the window stays UNBOUNDED on purpose: after a
|
|
172
|
-
* stop, terminate or max_rounds the session's `current_round` sits ON the
|
|
173
|
-
* round it just committed, so bounding there would silently drop the loop's
|
|
174
|
-
* final round. An unobservable frontier fails open the same way — a read-only
|
|
175
|
-
* 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. */
|
|
176
155
|
export declare function readOnlyRounds(entries: ReadonlyArray<unknown>): CommittedRoundView[];
|
|
177
|
-
/**
|
|
178
|
-
|
|
179
|
-
* baseline. The derived delta is never evidence — it is a change-set view
|
|
180
|
-
* over these facts, not a second observation collection. */
|
|
181
|
-
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[];
|
|
182
158
|
/** v3.8: Rounds whose persisted transaction carries a LEGACY schema version.
|
|
183
159
|
* A hard version break must be visible, not silent: these rounds drop out of
|
|
184
160
|
* history views, so audit/status surface them here instead of letting the
|
|
@@ -190,44 +166,9 @@ export interface LegacyRound {
|
|
|
190
166
|
* breaks — a round that fails any check is not committed history — so all
|
|
191
167
|
* must be REPORTED, not just the transaction one.
|
|
192
168
|
* v3.9.1 adds "observation": a transaction whose embedded Git/command
|
|
193
|
-
* observation schema is unsupported.
|
|
194
|
-
|
|
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";
|
|
195
172
|
}
|
|
196
173
|
export declare function legacyTransactionRounds(entries: unknown[]): LegacyRound[];
|
|
197
|
-
/** The ONE definition of machine Git motion for a single round.
|
|
198
|
-
*
|
|
199
|
-
* Motion is a non-empty file list, a HEAD that moved across the round, or a
|
|
200
|
-
* HEAD that landed on the rollback's restore point — restoring the workspace
|
|
201
|
-
* IS that round's work, and would otherwise read as a round that did
|
|
202
|
-
* nothing. A clean worktree is not the same thing as no progress:
|
|
203
|
-
* commit-per-slice workflows leave no file delta even though HEAD advanced.
|
|
204
|
-
*
|
|
205
|
-
* Observability stays the caller's concern: this answers "did this round
|
|
206
|
-
* move", never "could the round be observed". The restore-point arm compares
|
|
207
|
-
* short hashes, the rule `checkBacktrackGitHeadRestore` uses; the
|
|
208
|
-
* before/after arm compares the observations themselves. */
|
|
209
|
-
export declare function gitMotionSignal(input: {
|
|
210
|
-
/** The round's derived Git change set; null means unknown. */
|
|
211
|
-
changedFiles: ReadonlyArray<string> | null;
|
|
212
|
-
headBefore?: string | null;
|
|
213
|
-
headAfter?: string | null;
|
|
214
|
-
restoreTargetHead?: string | null;
|
|
215
|
-
}): boolean | null;
|
|
216
|
-
/** Git HEAD as a machine observation exposes it, or null when it is silent. */
|
|
217
|
-
export declare function observedGitHead(observation: MachineObservation | undefined): string | null;
|
|
218
|
-
/** A round's own motion, from its derived Git deltas. A Git boundary that
|
|
219
|
-
* cannot be compared yields `null` unless HEAD movement or the restore point
|
|
220
|
-
* independently proves motion. Every Git delta participates: one moving
|
|
221
|
-
* provider is motion, one undecidable provider makes the aggregate unknown,
|
|
222
|
-
* and only an all-provider observed no-change is `false`. */
|
|
223
|
-
export declare function inFlightGitMotion(deltas: ReadonlyArray<ObservationDelta>, restoreTargetHead?: string): boolean | null;
|
|
224
|
-
/** The committed-round form of the same motion rule. Named separately so a
|
|
225
|
-
* reader can see that prompt freshness never passes an in-flight restore
|
|
226
|
-
* head (a committed round has no pending backtrack of its own). */
|
|
227
|
-
export declare function committedRoundGitMotion(view: CommittedRoundView): boolean | null;
|
|
228
|
-
/** Machine-observed git motion for the most recent contiguous window.
|
|
229
|
-
* A clean worktree is not the same thing as no progress: commit-per-slice
|
|
230
|
-
* workflows leave no file delta even though HEAD advanced. Unknown motion in
|
|
231
|
-
* any round makes the window undecidable rather than falsely empty. */
|
|
232
|
-
export declare function machineGitMotionSeries(rounds: ReadonlyArray<CommittedRoundView>, currentRound: number, lookback: number): boolean[] | null;
|
|
233
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":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"committed-round.d.ts","sourceRoot":"","sources":["../src/committed-round.ts"],"names":[],"mappings":"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"}
|