@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.
Files changed (107) hide show
  1. package/build-info.json +4 -3
  2. package/dist/audit-phase.d.ts +43 -6
  3. package/dist/audit-phase.d.ts.map +1 -1
  4. package/dist/audit-phase.js +124 -23
  5. package/dist/audit-phase.js.map +1 -1
  6. package/dist/cascade-restatement.d.ts +13 -147
  7. package/dist/cascade-restatement.d.ts.map +1 -1
  8. package/dist/cascade-restatement.js +13 -429
  9. package/dist/cascade-restatement.js.map +1 -1
  10. package/dist/cli/session-state.d.ts.map +1 -1
  11. package/dist/cli/session-state.js +6 -1
  12. package/dist/cli/session-state.js.map +1 -1
  13. package/dist/focus-engine.d.ts.map +1 -1
  14. package/dist/focus-engine.js +15 -0
  15. package/dist/focus-engine.js.map +1 -1
  16. package/dist/focus-loop-registry.d.ts.map +1 -1
  17. package/dist/focus-loop-registry.js +16 -90
  18. package/dist/focus-loop-registry.js.map +1 -1
  19. package/dist/focus-loop.d.ts +0 -2
  20. package/dist/focus-loop.d.ts.map +1 -1
  21. package/dist/focus-loop.js +33 -25
  22. package/dist/focus-loop.js.map +1 -1
  23. package/dist/focus-phase.d.ts +26 -0
  24. package/dist/focus-phase.d.ts.map +1 -1
  25. package/dist/focus-phase.js +38 -0
  26. package/dist/focus-phase.js.map +1 -1
  27. package/dist/listener.d.ts.map +1 -1
  28. package/dist/listener.js +40 -9
  29. package/dist/listener.js.map +1 -1
  30. package/dist/loops/llm-client.d.ts.map +1 -1
  31. package/dist/loops/llm-client.js +17 -4
  32. package/dist/loops/llm-client.js.map +1 -1
  33. package/dist/queries/audit-runs.d.ts +56 -2
  34. package/dist/queries/audit-runs.d.ts.map +1 -1
  35. package/dist/queries/audit-runs.js +40 -0
  36. package/dist/queries/audit-runs.js.map +1 -1
  37. package/dist/queries/deliveries.d.ts +27 -0
  38. package/dist/queries/deliveries.d.ts.map +1 -1
  39. package/dist/queries/deliveries.js.map +1 -1
  40. package/dist/queries/focuses.d.ts +0 -9
  41. package/dist/queries/focuses.d.ts.map +1 -1
  42. package/dist/queries/focuses.js +0 -14
  43. package/dist/queries/focuses.js.map +1 -1
  44. package/dist/resolvers/index.d.ts +1 -1
  45. package/dist/resolvers/index.d.ts.map +1 -1
  46. package/dist/resolvers/index.js +1 -1
  47. package/dist/resolvers/index.js.map +1 -1
  48. package/dist/resolvers/shared/audit.d.ts +5 -0
  49. package/dist/resolvers/shared/audit.d.ts.map +1 -1
  50. package/dist/resolvers/shared/audit.js +8 -3
  51. package/dist/resolvers/shared/audit.js.map +1 -1
  52. package/dist/resolvers/shared/git-diff.d.ts +13 -0
  53. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  54. package/dist/resolvers/shared/git-diff.js +30 -0
  55. package/dist/resolvers/shared/git-diff.js.map +1 -1
  56. package/dist/spawn/review-role-fallback.d.ts +74 -0
  57. package/dist/spawn/review-role-fallback.d.ts.map +1 -0
  58. package/dist/spawn/review-role-fallback.js +62 -0
  59. package/dist/spawn/review-role-fallback.js.map +1 -0
  60. package/dist/unified-shell-status.d.ts.map +1 -1
  61. package/dist/unified-shell-status.js +5 -1
  62. package/dist/unified-shell-status.js.map +1 -1
  63. package/dist/verification-config.d.ts +64 -15
  64. package/dist/verification-config.d.ts.map +1 -1
  65. package/dist/verification-config.js +66 -21
  66. package/dist/verification-config.js.map +1 -1
  67. package/dist/verification-default-on.d.ts +73 -1
  68. package/dist/verification-default-on.d.ts.map +1 -1
  69. package/dist/verification-default-on.js +79 -0
  70. package/dist/verification-default-on.js.map +1 -1
  71. package/dist/verification-engine.d.ts +16 -2
  72. package/dist/verification-engine.d.ts.map +1 -1
  73. package/dist/verification-engine.js +168 -84
  74. package/dist/verification-engine.js.map +1 -1
  75. package/dist/verification-feedback.d.ts +26 -1
  76. package/dist/verification-feedback.d.ts.map +1 -1
  77. package/dist/verification-feedback.js +82 -0
  78. package/dist/verification-feedback.js.map +1 -1
  79. package/dist/verification-manifest.d.ts +110 -0
  80. package/dist/verification-manifest.d.ts.map +1 -0
  81. package/dist/verification-manifest.js +150 -0
  82. package/dist/verification-manifest.js.map +1 -0
  83. package/dist/verify-reconciliation.d.ts +16 -1
  84. package/dist/verify-reconciliation.d.ts.map +1 -1
  85. package/dist/verify-reconciliation.js +18 -2
  86. package/dist/verify-reconciliation.js.map +1 -1
  87. package/dist/verify-restatement.d.ts +7 -0
  88. package/dist/verify-restatement.d.ts.map +1 -1
  89. package/dist/verify-restatement.js +1 -0
  90. package/dist/verify-restatement.js.map +1 -1
  91. package/package.json +2 -2
  92. package/dist/drift-ratify-loop.d.ts +0 -68
  93. package/dist/drift-ratify-loop.d.ts.map +0 -1
  94. package/dist/drift-ratify-loop.js +0 -161
  95. package/dist/drift-ratify-loop.js.map +0 -1
  96. package/dist/negative-branch.d.ts +0 -136
  97. package/dist/negative-branch.d.ts.map +0 -1
  98. package/dist/negative-branch.js +0 -241
  99. package/dist/negative-branch.js.map +0 -1
  100. package/dist/shortfall-disposition-config.d.ts +0 -34
  101. package/dist/shortfall-disposition-config.d.ts.map +0 -1
  102. package/dist/shortfall-disposition-config.js +0 -46
  103. package/dist/shortfall-disposition-config.js.map +0 -1
  104. package/dist/shortfall-disposition-loop.d.ts +0 -86
  105. package/dist/shortfall-disposition-loop.d.ts.map +0 -1
  106. package/dist/shortfall-disposition-loop.js +0 -309
  107. package/dist/shortfall-disposition-loop.js.map +0 -1
package/build-info.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "commitSha": "89beb337f",
3
- "builtAt": "2026-07-16T02:33:54.134Z",
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
  }
@@ -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. Only the execution status is consulted (terminal vs
100
- * not). Injected so tests drive the gate without live Supabase/MCP.
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
- getFocusDeliveries: (focusId: string) => Promise<Array<{
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":"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"}
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"}
@@ -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 { areAllDeliveriesTerminal } from './focus-phase.js';
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
- // ── Settle gate ──────────────────────────────────────────────────────────
252
- // Two-rate control: the focus team is the INNER loop nulling intent-vs-reality
253
- // error while it codes; this audit is the OUTER supervisory loop that must
254
- // sample only at the settle boundary. Spawning the opus assessor while any
255
- // delivery is still non-terminal measures the team's actuator mid-stroke -- it
256
- // reports the transient, intended error of active coding as drift (noise) and
257
- // burns an opus --print call that authors nothing. So gate the spawn: only run
258
- // it once the focus has SETTLED (every delivery terminal: {done, cancelled}).
259
- // A focus with zero deliveries never spawns. This suppresses ONLY the audit
260
- // spawn -- the loop's other five phases keep ticking and advancing the state
261
- // machine (the dispatcher always sees outcome:'continue'). Terminal is the
262
- // canonical set from focus-phase.areAllDeliveriesTerminal; not redefined here.
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 has settled. Skip the
269
- // spawn (the expensive thing this gate rations) and let the next tick retry;
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 settle`,
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 (!areAllDeliveriesTerminal(deliveries)) {
283
- const reason = deliveries.length === 0 ? 'no_deliveries' : 'deliveries_non_terminal';
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 settle`
292
- : `audit cycle ${cycleNumber} skipped -- focus not settled (deliveries still non-terminal)`,
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) {
@@ -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
- * Eager FRT-cascade desired-effect restatement authoring.
2
+ * Shared FRT-restatement type aliases.
3
3
  *
4
- * DRAFT-ASSIST BACKSTOP -- NOT THE SOURCE OF TRUTH. The declared desired
5
- * effect, authored as intent at injection time via the `target` action, is the
6
- * source of truth. This loop is an optional backstop that authors prose ONLY
7
- * when a declared desired effect is absent (the node's `frt_statement` is
8
- * blank); it NEVER overwrites a non-blank `frt_statement`. Everything it writes
9
- * is MARKED as a machine draft (`frt_statement_drafted=true`) so a declared
10
- * intent of record is always distinguishable from loop-generated draft prose.
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
- * When an injection flips a UDE, the derived-FRT engine marks not just the
13
- * directly-targeted UDE as resolved but the FULL downstream consequence
14
- * cascade (every UDE the flip propagates through). Today the verify-time path
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 { type RestatementInputs, type RestatementOptions } from './de-restatement.js';
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":"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"}
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"}