@telora/daemon 0.20.21 → 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/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/verification-engine.d.ts +15 -1
- package/dist/verification-engine.d.ts.map +1 -1
- package/dist/verification-engine.js +142 -69
- 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/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
|
@@ -1,436 +1,20 @@
|
|
|
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
|
-
|
|
39
|
-
import { authorRestatement as defaultAuthorRestatement, needsRestatement, } from './de-restatement.js';
|
|
40
|
-
import { proposeNegativeBranchesForInjection as defaultProposeNegativeBranches, } from './negative-branch.js';
|
|
41
|
-
import { authorRetiredInjectionRestatements as defaultAuthorRetiredInjectionRestatements } from './retire-aware-restatement.js';
|
|
42
|
-
import { configForProduct } from './config.js';
|
|
43
|
-
import { getActiveFocuses } from './queries/deliveries.js';
|
|
44
|
-
import { createLogger } from './log.js';
|
|
45
|
-
const log = createLogger({ module: 'negative-branch' });
|
|
46
|
-
/**
|
|
47
|
-
* Author injection-conditioned desired-effect prose across the FULL resolved
|
|
48
|
-
* cascade of a tree (the targeted UDE plus every downstream resolved
|
|
49
|
-
* consequence), eagerly.
|
|
50
|
-
*
|
|
51
|
-
* For each flipped/resolved node that still needs prose, authors one positive
|
|
52
|
-
* future-state sentence conditioned on the tree's active injection statements,
|
|
53
|
-
* then writes it to `frt_statement` via `reality_tree_node_update` (which
|
|
54
|
-
* leaves node_type and the base statement untouched).
|
|
55
|
-
*
|
|
56
|
-
* Best-effort per node: a per-node author-or-write failure is swallowed (that
|
|
57
|
-
* node is recorded as skipped) so one failure never aborts the cascade.
|
|
58
|
-
*
|
|
59
|
-
* Idempotent: a node whose `frt_statement` is already a positive sentence is
|
|
60
|
-
* skipped, not re-authored.
|
|
61
|
-
*/
|
|
62
|
-
export async function authorCascadeRestatements(treeId, deps = {}) {
|
|
63
|
-
const callApi = deps.callApi ?? defaultCallApi;
|
|
64
|
-
const author = deps.authorRestatement ?? defaultAuthorRestatement;
|
|
65
|
-
const authored = [];
|
|
66
|
-
const skipped = [];
|
|
67
|
-
const derived = await callApi('reality_tree_derive_frt', { treeId });
|
|
68
|
-
const nodes = derived.nodes ?? [];
|
|
69
|
-
// Active (applied) injection statements condition the prose so each UDE
|
|
70
|
-
// becomes the positive state it reaches GIVEN those injections.
|
|
71
|
-
const injectionStatements = nodes
|
|
72
|
-
.filter((n) => n.derivedNodeType === 'injection' && n.statement && n.statement.trim() !== '')
|
|
73
|
-
.map((n) => n.statement);
|
|
74
|
-
// The resolved cascade: the engine's flipped set, plus any node it derives
|
|
75
|
-
// as resolved (defensive union -- they should coincide).
|
|
76
|
-
const flippedIds = new Set(derived.flippedNodeIds ?? []);
|
|
77
|
-
const cascade = nodes.filter((n) => flippedIds.has(n.id) || n.resolved === true);
|
|
78
|
-
for (const node of cascade) {
|
|
79
|
-
// Idempotent: prose already authored -> skip, never re-author.
|
|
80
|
-
if (!needsRestatement(node.frtStatement)) {
|
|
81
|
-
skipped.push(node.id);
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
try {
|
|
85
|
-
const text = await author({
|
|
86
|
-
udeStatement: node.statement,
|
|
87
|
-
injectionStatements: injectionStatements.length > 0 ? injectionStatements : undefined,
|
|
88
|
-
});
|
|
89
|
-
if (!text || text.trim() === '') {
|
|
90
|
-
skipped.push(node.id);
|
|
91
|
-
continue;
|
|
92
|
-
}
|
|
93
|
-
// DRAFT-ASSIST: mark machine-authored prose as a draft (frt_statement_drafted=true).
|
|
94
|
-
// The declared desired effect (authored at injection time via the `target`
|
|
95
|
-
// action) is the source of truth; this loop only backstops the blank case.
|
|
96
|
-
await callApi('reality_tree_node_update', {
|
|
97
|
-
nodeId: node.id,
|
|
98
|
-
frtStatement: text.trim(),
|
|
99
|
-
frtStatementDrafted: true,
|
|
100
|
-
});
|
|
101
|
-
authored.push(node.id);
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
// best-effort: skip this node, keep going.
|
|
105
|
-
skipped.push(node.id);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
return { authored, skipped };
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Scan one focus's active reality trees and author cascade prose for any tree
|
|
112
|
-
* carrying at least one applied injection.
|
|
113
|
-
*
|
|
114
|
-
* Trees with no applied (derivedNodeType==='injection') injection are skipped
|
|
115
|
-
* cheaply via the derive-FRT pre-check -- there is nothing flipped to restate,
|
|
116
|
-
* so they do NOT increment treesScanned. Idempotency in
|
|
117
|
-
* authorCascadeRestatements prevents churn on already-authored trees.
|
|
118
|
-
*
|
|
119
|
-
* Shared by both the active-focus pass and the departed-focus catch-up pass so
|
|
120
|
-
* behavior is identical regardless of how the focus entered the scan.
|
|
121
|
-
*/
|
|
122
|
-
async function scanFocusTreesForProse(focusId, deps) {
|
|
123
|
-
let treesScanned = 0;
|
|
124
|
-
let authored = 0;
|
|
125
|
-
let trees;
|
|
126
|
-
try {
|
|
127
|
-
const resp = await deps.callApi('reality_tree_list', {
|
|
128
|
-
focusId,
|
|
129
|
-
});
|
|
130
|
-
trees = (resp.items ?? []).filter((t) => t.status === 'active');
|
|
131
|
-
}
|
|
132
|
-
catch (err) {
|
|
133
|
-
log.warn(`[frt-prose] reality_tree_list failed for focus ${focusId}:`, err.message);
|
|
134
|
-
return { treesScanned, authored };
|
|
135
|
-
}
|
|
136
|
-
for (const tree of trees) {
|
|
137
|
-
// Cheap pre-check: derive the FRT once, skip trees with no applied
|
|
138
|
-
// injection (nothing flipped to restate).
|
|
139
|
-
let derived;
|
|
140
|
-
try {
|
|
141
|
-
derived = await deps.callApi('reality_tree_derive_frt', {
|
|
142
|
-
treeId: tree.id,
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
catch (err) {
|
|
146
|
-
log.warn(`[frt-prose] derive_frt failed for tree ${tree.id}:`, err.message);
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
const hasInjection = (derived.nodes ?? []).some((n) => n.derivedNodeType === 'injection' && n.statement && n.statement.trim() !== '');
|
|
150
|
-
if (!hasInjection)
|
|
151
|
-
continue;
|
|
152
|
-
treesScanned += 1;
|
|
153
|
-
try {
|
|
154
|
-
const res = await deps.authorCascadeRestatements(tree.id, {
|
|
155
|
-
callApi: deps.callApi,
|
|
156
|
-
authorRestatement: deps.authorRestatement,
|
|
157
|
-
});
|
|
158
|
-
authored += res.authored.length;
|
|
159
|
-
}
|
|
160
|
-
catch (err) {
|
|
161
|
-
log.warn(`[frt-prose] authorCascadeRestatements failed for tree ${tree.id}:`, err.message);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return { treesScanned, authored };
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Retire-aware completion-time safety net for ONE departed focus.
|
|
168
|
-
*
|
|
169
|
-
* Runs only on the departed-focus catch-up pass, NOT every active tick. The
|
|
170
|
-
* active eager loop (`scanFocusTreesForProse`) authors from `derive_frt`, which
|
|
171
|
-
* is active-only and therefore blind to a focus whose injection already retired
|
|
172
|
-
* before a prose tick caught it (race mode a) or that completed while the loop
|
|
173
|
-
* was off/un-upgraded (race mode b). This pass closes both holes: for each
|
|
174
|
-
* active tree of the departed focus it authors prose for the UDEs that
|
|
175
|
-
* VERIFIED/RETIRED injections flipped, sourced from durable node history.
|
|
176
|
-
*
|
|
177
|
-
* Idempotent (already-authored nodes are not candidates) and best-effort
|
|
178
|
-
* (a per-tree failure is logged and skipped).
|
|
179
|
-
*/
|
|
180
|
-
async function scanFocusTreesForRetiredProse(focusId, deps) {
|
|
181
|
-
let authored = 0;
|
|
182
|
-
let trees;
|
|
183
|
-
try {
|
|
184
|
-
const resp = await deps.callApi('reality_tree_list', {
|
|
185
|
-
focusId,
|
|
186
|
-
});
|
|
187
|
-
trees = (resp.items ?? []).filter((t) => t.status === 'active');
|
|
188
|
-
}
|
|
189
|
-
catch (err) {
|
|
190
|
-
log.warn(`[frt-prose] reality_tree_list (retire-aware) failed for focus ${focusId}:`, err.message);
|
|
191
|
-
return { authored };
|
|
192
|
-
}
|
|
193
|
-
for (const tree of trees) {
|
|
194
|
-
try {
|
|
195
|
-
const res = await deps.authorRetiredInjectionRestatements(tree.id, {
|
|
196
|
-
callApi: deps.callApi,
|
|
197
|
-
authorRestatement: deps.authorRestatement,
|
|
198
|
-
});
|
|
199
|
-
authored += res.authored.length;
|
|
200
|
-
}
|
|
201
|
-
catch (err) {
|
|
202
|
-
log.warn(`[frt-prose] authorRetiredInjectionRestatements failed for tree ${tree.id}:`, err.message);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
return { authored };
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Focus IDs that were active on the PRIOR tick. focus.status is
|
|
209
|
-
* human-controlled and the daemon never observes a "focus completed" event, so
|
|
210
|
-
* a focus that completes (or is cancelled) simply drops out of
|
|
211
|
-
* getActiveFocuses. We diff against this set each tick to catch focuses that
|
|
212
|
-
* JUST left the active scan and author their resolved cascade once more -- the
|
|
213
|
-
* go-forward half of "every focus is authored before it completes". A focus
|
|
214
|
-
* that completed faster than a tick, before the loop existed, or with the loop
|
|
215
|
-
* opted out is the back-fill (historical) half, handled separately.
|
|
216
|
-
*
|
|
217
|
-
* Module-level so it persists across ticks within one daemon process. Restart
|
|
218
|
-
* resets it to empty: a fresh process simply observes the now-departed focus as
|
|
219
|
-
* never-seen and the historical back-fill covers it, so no authoring is lost.
|
|
220
|
-
*/
|
|
221
|
-
let priorActiveFocusIds = new Set();
|
|
222
|
-
/**
|
|
223
|
-
* Test-only seam: reset the prior-active-focus set so unrelated tests do not
|
|
224
|
-
* leak departed-focus state into one another. Not part of the public API.
|
|
225
|
-
*/
|
|
226
|
-
export function __resetProseTickState() {
|
|
227
|
-
priorActiveFocusIds = new Set();
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Eager reconciliation tick. For every product -> active focus -> active
|
|
231
|
-
* reality tree that carries at least one applied injection, runs
|
|
232
|
-
* authorCascadeRestatements so flipped cascade nodes get future-state prose
|
|
233
|
-
* without waiting for verify.
|
|
234
|
-
*
|
|
235
|
-
* Additionally diffs the current active-focus set against the prior tick's set
|
|
236
|
-
* and re-scans any focus that JUST departed (completed or cancelled), so a
|
|
237
|
-
* focus that leaves the active scan still gets its resolved cascade authored on
|
|
238
|
-
* the next tick. Idempotency means the re-scan is a no-op once authored.
|
|
239
|
-
*
|
|
240
|
-
* Trees with no applied (derivedNodeType==='injection') injection are skipped
|
|
241
|
-
* cheaply -- there is nothing flipped to restate. Idempotency in
|
|
242
|
-
* authorCascadeRestatements prevents churn on already-authored trees.
|
|
243
|
-
*/
|
|
244
|
-
export async function runCascadeProseTick(config, deps = {}) {
|
|
245
|
-
const callApi = deps.callApi ?? defaultCallApi;
|
|
246
|
-
const listFocuses = deps.getActiveFocuses ?? getActiveFocuses;
|
|
247
|
-
const authorCascade = deps.authorCascadeRestatements ?? authorCascadeRestatements;
|
|
248
|
-
const authorRetired = deps.authorRetiredInjectionRestatements ?? defaultAuthorRetiredInjectionRestatements;
|
|
249
|
-
const scanDeps = {
|
|
250
|
-
callApi,
|
|
251
|
-
authorRestatement: deps.authorRestatement,
|
|
252
|
-
authorCascadeRestatements: authorCascade,
|
|
253
|
-
authorRetiredInjectionRestatements: authorRetired,
|
|
254
|
-
};
|
|
255
|
-
let treesScanned = 0;
|
|
256
|
-
let authored = 0;
|
|
257
|
-
// The current tick's active-focus IDs, accumulated across all products so the
|
|
258
|
-
// departed-focus diff is computed against the whole scan, not per product.
|
|
259
|
-
const currentActiveFocusIds = new Set();
|
|
260
|
-
for (const product of config.products) {
|
|
261
|
-
const pc = configForProduct(config, product);
|
|
262
|
-
let focuses;
|
|
263
|
-
try {
|
|
264
|
-
focuses = await listFocuses(pc.organizationId, product.id);
|
|
265
|
-
}
|
|
266
|
-
catch (err) {
|
|
267
|
-
log.warn(`[frt-prose] getActiveFocuses failed for product ${product.id}:`, err.message);
|
|
268
|
-
continue;
|
|
269
|
-
}
|
|
270
|
-
for (const focus of focuses) {
|
|
271
|
-
currentActiveFocusIds.add(focus.focus_id);
|
|
272
|
-
const res = await scanFocusTreesForProse(focus.focus_id, scanDeps);
|
|
273
|
-
treesScanned += res.treesScanned;
|
|
274
|
-
authored += res.authored;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
// Departed focuses: seen active on the prior tick, absent now. Each just left
|
|
278
|
-
// the active scan (completed or cancelled). Two passes:
|
|
279
|
-
// 1. active path -- author its resolved cascade once more (covers a residual
|
|
280
|
-
// still-active injection at departure). Idempotent / injection-less no-op.
|
|
281
|
-
// 2. retire-aware path -- the completion-time safety net: author prose for
|
|
282
|
-
// UDEs flipped by injections that ALREADY retired (the common case for a
|
|
283
|
-
// completed focus, invisible to derive_frt). Sourced from node history.
|
|
284
|
-
for (const focusId of priorActiveFocusIds) {
|
|
285
|
-
if (currentActiveFocusIds.has(focusId))
|
|
286
|
-
continue;
|
|
287
|
-
const res = await scanFocusTreesForProse(focusId, scanDeps);
|
|
288
|
-
treesScanned += res.treesScanned;
|
|
289
|
-
authored += res.authored;
|
|
290
|
-
const retired = await scanFocusTreesForRetiredProse(focusId, scanDeps);
|
|
291
|
-
authored += retired.authored;
|
|
292
|
-
}
|
|
293
|
-
priorActiveFocusIds = currentActiveFocusIds;
|
|
294
|
-
return { treesScanned, authored };
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Background tick that proposes negative-branch reservations for every applied
|
|
298
|
-
* injection that has not yet had candidates generated.
|
|
299
|
-
*
|
|
300
|
-
* Idempotency: an injection is skipped when EITHER
|
|
301
|
-
* (a) it carries a durable `negative_branch_pass_ran_at` marker -- a pass has
|
|
302
|
-
* already COMPLETED for it (clean or not), so re-running would re-probe an
|
|
303
|
-
* injection whose doubt is already discharged; OR
|
|
304
|
-
* (b) any non-dismissed `add_node` proposal with
|
|
305
|
-
* `proposedMetadata.isNegativeBranch === true` and
|
|
306
|
-
* `proposedMetadata.sourceInjectionId === injectionId` already exists for
|
|
307
|
-
* the tree (the pre-marker signal; kept for back-compat with injections
|
|
308
|
-
* that were probed before the durable marker existed).
|
|
309
|
-
*
|
|
310
|
-
* The marker (a) is the load-bearing gate: it distinguishes "ran clean" (marker
|
|
311
|
-
* set, zero proposals) from "never ran" (marker null, zero proposals) -- the
|
|
312
|
-
* proposal-presence check (b) alone cannot. Dismissed proposals are left behind
|
|
313
|
-
* (the user cleared the concern; don't re-surface it).
|
|
314
|
-
*
|
|
315
|
-
* Shares the `TELORA_FRT_PROSE_LOOP` opt-out signal with the prose tick --
|
|
316
|
-
* both are FRT-overlay authoring concerns driven by the same guard.
|
|
317
|
-
*/
|
|
318
|
-
export async function runNegativeBranchTick(config, deps = {}) {
|
|
319
|
-
const callApi = deps.callApi ?? defaultCallApi;
|
|
320
|
-
const listFocuses = deps.getActiveFocuses ?? getActiveFocuses;
|
|
321
|
-
const proposeNb = deps.proposeNegativeBranches ?? defaultProposeNegativeBranches;
|
|
322
|
-
let treesScanned = 0;
|
|
323
|
-
let proposed = 0;
|
|
324
|
-
for (const product of config.products) {
|
|
325
|
-
const pc = configForProduct(config, product);
|
|
326
|
-
let focuses;
|
|
327
|
-
try {
|
|
328
|
-
focuses = await listFocuses(pc.organizationId, product.id);
|
|
329
|
-
}
|
|
330
|
-
catch (err) {
|
|
331
|
-
log.warn(`[negative-branch] getActiveFocuses failed for product ${product.id}:`, err.message);
|
|
332
|
-
continue;
|
|
333
|
-
}
|
|
334
|
-
for (const focus of focuses) {
|
|
335
|
-
let trees;
|
|
336
|
-
try {
|
|
337
|
-
const resp = await callApi('reality_tree_list', {
|
|
338
|
-
focusId: focus.focus_id,
|
|
339
|
-
});
|
|
340
|
-
trees = (resp.items ?? []).filter((t) => t.status === 'active');
|
|
341
|
-
}
|
|
342
|
-
catch (err) {
|
|
343
|
-
log.warn(`[negative-branch] reality_tree_list failed for focus ${focus.focus_id}:`, err.message);
|
|
344
|
-
continue;
|
|
345
|
-
}
|
|
346
|
-
for (const tree of trees) {
|
|
347
|
-
let derived;
|
|
348
|
-
try {
|
|
349
|
-
derived = await callApi('reality_tree_derive_frt', {
|
|
350
|
-
treeId: tree.id,
|
|
351
|
-
});
|
|
352
|
-
}
|
|
353
|
-
catch (err) {
|
|
354
|
-
log.warn(`[negative-branch] derive_frt failed for tree ${tree.id}:`, err.message);
|
|
355
|
-
continue;
|
|
356
|
-
}
|
|
357
|
-
// Only trees with at least one applied injection need NB analysis.
|
|
358
|
-
const appliedInjections = (derived.nodes ?? []).filter((n) => n.derivedNodeType === 'injection' && n.statement && n.statement.trim() !== '');
|
|
359
|
-
if (appliedInjections.length === 0)
|
|
360
|
-
continue;
|
|
361
|
-
treesScanned += 1;
|
|
362
|
-
// Load existing proposals for this tree to check idempotency.
|
|
363
|
-
let existingProposals = [];
|
|
364
|
-
try {
|
|
365
|
-
const pr = await callApi('crt_drift_proposal_list', {
|
|
366
|
-
realityTreeId: tree.id,
|
|
367
|
-
});
|
|
368
|
-
existingProposals = pr.items ?? [];
|
|
369
|
-
}
|
|
370
|
-
catch (err) {
|
|
371
|
-
log.warn(`[negative-branch] proposal_list failed for tree ${tree.id}:`, err.message);
|
|
372
|
-
continue;
|
|
373
|
-
}
|
|
374
|
-
// Build a set of injection IDs that already have non-dismissed NB proposals.
|
|
375
|
-
const alreadyProposed = new Set();
|
|
376
|
-
for (const p of existingProposals) {
|
|
377
|
-
if (p.status === 'dismissed')
|
|
378
|
-
continue;
|
|
379
|
-
const meta = p.proposedMetadata ?? {};
|
|
380
|
-
if (meta.isNegativeBranch === true &&
|
|
381
|
-
typeof meta.sourceInjectionId === 'string' &&
|
|
382
|
-
meta.sourceInjectionId !== '') {
|
|
383
|
-
alreadyProposed.add(meta.sourceInjectionId);
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
// Build a set of injection IDs whose durable pass-marker is already set
|
|
387
|
-
// -- a pass COMPLETED for them (clean or not), so they are already-run.
|
|
388
|
-
// This is the gate that distinguishes "ran clean" from "never ran".
|
|
389
|
-
const alreadyRan = new Set();
|
|
390
|
-
try {
|
|
391
|
-
const nl = await callApi('reality_tree_node_list', {
|
|
392
|
-
treeId: tree.id,
|
|
393
|
-
nodeType: 'injection',
|
|
394
|
-
});
|
|
395
|
-
for (const node of nl.items ?? []) {
|
|
396
|
-
if (node.negativeBranchPassRanAt)
|
|
397
|
-
alreadyRan.add(node.id);
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
catch (err) {
|
|
401
|
-
log.warn(`[negative-branch] node_list failed for tree ${tree.id}:`, err.message);
|
|
402
|
-
// Fall through: with no marker data we rely on the proposal-presence
|
|
403
|
-
// check alone (pre-marker behavior) rather than skipping the tree.
|
|
404
|
-
}
|
|
405
|
-
// UDE statements for context: nodes that are flipped in the current cascade.
|
|
406
|
-
const flippedIds = new Set(derived.flippedNodeIds ?? []);
|
|
407
|
-
const targetUdeStatements = (derived.nodes ?? [])
|
|
408
|
-
.filter((n) => n.derivedNodeType === 'undesired_effect' && flippedIds.has(n.id))
|
|
409
|
-
.map((n) => n.statement);
|
|
410
|
-
for (const inj of appliedInjections) {
|
|
411
|
-
// Already-run (durable marker) OR already-proposed (pre-marker signal).
|
|
412
|
-
if (alreadyRan.has(inj.id) || alreadyProposed.has(inj.id))
|
|
413
|
-
continue;
|
|
414
|
-
try {
|
|
415
|
-
const res = await proposeNb({
|
|
416
|
-
injectionNodeId: inj.id,
|
|
417
|
-
injectionStatement: inj.statement,
|
|
418
|
-
realityTreeId: tree.id,
|
|
419
|
-
focusId: focus.focus_id,
|
|
420
|
-
targetUdeStatements,
|
|
421
|
-
}, { callApi });
|
|
422
|
-
proposed += res.proposalIds.length;
|
|
423
|
-
if (res.errors.length > 0) {
|
|
424
|
-
log.warn(`[negative-branch] partial errors for injection ${inj.id}:`, res.errors.join('; '));
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
catch (err) {
|
|
428
|
-
log.warn(`[negative-branch] proposeNegativeBranches failed for injection ${inj.id}:`, err.message);
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
return { treesScanned, proposed };
|
|
435
|
-
}
|
|
19
|
+
export {};
|
|
436
20
|
//# sourceMappingURL=cascade-restatement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascade-restatement.js","sourceRoot":"","sources":["../src/cascade-restatement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cascade-restatement.js","sourceRoot":"","sources":["../src/cascade-restatement.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-engine.d.ts","sourceRoot":"","sources":["../src/focus-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA2B,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAClH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"focus-engine.d.ts","sourceRoot":"","sources":["../src/focus-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA2B,gBAAgB,EAAoC,MAAM,qBAAqB,CAAC;AAClH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwD/C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAOT;AAMD,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,IAAI,WAAW;IAExB,wCAAwC;IACxC,OAAO,CAAC,MAAM,CAA6B;IAE3C;;;;OAIG;IACH,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAEzC;;;;OAIG;IACH,SAAS,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,EAAE,CAAM;IAEjD,8EAA8E;IAC9E,OAAO,CAAC,qBAAqB,CAA6B;IAE1D;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAUlC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEjE,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsEjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkGtB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YA8C1C,wBAAwB;IA+BtC,IAAI,IAAI,IAAI;IAeN,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA2G/B,WAAW,IAAI,YAAY;IA0D3B,gBAAgB,IAAI,aAAa;IAwBjC;;;OAGG;IACH,OAAO,CAAC,aAAa;CAStB"}
|
package/dist/focus-engine.js
CHANGED
|
@@ -37,6 +37,7 @@ import { scanGitActivity } from './git/index.js';
|
|
|
37
37
|
import { upsertGitActivity, getLatestGitActivityTimestamp } from './queries/git-activity.js';
|
|
38
38
|
import { getActiveFocuses } from './queries/deliveries.js';
|
|
39
39
|
import { runFocusLoopOnce } from './focus-loop.js';
|
|
40
|
+
import { runAuditPhase } from './audit-phase.js';
|
|
40
41
|
import { registerScanner } from './security-scan-engine.js';
|
|
41
42
|
import { depsScanner } from './scanners/deps.js';
|
|
42
43
|
import { signaturesScanner } from './scanners/signatures.js';
|
|
@@ -300,6 +301,20 @@ export class FocusEngine {
|
|
|
300
301
|
// are the ones the daemon is actively driving.
|
|
301
302
|
const driven = focuses.filter(f => f.assigned_agent_role_id !== null);
|
|
302
303
|
for (const focus of driven) {
|
|
304
|
+
// Scope-time CRT self-refresh (repositioned out of the focus-loop
|
|
305
|
+
// PHASE_ORDER). runAuditPhase self-gates on the scoping-entry +
|
|
306
|
+
// change-detection gates (audit-phase.ts): it spawns the assessor ONLY
|
|
307
|
+
// when the focus is at the front of a scoping act AND the tree has
|
|
308
|
+
// changed since the last audit, so this per-tick call is a cheap
|
|
309
|
+
// no-op the rest of the time. It is invoked BEFORE runFocusLoopOnce so
|
|
310
|
+
// realign_crt applies against a freshly-reconciled tree. Failures are
|
|
311
|
+
// swallowed (runAuditPhase never throws by contract; belt-and-suspenders).
|
|
312
|
+
try {
|
|
313
|
+
await runAuditPhase(focus.focus_id);
|
|
314
|
+
}
|
|
315
|
+
catch (err) {
|
|
316
|
+
log.warn(`[focus-loop] scope-time audit refresh failed for focus ${focus.focus_id}:`, err.message);
|
|
317
|
+
}
|
|
303
318
|
try {
|
|
304
319
|
await runFocusLoopOnce(focus.focus_id);
|
|
305
320
|
}
|
package/dist/focus-engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-engine.js","sourceRoot":"","sources":["../src/focus-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"focus-engine.js","sourceRoot":"","sources":["../src/focus-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-loop-registry.d.ts","sourceRoot":"","sources":["../src/focus-loop-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"focus-loop-registry.d.ts","sourceRoot":"","sources":["../src/focus-loop-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB/C;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,sEAAsE;IACtE,SAAS,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,EAAE,CAAC;IAC5C,kFAAkF;IAClF,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAC9D;AAED,eAAO,MAAM,aAAa,EAAE,cAAc,EAkUzC,CAAC"}
|