@telora/daemon 0.17.36 → 0.17.42

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 (266) hide show
  1. package/build-info.json +5 -3
  2. package/dist/assembly-engine.d.ts +6 -0
  3. package/dist/assembly-engine.d.ts.map +1 -1
  4. package/dist/assembly-engine.js +19 -0
  5. package/dist/assembly-engine.js.map +1 -1
  6. package/dist/assembly-resolvers.d.ts +17 -8
  7. package/dist/assembly-resolvers.d.ts.map +1 -1
  8. package/dist/assembly-resolvers.js +19 -8
  9. package/dist/assembly-resolvers.js.map +1 -1
  10. package/dist/cli/session-state.d.ts +10 -0
  11. package/dist/cli/session-state.d.ts.map +1 -1
  12. package/dist/cli/session-state.js +31 -0
  13. package/dist/cli/session-state.js.map +1 -1
  14. package/dist/completion/completion-decision.d.ts +83 -0
  15. package/dist/completion/completion-decision.d.ts.map +1 -0
  16. package/dist/completion/completion-decision.js +48 -0
  17. package/dist/completion/completion-decision.js.map +1 -0
  18. package/dist/completion/event-escalations.d.ts +97 -0
  19. package/dist/completion/event-escalations.d.ts.map +1 -0
  20. package/dist/completion/event-escalations.js +213 -0
  21. package/dist/completion/event-escalations.js.map +1 -0
  22. package/dist/completion/event.d.ts +1 -72
  23. package/dist/completion/event.d.ts.map +1 -1
  24. package/dist/completion/event.js +148 -322
  25. package/dist/completion/event.js.map +1 -1
  26. package/dist/completion/exit-classification.d.ts +82 -0
  27. package/dist/completion/exit-classification.d.ts.map +1 -0
  28. package/dist/completion/exit-classification.js +61 -0
  29. package/dist/completion/exit-classification.js.map +1 -0
  30. package/dist/completion/index.d.ts +14 -5
  31. package/dist/completion/index.d.ts.map +1 -1
  32. package/dist/completion/index.js +14 -5
  33. package/dist/completion/index.js.map +1 -1
  34. package/dist/completion/merge-phase.d.ts +114 -0
  35. package/dist/completion/merge-phase.d.ts.map +1 -0
  36. package/dist/completion/merge-phase.js +198 -0
  37. package/dist/completion/merge-phase.js.map +1 -0
  38. package/dist/completion/review-exit-phase.d.ts +82 -0
  39. package/dist/completion/review-exit-phase.d.ts.map +1 -0
  40. package/dist/completion/review-exit-phase.js +228 -0
  41. package/dist/completion/review-exit-phase.js.map +1 -0
  42. package/dist/completion/status-advance-phase.d.ts +61 -0
  43. package/dist/completion/status-advance-phase.d.ts.map +1 -0
  44. package/dist/completion/status-advance-phase.js +182 -0
  45. package/dist/completion/status-advance-phase.js.map +1 -0
  46. package/dist/completion/team-completion.d.ts +28 -269
  47. package/dist/completion/team-completion.d.ts.map +1 -1
  48. package/dist/completion/team-completion.js +145 -676
  49. package/dist/completion/team-completion.js.map +1 -1
  50. package/dist/daemon-process.d.ts +18 -2
  51. package/dist/daemon-process.d.ts.map +1 -1
  52. package/dist/daemon-process.js +7 -2
  53. package/dist/daemon-process.js.map +1 -1
  54. package/dist/directive/close-loop-stage.d.ts +50 -0
  55. package/dist/directive/close-loop-stage.d.ts.map +1 -0
  56. package/dist/directive/close-loop-stage.js +196 -0
  57. package/dist/directive/close-loop-stage.js.map +1 -0
  58. package/dist/directive/directive-assembly.d.ts +33 -0
  59. package/dist/directive/directive-assembly.d.ts.map +1 -0
  60. package/dist/directive/directive-assembly.js +77 -0
  61. package/dist/directive/directive-assembly.js.map +1 -0
  62. package/dist/directive/directive-dispatch.d.ts +103 -0
  63. package/dist/directive/directive-dispatch.d.ts.map +1 -0
  64. package/dist/directive/directive-dispatch.js +279 -0
  65. package/dist/directive/directive-dispatch.js.map +1 -0
  66. package/dist/directive/phase-sync.d.ts +89 -0
  67. package/dist/directive/phase-sync.d.ts.map +1 -0
  68. package/dist/directive/phase-sync.js +173 -0
  69. package/dist/directive/phase-sync.js.map +1 -0
  70. package/dist/directive-executor.d.ts +21 -223
  71. package/dist/directive-executor.d.ts.map +1 -1
  72. package/dist/directive-executor.js +28 -687
  73. package/dist/directive-executor.js.map +1 -1
  74. package/dist/focus-engine.d.ts.map +1 -1
  75. package/dist/focus-engine.js +8 -0
  76. package/dist/focus-engine.js.map +1 -1
  77. package/dist/focus-executor.d.ts +29 -8
  78. package/dist/focus-executor.d.ts.map +1 -1
  79. package/dist/focus-executor.js +29 -10
  80. package/dist/focus-executor.js.map +1 -1
  81. package/dist/focus-stage-lifecycle.d.ts +7 -5
  82. package/dist/focus-stage-lifecycle.d.ts.map +1 -1
  83. package/dist/focus-stage-lifecycle.js +11 -6
  84. package/dist/focus-stage-lifecycle.js.map +1 -1
  85. package/dist/index.js +8 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/pipeline-config.d.ts +13 -0
  88. package/dist/pipeline-config.d.ts.map +1 -1
  89. package/dist/pipeline-config.js +15 -0
  90. package/dist/pipeline-config.js.map +1 -1
  91. package/dist/resolvers/agent-escalations.d.ts +8 -1
  92. package/dist/resolvers/agent-escalations.d.ts.map +1 -1
  93. package/dist/resolvers/agent-escalations.js +25 -22
  94. package/dist/resolvers/agent-escalations.js.map +1 -1
  95. package/dist/resolvers/agent-session-summaries.d.ts +8 -1
  96. package/dist/resolvers/agent-session-summaries.d.ts.map +1 -1
  97. package/dist/resolvers/agent-session-summaries.js +21 -18
  98. package/dist/resolvers/agent-session-summaries.js.map +1 -1
  99. package/dist/resolvers/delivery-acceptance-criteria.d.ts +7 -1
  100. package/dist/resolvers/delivery-acceptance-criteria.d.ts.map +1 -1
  101. package/dist/resolvers/delivery-acceptance-criteria.js +14 -11
  102. package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
  103. package/dist/resolvers/delivery-description.d.ts +7 -1
  104. package/dist/resolvers/delivery-description.d.ts.map +1 -1
  105. package/dist/resolvers/delivery-description.js +14 -11
  106. package/dist/resolvers/delivery-description.js.map +1 -1
  107. package/dist/resolvers/delivery-issues.d.ts +8 -1
  108. package/dist/resolvers/delivery-issues.d.ts.map +1 -1
  109. package/dist/resolvers/delivery-issues.js +51 -48
  110. package/dist/resolvers/delivery-issues.js.map +1 -1
  111. package/dist/resolvers/delivery-listing.d.ts +16 -1
  112. package/dist/resolvers/delivery-listing.d.ts.map +1 -1
  113. package/dist/resolvers/delivery-listing.js +36 -33
  114. package/dist/resolvers/delivery-listing.js.map +1 -1
  115. package/dist/resolvers/delivery-tech-context.d.ts +7 -1
  116. package/dist/resolvers/delivery-tech-context.d.ts.map +1 -1
  117. package/dist/resolvers/delivery-tech-context.js +14 -11
  118. package/dist/resolvers/delivery-tech-context.js.map +1 -1
  119. package/dist/resolvers/deployment-profile.d.ts +8 -1
  120. package/dist/resolvers/deployment-profile.d.ts.map +1 -1
  121. package/dist/resolvers/deployment-profile.js +20 -17
  122. package/dist/resolvers/deployment-profile.js.map +1 -1
  123. package/dist/resolvers/focus-anchoring-injections.d.ts +26 -1
  124. package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
  125. package/dist/resolvers/focus-anchoring-injections.js +91 -88
  126. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  127. package/dist/resolvers/focus-context.d.ts +9 -1
  128. package/dist/resolvers/focus-context.d.ts.map +1 -1
  129. package/dist/resolvers/focus-context.js +38 -35
  130. package/dist/resolvers/focus-context.js.map +1 -1
  131. package/dist/resolvers/focus-injections.d.ts +13 -1
  132. package/dist/resolvers/focus-injections.d.ts.map +1 -1
  133. package/dist/resolvers/focus-injections.js +60 -57
  134. package/dist/resolvers/focus-injections.js.map +1 -1
  135. package/dist/resolvers/focus-last-review-report.d.ts +2 -1
  136. package/dist/resolvers/focus-last-review-report.d.ts.map +1 -1
  137. package/dist/resolvers/focus-last-review-report.js +33 -30
  138. package/dist/resolvers/focus-last-review-report.js.map +1 -1
  139. package/dist/resolvers/focus-reality-tree.d.ts +15 -1
  140. package/dist/resolvers/focus-reality-tree.d.ts.map +1 -1
  141. package/dist/resolvers/focus-reality-tree.js +35 -32
  142. package/dist/resolvers/focus-reality-tree.js.map +1 -1
  143. package/dist/resolvers/git-diff-against-base.d.ts +8 -1
  144. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  145. package/dist/resolvers/git-diff-against-base.js +33 -30
  146. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  147. package/dist/resolvers/guards-evaluation-results.d.ts +7 -1
  148. package/dist/resolvers/guards-evaluation-results.d.ts.map +1 -1
  149. package/dist/resolvers/guards-evaluation-results.js +25 -22
  150. package/dist/resolvers/guards-evaluation-results.js.map +1 -1
  151. package/dist/resolvers/index.d.ts +22 -40
  152. package/dist/resolvers/index.d.ts.map +1 -1
  153. package/dist/resolvers/index.js +112 -41
  154. package/dist/resolvers/index.js.map +1 -1
  155. package/dist/resolvers/loop-context.d.ts +18 -1
  156. package/dist/resolvers/loop-context.d.ts.map +1 -1
  157. package/dist/resolvers/loop-context.js +21 -18
  158. package/dist/resolvers/loop-context.js.map +1 -1
  159. package/dist/resolvers/loop-delivery-index.d.ts +17 -1
  160. package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
  161. package/dist/resolvers/loop-delivery-index.js +51 -48
  162. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  163. package/dist/resolvers/loop-documents.d.ts +9 -1
  164. package/dist/resolvers/loop-documents.d.ts.map +1 -1
  165. package/dist/resolvers/loop-documents.js +22 -19
  166. package/dist/resolvers/loop-documents.js.map +1 -1
  167. package/dist/resolvers/loop-expected-effects.d.ts +11 -1
  168. package/dist/resolvers/loop-expected-effects.d.ts.map +1 -1
  169. package/dist/resolvers/loop-expected-effects.js +53 -50
  170. package/dist/resolvers/loop-expected-effects.js.map +1 -1
  171. package/dist/resolvers/loop-frt-statement.d.ts +11 -1
  172. package/dist/resolvers/loop-frt-statement.d.ts.map +1 -1
  173. package/dist/resolvers/loop-frt-statement.js +28 -25
  174. package/dist/resolvers/loop-frt-statement.js.map +1 -1
  175. package/dist/resolvers/loop-injection.d.ts +10 -1
  176. package/dist/resolvers/loop-injection.d.ts.map +1 -1
  177. package/dist/resolvers/loop-injection.js +38 -35
  178. package/dist/resolvers/loop-injection.js.map +1 -1
  179. package/dist/resolvers/loop-persona.d.ts +20 -1
  180. package/dist/resolvers/loop-persona.d.ts.map +1 -1
  181. package/dist/resolvers/loop-persona.js +20 -17
  182. package/dist/resolvers/loop-persona.js.map +1 -1
  183. package/dist/resolvers/loop-questions.d.ts +8 -1
  184. package/dist/resolvers/loop-questions.d.ts.map +1 -1
  185. package/dist/resolvers/loop-questions.js +39 -36
  186. package/dist/resolvers/loop-questions.js.map +1 -1
  187. package/dist/resolvers/loop-upstream-udes.d.ts +11 -1
  188. package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -1
  189. package/dist/resolvers/loop-upstream-udes.js +74 -71
  190. package/dist/resolvers/loop-upstream-udes.js.map +1 -1
  191. package/dist/resolvers/prd-context.d.ts +2 -0
  192. package/dist/resolvers/prd-context.d.ts.map +1 -1
  193. package/dist/resolvers/prd-context.js +16 -13
  194. package/dist/resolvers/prd-context.js.map +1 -1
  195. package/dist/resolvers/prd-persona.d.ts +2 -0
  196. package/dist/resolvers/prd-persona.d.ts.map +1 -1
  197. package/dist/resolvers/prd-persona.js +6 -3
  198. package/dist/resolvers/prd-persona.js.map +1 -1
  199. package/dist/resolvers/reality-metrics.d.ts +8 -1
  200. package/dist/resolvers/reality-metrics.d.ts.map +1 -1
  201. package/dist/resolvers/reality-metrics.js +73 -70
  202. package/dist/resolvers/reality-metrics.js.map +1 -1
  203. package/dist/resolvers/reality-projections.d.ts +7 -1
  204. package/dist/resolvers/reality-projections.d.ts.map +1 -1
  205. package/dist/resolvers/reality-projections.js +35 -32
  206. package/dist/resolvers/reality-projections.js.map +1 -1
  207. package/dist/resolvers/reality-tree-snapshot.d.ts +10 -1
  208. package/dist/resolvers/reality-tree-snapshot.d.ts.map +1 -1
  209. package/dist/resolvers/reality-tree-snapshot.js +34 -31
  210. package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
  211. package/dist/resolvers/retired-injections.d.ts +10 -1
  212. package/dist/resolvers/retired-injections.d.ts.map +1 -1
  213. package/dist/resolvers/retired-injections.js +68 -65
  214. package/dist/resolvers/retired-injections.js.map +1 -1
  215. package/dist/resolvers/review-outcomes.d.ts +11 -1
  216. package/dist/resolvers/review-outcomes.d.ts.map +1 -1
  217. package/dist/resolvers/review-outcomes.js +27 -24
  218. package/dist/resolvers/review-outcomes.js.map +1 -1
  219. package/dist/resolvers/security-advisory.d.ts +2 -1
  220. package/dist/resolvers/security-advisory.d.ts.map +1 -1
  221. package/dist/resolvers/security-advisory.js +47 -44
  222. package/dist/resolvers/security-advisory.js.map +1 -1
  223. package/dist/resolvers/wiki-search.d.ts +8 -1
  224. package/dist/resolvers/wiki-search.d.ts.map +1 -1
  225. package/dist/resolvers/wiki-search.js +17 -14
  226. package/dist/resolvers/wiki-search.js.map +1 -1
  227. package/dist/resolvers/wiki-topic.d.ts +9 -1
  228. package/dist/resolvers/wiki-topic.d.ts.map +1 -1
  229. package/dist/resolvers/wiki-topic.js +21 -18
  230. package/dist/resolvers/wiki-topic.js.map +1 -1
  231. package/dist/resolvers/workflow-stages.d.ts +7 -1
  232. package/dist/resolvers/workflow-stages.d.ts.map +1 -1
  233. package/dist/resolvers/workflow-stages.js +20 -17
  234. package/dist/resolvers/workflow-stages.js.map +1 -1
  235. package/dist/self-update.d.ts +6 -0
  236. package/dist/self-update.d.ts.map +1 -1
  237. package/dist/self-update.js +6 -1
  238. package/dist/self-update.js.map +1 -1
  239. package/dist/spawner/index.d.ts +2 -1
  240. package/dist/spawner/index.d.ts.map +1 -1
  241. package/dist/spawner/index.js +2 -1
  242. package/dist/spawner/index.js.map +1 -1
  243. package/dist/spawner/spawn-team.d.ts +14 -52
  244. package/dist/spawner/spawn-team.d.ts.map +1 -1
  245. package/dist/spawner/spawn-team.js +14 -469
  246. package/dist/spawner/spawn-team.js.map +1 -1
  247. package/dist/staleness.d.ts +124 -0
  248. package/dist/staleness.d.ts.map +1 -0
  249. package/dist/staleness.js +215 -0
  250. package/dist/staleness.js.map +1 -0
  251. package/dist/state-cascade.d.ts +3 -2
  252. package/dist/state-cascade.d.ts.map +1 -1
  253. package/dist/state-cascade.js +7 -3
  254. package/dist/state-cascade.js.map +1 -1
  255. package/dist/types/focus.d.ts +5 -4
  256. package/dist/types/focus.d.ts.map +1 -1
  257. package/dist/types/session.d.ts +2 -3
  258. package/dist/types/session.d.ts.map +1 -1
  259. package/dist/unified-shell.d.ts.map +1 -1
  260. package/dist/unified-shell.js +21 -12
  261. package/dist/unified-shell.js.map +1 -1
  262. package/package.json +2 -2
  263. package/dist/session-lifecycle.d.ts +0 -78
  264. package/dist/session-lifecycle.d.ts.map +0 -1
  265. package/dist/session-lifecycle.js +0 -382
  266. package/dist/session-lifecycle.js.map +0 -1
@@ -11,65 +11,68 @@ import { callApi } from '../queries/shared.js';
11
11
  * node; and the root-cause clusters. Per-delivery full differentials are pulled
12
12
  * on demand via telora_reality_tree_injection_context(seq).
13
13
  */
14
- registerSourceResolver('focus.injections', async (context) => {
15
- try {
16
- const result = await callApi('reality_tree_focus_injections', {
17
- focusId: context.focusId,
18
- });
19
- if (!result.items || result.items.length === 0)
20
- return '';
21
- const structure = result.structure ?? {
22
- dependencyOrder: [],
23
- sharedTargetCollisions: [],
24
- rootCauseClusters: [],
25
- };
26
- const lines = [
27
- '## Focus Coordination Map',
28
- '',
29
- 'The focus reality-tree structure -- your planning surface. Each injection moves a',
30
- 'Now (a current UDE) to a Target (its future desired effect). Use the dependency',
31
- 'order to sequence deliveries, the collisions to avoid two workers changing the same',
32
- 'node, and the clusters to see which root causes drive which problems. Pull a',
33
- "delivery's full differential on demand with telora_reality_tree_injection_context",
34
- '(by injection seq).',
35
- '',
36
- '### Injections (Now -> Target)',
37
- '',
38
- ];
39
- for (const item of result.items) {
40
- const inj = item.injection;
41
- const statusTag = inj.injectionStatus ? ` [${inj.injectionStatus}]` : '';
42
- lines.push(`- #${inj.seq} ${inj.statement}${statusTag}`);
43
- for (const nt of item.nowTargets ?? []) {
44
- const target = nt.target && nt.target.trim().length > 0 ? nt.target : '(no FRT overlay yet)';
45
- lines.push(` - Now: #${nt.seq} ${nt.now} -> Target: ${target}`);
46
- }
47
- }
48
- if (structure.dependencyOrder.length > 0) {
49
- lines.push('', '### Dependency Order (sequence deliveries this way)', '');
50
- structure.dependencyOrder.forEach((d, i) => {
51
- lines.push(`${i + 1}. #${d.seq} ${d.statement}`);
14
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
15
+ export function registerFocusInjectionsResolver() {
16
+ registerSourceResolver('focus.injections', async (context) => {
17
+ try {
18
+ const result = await callApi('reality_tree_focus_injections', {
19
+ focusId: context.focusId,
52
20
  });
53
- }
54
- if (structure.sharedTargetCollisions.length > 0) {
55
- lines.push('', '### Shared-Target Collisions (avoid two workers changing the same node)', '');
56
- for (const c of structure.sharedTargetCollisions) {
57
- const injList = c.injectionSeqs.map((s) => `#${s}`).join(', ');
58
- lines.push(`- #${c.targetSeq} "${c.targetStatement}" <- injections ${injList}`);
21
+ if (!result.items || result.items.length === 0)
22
+ return '';
23
+ const structure = result.structure ?? {
24
+ dependencyOrder: [],
25
+ sharedTargetCollisions: [],
26
+ rootCauseClusters: [],
27
+ };
28
+ const lines = [
29
+ '## Focus Coordination Map',
30
+ '',
31
+ 'The focus reality-tree structure -- your planning surface. Each injection moves a',
32
+ 'Now (a current UDE) to a Target (its future desired effect). Use the dependency',
33
+ 'order to sequence deliveries, the collisions to avoid two workers changing the same',
34
+ 'node, and the clusters to see which root causes drive which problems. Pull a',
35
+ "delivery's full differential on demand with telora_reality_tree_injection_context",
36
+ '(by injection seq).',
37
+ '',
38
+ '### Injections (Now -> Target)',
39
+ '',
40
+ ];
41
+ for (const item of result.items) {
42
+ const inj = item.injection;
43
+ const statusTag = inj.injectionStatus ? ` [${inj.injectionStatus}]` : '';
44
+ lines.push(`- #${inj.seq} ${inj.statement}${statusTag}`);
45
+ for (const nt of item.nowTargets ?? []) {
46
+ const target = nt.target && nt.target.trim().length > 0 ? nt.target : '(no FRT overlay yet)';
47
+ lines.push(` - Now: #${nt.seq} ${nt.now} -> Target: ${target}`);
48
+ }
59
49
  }
60
- }
61
- if (structure.rootCauseClusters.length > 0) {
62
- lines.push('', '### Root-Cause Clusters (which roots drive which UDEs)', '');
63
- for (const cl of structure.rootCauseClusters) {
64
- const udeList = cl.udeSeqs.map((s) => `#${s}`).join(', ');
65
- lines.push(`- #${cl.rootSeq} ${cl.rootStatement} (${cl.rootNodeType}) drives UDEs: ${udeList}`);
50
+ if (structure.dependencyOrder.length > 0) {
51
+ lines.push('', '### Dependency Order (sequence deliveries this way)', '');
52
+ structure.dependencyOrder.forEach((d, i) => {
53
+ lines.push(`${i + 1}. #${d.seq} ${d.statement}`);
54
+ });
66
55
  }
56
+ if (structure.sharedTargetCollisions.length > 0) {
57
+ lines.push('', '### Shared-Target Collisions (avoid two workers changing the same node)', '');
58
+ for (const c of structure.sharedTargetCollisions) {
59
+ const injList = c.injectionSeqs.map((s) => `#${s}`).join(', ');
60
+ lines.push(`- #${c.targetSeq} "${c.targetStatement}" <- injections ${injList}`);
61
+ }
62
+ }
63
+ if (structure.rootCauseClusters.length > 0) {
64
+ lines.push('', '### Root-Cause Clusters (which roots drive which UDEs)', '');
65
+ for (const cl of structure.rootCauseClusters) {
66
+ const udeList = cl.udeSeqs.map((s) => `#${s}`).join(', ');
67
+ lines.push(`- #${cl.rootSeq} ${cl.rootStatement} (${cl.rootNodeType}) drives UDEs: ${udeList}`);
68
+ }
69
+ }
70
+ return lines.join('\n');
71
+ }
72
+ catch (err) {
73
+ console.warn(`[assembly-engine] focus.injections: failed: ${err.message}`);
74
+ return '';
67
75
  }
68
- return lines.join('\n');
69
- }
70
- catch (err) {
71
- console.warn(`[assembly-engine] focus.injections: failed: ${err.message}`);
72
- return '';
73
- }
74
- });
76
+ });
77
+ }
75
78
  //# sourceMappingURL=focus-injections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-injections.js","sourceRoot":"","sources":["../../src/resolvers/focus-injections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus-injections.js","sourceRoot":"","sources":["../../src/resolvers/focus-injections.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export {};
1
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
2
+ export declare function registerFocusLastReviewReportResolver(): void;
2
3
  //# sourceMappingURL=focus-last-review-report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-last-review-report.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-last-review-report.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"focus-last-review-report.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-last-review-report.ts"],"names":[],"mappings":"AAkBA,oGAAoG;AACpG,wBAAgB,qCAAqC,IAAI,IAAI,CAgC5D"}
@@ -13,34 +13,37 @@ import { getLatestCompletedFocusReview } from '../queries/focuses.js';
13
13
  * by the reviewer's narrative, not just by individual issue descriptions.
14
14
  */
15
15
  const FOCUS_LAST_REVIEW_REPORT_BUDGET_CHARS = 10_000;
16
- registerSourceResolver('focus.last_review_report', async (context) => {
17
- let review;
18
- try {
19
- review = await getLatestCompletedFocusReview(context.focusId);
20
- }
21
- catch (err) {
22
- console.warn(`[assembly-engine] focus.last_review_report failed: ${err.message}`);
23
- return '';
24
- }
25
- if (!review || !review.completedAt)
26
- return '';
27
- const heading = '## Last Review Report';
28
- const outcomeLine = `**Outcome:** ${review.outcome ?? 'unknown'}`;
29
- const completedLine = `**Completed:** ${review.completedAt}`;
30
- const fixedPrefix = `${heading}\n\n${outcomeLine}\n${completedLine}\n\n`;
31
- const summary = (review.summary ?? '').trim();
32
- if (!summary) {
33
- return `${fixedPrefix}_No summary provided._`;
34
- }
35
- const remaining = FOCUS_LAST_REVIEW_REPORT_BUDGET_CHARS - fixedPrefix.length;
36
- if (remaining <= 0) {
37
- // Prefix alone exceeds the budget (unlikely with a fixed-size heading +
38
- // outcome + ISO timestamp). Drop the summary to stay under the cap.
39
- return fixedPrefix.trimEnd();
40
- }
41
- const body = summary.length > remaining
42
- ? `${summary.slice(0, remaining)}\n\n_[truncated]_`
43
- : summary;
44
- return `${fixedPrefix}${body}`;
45
- });
16
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
17
+ export function registerFocusLastReviewReportResolver() {
18
+ registerSourceResolver('focus.last_review_report', async (context) => {
19
+ let review;
20
+ try {
21
+ review = await getLatestCompletedFocusReview(context.focusId);
22
+ }
23
+ catch (err) {
24
+ console.warn(`[assembly-engine] focus.last_review_report failed: ${err.message}`);
25
+ return '';
26
+ }
27
+ if (!review || !review.completedAt)
28
+ return '';
29
+ const heading = '## Last Review Report';
30
+ const outcomeLine = `**Outcome:** ${review.outcome ?? 'unknown'}`;
31
+ const completedLine = `**Completed:** ${review.completedAt}`;
32
+ const fixedPrefix = `${heading}\n\n${outcomeLine}\n${completedLine}\n\n`;
33
+ const summary = (review.summary ?? '').trim();
34
+ if (!summary) {
35
+ return `${fixedPrefix}_No summary provided._`;
36
+ }
37
+ const remaining = FOCUS_LAST_REVIEW_REPORT_BUDGET_CHARS - fixedPrefix.length;
38
+ if (remaining <= 0) {
39
+ // Prefix alone exceeds the budget (unlikely with a fixed-size heading +
40
+ // outcome + ISO timestamp). Drop the summary to stay under the cap.
41
+ return fixedPrefix.trimEnd();
42
+ }
43
+ const body = summary.length > remaining
44
+ ? `${summary.slice(0, remaining)}\n\n_[truncated]_`
45
+ : summary;
46
+ return `${fixedPrefix}${body}`;
47
+ });
48
+ }
46
49
  //# sourceMappingURL=focus-last-review-report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-last-review-report.js","sourceRoot":"","sources":["../../src/resolvers/focus-last-review-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,MAAM,qCAAqC,GAAG,MAAM,CAAC;AAErD,sBAAsB,CAAC,0BAA0B,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;IACrG,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,sDAAuD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE9C,MAAM,OAAO,GAAG,uBAAuB,CAAC;IACxC,MAAM,WAAW,GAAG,gBAAgB,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;IAClE,MAAM,aAAa,GAAG,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7D,MAAM,WAAW,GAAG,GAAG,OAAO,OAAO,WAAW,KAAK,aAAa,MAAM,CAAC;IAEzE,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,WAAW,wBAAwB,CAAC;IAChD,CAAC;IAED,MAAM,SAAS,GAAG,qCAAqC,GAAG,WAAW,CAAC,MAAM,CAAC;IAC7E,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,wEAAwE;QACxE,oEAAoE;QACpE,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS;QACrC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,mBAAmB;QACnD,CAAC,CAAC,OAAO,CAAC;IACZ,OAAO,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"focus-last-review-report.js","sourceRoot":"","sources":["../../src/resolvers/focus-last-review-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;;;;;;;;;GAWG;AACH,MAAM,qCAAqC,GAAG,MAAM,CAAC;AAErD,oGAAoG;AACpG,MAAM,UAAU,qCAAqC;IACnD,sBAAsB,CAAC,0BAA0B,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QACrG,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,sDAAuD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAE9C,MAAM,OAAO,GAAG,uBAAuB,CAAC;QACxC,MAAM,WAAW,GAAG,gBAAgB,MAAM,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;QAClE,MAAM,aAAa,GAAG,kBAAkB,MAAM,CAAC,WAAW,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,GAAG,OAAO,OAAO,WAAW,KAAK,aAAa,MAAM,CAAC;QAEzE,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,WAAW,wBAAwB,CAAC;QAChD,CAAC;QAED,MAAM,SAAS,GAAG,qCAAqC,GAAG,WAAW,CAAC,MAAM,CAAC;QAC7E,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,wEAAwE;YACxE,oEAAoE;YACpE,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS;YACrC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,mBAAmB;YACnD,CAAC,CAAC,OAAO,CAAC;QACZ,OAAO,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,16 @@
1
- export {};
1
+ /**
2
+ * focus.reality_tree
3
+ *
4
+ * Renders the focus's reality tree(s) as markdown for static-inspection
5
+ * agents (ai_inspection verification, drift detectors). Groups nodes by
6
+ * type, lists causal edges, surfaces injection lifecycle status. Token
7
+ * budget ~10k chars; truncates with a marker if exceeded.
8
+ *
9
+ * This is the CRT dump the ai_inspection runner consumes alongside the
10
+ * injection's frt_statement and the delivery diff. It is intentionally
11
+ * verbose so the runner can reason about which CRT statements are at
12
+ * stake without re-querying.
13
+ */
14
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
15
+ export declare function registerFocusRealityTreeResolver(): void;
2
16
  //# sourceMappingURL=focus-reality-tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-reality-tree.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-reality-tree.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"focus-reality-tree.d.ts","sourceRoot":"","sources":["../../src/resolvers/focus-reality-tree.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;GAYG;AACH,oGAAoG;AACpG,wBAAgB,gCAAgC,IAAI,IAAI,CAmCvD"}
@@ -14,37 +14,40 @@ import { CRT_DUMP_BUDGET_CHARS, FOCUS_REALITY_TREE_EMPTY_STATE, renderRealityTre
14
14
  * verbose so the runner can reason about which CRT statements are at
15
15
  * stake without re-querying.
16
16
  */
17
- registerSourceResolver('focus.reality_tree', async (context) => {
18
- try {
19
- const treesResp = await callApi('reality_tree_list', {
20
- focusId: context.focusId,
21
- });
22
- const trees = (treesResp.items ?? []).filter((t) => t.status === 'active');
23
- if (trees.length === 0)
24
- return FOCUS_REALITY_TREE_EMPTY_STATE;
25
- const sections = [];
26
- let used = 0;
27
- for (const tree of trees) {
28
- if (used >= CRT_DUMP_BUDGET_CHARS)
29
- break;
30
- const remaining = CRT_DUMP_BUDGET_CHARS - used;
31
- const [nodesResp, edgesResp] = await Promise.all([
32
- callApi('reality_tree_node_list', { treeId: tree.id, status: 'active' }),
33
- callApi('reality_tree_edge_list', { treeId: tree.id }),
34
- ]);
35
- const dump = renderRealityTreeDump(tree, nodesResp.items ?? [], edgesResp.items ?? [], remaining);
36
- if (dump.length === 0)
37
- continue;
38
- sections.push(dump);
39
- used += dump.length;
17
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
18
+ export function registerFocusRealityTreeResolver() {
19
+ registerSourceResolver('focus.reality_tree', async (context) => {
20
+ try {
21
+ const treesResp = await callApi('reality_tree_list', {
22
+ focusId: context.focusId,
23
+ });
24
+ const trees = (treesResp.items ?? []).filter((t) => t.status === 'active');
25
+ if (trees.length === 0)
26
+ return FOCUS_REALITY_TREE_EMPTY_STATE;
27
+ const sections = [];
28
+ let used = 0;
29
+ for (const tree of trees) {
30
+ if (used >= CRT_DUMP_BUDGET_CHARS)
31
+ break;
32
+ const remaining = CRT_DUMP_BUDGET_CHARS - used;
33
+ const [nodesResp, edgesResp] = await Promise.all([
34
+ callApi('reality_tree_node_list', { treeId: tree.id, status: 'active' }),
35
+ callApi('reality_tree_edge_list', { treeId: tree.id }),
36
+ ]);
37
+ const dump = renderRealityTreeDump(tree, nodesResp.items ?? [], edgesResp.items ?? [], remaining);
38
+ if (dump.length === 0)
39
+ continue;
40
+ sections.push(dump);
41
+ used += dump.length;
42
+ }
43
+ if (sections.length === 0)
44
+ return FOCUS_REALITY_TREE_EMPTY_STATE;
45
+ return `## Focus Reality Tree (CRT + FRT overlays)\n\n${sections.join('\n\n')}`;
40
46
  }
41
- if (sections.length === 0)
42
- return FOCUS_REALITY_TREE_EMPTY_STATE;
43
- return `## Focus Reality Tree (CRT + FRT overlays)\n\n${sections.join('\n\n')}`;
44
- }
45
- catch (err) {
46
- console.warn(`[assembly-engine] focus.reality_tree: failed: ${err.message}`);
47
- return '';
48
- }
49
- });
47
+ catch (err) {
48
+ console.warn(`[assembly-engine] focus.reality_tree: failed: ${err.message}`);
49
+ return '';
50
+ }
51
+ });
52
+ }
50
53
  //# sourceMappingURL=focus-reality-tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus-reality-tree.js","sourceRoot":"","sources":["../../src/resolvers/focus-reality-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,GAItB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,sBAAsB,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;IAC/F,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAA0B,mBAAmB,EAAE;YAC5E,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,8BAA8B,CAAC;QAE9D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,IAAI,qBAAqB;gBAAE,MAAM;YACzC,MAAM,SAAS,GAAG,qBAAqB,GAAG,IAAI,CAAC;YAC/C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/C,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;gBAC1F,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;aACzE,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,qBAAqB,CAChC,IAAI,EACJ,SAAS,CAAC,KAAK,IAAI,EAAE,EACrB,SAAS,CAAC,KAAK,IAAI,EAAE,EACrB,SAAS,CACV,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;QACtB,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,8BAA8B,CAAC;QACjE,OAAO,iDAAiD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAClF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,iDAAkD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"focus-reality-tree.js","sourceRoot":"","sources":["../../src/resolvers/focus-reality-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,GAItB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;GAYG;AACH,oGAAoG;AACpG,MAAM,UAAU,gCAAgC;IAC9C,sBAAsB,CAAC,oBAAoB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAC/F,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAA0B,mBAAmB,EAAE;gBAC5E,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,8BAA8B,CAAC;YAE9D,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,IAAI,qBAAqB;oBAAE,MAAM;gBACzC,MAAM,SAAS,GAAG,qBAAqB,GAAG,IAAI,CAAC;gBAC/C,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC/C,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;oBAC1F,OAAO,CAAmB,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;iBACzE,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,qBAAqB,CAChC,IAAI,EACJ,SAAS,CAAC,KAAK,IAAI,EAAE,EACrB,SAAS,CAAC,KAAK,IAAI,EAAE,EACrB,SAAS,CACV,CAAC;gBACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,8BAA8B,CAAC;YACjE,OAAO,iDAAiD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,iDAAkD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,9 @@
1
- export {};
1
+ /**
2
+ * git.diff_against_base
3
+ *
4
+ * Runs git diff against the integration branch in the worktree.
5
+ * Truncates large diffs and includes a file change summary.
6
+ */
7
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
8
+ export declare function registerGitDiffAgainstBaseResolver(): void;
2
9
  //# sourceMappingURL=git-diff-against-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-diff-against-base.d.ts","sourceRoot":"","sources":["../../src/resolvers/git-diff-against-base.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"git-diff-against-base.d.ts","sourceRoot":"","sources":["../../src/resolvers/git-diff-against-base.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,oGAAoG;AACpG,wBAAgB,kCAAkC,IAAI,IAAI,CAkCzD"}
@@ -6,34 +6,37 @@ import { getGitDiff, getDiffStatSummary, MAX_DIFF_BYTES } from './shared/git-dif
6
6
  * Runs git diff against the integration branch in the worktree.
7
7
  * Truncates large diffs and includes a file change summary.
8
8
  */
9
- registerSourceResolver('git.diff_against_base', async (context) => {
10
- if (!context.worktreePath) {
11
- console.warn('[assembly-engine] git.diff_against_base: no worktree path available');
12
- return '';
13
- }
14
- const baseBranch = context.config.integrationBranch;
15
- const diff = getGitDiff(context.worktreePath, baseBranch);
16
- if (!diff.trim())
17
- return '';
18
- if (diff.length > MAX_DIFF_BYTES) {
19
- const stat = getDiffStatSummary(context.worktreePath, baseBranch);
20
- const truncated = diff.slice(0, MAX_DIFF_BYTES);
21
- return [
22
- `## Git Diff (against ${baseBranch})`,
23
- '',
24
- `> **Truncated** -- diff is ${Math.round(diff.length / 1024)}KB, showing first ${Math.round(MAX_DIFF_BYTES / 1024)}KB.`,
25
- '',
26
- '### File Summary',
27
- '',
28
- '```',
29
- stat.trim(),
30
- '```',
31
- '',
32
- '```diff',
33
- truncated,
34
- '```',
35
- ].join('\n');
36
- }
37
- return `## Git Diff (against ${baseBranch})\n\n\`\`\`diff\n${diff}\n\`\`\``;
38
- });
9
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
10
+ export function registerGitDiffAgainstBaseResolver() {
11
+ registerSourceResolver('git.diff_against_base', async (context) => {
12
+ if (!context.worktreePath) {
13
+ console.warn('[assembly-engine] git.diff_against_base: no worktree path available');
14
+ return '';
15
+ }
16
+ const baseBranch = context.config.integrationBranch;
17
+ const diff = getGitDiff(context.worktreePath, baseBranch);
18
+ if (!diff.trim())
19
+ return '';
20
+ if (diff.length > MAX_DIFF_BYTES) {
21
+ const stat = getDiffStatSummary(context.worktreePath, baseBranch);
22
+ const truncated = diff.slice(0, MAX_DIFF_BYTES);
23
+ return [
24
+ `## Git Diff (against ${baseBranch})`,
25
+ '',
26
+ `> **Truncated** -- diff is ${Math.round(diff.length / 1024)}KB, showing first ${Math.round(MAX_DIFF_BYTES / 1024)}KB.`,
27
+ '',
28
+ '### File Summary',
29
+ '',
30
+ '```',
31
+ stat.trim(),
32
+ '```',
33
+ '',
34
+ '```diff',
35
+ truncated,
36
+ '```',
37
+ ].join('\n');
38
+ }
39
+ return `## Git Diff (against ${baseBranch})\n\n\`\`\`diff\n${diff}\n\`\`\``;
40
+ });
41
+ }
39
42
  //# sourceMappingURL=git-diff-against-base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-diff-against-base.js","sourceRoot":"","sources":["../../src/resolvers/git-diff-against-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtF;;;;;GAKG;AACH,sBAAsB,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;IAClG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;QACpF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;IACpD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAE1D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAE5B,IAAI,IAAI,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAChD,OAAO;YACL,wBAAwB,UAAU,GAAG;YACrC,EAAE;YACF,8BAA8B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK;YACvH,EAAE;YACF,kBAAkB;YAClB,EAAE;YACF,KAAK;YACL,IAAI,CAAC,IAAI,EAAE;YACX,KAAK;YACL,EAAE;YACF,SAAS;YACT,SAAS;YACT,KAAK;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,OAAO,wBAAwB,UAAU,oBAAoB,IAAI,UAAU,CAAC;AAC9E,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"git-diff-against-base.js","sourceRoot":"","sources":["../../src/resolvers/git-diff-against-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtF;;;;;GAKG;AACH,oGAAoG;AACpG,MAAM,UAAU,kCAAkC;IAChD,sBAAsB,CAAC,uBAAuB,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QAClG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;YACpF,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACpD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;YAChD,OAAO;gBACL,wBAAwB,UAAU,GAAG;gBACrC,EAAE;gBACF,8BAA8B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK;gBACvH,EAAE;gBACF,kBAAkB;gBAClB,EAAE;gBACF,KAAK;gBACL,IAAI,CAAC,IAAI,EAAE;gBACX,KAAK;gBACL,EAAE;gBACF,SAAS;gBACT,SAAS;gBACT,KAAK;aACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QAED,OAAO,wBAAwB,UAAU,oBAAoB,IAAI,UAAU,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,8 @@
1
- export {};
1
+ /**
2
+ * guards.evaluation_results
3
+ *
4
+ * Fetches the most recently resolved transition block for each delivery.
5
+ */
6
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
7
+ export declare function registerGuardsEvaluationResultsResolver(): void;
2
8
  //# sourceMappingURL=guards-evaluation-results.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guards-evaluation-results.d.ts","sourceRoot":"","sources":["../../src/resolvers/guards-evaluation-results.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"guards-evaluation-results.d.ts","sourceRoot":"","sources":["../../src/resolvers/guards-evaluation-results.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,oGAAoG;AACpG,wBAAgB,uCAAuC,IAAI,IAAI,CA0B9D"}
@@ -5,27 +5,30 @@ import { getResolvedTransitionBlockForDelivery } from '../queries/guards.js';
5
5
  *
6
6
  * Fetches the most recently resolved transition block for each delivery.
7
7
  */
8
- registerSourceResolver('guards.evaluation_results', async (context) => {
9
- if (context.deliveryIds.length === 0)
10
- return '';
11
- const results = [];
12
- for (const deliveryId of context.deliveryIds) {
13
- try {
14
- const resolved = await getResolvedTransitionBlockForDelivery(deliveryId);
15
- if (!resolved)
16
- continue;
17
- const path = resolved.block.decision_path ?? 'none';
18
- const directive = resolved.directive_template ?? 'No directive template';
19
- results.push(`### Delivery ${deliveryId.slice(0, 8)}\n\n` +
20
- `- **Decision path**: ${path}\n` +
21
- `- **Directive**: ${directive}`);
8
+ /** Register this module's resolver(s). Called from initResolvers() -- not an import side effect. */
9
+ export function registerGuardsEvaluationResultsResolver() {
10
+ registerSourceResolver('guards.evaluation_results', async (context) => {
11
+ if (context.deliveryIds.length === 0)
12
+ return '';
13
+ const results = [];
14
+ for (const deliveryId of context.deliveryIds) {
15
+ try {
16
+ const resolved = await getResolvedTransitionBlockForDelivery(deliveryId);
17
+ if (!resolved)
18
+ continue;
19
+ const path = resolved.block.decision_path ?? 'none';
20
+ const directive = resolved.directive_template ?? 'No directive template';
21
+ results.push(`### Delivery ${deliveryId.slice(0, 8)}\n\n` +
22
+ `- **Decision path**: ${path}\n` +
23
+ `- **Directive**: ${directive}`);
24
+ }
25
+ catch (err) {
26
+ console.warn(`[assembly-engine] guards.evaluation_results: failed for delivery ${deliveryId.slice(0, 8)}: ${err.message}`);
27
+ }
22
28
  }
23
- catch (err) {
24
- console.warn(`[assembly-engine] guards.evaluation_results: failed for delivery ${deliveryId.slice(0, 8)}: ${err.message}`);
25
- }
26
- }
27
- if (results.length === 0)
28
- return '';
29
- return `## Guard Evaluation Results\n\n${results.join('\n\n')}`;
30
- });
29
+ if (results.length === 0)
30
+ return '';
31
+ return `## Guard Evaluation Results\n\n${results.join('\n\n')}`;
32
+ });
33
+ }
31
34
  //# sourceMappingURL=guards-evaluation-results.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"guards-evaluation-results.js","sourceRoot":"","sources":["../../src/resolvers/guards-evaluation-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,qCAAqC,EAAE,MAAM,sBAAsB,CAAC;AAE7E;;;;GAIG;AACH,sBAAsB,CAAC,2BAA2B,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;IACtG,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,qCAAqC,CAAC,UAAU,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC;YACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,IAAI,uBAAuB,CAAC;YACzE,OAAO,CAAC,IAAI,CACV,gBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM;gBAC5C,wBAAwB,IAAI,IAAI;gBAChC,oBAAoB,SAAS,EAAE,CAChC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,oEAAoE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACxI,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,OAAO,kCAAkC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAClE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"guards-evaluation-results.js","sourceRoot":"","sources":["../../src/resolvers/guards-evaluation-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,qCAAqC,EAAE,MAAM,sBAAsB,CAAC;AAE7E;;;;GAIG;AACH,oGAAoG;AACpG,MAAM,UAAU,uCAAuC;IACrD,sBAAsB,CAAC,2BAA2B,EAAE,KAAK,EAAE,OAAwB,EAAmB,EAAE;QACtG,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhD,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,qCAAqC,CAAC,UAAU,CAAC,CAAC;gBACzE,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC;gBACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,kBAAkB,IAAI,uBAAuB,CAAC;gBACzE,OAAO,CAAC,IAAI,CACV,gBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM;oBAC5C,wBAAwB,IAAI,IAAI;oBAChC,oBAAoB,SAAS,EAAE,CAChC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,oEAAoE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACxI,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,OAAO,kCAAkC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,51 +1,33 @@
1
1
  /**
2
2
  * Barrel for the Context Assembly Engine source resolvers.
3
3
  *
4
- * Each per-resolver module registers its resolver as an import-time side
5
- * effect (a top-level registration call keyed by resolver type). Importing
6
- * this barrel therefore registers ALL resolvers. Three source files plus many
7
- * tests import `assembly-resolvers.js` (the thin shim that re-exports this
8
- * barrel) purely to trigger that registration.
4
+ * Registration is EXPLICIT: each per-resolver module exports a
5
+ * register<Name>Resolver() function, and initResolvers() below calls every
6
+ * one of them. There is no import-time registration side effect anywhere --
7
+ * a module that is imported but never wired into initResolvers() registers
8
+ * nothing, and initResolvers() throws if the registry ends up empty, so a
9
+ * broken registration path fails loudly at startup instead of silently
10
+ * assembling prompts with missing sections.
11
+ *
12
+ * Consumers reach this through the `assembly-resolvers.js` shim (which calls
13
+ * initResolvers() on load for back-compat) or directly: the daemon's
14
+ * FocusEngine.init calls initResolvers() and logs the registered keys.
9
15
  *
10
16
  * The shared public surface (types + helpers used by external consumers) is
11
17
  * re-exported here so it flows through the `assembly-resolvers.js` shim
12
18
  * unchanged.
13
19
  */
14
- import './delivery-acceptance-criteria.js';
15
- import './delivery-description.js';
16
- import './delivery-issues.js';
17
- import './focus-context.js';
18
- import './focus-last-review-report.js';
19
- import './security-advisory.js';
20
- import './wiki-search.js';
21
- import './wiki-topic.js';
22
- import './git-diff-against-base.js';
23
- import './guards-evaluation-results.js';
24
- import './workflow-stages.js';
25
- import './deployment-profile.js';
26
- import './delivery-listing.js';
27
- import './focus-injections.js';
28
- import './review-outcomes.js';
29
- import './focus-anchoring-injections.js';
30
- import './reality-metrics.js';
31
- import './reality-projections.js';
32
- import './loop-documents.js';
33
- import './loop-questions.js';
34
- import './loop-persona.js';
35
- import './loop-context.js';
36
- import './delivery-tech-context.js';
37
- import './focus-reality-tree.js';
38
- import './loop-injection.js';
39
- import './loop-frt-statement.js';
40
- import './loop-expected-effects.js';
41
- import './loop-upstream-udes.js';
42
- import './loop-delivery-index.js';
43
- import './retired-injections.js';
44
- import './agent-session-summaries.js';
45
- import './agent-escalations.js';
46
- import './reality-tree-snapshot.js';
47
- import './prd-persona.js';
48
- import './prd-context.js';
20
+ /**
21
+ * Register ALL assembly source resolvers. Idempotent -- subsequent calls
22
+ * return the already-registered keys without re-running registration.
23
+ *
24
+ * Throws if the registry is still empty after registration: an empty
25
+ * registry means every assembled prompt would silently lose its context
26
+ * sections, so this is a fail-loud startup invariant, not a recoverable
27
+ * condition. Returns the sorted registered resolver keys so the caller
28
+ * (FocusEngine.init) can list them in the startup log.
29
+ */
30
+ export declare function initResolvers(): string[];
49
31
  export { MAX_DIFF_BYTES, getGitDiff } from './shared/git-diff.js';
50
32
  export { CRT_DUMP_BUDGET_CHARS, renderRealityTreeDump, FOCUS_REALITY_TREE_EMPTY_STATE, } from './shared/reality-tree.js';
51
33
  export type { RealityTreeRow, RealityTreeListResponse, RealityNodeRow, RealityEdgeRow, NodeListResponse, EdgeListResponse, } from './shared/reality-tree.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,mCAAmC,CAAC;AAC3C,OAAO,2BAA2B,CAAC;AACnC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,+BAA+B,CAAC;AACvC,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AACzB,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,iCAAiC,CAAC;AACzC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,0BAA0B,CAAC;AAClC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,4BAA4B,CAAC;AACpC,OAAO,yBAAyB,CAAC;AACjC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,yBAAyB,CAAC;AACjC,OAAO,4BAA4B,CAAC;AACpC,OAAO,yBAAyB,CAAC;AACjC,OAAO,0BAA0B,CAAC;AAClC,OAAO,yBAAyB,CAAC;AACjC,OAAO,8BAA8B,CAAC;AACtC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmFH;;;;;;;;;GASG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAgBxC;AAGD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC"}