@telora/daemon 0.22.144 → 0.22.160

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 (252) hide show
  1. package/build-info.json +8 -3
  2. package/dist/audit/audit-phase.d.ts +34 -1
  3. package/dist/audit/audit-phase.d.ts.map +1 -1
  4. package/dist/audit/audit-phase.js +77 -9
  5. package/dist/audit/audit-phase.js.map +1 -1
  6. package/dist/backends/codex/codex-mcp-proxy.d.ts +4 -6
  7. package/dist/backends/codex/codex-mcp-proxy.d.ts.map +1 -1
  8. package/dist/backends/codex/codex-mcp-proxy.js.map +1 -1
  9. package/dist/backends/codex/mcp-preflight.d.ts +2 -2
  10. package/dist/backends/codex/mcp-preflight.d.ts.map +1 -1
  11. package/dist/backends/codex/mcp-preflight.js.map +1 -1
  12. package/dist/completion/completion-phase-registry.d.ts +1 -0
  13. package/dist/completion/completion-phase-registry.d.ts.map +1 -1
  14. package/dist/completion/completion-phase-registry.js +7 -5
  15. package/dist/completion/completion-phase-registry.js.map +1 -1
  16. package/dist/completion/escalation-provenance.d.ts.map +1 -1
  17. package/dist/completion/escalation-provenance.js +5 -2
  18. package/dist/completion/escalation-provenance.js.map +1 -1
  19. package/dist/completion/exit-classification.d.ts +1 -1
  20. package/dist/completion/exit-classification.d.ts.map +1 -1
  21. package/dist/completion/exit-classification.js +7 -1
  22. package/dist/completion/exit-classification.js.map +1 -1
  23. package/dist/completion/review-cycle-cap.d.ts +81 -35
  24. package/dist/completion/review-cycle-cap.d.ts.map +1 -1
  25. package/dist/completion/review-cycle-cap.js +60 -132
  26. package/dist/completion/review-cycle-cap.js.map +1 -1
  27. package/dist/completion/review-exit-deps.d.ts +3 -1
  28. package/dist/completion/review-exit-deps.d.ts.map +1 -1
  29. package/dist/completion/review-exit-deps.js +3 -1
  30. package/dist/completion/review-exit-deps.js.map +1 -1
  31. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  32. package/dist/completion/review-exit-phase.js +5 -4
  33. package/dist/completion/review-exit-phase.js.map +1 -1
  34. package/dist/completion/state-cascade.d.ts.map +1 -1
  35. package/dist/completion/state-cascade.js +3 -7
  36. package/dist/completion/state-cascade.js.map +1 -1
  37. package/dist/delivery/delivery-review-coverage.d.ts +16 -0
  38. package/dist/delivery/delivery-review-coverage.d.ts.map +1 -1
  39. package/dist/delivery/delivery-review-coverage.js +16 -0
  40. package/dist/delivery/delivery-review-coverage.js.map +1 -1
  41. package/dist/focus/focus-engine.d.ts +16 -0
  42. package/dist/focus/focus-engine.d.ts.map +1 -1
  43. package/dist/focus/focus-engine.js +37 -17
  44. package/dist/focus/focus-engine.js.map +1 -1
  45. package/dist/focus/focus-executor.d.ts.map +1 -1
  46. package/dist/focus/focus-executor.js +7 -0
  47. package/dist/focus/focus-executor.js.map +1 -1
  48. package/dist/focus/focus-spawn-decision.d.ts +5 -3
  49. package/dist/focus/focus-spawn-decision.d.ts.map +1 -1
  50. package/dist/focus/focus-spawn-decision.js.map +1 -1
  51. package/dist/focus/listener-spawn.d.ts.map +1 -1
  52. package/dist/focus/listener-spawn.js +4 -3
  53. package/dist/focus/listener-spawn.js.map +1 -1
  54. package/dist/focus/listener.d.ts +15 -0
  55. package/dist/focus/listener.d.ts.map +1 -1
  56. package/dist/focus/listener.js +58 -9
  57. package/dist/focus/listener.js.map +1 -1
  58. package/dist/focus/review-cycle-cap-hold.d.ts +15 -94
  59. package/dist/focus/review-cycle-cap-hold.d.ts.map +1 -1
  60. package/dist/focus/review-cycle-cap-hold.js +54 -112
  61. package/dist/focus/review-cycle-cap-hold.js.map +1 -1
  62. package/dist/focus/session-health.d.ts +22 -1
  63. package/dist/focus/session-health.d.ts.map +1 -1
  64. package/dist/focus/session-health.js +28 -3
  65. package/dist/focus/session-health.js.map +1 -1
  66. package/dist/focus/session-process-reap.d.ts +3 -1
  67. package/dist/focus/session-process-reap.d.ts.map +1 -1
  68. package/dist/focus/session-process-reap.js +20 -0
  69. package/dist/focus/session-process-reap.js.map +1 -1
  70. package/dist/focus-stage-lifecycle/index.d.ts.map +1 -1
  71. package/dist/focus-stage-lifecycle/index.js +1 -0
  72. package/dist/focus-stage-lifecycle/index.js.map +1 -1
  73. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +10 -0
  74. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  75. package/dist/focus-stage-lifecycle/wedge-watchdog.js +27 -3
  76. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  77. package/dist/git/focus-integration-sync.d.ts +42 -3
  78. package/dist/git/focus-integration-sync.d.ts.map +1 -1
  79. package/dist/git/focus-integration-sync.js +38 -2
  80. package/dist/git/focus-integration-sync.js.map +1 -1
  81. package/dist/merge/abandoned-merge-recovery.d.ts.map +1 -1
  82. package/dist/merge/abandoned-merge-recovery.js +10 -0
  83. package/dist/merge/abandoned-merge-recovery.js.map +1 -1
  84. package/dist/merge/merge-back-loop.d.ts +1 -0
  85. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  86. package/dist/merge/merge-back-loop.js +3 -3
  87. package/dist/merge/merge-back-loop.js.map +1 -1
  88. package/dist/prompt/team-prompt-base.d.ts +2 -1
  89. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  90. package/dist/prompt/team-prompt-base.js +5 -19
  91. package/dist/prompt/team-prompt-base.js.map +1 -1
  92. package/dist/prompt-sections/integration-reconcile-section.d.ts +45 -0
  93. package/dist/prompt-sections/integration-reconcile-section.d.ts.map +1 -0
  94. package/dist/prompt-sections/integration-reconcile-section.js +69 -0
  95. package/dist/prompt-sections/integration-reconcile-section.js.map +1 -0
  96. package/dist/prompt-sections/persona-sections.d.ts +0 -20
  97. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  98. package/dist/prompt-sections/persona-sections.js +4 -49
  99. package/dist/prompt-sections/persona-sections.js.map +1 -1
  100. package/dist/prompt-sections/testing-standard.d.ts +51 -0
  101. package/dist/prompt-sections/testing-standard.d.ts.map +1 -0
  102. package/dist/prompt-sections/testing-standard.js +132 -0
  103. package/dist/prompt-sections/testing-standard.js.map +1 -0
  104. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  105. package/dist/queries/agent-resolvable-promotion.js +7 -5
  106. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  107. package/dist/queries/ended-arm.d.ts +47 -0
  108. package/dist/queries/ended-arm.d.ts.map +1 -0
  109. package/dist/queries/ended-arm.js +35 -0
  110. package/dist/queries/ended-arm.js.map +1 -0
  111. package/dist/queries/escalation-consumption.d.ts.map +1 -1
  112. package/dist/queries/escalation-consumption.js +0 -1
  113. package/dist/queries/escalation-consumption.js.map +1 -1
  114. package/dist/queries/focus-discovery.d.ts +14 -0
  115. package/dist/queries/focus-discovery.d.ts.map +1 -1
  116. package/dist/queries/focus-discovery.js +1 -0
  117. package/dist/queries/focus-discovery.js.map +1 -1
  118. package/dist/queries/focus-integration-conflict.d.ts +78 -0
  119. package/dist/queries/focus-integration-conflict.d.ts.map +1 -0
  120. package/dist/queries/focus-integration-conflict.js +136 -0
  121. package/dist/queries/focus-integration-conflict.js.map +1 -0
  122. package/dist/queries/focuses.d.ts +6 -3
  123. package/dist/queries/focuses.d.ts.map +1 -1
  124. package/dist/queries/focuses.js +13 -5
  125. package/dist/queries/focuses.js.map +1 -1
  126. package/dist/queries/incident-correlation.d.ts +1 -2
  127. package/dist/queries/incident-correlation.d.ts.map +1 -1
  128. package/dist/queries/incident-correlation.js +1 -3
  129. package/dist/queries/incident-correlation.js.map +1 -1
  130. package/dist/queries/local-models.js +1 -1
  131. package/dist/queries/local-models.js.map +1 -1
  132. package/dist/queries/schemas-local-model.d.ts +47 -0
  133. package/dist/queries/schemas-local-model.d.ts.map +1 -0
  134. package/dist/queries/schemas-local-model.js +57 -0
  135. package/dist/queries/schemas-local-model.js.map +1 -0
  136. package/dist/queries/schemas.d.ts +10 -32
  137. package/dist/queries/schemas.d.ts.map +1 -1
  138. package/dist/queries/schemas.js +10 -41
  139. package/dist/queries/schemas.js.map +1 -1
  140. package/dist/queries/sessions.d.ts +120 -12
  141. package/dist/queries/sessions.d.ts.map +1 -1
  142. package/dist/queries/sessions.js +104 -11
  143. package/dist/queries/sessions.js.map +1 -1
  144. package/dist/queries/shared.d.ts +1 -0
  145. package/dist/queries/shared.d.ts.map +1 -1
  146. package/dist/queries/shared.js +1 -1
  147. package/dist/queries/shared.js.map +1 -1
  148. package/dist/queries/system-session.d.ts.map +1 -1
  149. package/dist/queries/system-session.js +3 -1
  150. package/dist/queries/system-session.js.map +1 -1
  151. package/dist/resolvers/assembly-engine.d.ts +71 -1
  152. package/dist/resolvers/assembly-engine.d.ts.map +1 -1
  153. package/dist/resolvers/assembly-engine.js +82 -43
  154. package/dist/resolvers/assembly-engine.js.map +1 -1
  155. package/dist/resolvers/branch-work-arming.d.ts +133 -0
  156. package/dist/resolvers/branch-work-arming.d.ts.map +1 -0
  157. package/dist/resolvers/branch-work-arming.js +67 -0
  158. package/dist/resolvers/branch-work-arming.js.map +1 -0
  159. package/dist/resolvers/focus-review-coverage.d.ts.map +1 -1
  160. package/dist/resolvers/focus-review-coverage.js +31 -2
  161. package/dist/resolvers/focus-review-coverage.js.map +1 -1
  162. package/dist/resolvers/wiki-topic.d.ts +6 -5
  163. package/dist/resolvers/wiki-topic.d.ts.map +1 -1
  164. package/dist/resolvers/wiki-topic.js +43 -27
  165. package/dist/resolvers/wiki-topic.js.map +1 -1
  166. package/dist/session/session-lineage.d.ts.map +1 -1
  167. package/dist/session/session-lineage.js +1 -0
  168. package/dist/session/session-lineage.js.map +1 -1
  169. package/dist/shell/crash-recovery.d.ts +4 -2
  170. package/dist/shell/crash-recovery.d.ts.map +1 -1
  171. package/dist/shell/crash-recovery.js +15 -14
  172. package/dist/shell/crash-recovery.js.map +1 -1
  173. package/dist/shell/daemon-instance.d.ts +176 -0
  174. package/dist/shell/daemon-instance.d.ts.map +1 -0
  175. package/dist/shell/daemon-instance.js +281 -0
  176. package/dist/shell/daemon-instance.js.map +1 -0
  177. package/dist/shell/graceful-shutdown.d.ts +12 -1
  178. package/dist/shell/graceful-shutdown.d.ts.map +1 -1
  179. package/dist/shell/graceful-shutdown.js +7 -4
  180. package/dist/shell/graceful-shutdown.js.map +1 -1
  181. package/dist/shell/shutdown-ownership.d.ts +34 -0
  182. package/dist/shell/shutdown-ownership.d.ts.map +1 -0
  183. package/dist/shell/shutdown-ownership.js +51 -0
  184. package/dist/shell/shutdown-ownership.js.map +1 -0
  185. package/dist/shell/unified-shell.d.ts.map +1 -1
  186. package/dist/shell/unified-shell.js +12 -5
  187. package/dist/shell/unified-shell.js.map +1 -1
  188. package/dist/shell/worker-pidfile.d.ts +127 -11
  189. package/dist/shell/worker-pidfile.d.ts.map +1 -1
  190. package/dist/shell/worker-pidfile.js +349 -58
  191. package/dist/shell/worker-pidfile.js.map +1 -1
  192. package/dist/spawn/lead-launch.d.ts +17 -1
  193. package/dist/spawn/lead-launch.d.ts.map +1 -1
  194. package/dist/spawn/lead-launch.js +56 -7
  195. package/dist/spawn/lead-launch.js.map +1 -1
  196. package/dist/spawn/lead-process-ownership.d.ts +5 -4
  197. package/dist/spawn/lead-process-ownership.d.ts.map +1 -1
  198. package/dist/spawn/lead-process-ownership.js +7 -4
  199. package/dist/spawn/lead-process-ownership.js.map +1 -1
  200. package/dist/spawn/lifecycle.d.ts +0 -12
  201. package/dist/spawn/lifecycle.d.ts.map +1 -1
  202. package/dist/spawn/lifecycle.js +76 -19
  203. package/dist/spawn/lifecycle.js.map +1 -1
  204. package/dist/spawn/liveness.d.ts.map +1 -1
  205. package/dist/spawn/liveness.js +3 -1
  206. package/dist/spawn/liveness.js.map +1 -1
  207. package/dist/spawn/one-shot-process-ownership.d.ts +46 -2
  208. package/dist/spawn/one-shot-process-ownership.d.ts.map +1 -1
  209. package/dist/spawn/one-shot-process-ownership.js +78 -3
  210. package/dist/spawn/one-shot-process-ownership.js.map +1 -1
  211. package/dist/spawn/process-group-kill.d.ts.map +1 -1
  212. package/dist/spawn/process-group-kill.js +3 -1
  213. package/dist/spawn/process-group-kill.js.map +1 -1
  214. package/dist/spawn/process-spawn.d.ts +5 -15
  215. package/dist/spawn/process-spawn.d.ts.map +1 -1
  216. package/dist/spawn/process-spawn.js +2 -1
  217. package/dist/spawn/process-spawn.js.map +1 -1
  218. package/dist/spawn/prompt-assembly.d.ts +27 -2
  219. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  220. package/dist/spawn/prompt-assembly.js +65 -43
  221. package/dist/spawn/prompt-assembly.js.map +1 -1
  222. package/dist/spawn/worktree-session.d.ts +46 -2
  223. package/dist/spawn/worktree-session.d.ts.map +1 -1
  224. package/dist/spawn/worktree-session.js +57 -4
  225. package/dist/spawn/worktree-session.js.map +1 -1
  226. package/dist/testing/fixtures/conflicting-repo.d.ts +30 -0
  227. package/dist/testing/fixtures/conflicting-repo.d.ts.map +1 -0
  228. package/dist/testing/fixtures/conflicting-repo.js +89 -0
  229. package/dist/testing/fixtures/conflicting-repo.js.map +1 -0
  230. package/dist/testing/fixtures/index.d.ts.map +1 -1
  231. package/dist/testing/fixtures/index.js +2 -1
  232. package/dist/testing/fixtures/index.js.map +1 -1
  233. package/dist/testing/fixtures/pending-spawn-world.js +2 -2
  234. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  235. package/dist/types/exit-category.d.ts +59 -0
  236. package/dist/types/exit-category.d.ts.map +1 -0
  237. package/dist/types/exit-category.js +133 -0
  238. package/dist/types/exit-category.js.map +1 -0
  239. package/dist/types/index.js +1 -1
  240. package/dist/types/session.d.ts +5 -1
  241. package/dist/types/session.d.ts.map +1 -1
  242. package/dist/types/session.js +1 -1
  243. package/dist/types/session.js.map +1 -1
  244. package/dist/verify/stall-detector-config.d.ts +5 -1
  245. package/dist/verify/stall-detector-config.d.ts.map +1 -1
  246. package/dist/verify/stall-detector-config.js +5 -1
  247. package/dist/verify/stall-detector-config.js.map +1 -1
  248. package/dist/worktree/state.d.ts +75 -1
  249. package/dist/worktree/state.d.ts.map +1 -1
  250. package/dist/worktree/state.js +89 -17
  251. package/dist/worktree/state.js.map +1 -1
  252. package/package.json +3 -3
@@ -1,24 +1,5 @@
1
1
  // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
- // Pinned by: packages/daemon/src/prd/prd-focus-pushdown.test.ts,
3
- // packages/daemon/src/resolvers/assembly-engine.test.ts,
4
- // packages/daemon/src/resolvers/assembly-resolvers-loop.test.ts,
5
- // packages/daemon/src/resolvers/assembly-resolvers-security-advisory.test.ts,
6
- // packages/daemon/src/resolvers/audit-context-resolvers.test.ts,
7
- // packages/daemon/src/resolvers/delivery-listing-done-since-audit.test.ts,
8
- // packages/daemon/src/resolvers/drift-shortfall-proposals-resolver.test.ts,
9
- // packages/daemon/src/resolvers/escalation-answers-resolver.test.ts,
10
- // packages/daemon/src/resolvers/focus-anchoring-injections-resolver.test.ts,
11
- // packages/daemon/src/resolvers/focus-context-resolver.test.ts,
12
- // packages/daemon/src/resolvers/focus-criteria-standing.test.ts,
13
- // packages/daemon/src/resolvers/focus-endpoint-catalog.test.ts,
14
- // packages/daemon/src/resolvers/focus-injections-resolver.test.ts,
15
- // packages/daemon/src/resolvers/focus-last-review-report-resolver.test.ts,
16
- // packages/daemon/src/resolvers/focus-reality-tree-resolver.test.ts,
17
- // packages/daemon/src/resolvers/focus-review-coverage.test.ts,
18
- // packages/daemon/src/resolvers/linear-linked-issues.test.ts,
19
- // packages/daemon/src/resolvers/prd-resolvers.test.ts,
20
- // packages/daemon/src/resolvers/shared/review-window-commits.test.ts,
21
- // packages/daemon/src/spawn/delivered-manifest.test.ts
2
+ // Pinned by: 23 tests -- run: npm run gen:pinned-by -- --list packages/daemon/src/resolvers/assembly-engine.ts
22
3
  // PINNED-BY-END
23
4
  import { createLogger } from '../shell/log.js';
24
5
  const log = createLogger({ module: 'assembly-engine' });
@@ -109,33 +90,33 @@ export async function resolveAssemblyRecipeWithManifest(recipe, context) {
109
90
  }
110
91
  const sections = [];
111
92
  const manifest = [];
93
+ // The out-of-band sink, created HERE and handed to every resolver on a copy
94
+ // of the context. The engine owns it rather than the caller so its lifetime
95
+ // is exactly one assembly run: a caller cannot hold one across ticks and
96
+ // read a stale finding, and a caller cannot pre-set one either (whatever it
97
+ // passed in is replaced below).
98
+ const signals = {};
99
+ const resolverContext = { ...context, signals };
100
+ // Lines for the missing-context section, in recipe order. One per source that
101
+ // failed to resolve; empty when every source answered.
102
+ const missingLines = [];
112
103
  let ordinal = 0;
113
104
  for (const ref of recipe) {
114
- const { type, params } = parseSourceReference(ref);
115
- const resolver = resolverRegistry.get(type);
116
- // The contributed string is whatever lands in `sections` for this source
117
- // (a comment for unknown/failed sources, the resolved content for a hit,
118
- // or nothing for an empty result). The manifest measures exactly that.
105
+ const outcome = await resolveOneSource(ref, resolverContext);
106
+ // What this source contributed to the prompt: its resolved section, or its
107
+ // line in the missing-context section, or nothing. The manifest measures
108
+ // exactly that, so a failed source's cost is attributed to it and not to
109
+ // some other row.
119
110
  let contributed = '';
120
- if (!resolver) {
121
- contributed = `<!-- Assembly: unknown source type "${type}" -->`;
122
- sections.push(contributed);
123
- log.warn(`No resolver registered for source type "${type}"`);
111
+ if (outcome.failureReason === undefined) {
112
+ contributed = outcome.content;
113
+ if (contributed)
114
+ sections.push(contributed);
124
115
  }
125
116
  else {
126
- try {
127
- const content = await resolver(context, params);
128
- if (content && content.trim()) {
129
- contributed = content;
130
- sections.push(contributed);
131
- }
132
- }
133
- catch (err) {
134
- const message = err.message;
135
- contributed = `<!-- Assembly: failed to resolve "${ref}": ${message} -->`;
136
- sections.push(contributed);
137
- log.warn(`Failed to resolve source "${ref}": ${message}`);
138
- }
117
+ contributed = missingSourceLine(ref, outcome.failureReason);
118
+ missingLines.push(contributed);
119
+ log.warn(`Failed to resolve source "${ref}": ${outcome.failureReason}`);
139
120
  }
140
121
  const charCount = contributed.length;
141
122
  manifest.push({
@@ -143,9 +124,67 @@ export async function resolveAssemblyRecipeWithManifest(recipe, context) {
143
124
  ordinal,
144
125
  charCount,
145
126
  estimatedTokens: estimateTokens(charCount),
127
+ ...(outcome.failureReason === undefined
128
+ ? {}
129
+ : { failed: true, failureReason: outcome.failureReason }),
146
130
  });
147
131
  ordinal += 1;
148
132
  }
149
- return { content: sections.join('\n\n'), manifest };
133
+ if (missingLines.length > 0)
134
+ sections.push(buildMissingContextSection(missingLines));
135
+ return { content: sections.join('\n\n'), manifest, signals };
136
+ }
137
+ /**
138
+ * Resolve ONE recipe entry. The two ways a source can fail to arrive are both
139
+ * here, and both come back as a `failureReason` rather than as silence: no
140
+ * resolver is registered for the type (a directive naming a source the daemon
141
+ * does not have), or the resolver threw.
142
+ *
143
+ * A resolver that returns empty/whitespace is NOT a failure -- it answered, and
144
+ * the answer was "nothing".
145
+ */
146
+ async function resolveOneSource(ref, context) {
147
+ const { type, params } = parseSourceReference(ref);
148
+ const resolver = resolverRegistry.get(type);
149
+ if (!resolver) {
150
+ return { content: '', failureReason: `no resolver is registered for source type "${type}"` };
151
+ }
152
+ try {
153
+ const content = await resolver(context, params);
154
+ return { content: content && content.trim() ? content : '' };
155
+ }
156
+ catch (err) {
157
+ return { content: '', failureReason: `the ${type} resolver failed: ${err.message}` };
158
+ }
159
+ }
160
+ /** One source's line in the missing-context section. */
161
+ function missingSourceLine(sourceRef, reason) {
162
+ return `- \`${sourceRef}\` -- ${reason}`;
163
+ }
164
+ /** Heading of the missing-context section; the marker its tests and readers key on. */
165
+ export const MISSING_CONTEXT_HEADING = '## Missing context';
166
+ /**
167
+ * The section that makes a failed source VISIBLE to the agent that is missing
168
+ * it.
169
+ *
170
+ * Before this, a source that did not resolve left an HTML comment
171
+ * and a daemon-log warning: invisible in the rendered prompt and invisible to
172
+ * anyone not reading the log. A stage directive naming a wiki page that exists
173
+ * in one product went unnoticed for months that way. Naming the failure in the
174
+ * prompt puts it in front of the one party who can tell that the context it was
175
+ * promised never came -- and the manifest entry carries the same fact
176
+ * mechanically.
177
+ */
178
+ function buildMissingContextSection(missingLines) {
179
+ return [
180
+ MISSING_CONTEXT_HEADING,
181
+ '',
182
+ 'These context sources are named by this stage\'s assembly recipe but did NOT',
183
+ 'resolve, so their content is absent from this prompt. Treat whatever depended',
184
+ 'on them as UNAVAILABLE -- not as empty, and not as supplied elsewhere. (A',
185
+ 'source that resolved and legitimately had nothing to say is not listed here.)',
186
+ '',
187
+ ...missingLines,
188
+ ].join('\n');
150
189
  }
151
190
  //# sourceMappingURL=assembly-engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assembly-engine.js","sourceRoot":"","sources":["../../src/resolvers/assembly-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembly-engine.js","sourceRoot":"","sources":["../../src/resolvers/assembly-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * The ARMING contract for the delivery-create residue gate: the one move left
3
+ * to the daemon when it has PROVED residue it cannot record.
4
+ *
5
+ * WHY THIS IS NOT AT THE GATE, AND CANNOT BE. The residue gate runs on the
6
+ * edge (`supabase/functions/_shared/delivery-review-coverage.ts`) and decides
7
+ * from stored state alone. At the moment of a create it has to separate two
8
+ * worlds:
9
+ *
10
+ * A. a queued delivery, `iteration_count = 0`, no `merge_commit_sha`, no id
11
+ * in `product_focuses.branch_work_delivery_ids` -- and a real
12
+ * `Telora-Delivery` commit sitting on the focus branch that the daemon
13
+ * has just found and could not write down;
14
+ * B. the same row, on the same focus, with a branch that genuinely carries
15
+ * nothing for it.
16
+ *
17
+ * Every column the edge can read is IDENTICAL in A and B. A commit is not a
18
+ * row write, so nothing moved when the residue appeared, and the one write
19
+ * that would have recorded it is the write that failed. No function of stored
20
+ * state separates identical inputs, so a rule that refuses A refuses B as
21
+ * well -- and refusing B holds every declared-but-unstarted delivery on every
22
+ * focus, which is the freeze, not a gate. That is an information problem, not
23
+ * a tuning problem: three rounds of fixes at the gate (a retraction write, a
24
+ * dated reading, a positive-only reading) each foundered on the same fact.
25
+ *
26
+ * WHO CAN SEPARATE THEM. Exactly one party -- the one holding the repository
27
+ * at the moment it decides. The daemon's review-coverage read
28
+ * (`packages/daemon/src/resolvers/focus-review-coverage.ts`) IS that party: it
29
+ * greps the branch for the trailer, and its answer is true in the same act
30
+ * that produced it, so it needs no durable state to survive in. The defect was
31
+ * never that reading. It was DELEGATION: having proved the residue, the daemon
32
+ * handed the create decision to an actor that does not hold the reading (the
33
+ * audit/scoping pass), through the channel that had just failed.
34
+ *
35
+ * SO THE RULE IS ABOUT ARMING, NOT ABOUT ROWS. When the read proves a hold the
36
+ * gate cannot be told about, the daemon does not arm a pass that can create.
37
+ * No write is required, which is precisely what makes the rule available in
38
+ * the failure it exists for: whether the pass runs at all is decided in the
39
+ * same process, in the same act, as the branch read.
40
+ *
41
+ * NOT A FREEZE, AND THE CONTROL IS THE PROOF. The condition is narrow and
42
+ * self-clearing. It fires only when the branch was READABLE, the trailer
43
+ * search FOUND a commit for a delivery whose own columns say it produced
44
+ * nothing, and the hand-off then failed. World B -- nothing found -- arms the
45
+ * pass normally and its create lands. A firing costs one audit cycle on a
46
+ * focus that demonstrably carries unreviewed residue, and it clears the moment
47
+ * the write channel returns (the next pass records the ids, and the gate then
48
+ * holds on its own evidence) or a completed review covers the delivery.
49
+ *
50
+ * THE CHANNEL IS A TYPED SIGNAL, NOT THE PROMPT TEXT -- AND THE FIRST CUT GOT
51
+ * THIS WRONG. It carried the decision as a sentinel STRING the audit phase
52
+ * looked for in the whole assembled prompt. That prompt is mostly content
53
+ * other parties author: focus context, delivery names, acceptance criteria,
54
+ * session summaries, tree statements. Any of them could carry the token with
55
+ * no branch proof and no failed write behind it, and the phase would refuse to
56
+ * arm. The first cut priced that as "costs one skipped cycle"; it does not.
57
+ * The forged text is STORED -- a delivery name is re-assembled on every tick --
58
+ * so the refusal repeats forever. That is a FREEZE, which is the one outcome
59
+ * this contract forbids, and it also puts the reason-bearing override out of
60
+ * reach because no pass runs to declare one. "Fails toward holding" is only
61
+ * safe while the hold can discharge.
62
+ *
63
+ * So the decision now travels as `AssemblySignals.unrecordedBranchWorkHold`
64
+ * (`packages/daemon/src/resolvers/assembly-engine.ts`), a field the assembly
65
+ * engine creates per run and hands to each resolver, and which only the
66
+ * review-coverage resolver's proved-and-unrecorded branch sets. Nothing
67
+ * derives it from resolved text, so no authored content can assert it. The
68
+ * lengthening/obfuscating alternative -- a rarer token -- is the same
69
+ * enumeration mistake one round later: a guess about what nobody will type is
70
+ * not an authentication.
71
+ *
72
+ * @module resolvers/branch-work-arming
73
+ */
74
+ import type { AssemblySignals } from './assembly-engine.js';
75
+ /**
76
+ * A proved-but-unrecordable branch-work hold, as the resolver reports it.
77
+ *
78
+ * `provedDeliveryIds` are the ids the trailer search actually found; `cause`
79
+ * is the write failure that stopped them reaching the gate. Both exist so the
80
+ * refusal is diagnosable, not so anything re-derives the decision from them.
81
+ */
82
+ export interface UnrecordedBranchWorkHold {
83
+ readonly provedDeliveryIds: readonly string[];
84
+ readonly cause: string;
85
+ }
86
+ /**
87
+ * The token the review-coverage section prints when it proved a hold the
88
+ * delivery-create gate will never see.
89
+ *
90
+ * PROSE ONLY. It is the human's handle on the event -- grep a captured prompt
91
+ * for it and the one line explaining why no pass ran comes back -- and it is
92
+ * deliberately NOT read by anything. No code matches on it; the arming
93
+ * decision reads `AssemblySignals.unrecordedBranchWorkHold` and nothing else.
94
+ * If a future reader is tempted to re-add a `assembled.includes(...)` check
95
+ * here: that is the defect this module was rewritten to remove, and the test
96
+ * `a delivery NAMED as the sentinel cannot forge the hold` in
97
+ * `packages/daemon/src/completion/review-coverage-seam.test.ts` exists to go
98
+ * red the moment it comes back.
99
+ */
100
+ export declare const UNRECORDED_BRANCH_WORK_HOLD_SENTINEL = "TELORA-UNRECORDED-BRANCH-WORK-HOLD";
101
+ /**
102
+ * The reason text for a review-coverage read whose PROVED branch-work evidence
103
+ * could not be handed to the delivery-create gate.
104
+ *
105
+ * Carries three things and nothing else: the sentinel (so a human grepping a
106
+ * captured prompt lands on this line), the delivery ids the branch search
107
+ * proved (so the claim is checkable against the repository), and the transport
108
+ * failure (so the outage is diagnosable rather than merely reported). It
109
+ * states the consequence in the imperative because the section it lands in is
110
+ * also the last thing written about this cycle: no pass is armed, so nothing
111
+ * downstream of it will elaborate. It EXPLAINS the refusal; the refusal itself
112
+ * is carried by the signal.
113
+ */
114
+ export declare function renderUnrecordedBranchWorkHold(provedDeliveryIds: readonly string[], cause: string): string;
115
+ /**
116
+ * Report the hold on the assembly's out-of-band channel.
117
+ *
118
+ * Tolerates a missing sink (a resolver invoked directly, outside the engine)
119
+ * because a resolver is a reading, not a control point: it renders its section
120
+ * either way and the caller that never offered a sink was never going to make
121
+ * an arming decision. Not a silent failure mode in production -- the engine
122
+ * always supplies one.
123
+ */
124
+ export declare function signalUnrecordedBranchWorkHold(signals: AssemblySignals | undefined, hold: UnrecordedBranchWorkHold): void;
125
+ /**
126
+ * Did the resolvers on this assembly run prove a hold the gate cannot enforce?
127
+ *
128
+ * The whole arming decision, and its entire input is a field no resolved text
129
+ * can reach. Returns the hold itself rather than a boolean so the caller can
130
+ * name the proved ids in its rationale without re-parsing anything.
131
+ */
132
+ export declare function readUnrecordedBranchWorkHold(signals: AssemblySignals | undefined): UnrecordedBranchWorkHold | null;
133
+ //# sourceMappingURL=branch-work-arming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-work-arming.d.ts","sourceRoot":"","sources":["../../src/resolvers/branch-work-arming.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oCAAoC,uCAAuC,CAAC;AAEzF;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC5C,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,KAAK,EAAE,MAAM,GACZ,MAAM,CAYR;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,IAAI,EAAE,wBAAwB,GAC7B,IAAI,CAGN;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,eAAe,GAAG,SAAS,GACnC,wBAAwB,GAAG,IAAI,CAEjC"}
@@ -0,0 +1,67 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/completion/review-coverage-seam.test.ts
3
+ // PINNED-BY-END
4
+ /**
5
+ * The token the review-coverage section prints when it proved a hold the
6
+ * delivery-create gate will never see.
7
+ *
8
+ * PROSE ONLY. It is the human's handle on the event -- grep a captured prompt
9
+ * for it and the one line explaining why no pass ran comes back -- and it is
10
+ * deliberately NOT read by anything. No code matches on it; the arming
11
+ * decision reads `AssemblySignals.unrecordedBranchWorkHold` and nothing else.
12
+ * If a future reader is tempted to re-add a `assembled.includes(...)` check
13
+ * here: that is the defect this module was rewritten to remove, and the test
14
+ * `a delivery NAMED as the sentinel cannot forge the hold` in
15
+ * `packages/daemon/src/completion/review-coverage-seam.test.ts` exists to go
16
+ * red the moment it comes back.
17
+ */
18
+ export const UNRECORDED_BRANCH_WORK_HOLD_SENTINEL = 'TELORA-UNRECORDED-BRANCH-WORK-HOLD';
19
+ /**
20
+ * The reason text for a review-coverage read whose PROVED branch-work evidence
21
+ * could not be handed to the delivery-create gate.
22
+ *
23
+ * Carries three things and nothing else: the sentinel (so a human grepping a
24
+ * captured prompt lands on this line), the delivery ids the branch search
25
+ * proved (so the claim is checkable against the repository), and the transport
26
+ * failure (so the outage is diagnosable rather than merely reported). It
27
+ * states the consequence in the imperative because the section it lands in is
28
+ * also the last thing written about this cycle: no pass is armed, so nothing
29
+ * downstream of it will elaborate. It EXPLAINS the refusal; the refusal itself
30
+ * is carried by the signal.
31
+ */
32
+ export function renderUnrecordedBranchWorkHold(provedDeliveryIds, cause) {
33
+ const ids = provedDeliveryIds.join(', ');
34
+ return (`${UNRECORDED_BRANCH_WORK_HOLD_SENTINEL} -- the branch search PROVED committed work for ` +
35
+ `delivery ${ids}, whose own columns say it produced nothing, and the hand-off to the ` +
36
+ `delivery-create gate failed (${cause}). The gate decides from stored columns, and those ` +
37
+ `columns are now identical to a focus whose branch is genuinely clean, so it cannot refuse ` +
38
+ `a sibling create over this residue and no rule it could be given would refuse this focus ` +
39
+ `without freezing every unstarted delivery everywhere. No create-capable pass is armed for ` +
40
+ `this cycle. It clears when the evidence write lands (the next read records the ids and the ` +
41
+ `gate holds on its own) or when a completed review covers the delivery.`);
42
+ }
43
+ /**
44
+ * Report the hold on the assembly's out-of-band channel.
45
+ *
46
+ * Tolerates a missing sink (a resolver invoked directly, outside the engine)
47
+ * because a resolver is a reading, not a control point: it renders its section
48
+ * either way and the caller that never offered a sink was never going to make
49
+ * an arming decision. Not a silent failure mode in production -- the engine
50
+ * always supplies one.
51
+ */
52
+ export function signalUnrecordedBranchWorkHold(signals, hold) {
53
+ if (!signals)
54
+ return;
55
+ signals.unrecordedBranchWorkHold = hold;
56
+ }
57
+ /**
58
+ * Did the resolvers on this assembly run prove a hold the gate cannot enforce?
59
+ *
60
+ * The whole arming decision, and its entire input is a field no resolved text
61
+ * can reach. Returns the hold itself rather than a boolean so the caller can
62
+ * name the proved ids in its rationale without re-parsing anything.
63
+ */
64
+ export function readUnrecordedBranchWorkHold(signals) {
65
+ return signals?.unrecordedBranchWorkHold ?? null;
66
+ }
67
+ //# sourceMappingURL=branch-work-arming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-work-arming.js","sourceRoot":"","sources":["../../src/resolvers/branch-work-arming.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,yEAAyE;AACzE,gBAAgB;AA0FhB;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,oCAAoC,CAAC;AAEzF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,8BAA8B,CAC5C,iBAAoC,EACpC,KAAa;IAEb,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,CACL,GAAG,oCAAoC,kDAAkD;QACzF,YAAY,GAAG,uEAAuE;QACtF,gCAAgC,KAAK,qDAAqD;QAC1F,4FAA4F;QAC5F,2FAA2F;QAC3F,4FAA4F;QAC5F,6FAA6F;QAC7F,wEAAwE,CACzE,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAoC,EACpC,IAA8B;IAE9B,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAoC;IAEpC,OAAO,OAAO,EAAE,wBAAwB,IAAI,IAAI,CAAC;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"focus-review-coverage.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-review-coverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-review-coverage.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-review-coverage.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  // PINNED-BY-END
5
5
  import { execFileSync } from 'node:child_process';
6
6
  import { registerSourceResolver } from './assembly-engine.js';
7
+ import { renderUnrecordedBranchWorkHold, signalUnrecordedBranchWorkHold, } from './branch-work-arming.js';
7
8
  import { getFocusDeliveries, getLatestCompletedFocusReview } from '../queries/focuses.js';
8
9
  import { setBranchWorkDeliveryIds } from '../queries/focus-branch-work-evidence.js';
9
10
  import { fetchInjectionBundles } from './shared/loop.js';
@@ -359,9 +360,19 @@ function makeBranchWorkEvidence(target, deps) {
359
360
  * because the failure this path runs in is precisely the one where no write
360
361
  * lands.
361
362
  *
363
+ * AND ONE OF THE TWO FAILURES DISARMS THE PASS. A failed write that proved
364
+ * nothing costs the gate nothing. A failed write that proved a delivery's
365
+ * committed work costs it a hold it can never derive for itself, so that case
366
+ * raises the arming SIGNAL on this assembly run and no create-capable pass
367
+ * runs this cycle -- see `packages/daemon/src/resolvers/branch-work-arming.ts`.
368
+ * The signal, not the reason text, is the decision: the text it returns lands
369
+ * in a prompt beside content other parties author, so anything that read the
370
+ * decision back out of that prompt could be told it by a delivery name.
371
+ *
362
372
  * Returns null when there is nothing to report.
363
373
  */
364
- async function persistBranchWorkEvidence(focusId, resolved, deps) {
374
+ async function persistBranchWorkEvidence(context, resolved, deps) {
375
+ const focusId = context.focusId;
365
376
  // Unaskable: leave whatever an earlier, readable pass recorded. Overwriting
366
377
  // it with this pass's empty list would withdraw holds on evidence that has
367
378
  // not gone away.
@@ -374,6 +385,24 @@ async function persistBranchWorkEvidence(focusId, resolved, deps) {
374
385
  catch (err) {
375
386
  const message = err.message;
376
387
  log.warn(`focus.review_coverage: branch work evidence not persisted for ${focusId}: ${message}`);
388
+ // A non-empty resolved set is the case the gate cannot recover from on its
389
+ // own. Every id in it came off `classifyWithBranchEvidence`, which probes
390
+ // ONLY rows the classifier already calls `no_work_yet` -- so each one is a
391
+ // delivery the create gate will release, on columns indistinguishable from
392
+ // a focus whose branch is clean. The daemon proved otherwise and cannot say
393
+ // so, which makes this an ARMING decision rather than a rendering one; see
394
+ // `packages/daemon/src/resolvers/branch-work-arming.ts` for why no rule at
395
+ // the gate can take it instead.
396
+ if (resolved.length > 0) {
397
+ signalUnrecordedBranchWorkHold(context.signals, { provedDeliveryIds: resolved, cause: message });
398
+ return renderUnrecordedBranchWorkHold(resolved, message);
399
+ }
400
+ // Nothing was proved, so the failed write withheld no hold from the gate:
401
+ // it would have overwritten a stored reading with the same emptiness the
402
+ // gate already reads as silence. The section still states the unknown --
403
+ // this pass cannot vouch for what it did not manage to look up -- but the
404
+ // pass stays armed, because holding it here would hold every clean focus
405
+ // for the duration of an outage, which is the freeze.
377
406
  return (`the branch committed-work evidence this reading resolved could NOT be handed to the ` +
378
407
  `delivery-create gate (${message}). That gate holds on the absence of evidence and never ` +
379
408
  `RELEASES on a stored reading, so nothing this pass proved has been turned into a release ` +
@@ -429,7 +458,7 @@ export async function resolveFocusReviewCoverage(context, deps = defaultFocusRev
429
458
  latestCompletedReviewAt,
430
459
  coveredShas: covered,
431
460
  }, anchorLabels, evidence.probe);
432
- const evidenceFailure = await persistBranchWorkEvidence(context.focusId, evidence.resolved(), deps);
461
+ const evidenceFailure = await persistBranchWorkEvidence(context, evidence.resolved(), deps);
433
462
  // The reading below is only honest while the gate can enforce it. It cannot,
434
463
  // so the section states the unknown instead of implying a hold that is not
435
464
  // there -- the same rule every other read failure here already follows.
@@ -1 +1 @@
1
- {"version":3,"file":"focus-review-coverage.js","sourceRoot":"","sources":["../../src/resolvers/focus-review-coverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-review-coverage.js","sourceRoot":"","sources":["../../src/resolvers/focus-review-coverage.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
+ import type { AssemblyContext } from './assembly-engine.js';
2
+ import { type CallApiDeps } from '../queries/shared.js';
1
3
  /**
2
- * wiki.topic(slug=...)
3
- *
4
- * Hard-pin a single wiki page by slug. No retrieval risk -- if the slug
5
- * exists, the page is included verbatim. Used by stage directives that
6
- * need a specific page (e.g., a security checklist).
4
+ * Resolve one wiki.topic reference. Exported (and taking the injectable API
5
+ * seam) so the missing-page contract is testable without a live product-api --
6
+ * see CLAUDE.md on the deps seam vs. mock.module.
7
7
  */
8
+ export declare function resolveWikiTopic(context: AssemblyContext, params: Record<string, string>, deps?: CallApiDeps): Promise<string>;
8
9
  /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
9
10
  export declare function registerWikiTopicResolver(): void;
10
11
  //# sourceMappingURL=wiki-topic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-topic.d.ts","sourceRoot":"","sources":["../../src/resolvers/wiki-topic.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,oGAAoG;AACpG,wBAAgB,yBAAyB,IAAI,IAAI,CAiBhD"}
1
+ {"version":3,"file":"wiki-topic.d.ts","sourceRoot":"","sources":["../../src/resolvers/wiki-topic.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGjE;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,oGAAoG;AACpG,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD"}