@telora/daemon 0.21.146 → 0.21.151

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "commitSha": "b3169e14d",
3
- "builtAt": "2026-08-21T18:35:12.166Z",
2
+ "commitSha": "ca8eb94bb",
3
+ "builtAt": "2026-08-22T14:17:39.701Z",
4
4
  "expectedMigrations": [
5
5
  "20250829113330_create_org_nodes_table.sql",
6
6
  "20250829113402_fix_function_security_search_path.sql",
@@ -760,6 +760,7 @@
760
760
  "20260818201246_agent_escalations_kind_restore_promoted_add_propagation_stale.sql",
761
761
  "20260819164725_iteration_count_exempt_instrument_fault.sql",
762
762
  "20260819183306_add_durable_spawn_cooldown_columns.sql",
763
- "20260819191559_add_durable_advancement_and_coverage_bounds.sql"
763
+ "20260819191559_add_durable_advancement_and_coverage_bounds.sql",
764
+ "20260821220144_focus_acceptance_criteria.sql"
764
765
  ]
765
766
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit-prompt.d.ts","sourceRoot":"","sources":["../../src/audit/audit-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC;AAuKhD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAQ9D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,QAAgC,CAAC"}
1
+ {"version":3,"file":"audit-prompt.d.ts","sourceRoot":"","sources":["../../src/audit/audit-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,MAAM,CAAC;AAiLhD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAQ9D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,QAAgC,CAAC"}
@@ -112,7 +112,7 @@ NOT create one delivery per audit area -- unify the audit into ONE focus tree
112
112
  and let each injection (each root cause) anchor exactly one planning delivery.
113
113
  Do NOT attempt fixes.
114
114
 
115
- ## Acceptance criteria carry the future state ONLY -- never a hold
115
+ ## Acceptance criteria carry the future state ONLY -- never a hold, never a waiver
116
116
  A remediation delivery's acceptanceCriteria state ONLY the **FRT desired
117
117
  effect**: the future-state that becomes true once the root cause is cleared.
118
118
  AcceptanceCriteria are NOT workflow state and NOT a channel to a human. Never
@@ -120,7 +120,10 @@ write into acceptanceCriteria:
120
120
  - process instructions or step-by-step directions to the executing team,
121
121
  - a hold, a pause, or an approval requirement (e.g. "HOLD FOR HUMAN REVIEW
122
122
  BEFORE EXECUTING", "do not execute until ...", "wait for sign-off"),
123
- - status commentary or notes about what you think should happen next.
123
+ - status commentary or notes about what you think should happen next,
124
+ - a WAIVER of a criterion this delivery cannot satisfy (e.g. "do not expect
125
+ this to change", "judge by attempt, not by the retired count") -- such a
126
+ criterion belongs at the focus altitude; relocate it there.
124
127
 
125
128
  Prose is invisible to the workflow: a hold written into acceptanceCriteria
126
129
  gates nothing, and on a live focus the executing team either obeys a stop the
@@ -134,6 +137,13 @@ escalation for a genuine do-not-run reason you cannot resolve yourself -- a
134
137
  missing dependency, work that truly needs human intent -- and never encode the
135
138
  doubt as acceptance-criteria text.
136
139
 
140
+ Prose is equally invisible as a WAIVER. A criterion you cannot satisfy at this
141
+ delivery's altitude is not satisfied by a note asking the reviewer to disregard
142
+ it -- the note lowers the bar and, like a prose hold, leaves no trace. A
143
+ criterion only the FOCUS can satisfy (an outcome that spans deliveries) belongs
144
+ at the focus altitude: relocate it there rather than parking it on a delivery
145
+ that cannot measure it and annotating it away.
146
+
137
147
  ## Statement quality (Goldratt Categories of Legitimate Reservation)
138
148
  Hold every node to three statement-quality reservations AS YOU WRITE IT --
139
149
  inline with the rounds above, not a separate pass:
@@ -1 +1 @@
1
- {"version":3,"file":"audit-prompt.js","sourceRoot":"","sources":["../../src/audit/audit-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH;;;;;GAKG;AACH,MAAM,WAAW,GAAsB;IACrC,uEAAuE;IACvE,EAAE;IACF,ujBAAujB;CACxjB,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,OAAqB;IAChD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO;YACL,EAAE;YACF,6RAA6R;SAC9R,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE;QACF,whBAAwhB;KACzhB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,kBAAkB,GAAsB;IAC5C,EAAE;IACF,yIAAyI;IACzI,EAAE;IACF,kBAAkB;IAClB,0BAA0B;IAC1B,0BAA0B;IAC1B,YAAY;IACZ,4IAA4I;IAC5I,KAAK;IACL,EAAE;IACF,6LAA6L;CAC9L,CAAC;AAEF,+EAA+E;AAC/E,uEAAuE;AACvE,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,oCAAoC;AACpC,2BAA2B;AAC3B,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EAsGoD,CAAC;AAChF,yBAAyB;AAEzB;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAqB;IACpD,OAAO;QACL,GAAG,WAAW;QACd,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC/B,EAAE;QACF,kBAAkB;QAClB,GAAG,kBAAkB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"audit-prompt.js","sourceRoot":"","sources":["../../src/audit/audit-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH;;;;;GAKG;AACH,MAAM,WAAW,GAAsB;IACrC,uEAAuE;IACvE,EAAE;IACF,ujBAAujB;CACxjB,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,OAAqB;IAChD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO;YACL,EAAE;YACF,6RAA6R;SAC9R,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE;QACF,whBAAwhB;KACzhB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,kBAAkB,GAAsB;IAC5C,EAAE;IACF,yIAAyI;IACzI,EAAE;IACF,kBAAkB;IAClB,0BAA0B;IAC1B,0BAA0B;IAC1B,YAAY;IACZ,4IAA4I;IAC5I,KAAK;IACL,EAAE;IACF,6LAA6L;CAC9L,CAAC;AAEF,+EAA+E;AAC/E,uEAAuE;AACvE,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,oCAAoC;AACpC,2BAA2B;AAC3B,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EAgHoD,CAAC;AAChF,yBAAyB;AAEzB;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAqB;IACpD,OAAO;QACL,GAAG,WAAW;QACd,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC/B,EAAE;QACF,kBAAkB;QAClB,GAAG,kBAAkB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC"}
@@ -38,11 +38,59 @@ export interface SettleSweepDeps {
38
38
  /** The per-injection FRT writeback verify, keyed by owning tree id. */
39
39
  buildVerify: (treeIdByInjection: ReadonlyMap<string, string>) => (injectionId: string, evidence: string) => Promise<void>;
40
40
  }
41
+ /** Injectable API-client shape for the snapshot resolver (test seam). */
42
+ type SnapshotCallApi = <T>(action: string, params?: Record<string, unknown>) => Promise<T>;
43
+ /**
44
+ * Resolve every injection node for a focus across statuses (active + retired),
45
+ * keyed by node id -- so an injection's status is read DIRECTLY from its node
46
+ * rather than inferred from presence in an active-only list.
47
+ *
48
+ * Why not `reality_tree_focus_injections`: that action filters injection nodes
49
+ * to status='active' (graph-traversal.ts), and verifying an injection retires
50
+ * its node (graph-verification.ts sets injection_status='verified' AND
51
+ * status='retired'). So a verified injection is ABSENT from that list entirely,
52
+ * making "already verified" and "absent for an unknown reason" the SAME
53
+ * observation. Fetching the retired injection nodes too makes a verified
54
+ * injection PRESENT with injectionStatus='verified' (which planInjectionSweep
55
+ * then skips as settled), leaving genuine absence to mean only "could not
56
+ * resolve". `reality_tree_node_list` filters a single status, so both an active
57
+ * and a retired pass are issued per focus tree. Bounded and once-per-settle
58
+ * (the caller latches a settled focus quiet), not a per-tick cost.
59
+ */
60
+ export declare function resolveInjectionSnapshot(focusId: string, api: SnapshotCallApi): Promise<InjectionNodeSnapshot[]>;
41
61
  export interface SettleSweepOutcome {
42
62
  planSize: number;
43
63
  verified: number;
44
64
  /** Per-entry verify failures; empty when every planned injection retired. */
45
65
  failures: SweepFailure[];
66
+ /**
67
+ * True when the sweep reached a definite conclusion this settle: it fetched
68
+ * the injection snapshot and either found nothing to plan (a settled tree) or
69
+ * ran the plan to a result. False ONLY when an I/O failure -- the snapshot
70
+ * fetch throwing, or executeSweep throwing -- prevented the sweep from knowing
71
+ * whether the tree settled at all.
72
+ *
73
+ * This is the distinction the caller's swept-latch guard reads. `complete` is
74
+ * whole-sweep and NOT attributable to any one injection, which is exactly why
75
+ * an I/O failure is carried here rather than synthesised into `failures[]`
76
+ * (that array is per-injection verify rejections). A focus is marked swept
77
+ * only when `complete === true && failures.length === 0`; a sweep that could
78
+ * not run (`complete === false`) is left unmarked so the next settle retries.
79
+ */
80
+ complete: boolean;
81
+ /**
82
+ * Ids of anchored injections whose status could NOT be resolved from the
83
+ * snapshot this settle -- absent from the fetched injection nodes, or present
84
+ * with a null/absent status field. This is the observability signal that separates the two
85
+ * causes of an empty plan: a SETTLED tree (every anchored injection present,
86
+ * e.g. 'verified') leaves this empty and stays silent, while an UNRESOLVABLE
87
+ * response (a degraded injections read, a response-shape regression) populates
88
+ * it and emits a one-per-settle trace. Empty on the I/O-failure paths, where
89
+ * `complete: false` already carries the "could not run" signal and no
90
+ * per-injection claim is made. Delivery "An empty plan leaves a
91
+ * distinguishable trace".
92
+ */
93
+ unresolvedAnchored: string[];
46
94
  }
47
95
  /**
48
96
  * Retire the focus's anchored injections whose anchoring delivery closed
@@ -1 +1 @@
1
- {"version":3,"file":"settle-injection-sweep.d.ts","sourceRoot":"","sources":["../../src/completion/settle-injection-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM3D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAO3F,4EAA4E;AAC5E,UAAU,qBAAqB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC9E,uEAAuE;IACvE,WAAW,EAAE,CACX,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAYD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC/C,UAAU,EAAE,iBAAiB,EAAE,EAC/B,IAAI,GAAE,eAA6B,GAClC,OAAO,CAAC,kBAAkB,CAAC,CAwD7B"}
1
+ {"version":3,"file":"settle-injection-sweep.d.ts","sourceRoot":"","sources":["../../src/completion/settle-injection-sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAM3D,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAW3F,4EAA4E;AAC5E,UAAU,qBAAqB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC9E,uEAAuE;IACvE,WAAW,EAAE,CACX,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3C,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,yEAAyE;AACzE,KAAK,eAAe,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3F;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA+BlC;AAOD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB;;;;;;;;;;;;;OAaG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC/C,UAAU,EAAE,iBAAiB,EAAE,EAC/B,IAAI,GAAE,eAA6B,GAClC,OAAO,CAAC,kBAAkB,CAAC,CAmH7B"}
@@ -28,11 +28,58 @@ import { buildWritebackVerify } from '../queries/verification.js';
28
28
  import { callApi } from '../queries/shared.js';
29
29
  import { createLogger } from '../shell/log.js';
30
30
  const log = createLogger({ module: 'settle-injection-sweep' });
31
+ /**
32
+ * Resolve every injection node for a focus across statuses (active + retired),
33
+ * keyed by node id -- so an injection's status is read DIRECTLY from its node
34
+ * rather than inferred from presence in an active-only list.
35
+ *
36
+ * Why not `reality_tree_focus_injections`: that action filters injection nodes
37
+ * to status='active' (graph-traversal.ts), and verifying an injection retires
38
+ * its node (graph-verification.ts sets injection_status='verified' AND
39
+ * status='retired'). So a verified injection is ABSENT from that list entirely,
40
+ * making "already verified" and "absent for an unknown reason" the SAME
41
+ * observation. Fetching the retired injection nodes too makes a verified
42
+ * injection PRESENT with injectionStatus='verified' (which planInjectionSweep
43
+ * then skips as settled), leaving genuine absence to mean only "could not
44
+ * resolve". `reality_tree_node_list` filters a single status, so both an active
45
+ * and a retired pass are issued per focus tree. Bounded and once-per-settle
46
+ * (the caller latches a settled focus quiet), not a per-tick cost.
47
+ */
48
+ export async function resolveInjectionSnapshot(focusId, api) {
49
+ const treesResp = await api('reality_tree_list', { focusId });
50
+ const trees = (treesResp.items ?? []).filter((t) => t.status === 'active');
51
+ if (trees.length === 0)
52
+ return [];
53
+ const snapshot = [];
54
+ const seen = new Set();
55
+ for (const tree of trees) {
56
+ const [activeResp, retiredResp] = await Promise.all([
57
+ api('reality_tree_node_list', {
58
+ treeId: tree.id,
59
+ nodeType: 'injection',
60
+ status: 'active',
61
+ }),
62
+ api('reality_tree_node_list', {
63
+ treeId: tree.id,
64
+ nodeType: 'injection',
65
+ status: 'retired',
66
+ }),
67
+ ]);
68
+ for (const node of [...(activeResp.items ?? []), ...(retiredResp.items ?? [])]) {
69
+ if (seen.has(node.id))
70
+ continue;
71
+ seen.add(node.id);
72
+ snapshot.push({
73
+ id: node.id,
74
+ injectionStatus: node.injectionStatus,
75
+ realityTreeId: node.realityTreeId || tree.id,
76
+ });
77
+ }
78
+ }
79
+ return snapshot;
80
+ }
31
81
  const defaultDeps = {
32
- fetchInjectionSnapshot: async (focusId) => {
33
- const result = await callApi('reality_tree_focus_injections', { focusId });
34
- return (result.items ?? []).map((i) => i.injection);
35
- },
82
+ fetchInjectionSnapshot: (focusId) => resolveInjectionSnapshot(focusId, callApi),
36
83
  buildVerify: (treeIdByInjection) => buildWritebackVerify(treeIdByInjection),
37
84
  };
38
85
  /**
@@ -42,8 +89,11 @@ const defaultDeps = {
42
89
  */
43
90
  export async function sweepAnchoredInjectionsOnSettle(focus, deliveries, deps = defaultDeps) {
44
91
  const anchored = getAnchoringDeliveries(deliveries);
45
- if (anchored.length === 0)
46
- return { planSize: 0, verified: 0, failures: [] };
92
+ // No anchored injections -> nothing this focus could ever sweep. A definite
93
+ // conclusion, so complete: true (the caller may latch the focus quiet).
94
+ if (anchored.length === 0) {
95
+ return { planSize: 0, verified: 0, failures: [], complete: true, unresolvedAnchored: [] };
96
+ }
47
97
  let snapshot;
48
98
  try {
49
99
  snapshot = await deps.fetchInjectionSnapshot(focus.focus_id);
@@ -51,7 +101,11 @@ export async function sweepAnchoredInjectionsOnSettle(focus, deliveries, deps =
51
101
  catch (err) {
52
102
  log.warn(`[settle-sweep] failed to fetch injections for focus ${focus.focus_id.slice(0, 8)}: ` +
53
103
  `${err.message} -- holding; next settle retries`);
54
- return { planSize: 0, verified: 0, failures: [] };
104
+ // Could not read the tree -- we do NOT know whether it settled. complete: false
105
+ // so the caller holds the focus unswept and retries on the next settle.
106
+ // unresolvedAnchored stays empty: with no snapshot we make no per-injection
107
+ // claim; complete:false is the signal here.
108
+ return { planSize: 0, verified: 0, failures: [], complete: false, unresolvedAnchored: [] };
55
109
  }
56
110
  const statusById = new Map();
57
111
  const treeIdByInjection = new Map();
@@ -62,16 +116,50 @@ export async function sweepAnchoredInjectionsOnSettle(focus, deliveries, deps =
62
116
  treeIdByInjection.set(item.id, treeId);
63
117
  }
64
118
  }
119
+ // Anchored injections whose status the snapshot could NOT resolve: absent
120
+ // from the fetched injection nodes, OR present with a null/undefined status
121
+ // (a renamed/absent status field -- the response-shape regression this trace
122
+ // exists to catch). `statusById.get(id) == null` covers both (absent -> get
123
+ // returns undefined; present-null -> null). After the node-based resolution a
124
+ // settled injection is PRESENT with a real status ('verified'), so a null-or-
125
+ // absent anchor means a genuinely degraded read -- not a settled tree.
126
+ const unresolvedAnchored = [
127
+ ...new Set(anchored
128
+ .map((d) => d.injectionId)
129
+ .filter((id) => typeof id === 'string' && id.length > 0 && statusById.get(id) == null)),
130
+ ].sort();
65
131
  const plan = planInjectionSweep(anchored, statusById);
66
- if (plan.length === 0)
67
- return { planSize: 0, verified: 0, failures: [] }; // nothing verifiable -- no-op
132
+ if (plan.length === 0) {
133
+ // An empty plan has two causes that were previously byte-identical (silent):
134
+ // a SETTLED tree (every anchored injection present and terminal) vs an
135
+ // UNRESOLVABLE read (some anchored injection absent). Log ONLY the
136
+ // unresolvable case, so a settled focus stays silent and a degraded
137
+ // injections response leaves a trace readable from the daemon log alone.
138
+ // Rate is bounded to once per settle-entry: this complete:true return arms
139
+ // the caller's settledSweptFocuses latch, which then skips the sweep on
140
+ // subsequent ticks -- so this never reintroduces the per-tick flood.
141
+ if (unresolvedAnchored.length > 0) {
142
+ const sample = unresolvedAnchored
143
+ .slice(0, 3)
144
+ .map((id) => id.slice(0, 8))
145
+ .join(', ');
146
+ log.warn(`[settle-sweep] Focus "${focus.focus_name}" planned no injections but ` +
147
+ `${unresolvedAnchored.length} anchored injection(s) could not be resolved from the ` +
148
+ `injection snapshot (sample: ${sample}${unresolvedAnchored.length > 3 ? ', ...' : ''}) ` +
149
+ `-- a degraded injections read, not a settled tree. Logged once per settle-entry.`);
150
+ }
151
+ return { planSize: 0, verified: 0, failures: [], complete: true, unresolvedAnchored };
152
+ }
68
153
  let outcome;
69
154
  try {
70
155
  outcome = await executeSweep(plan, deps.buildVerify(treeIdByInjection));
71
156
  }
72
157
  catch (err) {
73
158
  log.warn(`[settle-sweep] sweep threw for focus ${focus.focus_id.slice(0, 8)}: ${err.message}`);
74
- return { planSize: plan.length, verified: 0, failures: [] };
159
+ // executeSweep threw before producing a per-entry outcome -- we do NOT know
160
+ // which injections retired. complete: false so the caller retries next settle;
161
+ // unresolvedAnchored stays empty per the I/O-failure convention.
162
+ return { planSize: plan.length, verified: 0, failures: [], complete: false, unresolvedAnchored: [] };
75
163
  }
76
164
  if (outcome.verified.length > 0) {
77
165
  log.info(`[settle-sweep] Focus "${focus.focus_name}" reached winding_down -- retired ` +
@@ -85,6 +173,14 @@ export async function sweepAnchoredInjectionsOnSettle(focus, deliveries, deps =
85
173
  `(first: ${first ? `${first.injectionId.slice(0, 8)} -- ${first.error.message}` : 'n/a'}); ` +
86
174
  `next settle retries the rest`);
87
175
  }
88
- return { planSize: plan.length, verified: outcome.verified.length, failures: outcome.failures };
176
+ // The plan ran to a per-entry result. complete: true -- the caller latches
177
+ // the focus only if there were also no per-injection failures.
178
+ return {
179
+ planSize: plan.length,
180
+ verified: outcome.verified.length,
181
+ failures: outcome.failures,
182
+ complete: true,
183
+ unresolvedAnchored,
184
+ };
89
185
  }
90
186
  //# sourceMappingURL=settle-injection-sweep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settle-injection-sweep.js","sourceRoot":"","sources":["../../src/completion/settle-injection-sweep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settle-injection-sweep.js","sourceRoot":"","sources":["../../src/completion/settle-injection-sweep.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@
29
29
  */
30
30
  import type { DaemonConfig, PipelineConfig } from '../types/index.js';
31
31
  import type { FocusDeliveryInfo } from '../types/index.js';
32
+ import { type SettleSweepOutcome } from './settle-injection-sweep.js';
32
33
  import { type FocusExecutionPhase } from '../focus/focus-phase.js';
33
34
  /** Injectable dependencies for cascade functions (testing). */
34
35
  export interface CascadeDeps {
@@ -36,6 +37,18 @@ export interface CascadeDeps {
36
37
  setReviewRequestedAt: (focusId: string, isoTimestamp: string) => Promise<void>;
37
38
  clearReviewRequestedAt: (focusId: string) => Promise<void>;
38
39
  }
40
+ /**
41
+ * Whether a settle sweep's outcome permits latching the focus as swept (quiet
42
+ * for the rest of this run). True ONLY when the sweep reached a definite
43
+ * conclusion (`complete`) AND left no per-injection verify failure. A sweep that
44
+ * could not run (`complete === false`, an I/O failure) or that partially failed
45
+ * (`failures` non-empty) returns false, so the focus stays unlatched and the
46
+ * next settle retries it. Extracted and exported so the latch contract is
47
+ * unit-testable without driving the whole cascade (which invokes the sweep
48
+ * directly, not through a DI seam) -- keeping the daemon's stated retry contract
49
+ * in one checkable place.
50
+ */
51
+ export declare function shouldLatchSweptFocus(sweep: SettleSweepOutcome): boolean;
39
52
  /**
40
53
  * Test-only: clear the auto-review backoff signatures so each test starts from
41
54
  * a clean slate (the map is module-level and otherwise persists across cases).
@@ -1 +1 @@
1
- {"version":3,"file":"state-cascade.d.ts","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAU3D,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAarF,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AA2CD;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAGxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,mBAAmB,EAC1B,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,mBAAmB,EAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6F1E"}
1
+ {"version":3,"file":"state-cascade.d.ts","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAQ3D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAarF,+DAA+D;AAC/D,MAAM,WAAW,WAAW;IAC1B,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAExE;AAcD;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAGxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,mBAAmB,EAC1B,cAAc,EAAE,cAAc,GAAG,IAAI,EACrC,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA2Cf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,mBAAmB,EAC1B,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,IAAI,GAAE,WAAyB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAmG1E"}
@@ -31,7 +31,7 @@ import { DELIVERY_STATUS } from '@telora/daemon-core';
31
31
  import { getActiveFocuses } from '../queries/focus-discovery.js';
32
32
  import { getFocusDeliveries as _getFocusDeliveries, setReviewRequestedAt as _setReviewRequestedAt, clearReviewRequestedAt as _clearReviewRequestedAt, } from '../queries/focuses.js';
33
33
  import { configForProduct } from '../shell/config.js';
34
- import { sweepAnchoredInjectionsOnSettle } from './settle-injection-sweep.js';
34
+ import { sweepAnchoredInjectionsOnSettle, } from './settle-injection-sweep.js';
35
35
  import { emitLoopTrigger } from '../loops/index.js';
36
36
  import { deriveFocusPhase } from '../focus/focus-phase.js';
37
37
  import { isReviewEnabled } from '../workflow/pipeline-config.js';
@@ -59,12 +59,29 @@ const lastReviewSignature = new Map();
59
59
  * Focuses whose anchored-injection settle sweep has already fully succeeded this
60
60
  * run, so a winding_down focus is not re-fetched every poll (keeping a terminal
61
61
  * focus quiet). Cleared when a focus leaves winding_down (a new delivery may add
62
- * a fresh anchored injection to retire on the next settle), and NOT set on a
63
- * partial/failed sweep so the remainder retries next poll. In-memory only: a
64
- * re-exec re-runs the sweep once, which is an idempotent empty-plan no-op once
65
- * the tree is settled -- not a bound/halt, so it needs no durable column.
62
+ * a fresh anchored injection to retire on the next settle). NOT set unless the
63
+ * sweep both reached a conclusion (`complete`) AND had no per-injection failures:
64
+ * a partial sweep (some verifies failed) OR a sweep that could not run at all (an
65
+ * I/O failure returning `complete: false`) leaves the focus unlatched so the next
66
+ * settle retries. In-memory only: a re-exec re-runs the sweep once, which is an
67
+ * idempotent empty-plan no-op once the tree is settled -- not a bound/halt, so it
68
+ * needs no durable column.
66
69
  */
67
70
  const settledSweptFocuses = new Set();
71
+ /**
72
+ * Whether a settle sweep's outcome permits latching the focus as swept (quiet
73
+ * for the rest of this run). True ONLY when the sweep reached a definite
74
+ * conclusion (`complete`) AND left no per-injection verify failure. A sweep that
75
+ * could not run (`complete === false`, an I/O failure) or that partially failed
76
+ * (`failures` non-empty) returns false, so the focus stays unlatched and the
77
+ * next settle retries it. Extracted and exported so the latch contract is
78
+ * unit-testable without driving the whole cascade (which invokes the sweep
79
+ * directly, not through a DI seam) -- keeping the daemon's stated retry contract
80
+ * in one checkable place.
81
+ */
82
+ export function shouldLatchSweptFocus(sweep) {
83
+ return sweep.complete && sweep.failures.length === 0;
84
+ }
68
85
  /**
69
86
  * Compute a stable signature of the focus's delivery aggregate. Changes when a
70
87
  * delivery's status, last-update time, merge commit, or git state moves --
@@ -215,8 +232,13 @@ export async function runCascadeChecks(config) {
215
232
  if (phase === 'winding_down') {
216
233
  if (!settledSweptFocuses.has(focus.focus_id)) {
217
234
  const sweep = await sweepAnchoredInjectionsOnSettle({ focus_id: focus.focus_id, focus_name: focus.focus_name }, deliveries);
218
- if (sweep.failures.length === 0)
235
+ // Latch the focus swept only when the sweep actually reached a
236
+ // conclusion (complete) AND had no per-injection failures. A sweep
237
+ // that could not run -- snapshot fetch or execution threw -- returns
238
+ // complete: false and is left unlatched so the next settle retries.
239
+ if (shouldLatchSweptFocus(sweep)) {
219
240
  settledSweptFocuses.add(focus.focus_id);
241
+ }
220
242
  }
221
243
  }
222
244
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"state-cascade.js","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-cascade.js","sourceRoot":"","sources":["../../src/completion/state-cascade.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"persona-sections.d.ts","sourceRoot":"","sources":["../../src/prompt-sections/persona-sections.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,oBAAoB,EAAE,MAAM,GAC3B,MAAM,EAAE,CAqBV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAkHnF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,EAAE,CA6BxD;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAQjF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CA8BtD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,MAAM,EAAE,CAuDV;AAMD,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CA6EvE"}
1
+ {"version":3,"file":"persona-sections.d.ts","sourceRoot":"","sources":["../../src/prompt-sections/persona-sections.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,wBAAgB,gCAAgC,CAC9C,oBAAoB,EAAE,MAAM,GAC3B,MAAM,EAAE,CAqBV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAyInF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,EAAE,CA6BxD;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAQjF;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CA8BtD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,MAAM,EAAE,CAuDV;AAMD,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE;QAAE,IAAI,EAAE,aAAa,GAAG,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CA6EvE"}
@@ -169,6 +169,29 @@ export function buildReviewOutcomeStampingSection(agentSessionId) {
169
169
  'filed defects for is the one failure mode this review gate exists to catch,',
170
170
  'and the ratified-shortfall rate is measured. When in doubt, file the defect.',
171
171
  '',
172
+ '## REQUIRED: Verdict Every Acceptance Criterion',
173
+ '',
174
+ 'An acceptance criterion cannot be waived by prose. When you complete this',
175
+ 'review, pass `acVerdicts` to `focus_review_complete`: one entry per',
176
+ "acceptance criterion across this focus's deliveries, each naming the",
177
+ '`criterion` verbatim and a `verdict` of exactly one of:',
178
+ '',
179
+ '- `met` -- the work satisfies the criterion.',
180
+ '- `not_met` -- it is not satisfied; give a `rationale` naming the gap. An',
181
+ ' `approved` review is REFUSED while any criterion is `not_met` -- file',
182
+ ' defects and stamp `gaps_found`, or excuse it (below).',
183
+ '- `excused` -- the criterion is waived. This LOWERS A BAR, so it requires a',
184
+ ' non-empty `rationale` and `reviewSessionId` set to your review session id',
185
+ ' (the same separation of duties a ratified shortfall requires). Excuse ONLY',
186
+ ' a criterion that was mis-placed or wrong -- e.g. an outcome only the focus',
187
+ ' can satisfy that was parked on a single delivery -- never as a convenience',
188
+ ' when the work fell short.',
189
+ '',
190
+ 'Every verdict is recorded who/when/why in the review, and an omitted or',
191
+ 'unnamed criterion is refused on approval -- so an unmet one cannot be',
192
+ 'absorbed into the free-text summary. This is the acceptance-criteria analog',
193
+ 'of shortfall disposition above.',
194
+ '',
172
195
  ];
173
196
  }
174
197
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"persona-sections.js","sourceRoot":"","sources":["../../src/prompt-sections/persona-sections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persona-sections.js","sourceRoot":"","sources":["../../src/prompt-sections/persona-sections.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scoping-sections.d.ts","sourceRoot":"","sources":["../../src/prompt-sections/scoping-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAyDrD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA2FlF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAiBtD"}
1
+ {"version":3,"file":"scoping-sections.d.ts","sourceRoot":"","sources":["../../src/prompt-sections/scoping-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAyDrD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAwGlF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAiBtD"}
@@ -120,6 +120,19 @@ export function buildRescopingSection(focusId, productId) {
120
120
  'a runbook that the operator follows after deployment. Your job is to author',
121
121
  'the runbook, not perform the observation.',
122
122
  '',
123
+ '**A criterion only the FOCUS can satisfy is relocated up an altitude, not',
124
+ 'waived.** Distinct from the runtime/operator case above: sometimes a',
125
+ 'criterion is a perfectly checkable OUTCOME, but one that spans the whole',
126
+ 'focus and that no single delivery can satisfy alone (e.g. "every delivery in',
127
+ 'this focus preserves X"). Do NOT park it on one delivery and annotate it away',
128
+ 'in a footnote asking the reviewer to disregard it -- prose is invisible as a',
129
+ 'WAIVER just as it is invisible as a hold, and the criterion then goes',
130
+ 'unmeasured. Instead RELOCATE it to the focus: set the focus-level acceptance',
131
+ 'criteria (`telora_product_focus` action `update`, `acceptanceCriteria`).',
132
+ 'review_complete enumerates focus-level criteria alongside delivery criteria,',
133
+ 'so a relocated criterion is verdicted like any other. This move is cheaper',
134
+ 'than writing the footnote and leaves the criterion measured, not disregarded.',
135
+ '',
123
136
  '**Do not file an escalation to manufacture an operator hold.** When a step',
124
137
  "genuinely exceeds this team's capability, the answer is NOT to accept the",
125
138
  'work and then positively file an anchored escalation so a gate holds the',
@@ -1 +1 @@
1
- {"version":3,"file":"scoping-sections.js","sourceRoot":"","sources":["../../src/prompt-sections/scoping-sections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,qBAAqB;QACrB,EAAE;QACF,yEAAyE;QACzE,kDAAkD;QAClD,sFAAsF;QACtF,4EAA4E;QAC5E,uEAAuE;QACvE,wEAAwE;QACxE,EAAE;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,yFAAyF;QACzF,EAAE;QACF,sEAAsE;QACtE,4EAA4E;QAC5E,8EAA8E;QAC9E,sEAAsE;QACtE,8EAA8E;QAC9E,+EAA+E;QAC/E,2EAA2E;QAC3E,8EAA8E;QAC9E,4EAA4E;QAC5E,EAAE;QACF,4EAA4E;QAC5E,+EAA+E;QAC/E,iFAAiF;QACjF,+EAA+E;QAC/E,gFAAgF;QAChF,sBAAsB;QACtB,EAAE;QACF,6EAA6E;QAC7E,+EAA+E;QAC/E,gFAAgF;QAChF,2EAA2E;QAC3E,EAAE;QACF,uEAAuE;QACvE,8EAA8E;QAC9E,6EAA6E;QAC7E,yDAAyD;QACzD,EAAE;QACF,sEAAsE;QACtE,qEAAqE;QACrE,uBAAuB;QACvB,0EAA0E;QAC1E,mBAAmB;QACnB,EAAE;QACF,8EAA8E;QAC9E,yEAAyE;QACzE,0EAA0E;QAC1E,2EAA2E;QAC3E,6EAA6E;QAC7E,yDAAyD;QACzD,EAAE;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,SAAiB;IACtE,OAAO;QACL,wCAAwC;QACxC,EAAE;QACF,qNAAqN;QACrN,EAAE;QACF,2BAA2B;QAC3B,+FAA+F,OAAO,kBAAkB,SAAS,wYAAwY;QACzgB,yFAAyF;QACzF,0FAA0F;QAC1F,yDAAyD;QACzD,EAAE;QACF,oBAAoB;QACpB,sGAAsG;QACtG,6EAA6E;QAC7E,EAAE;QACF,uBAAuB;QACvB,0HAA0H;QAC1H,sDAAsD;QACtD,yJAAyJ;QACzJ,EAAE;QACF,6FAA6F;QAC7F,EAAE;QACF,2EAA2E;QAC3E,+EAA+E;QAC/E,qEAAqE;QACrE,2EAA2E;QAC3E,oDAAoD;QACpD,EAAE;QACF,uFAAuF;QACvF,6EAA6E;QAC7E,0EAA0E;QAC1E,gEAAgE;QAChE,mEAAmE;QACnE,EAAE;QACF,iFAAiF;QACjF,6EAA6E;QAC7E,+EAA+E;QAC/E,6EAA6E;QAC7E,2CAA2C;QAC3C,EAAE;QACF,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,sEAAsE;QACtE,+EAA+E;QAC/E,0EAA0E;QAC1E,yEAAyE;QACzE,gEAAgE;QAChE,EAAE;QACF,+BAA+B;QAC/B,gFAAgF;QAChF,2EAA2E;QAC3E,8EAA8E;QAC9E,+EAA+E;QAC/E,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,4EAA4E;QAC5E,mEAAmE;QACnE,+EAA+E;QAC/E,8EAA8E;QAC9E,8EAA8E;QAC9E,6EAA6E;QAC7E,2EAA2E;QAC3E,2EAA2E;QAC3E,8EAA8E;QAC9E,+EAA+E;QAC/E,gFAAgF;QAChF,iFAAiF;QACjF,8EAA8E;QAC9E,2EAA2E;QAC3E,8EAA8E;QAC9E,iFAAiF;QACjF,EAAE;QACF,8EAA8E;QAC9E,2EAA2E;QAC3E,8EAA8E;QAC9E,8EAA8E;QAC9E,6EAA6E;QAC7E,8EAA8E;QAC9E,gFAAgF;QAChF,EAAE;QACF,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,8EAA8E;QAC9E,2EAA2E;QAC3E,6DAA6D;QAC7D,EAAE;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,gCAAgC;QAChC,EAAE;QACF,8EAA8E;QAC9E,wEAAwE;QACxE,EAAE;QACF,kDAAkD;QAClD,mEAAmE;QACnE,yEAAyE;QACzE,4EAA4E;QAC5E,mDAAmD;QACnD,EAAE;QACF,oFAAoF;QACpF,gFAAgF;QAChF,EAAE;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"scoping-sections.js","sourceRoot":"","sources":["../../src/prompt-sections/scoping-sections.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/daemon",
3
- "version": "0.21.146",
3
+ "version": "0.21.151",
4
4
  "description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
5
5
  "type": "module",
6
6
  "bin": {
@@ -37,8 +37,8 @@
37
37
  },
38
38
  "//testRunner": "Uses Node.js built-in test runner (node:test) via tsx for TypeScript support. The root package uses Vitest; this is a deliberate choice for the daemon package to avoid framework dependencies. Test files live beside the modules they exercise (owner-directory layout); the runner discovers them recursively.",
39
39
  "dependencies": {
40
- "@telora/daemon-core": "^0.2.78",
41
- "@telora/mcp-products": "^0.22.116",
40
+ "@telora/daemon-core": "^0.2.79",
41
+ "@telora/mcp-products": "^0.22.120",
42
42
  "commander": "^14.0.3",
43
43
  "yaml": "^2.4.0",
44
44
  "zod": "^4.3.6"