@telora/daemon 0.20.19 → 0.20.28
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/build-info.json +4 -3
- package/dist/audit-phase.d.ts +43 -6
- package/dist/audit-phase.d.ts.map +1 -1
- package/dist/audit-phase.js +124 -23
- package/dist/audit-phase.js.map +1 -1
- package/dist/cascade-restatement.d.ts +13 -147
- package/dist/cascade-restatement.d.ts.map +1 -1
- package/dist/cascade-restatement.js +13 -429
- package/dist/cascade-restatement.js.map +1 -1
- package/dist/cli/session-state.d.ts.map +1 -1
- package/dist/cli/session-state.js +6 -1
- package/dist/cli/session-state.js.map +1 -1
- package/dist/focus-engine.d.ts.map +1 -1
- package/dist/focus-engine.js +15 -0
- package/dist/focus-engine.js.map +1 -1
- package/dist/focus-loop-registry.d.ts.map +1 -1
- package/dist/focus-loop-registry.js +16 -90
- package/dist/focus-loop-registry.js.map +1 -1
- package/dist/focus-loop.d.ts +0 -2
- package/dist/focus-loop.d.ts.map +1 -1
- package/dist/focus-loop.js +33 -25
- package/dist/focus-loop.js.map +1 -1
- package/dist/focus-phase.d.ts +26 -0
- package/dist/focus-phase.d.ts.map +1 -1
- package/dist/focus-phase.js +38 -0
- package/dist/focus-phase.js.map +1 -1
- package/dist/listener.d.ts.map +1 -1
- package/dist/listener.js +40 -9
- package/dist/listener.js.map +1 -1
- package/dist/loops/llm-client.d.ts.map +1 -1
- package/dist/loops/llm-client.js +17 -4
- package/dist/loops/llm-client.js.map +1 -1
- package/dist/queries/audit-runs.d.ts +56 -2
- package/dist/queries/audit-runs.d.ts.map +1 -1
- package/dist/queries/audit-runs.js +40 -0
- package/dist/queries/audit-runs.js.map +1 -1
- package/dist/queries/deliveries.d.ts +27 -0
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/focuses.d.ts +0 -9
- package/dist/queries/focuses.d.ts.map +1 -1
- package/dist/queries/focuses.js +0 -14
- package/dist/queries/focuses.js.map +1 -1
- package/dist/resolvers/index.d.ts +1 -1
- package/dist/resolvers/index.d.ts.map +1 -1
- package/dist/resolvers/index.js +1 -1
- package/dist/resolvers/index.js.map +1 -1
- package/dist/resolvers/shared/audit.d.ts +5 -0
- package/dist/resolvers/shared/audit.d.ts.map +1 -1
- package/dist/resolvers/shared/audit.js +8 -3
- package/dist/resolvers/shared/audit.js.map +1 -1
- package/dist/resolvers/shared/git-diff.d.ts +13 -0
- package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
- package/dist/resolvers/shared/git-diff.js +30 -0
- package/dist/resolvers/shared/git-diff.js.map +1 -1
- package/dist/spawn/review-role-fallback.d.ts +74 -0
- package/dist/spawn/review-role-fallback.d.ts.map +1 -0
- package/dist/spawn/review-role-fallback.js +62 -0
- package/dist/spawn/review-role-fallback.js.map +1 -0
- package/dist/unified-shell-status.d.ts.map +1 -1
- package/dist/unified-shell-status.js +5 -1
- package/dist/unified-shell-status.js.map +1 -1
- package/dist/verification-config.d.ts +64 -15
- package/dist/verification-config.d.ts.map +1 -1
- package/dist/verification-config.js +66 -21
- package/dist/verification-config.js.map +1 -1
- package/dist/verification-default-on.d.ts +73 -1
- package/dist/verification-default-on.d.ts.map +1 -1
- package/dist/verification-default-on.js +79 -0
- package/dist/verification-default-on.js.map +1 -1
- package/dist/verification-engine.d.ts +16 -2
- package/dist/verification-engine.d.ts.map +1 -1
- package/dist/verification-engine.js +168 -84
- package/dist/verification-engine.js.map +1 -1
- package/dist/verification-feedback.d.ts +26 -1
- package/dist/verification-feedback.d.ts.map +1 -1
- package/dist/verification-feedback.js +82 -0
- package/dist/verification-feedback.js.map +1 -1
- package/dist/verification-manifest.d.ts +110 -0
- package/dist/verification-manifest.d.ts.map +1 -0
- package/dist/verification-manifest.js +150 -0
- package/dist/verification-manifest.js.map +1 -0
- package/dist/verify-reconciliation.d.ts +16 -1
- package/dist/verify-reconciliation.d.ts.map +1 -1
- package/dist/verify-reconciliation.js +18 -2
- package/dist/verify-reconciliation.js.map +1 -1
- package/dist/verify-restatement.d.ts +7 -0
- package/dist/verify-restatement.d.ts.map +1 -1
- package/dist/verify-restatement.js +1 -0
- package/dist/verify-restatement.js.map +1 -1
- package/package.json +2 -2
- package/dist/drift-ratify-loop.d.ts +0 -68
- package/dist/drift-ratify-loop.d.ts.map +0 -1
- package/dist/drift-ratify-loop.js +0 -161
- package/dist/drift-ratify-loop.js.map +0 -1
- package/dist/negative-branch.d.ts +0 -136
- package/dist/negative-branch.d.ts.map +0 -1
- package/dist/negative-branch.js +0 -241
- package/dist/negative-branch.js.map +0 -1
- package/dist/shortfall-disposition-config.d.ts +0 -34
- package/dist/shortfall-disposition-config.d.ts.map +0 -1
- package/dist/shortfall-disposition-config.js +0 -46
- package/dist/shortfall-disposition-config.js.map +0 -1
- package/dist/shortfall-disposition-loop.d.ts +0 -86
- package/dist/shortfall-disposition-loop.d.ts.map +0 -1
- package/dist/shortfall-disposition-loop.js +0 -309
- package/dist/shortfall-disposition-loop.js.map +0 -1
package/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"commitSha": "
|
|
3
|
-
"builtAt": "2026-07-
|
|
2
|
+
"commitSha": "a885540b4",
|
|
3
|
+
"builtAt": "2026-07-24T22:22:34.401Z",
|
|
4
4
|
"expectedMigrations": [
|
|
5
5
|
"20250829113330_create_org_nodes_table.sql",
|
|
6
6
|
"20250829113402_fix_function_security_search_path.sql",
|
|
@@ -731,6 +731,7 @@
|
|
|
731
731
|
"20260715212408_drift_proposal_ratification_actor_kind.sql",
|
|
732
732
|
"20260715220718_drift_proposal_ratification_rationale.sql",
|
|
733
733
|
"20260715225403_drift_proposal_dismissal_provenance.sql",
|
|
734
|
-
"20260715231941_agent_escalations_kind_shortfall_undisposed.sql"
|
|
734
|
+
"20260715231941_agent_escalations_kind_shortfall_undisposed.sql",
|
|
735
|
+
"20260723215016_add_audit_runs_status.sql"
|
|
735
736
|
]
|
|
736
737
|
}
|
package/dist/audit-phase.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import './assembly-resolvers.js';
|
|
14
14
|
import { type FocusPhaseOutcome } from './queries/focus-cycle-evaluations.js';
|
|
15
|
-
import { type AuditRunRow } from './queries/audit-runs.js';
|
|
15
|
+
import { type AuditRunRow, type AuditRunStatus, type RecentAuditRun } from './queries/audit-runs.js';
|
|
16
16
|
import { type AuditSpawnOptions, type AuditSpawnResult } from './spawner/index.js';
|
|
17
17
|
import type { DaemonConfig } from './types.js';
|
|
18
18
|
/**
|
|
@@ -69,6 +69,15 @@ export interface AuditPhaseResult {
|
|
|
69
69
|
rationale?: string;
|
|
70
70
|
metadata?: Record<string, unknown>;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* The delivery fields the audit gates read. A structural subset of
|
|
74
|
+
* `FocusDeliveryInfo` -- the settle gate reads `executionStatus`, the
|
|
75
|
+
* change-detection gate reads `updatedAt`.
|
|
76
|
+
*/
|
|
77
|
+
export interface AuditGateDelivery {
|
|
78
|
+
executionStatus: string | null;
|
|
79
|
+
updatedAt?: string | null;
|
|
80
|
+
}
|
|
72
81
|
export interface AuditSummary {
|
|
73
82
|
summaryMd: string | null;
|
|
74
83
|
nodesTouched: number;
|
|
@@ -92,16 +101,24 @@ export interface AuditPhaseDeps {
|
|
|
92
101
|
summaryMd: string | null;
|
|
93
102
|
nodesTouched: number;
|
|
94
103
|
edgesTouched: number;
|
|
104
|
+
status: AuditRunStatus;
|
|
95
105
|
}) => Promise<AuditRunRow>;
|
|
96
106
|
getCurrentCycleNumber: (focusId: string) => Promise<number>;
|
|
97
107
|
/**
|
|
98
108
|
* Fetch the focus's deliveries so the settle gate can decide whether to spawn
|
|
99
|
-
* the assessor at all.
|
|
100
|
-
* not)
|
|
109
|
+
* the assessor at all. The execution status drives the settle gate (terminal
|
|
110
|
+
* vs not) and `updatedAt` drives the change-detection gate below it.
|
|
111
|
+
* Injected so tests drive the gates without live Supabase/MCP.
|
|
112
|
+
*/
|
|
113
|
+
getFocusDeliveries: (focusId: string) => Promise<AuditGateDelivery[]>;
|
|
114
|
+
/**
|
|
115
|
+
* Fetch the focus's most recent audit run (null = never audited). Feeds the
|
|
116
|
+
* change-detection gate: a completed prior run whose `startedAt` is at or
|
|
117
|
+
* after every delivery's `updatedAt` means nothing has changed since the last
|
|
118
|
+
* audit, so there is nothing for the assessor to find. Rejects on API
|
|
119
|
+
* failure -- the gate then fails CLOSED for the tick.
|
|
101
120
|
*/
|
|
102
|
-
|
|
103
|
-
executionStatus: string | null;
|
|
104
|
-
}>>;
|
|
121
|
+
getRecentAuditRun: (focusId: string) => Promise<RecentAuditRun | null>;
|
|
105
122
|
spawnAuditAgent: (opts: AuditSpawnOptions) => Promise<AuditSpawnResult>;
|
|
106
123
|
parseAuditSummary?: (stdout: string) => AuditSummary;
|
|
107
124
|
getConfig: () => DaemonConfig;
|
|
@@ -129,6 +146,26 @@ export interface AuditPhaseDeps {
|
|
|
129
146
|
* as advisory zeros and writes them to the audit_runs row.
|
|
130
147
|
*/
|
|
131
148
|
export declare function parseAuditSummary(stdout: string): AuditSummary;
|
|
149
|
+
/**
|
|
150
|
+
* Decide whether the focus's reality is provably UNCHANGED since the last
|
|
151
|
+
* completed audit run -- i.e. whether the assessor spawn is pure waste.
|
|
152
|
+
*
|
|
153
|
+
* Returns true (skip the spawn) only when every one of these holds:
|
|
154
|
+
* - a prior audit run exists,
|
|
155
|
+
* - that run COMPLETED (a run still in flight proves nothing about what it saw),
|
|
156
|
+
* - every delivery carries an `updatedAt` timestamp, and
|
|
157
|
+
* - none of those timestamps is later than the prior run's `startedAt`.
|
|
158
|
+
*
|
|
159
|
+
* Every other shape FAILS OPEN (returns false, assessor spawns): a first-ever
|
|
160
|
+
* audit, an incomplete prior run, a missing/unparseable timestamp. The gate
|
|
161
|
+
* exists to remove waste, never to withhold audit signal -- when it cannot
|
|
162
|
+
* PROVE nothing changed, it lets the audit run.
|
|
163
|
+
*
|
|
164
|
+
* `startedAt` (not `completedAt`) is the comparison point deliberately: the
|
|
165
|
+
* assessor observes the world as of the moment it began reading, so any
|
|
166
|
+
* delivery mutation after that instant is unobserved by that run.
|
|
167
|
+
*/
|
|
168
|
+
export declare function isUnchangedSinceLastAudit(deliveries: readonly AuditGateDelivery[], lastRun: RecentAuditRun | null): boolean;
|
|
132
169
|
export declare const defaultAuditDeps: AuditPhaseDeps;
|
|
133
170
|
/**
|
|
134
171
|
* Run the audit phase for a focus. Spawns a one-shot assessor, captures
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-phase.d.ts","sourceRoot":"","sources":["../src/audit-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"audit-phase.d.ts","sourceRoot":"","sources":["../src/audit-phase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAQlD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAM5C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAE1C,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,QAAiB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,QAuCb,CAAC;AAMb,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE9E;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjF,cAAc,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1I,cAAc,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACtK,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D;;;;;OAKG;IACH,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE;;;;;;OAMG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACvE,eAAe,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC;IACrD,SAAS,EAAE,MAAM,YAAY,CAAC;IAC9B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClF,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/D,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF;AAMD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA4C9D;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,OAAO,EAAE,cAAc,GAAG,IAAI,GAC7B,OAAO,CAaT;AA+BD,eAAO,MAAM,gBAAgB,EAAE,cA6B9B,CAAC;AAMF;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,cAAiC,GACtC,OAAO,CAAC,gBAAgB,CAAC,CAqQ3B"}
|
package/dist/audit-phase.js
CHANGED
|
@@ -14,10 +14,10 @@ import { resolveAssemblyRecipe } from './assembly-engine.js';
|
|
|
14
14
|
// Side-effect import: registers resolvers used by the audit recipe.
|
|
15
15
|
import './assembly-resolvers.js';
|
|
16
16
|
import { getRecentFocusCycleEvaluation, } from './queries/focus-cycle-evaluations.js';
|
|
17
|
-
import { insertAuditRun, updateAuditRun } from './queries/audit-runs.js';
|
|
17
|
+
import { insertAuditRun, updateAuditRun, getRecentAuditRun, } from './queries/audit-runs.js';
|
|
18
18
|
import { openSystemSession, closeSystemSession } from './queries/system-session.js';
|
|
19
19
|
import { getFocusDeliveries, getFocusSessionIds, updateFocusClaudeSessionId } from './queries/focuses.js';
|
|
20
|
-
import {
|
|
20
|
+
import { isFocusEnteringScoping } from './focus-phase.js';
|
|
21
21
|
import { resolveResumeId } from './session-lineage.js';
|
|
22
22
|
import { getConfig } from './queries/shared.js';
|
|
23
23
|
import { spawnAuditAgent as spawnerSpawnAuditAgent, } from './spawner/index.js';
|
|
@@ -178,6 +178,45 @@ export function parseAuditSummary(stdout) {
|
|
|
178
178
|
return { summaryMd, nodesTouched, edgesTouched };
|
|
179
179
|
}
|
|
180
180
|
// ---------------------------------------------------------------------------
|
|
181
|
+
// Change-detection gate
|
|
182
|
+
// ---------------------------------------------------------------------------
|
|
183
|
+
/**
|
|
184
|
+
* Decide whether the focus's reality is provably UNCHANGED since the last
|
|
185
|
+
* completed audit run -- i.e. whether the assessor spawn is pure waste.
|
|
186
|
+
*
|
|
187
|
+
* Returns true (skip the spawn) only when every one of these holds:
|
|
188
|
+
* - a prior audit run exists,
|
|
189
|
+
* - that run COMPLETED (a run still in flight proves nothing about what it saw),
|
|
190
|
+
* - every delivery carries an `updatedAt` timestamp, and
|
|
191
|
+
* - none of those timestamps is later than the prior run's `startedAt`.
|
|
192
|
+
*
|
|
193
|
+
* Every other shape FAILS OPEN (returns false, assessor spawns): a first-ever
|
|
194
|
+
* audit, an incomplete prior run, a missing/unparseable timestamp. The gate
|
|
195
|
+
* exists to remove waste, never to withhold audit signal -- when it cannot
|
|
196
|
+
* PROVE nothing changed, it lets the audit run.
|
|
197
|
+
*
|
|
198
|
+
* `startedAt` (not `completedAt`) is the comparison point deliberately: the
|
|
199
|
+
* assessor observes the world as of the moment it began reading, so any
|
|
200
|
+
* delivery mutation after that instant is unobserved by that run.
|
|
201
|
+
*/
|
|
202
|
+
export function isUnchangedSinceLastAudit(deliveries, lastRun) {
|
|
203
|
+
if (!lastRun || !lastRun.completedAt)
|
|
204
|
+
return false;
|
|
205
|
+
const runStartedMs = Date.parse(lastRun.startedAt);
|
|
206
|
+
if (Number.isNaN(runStartedMs))
|
|
207
|
+
return false;
|
|
208
|
+
for (const delivery of deliveries) {
|
|
209
|
+
if (!delivery.updatedAt)
|
|
210
|
+
return false;
|
|
211
|
+
const updatedMs = Date.parse(delivery.updatedAt);
|
|
212
|
+
if (Number.isNaN(updatedMs))
|
|
213
|
+
return false;
|
|
214
|
+
if (updatedMs > runStartedMs)
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
return true;
|
|
218
|
+
}
|
|
219
|
+
// ---------------------------------------------------------------------------
|
|
181
220
|
// Default dependency wiring
|
|
182
221
|
// ---------------------------------------------------------------------------
|
|
183
222
|
async function defaultAssembleContext(focusId, recipe) {
|
|
@@ -207,9 +246,10 @@ async function defaultGetCurrentCycleNumber(focusId) {
|
|
|
207
246
|
export const defaultAuditDeps = {
|
|
208
247
|
assembleContext: defaultAssembleContext,
|
|
209
248
|
insertAuditRun: ({ focusId, cycleNumber, model, sessionId }) => insertAuditRun({ focusId, cycleNumber, model, sessionId }),
|
|
210
|
-
updateAuditRun: ({ auditRunId, summaryMd, nodesTouched, edgesTouched }) => updateAuditRun({ auditRunId, summaryMd, nodesTouched, edgesTouched }),
|
|
249
|
+
updateAuditRun: ({ auditRunId, summaryMd, nodesTouched, edgesTouched, status }) => updateAuditRun({ auditRunId, summaryMd, nodesTouched, edgesTouched, status }),
|
|
211
250
|
getCurrentCycleNumber: defaultGetCurrentCycleNumber,
|
|
212
251
|
getFocusDeliveries: (focusId) => getFocusDeliveries(focusId),
|
|
252
|
+
getRecentAuditRun: (focusId) => getRecentAuditRun(focusId),
|
|
213
253
|
spawnAuditAgent: (opts) => spawnerSpawnAuditAgent(opts),
|
|
214
254
|
parseAuditSummary,
|
|
215
255
|
getConfig,
|
|
@@ -248,39 +288,39 @@ export async function runAuditPhase(focusId, deps = defaultAuditDeps) {
|
|
|
248
288
|
errors.push(`cycle_lookup: ${err.message}`);
|
|
249
289
|
}
|
|
250
290
|
metadata.cycleNumber = cycleNumber;
|
|
251
|
-
// ──
|
|
252
|
-
//
|
|
253
|
-
//
|
|
254
|
-
//
|
|
255
|
-
//
|
|
256
|
-
//
|
|
257
|
-
//
|
|
258
|
-
//
|
|
259
|
-
//
|
|
260
|
-
//
|
|
261
|
-
//
|
|
262
|
-
//
|
|
291
|
+
// ── Scoping-entry gate ───────────────────────────────────────────────────
|
|
292
|
+
// The audit is the scope-time CRT self-refresh: it must run when a scoping
|
|
293
|
+
// decision is about to READ the tree, and NEVER while a team is mid-stroke
|
|
294
|
+
// (spawning the opus assessor mid-coding samples the team's transient,
|
|
295
|
+
// intended error as drift -- noise -- and burns an opus --print call that
|
|
296
|
+
// authors nothing). So gate the spawn on the focus being at the FRONT OF A
|
|
297
|
+
// SCOPING ACT: it has pre-coding work to scope (a queued/planning delivery)
|
|
298
|
+
// and nothing is actuating (no coding/verify_failed delivery). See
|
|
299
|
+
// focus-phase.isFocusEnteringScoping. This REPLACES the old all-terminal
|
|
300
|
+
// settle gate -- a settled focus is not being scoped, so it no longer
|
|
301
|
+
// triggers an audit; the mid-stroke protection is preserved by the
|
|
302
|
+
// "nothing actuating" clause. A focus with zero deliveries never spawns.
|
|
263
303
|
let deliveries;
|
|
264
304
|
try {
|
|
265
305
|
deliveries = await deps.getFocusDeliveries(focusId);
|
|
266
306
|
}
|
|
267
307
|
catch (err) {
|
|
268
|
-
// Cannot read the deliveries -> cannot prove the focus
|
|
269
|
-
// spawn (the expensive thing this gate rations) and let
|
|
270
|
-
// never throw, so the focus loop keeps advancing.
|
|
308
|
+
// Cannot read the deliveries -> cannot prove the focus is at a scoping
|
|
309
|
+
// boundary. Skip the spawn (the expensive thing this gate rations) and let
|
|
310
|
+
// the next tick retry; never throw, so the focus loop keeps advancing.
|
|
271
311
|
errors.push(`deliveries_lookup: ${err.message}`);
|
|
272
312
|
metadata.gated = true;
|
|
273
313
|
metadata.gateReason = 'deliveries_lookup_failed';
|
|
274
314
|
metadata.errors = errors;
|
|
275
315
|
return {
|
|
276
316
|
outcome: 'continue',
|
|
277
|
-
rationale: `audit cycle ${cycleNumber} skipped -- could not read deliveries to confirm
|
|
317
|
+
rationale: `audit cycle ${cycleNumber} skipped -- could not read deliveries to confirm scoping boundary`,
|
|
278
318
|
metadata,
|
|
279
319
|
};
|
|
280
320
|
}
|
|
281
321
|
metadata.deliveryCount = deliveries.length;
|
|
282
|
-
if (!
|
|
283
|
-
const reason = deliveries.length === 0 ? 'no_deliveries' : '
|
|
322
|
+
if (!isFocusEnteringScoping(deliveries)) {
|
|
323
|
+
const reason = deliveries.length === 0 ? 'no_deliveries' : 'not_entering_scoping';
|
|
284
324
|
metadata.gated = true;
|
|
285
325
|
metadata.gateReason = reason;
|
|
286
326
|
if (errors.length > 0)
|
|
@@ -288,8 +328,50 @@ export async function runAuditPhase(focusId, deps = defaultAuditDeps) {
|
|
|
288
328
|
return {
|
|
289
329
|
outcome: 'continue',
|
|
290
330
|
rationale: reason === 'no_deliveries'
|
|
291
|
-
? `audit cycle ${cycleNumber} skipped -- focus has no deliveries to
|
|
292
|
-
: `audit cycle ${cycleNumber} skipped -- focus not
|
|
331
|
+
? `audit cycle ${cycleNumber} skipped -- focus has no deliveries to scope`
|
|
332
|
+
: `audit cycle ${cycleNumber} skipped -- focus not at a scoping boundary (no pre-coding work, or a delivery is actuating)`,
|
|
333
|
+
metadata,
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
// ── Change-detection gate ────────────────────────────────────────────────
|
|
337
|
+
// The settle gate above rations the spawn to settled focuses -- but a focus
|
|
338
|
+
// STAYS settled forever, so on its own it re-spawns an opus assessor against
|
|
339
|
+
// an unchanged world every cycle. Telemetry (2026-07-22) measured the result:
|
|
340
|
+
// 1,167 of 1,192 audit runs (97.9%) touched zero nodes and zero edges. A
|
|
341
|
+
// settled focus whose deliveries have not moved since the last completed
|
|
342
|
+
// audit has, by construction, nothing new for the assessor to observe. So
|
|
343
|
+
// gate again on CHANGE: compare each delivery's updatedAt against the prior
|
|
344
|
+
// completed run's started_at. Fails OPEN on any uncertainty (see
|
|
345
|
+
// isUnchangedSinceLastAudit) -- this gate removes waste, it never withholds
|
|
346
|
+
// audit signal.
|
|
347
|
+
let lastRun = null;
|
|
348
|
+
try {
|
|
349
|
+
lastRun = await deps.getRecentAuditRun(focusId);
|
|
350
|
+
}
|
|
351
|
+
catch (err) {
|
|
352
|
+
// Cannot read the prior run -> cannot decide whether anything changed.
|
|
353
|
+
// Fail CLOSED for this tick (skip the expensive spawn, retry next), the
|
|
354
|
+
// same precedent the settle gate's deliveries-lookup failure sets.
|
|
355
|
+
errors.push(`recent_audit_lookup: ${err.message}`);
|
|
356
|
+
metadata.gated = true;
|
|
357
|
+
metadata.gateReason = 'recent_audit_lookup_failed';
|
|
358
|
+
metadata.errors = errors;
|
|
359
|
+
return {
|
|
360
|
+
outcome: 'continue',
|
|
361
|
+
rationale: `audit cycle ${cycleNumber} skipped -- could not read the last audit run to detect change`,
|
|
362
|
+
metadata,
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
if (isUnchangedSinceLastAudit(deliveries, lastRun)) {
|
|
366
|
+
metadata.gated = true;
|
|
367
|
+
metadata.gateReason = 'no_change_since_last_audit';
|
|
368
|
+
metadata.lastAuditRunId = lastRun?.id ?? null;
|
|
369
|
+
metadata.lastAuditStartedAt = lastRun?.startedAt ?? null;
|
|
370
|
+
if (errors.length > 0)
|
|
371
|
+
metadata.errors = errors;
|
|
372
|
+
return {
|
|
373
|
+
outcome: 'continue',
|
|
374
|
+
rationale: `audit cycle ${cycleNumber} skipped -- no delivery changed since the last completed audit`,
|
|
293
375
|
metadata,
|
|
294
376
|
};
|
|
295
377
|
}
|
|
@@ -403,6 +485,24 @@ export async function runAuditPhase(focusId, deps = defaultAuditDeps) {
|
|
|
403
485
|
}
|
|
404
486
|
metadata.nodesTouched = summary.nodesTouched;
|
|
405
487
|
metadata.edgesTouched = summary.edgesTouched;
|
|
488
|
+
// Classify the run's terminal outcome so it is separable in the data and a
|
|
489
|
+
// broken run never masquerades as a clean cycle boundary.
|
|
490
|
+
// - 'failed' the session did not genuinely complete (non-zero exit or a
|
|
491
|
+
// spawn error). This takes PRECEDENCE over a missing summary:
|
|
492
|
+
// a failed run's absent block is a symptom, not the diagnosis,
|
|
493
|
+
// and the update handler leaves completed_at NULL for it so the
|
|
494
|
+
// change-detection gate keeps failing open.
|
|
495
|
+
// - 'parse_failed' clean exit, but no parsable summary block -- distinguishable
|
|
496
|
+
// from an honest no-op, which carries a real summary_md.
|
|
497
|
+
// - 'completed' clean exit with a parsable summary (includes honest no-ops).
|
|
498
|
+
const runFailed = !!spawnResult.errorMessage ||
|
|
499
|
+
(spawnResult.exitCode !== null && spawnResult.exitCode !== 0);
|
|
500
|
+
const runStatus = runFailed
|
|
501
|
+
? 'failed'
|
|
502
|
+
: summary.summaryMd === null
|
|
503
|
+
? 'parse_failed'
|
|
504
|
+
: 'completed';
|
|
505
|
+
metadata.auditRunStatus = runStatus;
|
|
406
506
|
if (auditRunId) {
|
|
407
507
|
try {
|
|
408
508
|
await deps.updateAuditRun({
|
|
@@ -410,6 +510,7 @@ export async function runAuditPhase(focusId, deps = defaultAuditDeps) {
|
|
|
410
510
|
summaryMd: summary.summaryMd,
|
|
411
511
|
nodesTouched: summary.nodesTouched,
|
|
412
512
|
edgesTouched: summary.edgesTouched,
|
|
513
|
+
status: runStatus,
|
|
413
514
|
});
|
|
414
515
|
}
|
|
415
516
|
catch (err) {
|
package/dist/audit-phase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-phase.js","sourceRoot":"","sources":["../src/audit-phase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audit-phase.js","sourceRoot":"","sources":["../src/audit-phase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,156 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Shared FRT-restatement type aliases.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* HISTORY. This module used to host two standing timer ticks:
|
|
5
|
+
* - `runCascadeProseTick` -- eager FRT cascade-prose reconciliation, and
|
|
6
|
+
* - `runNegativeBranchTick` -- periodic negative-branch reservation generation.
|
|
7
|
+
* Both were RETIRED with the continuous drift-reconciliation layer (drift is no
|
|
8
|
+
* longer reconciled on a calendar). Per-injection FRT prose is authored at the
|
|
9
|
+
* verify event (`verify-restatement.ts`), not on a timer, so the eager backstop
|
|
10
|
+
* was redundant; the negative-branch generator was the un-deduped source of the
|
|
11
|
+
* duplicate-proposal pile and had no other consumer.
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* (`verify-restatement.ts`) only authors prose for the directly-targeted
|
|
16
|
-
* nodes, and only at verify -- so flipped downstream consequences keep reading
|
|
17
|
-
* as present-tense problems until (and unless) they are themselves a verify
|
|
18
|
-
* target.
|
|
19
|
-
*
|
|
20
|
-
* This module closes that gap. It authors future-state desired-effect prose
|
|
21
|
-
* (`frt_statement`) EAGERLY across the whole resolved cascade -- the targeted
|
|
22
|
-
* UDE plus every downstream resolved consequence -- in future tense, while the
|
|
23
|
-
* CRT base statement stays untouched until verify. It is the "daemon
|
|
24
|
-
* reconciliation backstop" the targetInjection edge comment promises.
|
|
25
|
-
*
|
|
26
|
-
* Reuses the de-restatement prose helper (`authorRestatement`) -- it does NOT
|
|
27
|
-
* duplicate the prompt/model logic -- and the server-side derive-FRT action
|
|
28
|
-
* (`reality_tree_derive_frt`, Delivery A) which returns the engine's derived
|
|
29
|
-
* cascade. Overlay-only: only `frt_statement` is written; node_type and the
|
|
30
|
-
* base statement are left untouched.
|
|
31
|
-
*
|
|
32
|
-
* Idempotent at the prose level: a cascade node that already carries a
|
|
33
|
-
* positive `frt_statement` is skipped (`needsRestatement` is false), so the
|
|
34
|
-
* per-tick scan does not churn already-authored trees.
|
|
13
|
+
* What remains are the two shared type aliases the retire-aware restatement path
|
|
14
|
+
* and the backfill CLI still import (`CallApiFn`, `AuthorRestatementFn`). They
|
|
15
|
+
* live here so those importers keep a stable specifier.
|
|
35
16
|
*
|
|
36
17
|
* @module cascade-restatement
|
|
37
18
|
*/
|
|
38
|
-
import {
|
|
39
|
-
import { proposeNegativeBranchesForInjection as defaultProposeNegativeBranches, type ProposeNegativeBranchesDeps, type ProposeNegativeBranchesResult } from './negative-branch.js';
|
|
40
|
-
import { authorRetiredInjectionRestatements as defaultAuthorRetiredInjectionRestatements } from './retire-aware-restatement.js';
|
|
41
|
-
import { getActiveFocuses } from './queries/deliveries.js';
|
|
42
|
-
import type { DaemonConfig } from './types.js';
|
|
19
|
+
import type { RestatementInputs, RestatementOptions } from './de-restatement.js';
|
|
43
20
|
export type CallApiFn = <T>(action: string, params?: Record<string, unknown>) => Promise<T>;
|
|
44
21
|
export type AuthorRestatementFn = (inputs: RestatementInputs, opts?: RestatementOptions) => Promise<string>;
|
|
45
|
-
/** One FRT-visible node as returned by the derive-FRT action (Delivery A). */
|
|
46
|
-
export interface DerivedFrtNode {
|
|
47
|
-
id: string;
|
|
48
|
-
seq: number;
|
|
49
|
-
derivedNodeType: 'entity' | 'undesired_effect' | 'desired_effect' | 'injection';
|
|
50
|
-
resolved: boolean;
|
|
51
|
-
statement: string;
|
|
52
|
-
frtStatement: string | null;
|
|
53
|
-
}
|
|
54
|
-
/** Shape of the `reality_tree_derive_frt` server action response (Delivery A). */
|
|
55
|
-
export interface DeriveFrtResponse {
|
|
56
|
-
treeId: string;
|
|
57
|
-
clearedNodeIds: string[];
|
|
58
|
-
flippedNodeIds: string[];
|
|
59
|
-
nodes: DerivedFrtNode[];
|
|
60
|
-
}
|
|
61
|
-
export interface AuthorCascadeRestatementsDeps {
|
|
62
|
-
callApi?: CallApiFn;
|
|
63
|
-
authorRestatement?: AuthorRestatementFn;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Author injection-conditioned desired-effect prose across the FULL resolved
|
|
67
|
-
* cascade of a tree (the targeted UDE plus every downstream resolved
|
|
68
|
-
* consequence), eagerly.
|
|
69
|
-
*
|
|
70
|
-
* For each flipped/resolved node that still needs prose, authors one positive
|
|
71
|
-
* future-state sentence conditioned on the tree's active injection statements,
|
|
72
|
-
* then writes it to `frt_statement` via `reality_tree_node_update` (which
|
|
73
|
-
* leaves node_type and the base statement untouched).
|
|
74
|
-
*
|
|
75
|
-
* Best-effort per node: a per-node author-or-write failure is swallowed (that
|
|
76
|
-
* node is recorded as skipped) so one failure never aborts the cascade.
|
|
77
|
-
*
|
|
78
|
-
* Idempotent: a node whose `frt_statement` is already a positive sentence is
|
|
79
|
-
* skipped, not re-authored.
|
|
80
|
-
*/
|
|
81
|
-
export declare function authorCascadeRestatements(treeId: string, deps?: AuthorCascadeRestatementsDeps): Promise<{
|
|
82
|
-
authored: string[];
|
|
83
|
-
skipped: string[];
|
|
84
|
-
}>;
|
|
85
|
-
export interface RunCascadeProseTickDeps {
|
|
86
|
-
callApi?: CallApiFn;
|
|
87
|
-
authorRestatement?: AuthorRestatementFn;
|
|
88
|
-
/** Enumerate active focuses for a product. Defaults to the live query. */
|
|
89
|
-
getActiveFocuses?: typeof getActiveFocuses;
|
|
90
|
-
/** Author cascade prose for one tree. Defaults to authorCascadeRestatements. */
|
|
91
|
-
authorCascadeRestatements?: typeof authorCascadeRestatements;
|
|
92
|
-
/**
|
|
93
|
-
* Retire-aware authoring for one tree (verified/retired injections' flipped
|
|
94
|
-
* UDEs, sourced from node history). Defaults to the real helper. Runs ONLY on
|
|
95
|
-
* the departed-focus catch-up pass -- the completion-time safety net.
|
|
96
|
-
*/
|
|
97
|
-
authorRetiredInjectionRestatements?: typeof defaultAuthorRetiredInjectionRestatements;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Test-only seam: reset the prior-active-focus set so unrelated tests do not
|
|
101
|
-
* leak departed-focus state into one another. Not part of the public API.
|
|
102
|
-
*/
|
|
103
|
-
export declare function __resetProseTickState(): void;
|
|
104
|
-
/**
|
|
105
|
-
* Eager reconciliation tick. For every product -> active focus -> active
|
|
106
|
-
* reality tree that carries at least one applied injection, runs
|
|
107
|
-
* authorCascadeRestatements so flipped cascade nodes get future-state prose
|
|
108
|
-
* without waiting for verify.
|
|
109
|
-
*
|
|
110
|
-
* Additionally diffs the current active-focus set against the prior tick's set
|
|
111
|
-
* and re-scans any focus that JUST departed (completed or cancelled), so a
|
|
112
|
-
* focus that leaves the active scan still gets its resolved cascade authored on
|
|
113
|
-
* the next tick. Idempotency means the re-scan is a no-op once authored.
|
|
114
|
-
*
|
|
115
|
-
* Trees with no applied (derivedNodeType==='injection') injection are skipped
|
|
116
|
-
* cheaply -- there is nothing flipped to restate. Idempotency in
|
|
117
|
-
* authorCascadeRestatements prevents churn on already-authored trees.
|
|
118
|
-
*/
|
|
119
|
-
export declare function runCascadeProseTick(config: DaemonConfig, deps?: RunCascadeProseTickDeps): Promise<{
|
|
120
|
-
treesScanned: number;
|
|
121
|
-
authored: number;
|
|
122
|
-
}>;
|
|
123
|
-
export interface RunNegativeBranchTickDeps {
|
|
124
|
-
callApi?: CallApiFn;
|
|
125
|
-
/** Enumerate active focuses for a product. Defaults to the live query. */
|
|
126
|
-
getActiveFocuses?: typeof getActiveFocuses;
|
|
127
|
-
/** Propose NB candidates for one injection. Defaults to proposeNegativeBranchesForInjection. */
|
|
128
|
-
proposeNegativeBranches?: (inputs: Parameters<typeof defaultProposeNegativeBranches>[0], deps?: ProposeNegativeBranchesDeps) => Promise<ProposeNegativeBranchesResult>;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Background tick that proposes negative-branch reservations for every applied
|
|
132
|
-
* injection that has not yet had candidates generated.
|
|
133
|
-
*
|
|
134
|
-
* Idempotency: an injection is skipped when EITHER
|
|
135
|
-
* (a) it carries a durable `negative_branch_pass_ran_at` marker -- a pass has
|
|
136
|
-
* already COMPLETED for it (clean or not), so re-running would re-probe an
|
|
137
|
-
* injection whose doubt is already discharged; OR
|
|
138
|
-
* (b) any non-dismissed `add_node` proposal with
|
|
139
|
-
* `proposedMetadata.isNegativeBranch === true` and
|
|
140
|
-
* `proposedMetadata.sourceInjectionId === injectionId` already exists for
|
|
141
|
-
* the tree (the pre-marker signal; kept for back-compat with injections
|
|
142
|
-
* that were probed before the durable marker existed).
|
|
143
|
-
*
|
|
144
|
-
* The marker (a) is the load-bearing gate: it distinguishes "ran clean" (marker
|
|
145
|
-
* set, zero proposals) from "never ran" (marker null, zero proposals) -- the
|
|
146
|
-
* proposal-presence check (b) alone cannot. Dismissed proposals are left behind
|
|
147
|
-
* (the user cleared the concern; don't re-surface it).
|
|
148
|
-
*
|
|
149
|
-
* Shares the `TELORA_FRT_PROSE_LOOP` opt-out signal with the prose tick --
|
|
150
|
-
* both are FRT-overlay authoring concerns driven by the same guard.
|
|
151
|
-
*/
|
|
152
|
-
export declare function runNegativeBranchTick(config: DaemonConfig, deps?: RunNegativeBranchTickDeps): Promise<{
|
|
153
|
-
treesScanned: number;
|
|
154
|
-
proposed: number;
|
|
155
|
-
}>;
|
|
156
22
|
//# sourceMappingURL=cascade-restatement.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascade-restatement.d.ts","sourceRoot":"","sources":["../src/cascade-restatement.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cascade-restatement.d.ts","sourceRoot":"","sources":["../src/cascade-restatement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5F,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,iBAAiB,EACzB,IAAI,CAAC,EAAE,kBAAkB,KACtB,OAAO,CAAC,MAAM,CAAC,CAAC"}
|