clinkx 0.3.0 → 1.0.0

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 (555) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/LICENSE +10 -0
  3. package/README.md +82 -26
  4. package/clinkx-workflows/dist/allowed-roots.d.ts +1 -0
  5. package/clinkx-workflows/dist/allowed-roots.js +5 -0
  6. package/clinkx-workflows/dist/allowed-roots.js.map +1 -0
  7. package/clinkx-workflows/dist/artifacts.d.ts +20 -1
  8. package/clinkx-workflows/dist/artifacts.js +38 -9
  9. package/clinkx-workflows/dist/artifacts.js.map +1 -1
  10. package/clinkx-workflows/dist/backend.d.ts +4 -0
  11. package/clinkx-workflows/dist/citation-check.d.ts +40 -0
  12. package/clinkx-workflows/dist/citation-check.js +348 -0
  13. package/clinkx-workflows/dist/citation-check.js.map +1 -0
  14. package/clinkx-workflows/dist/clink-client.d.ts +2 -1
  15. package/clinkx-workflows/dist/clink-client.js +17 -4
  16. package/clinkx-workflows/dist/clink-client.js.map +1 -1
  17. package/clinkx-workflows/dist/config.d.ts +145 -16
  18. package/clinkx-workflows/dist/config.js +384 -26
  19. package/clinkx-workflows/dist/config.js.map +1 -1
  20. package/clinkx-workflows/dist/contained-file.d.ts +172 -0
  21. package/clinkx-workflows/dist/contained-file.js +483 -0
  22. package/clinkx-workflows/dist/contained-file.js.map +1 -0
  23. package/clinkx-workflows/dist/context-builder-lifecycle-contract.d.ts +416 -0
  24. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js +328 -0
  25. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js.map +1 -0
  26. package/clinkx-workflows/dist/context-builder-lifecycle-router.d.ts +24 -0
  27. package/clinkx-workflows/dist/context-builder-lifecycle-router.js +39 -0
  28. package/clinkx-workflows/dist/context-builder-lifecycle-router.js.map +1 -0
  29. package/clinkx-workflows/dist/context-cache-key.d.ts +53 -0
  30. package/clinkx-workflows/dist/context-cache-key.js +91 -0
  31. package/clinkx-workflows/dist/context-cache-key.js.map +1 -0
  32. package/clinkx-workflows/dist/context-mode-resolver.d.ts +27 -0
  33. package/clinkx-workflows/dist/context-mode-resolver.js +126 -0
  34. package/clinkx-workflows/dist/context-mode-resolver.js.map +1 -0
  35. package/clinkx-workflows/dist/context-preflight.d.ts +184 -0
  36. package/clinkx-workflows/dist/context-preflight.js +91 -0
  37. package/clinkx-workflows/dist/context-preflight.js.map +1 -0
  38. package/clinkx-workflows/dist/council-expander.d.ts +1 -1
  39. package/clinkx-workflows/dist/council-expander.js +2 -1
  40. package/clinkx-workflows/dist/council-expander.js.map +1 -1
  41. package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +165 -0
  42. package/clinkx-workflows/dist/dashboard/activity-contract.js +105 -0
  43. package/clinkx-workflows/dist/dashboard/activity-contract.js.map +1 -0
  44. package/clinkx-workflows/dist/dashboard/activity-lease.d.ts +25 -0
  45. package/clinkx-workflows/dist/dashboard/activity-lease.js +34 -0
  46. package/clinkx-workflows/dist/dashboard/activity-lease.js.map +1 -0
  47. package/clinkx-workflows/dist/dashboard/activity-reader.d.ts +86 -0
  48. package/clinkx-workflows/dist/dashboard/activity-reader.js +480 -0
  49. package/clinkx-workflows/dist/dashboard/activity-reader.js.map +1 -0
  50. package/clinkx-workflows/dist/dashboard/api-routes.d.ts +36 -0
  51. package/clinkx-workflows/dist/dashboard/api-routes.js +1047 -0
  52. package/clinkx-workflows/dist/dashboard/api-routes.js.map +1 -0
  53. package/clinkx-workflows/dist/dashboard/artifact-index.d.ts +37 -0
  54. package/clinkx-workflows/dist/dashboard/artifact-index.js +145 -0
  55. package/clinkx-workflows/dist/dashboard/artifact-index.js.map +1 -0
  56. package/clinkx-workflows/dist/dashboard/auth/challenge-store.d.ts +31 -0
  57. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js +65 -0
  58. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js.map +1 -0
  59. package/clinkx-workflows/dist/dashboard/auth/controller.d.ts +26 -0
  60. package/clinkx-workflows/dist/dashboard/auth/controller.js +596 -0
  61. package/clinkx-workflows/dist/dashboard/auth/controller.js.map +1 -0
  62. package/clinkx-workflows/dist/dashboard/auth/credential-store.d.ts +60 -0
  63. package/clinkx-workflows/dist/dashboard/auth/credential-store.js +776 -0
  64. package/clinkx-workflows/dist/dashboard/auth/credential-store.js.map +1 -0
  65. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.d.ts +9 -0
  66. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js +44 -0
  67. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js.map +1 -0
  68. package/clinkx-workflows/dist/dashboard/auth/session-store.d.ts +17 -0
  69. package/clinkx-workflows/dist/dashboard/auth/session-store.js +77 -0
  70. package/clinkx-workflows/dist/dashboard/auth/session-store.js.map +1 -0
  71. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.d.ts +25 -0
  72. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js +71 -0
  73. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js.map +1 -0
  74. package/clinkx-workflows/dist/dashboard/context-run-liveness.d.ts +37 -0
  75. package/clinkx-workflows/dist/dashboard/context-run-liveness.js +49 -0
  76. package/clinkx-workflows/dist/dashboard/context-run-liveness.js.map +1 -0
  77. package/clinkx-workflows/dist/dashboard/context-run-reader.d.ts +222 -0
  78. package/clinkx-workflows/dist/dashboard/context-run-reader.js +1178 -0
  79. package/clinkx-workflows/dist/dashboard/context-run-reader.js.map +1 -0
  80. package/clinkx-workflows/dist/dashboard/contracts.d.ts +8936 -0
  81. package/clinkx-workflows/dist/dashboard/contracts.js +1157 -0
  82. package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -0
  83. package/clinkx-workflows/dist/dashboard/generation.d.ts +14 -0
  84. package/clinkx-workflows/dist/dashboard/generation.js +41 -0
  85. package/clinkx-workflows/dist/dashboard/generation.js.map +1 -0
  86. package/clinkx-workflows/dist/dashboard/index.d.ts +28 -0
  87. package/clinkx-workflows/dist/dashboard/index.js +16 -0
  88. package/clinkx-workflows/dist/dashboard/index.js.map +1 -0
  89. package/clinkx-workflows/dist/dashboard/lazy-content.d.ts +101 -0
  90. package/clinkx-workflows/dist/dashboard/lazy-content.js +748 -0
  91. package/clinkx-workflows/dist/dashboard/lazy-content.js.map +1 -0
  92. package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +303 -0
  93. package/clinkx-workflows/dist/dashboard/progress-report-contract.js +221 -0
  94. package/clinkx-workflows/dist/dashboard/progress-report-contract.js.map +1 -0
  95. package/clinkx-workflows/dist/dashboard/progress-report-reader.d.ts +50 -0
  96. package/clinkx-workflows/dist/dashboard/progress-report-reader.js +581 -0
  97. package/clinkx-workflows/dist/dashboard/progress-report-reader.js.map +1 -0
  98. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +89 -0
  99. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js +71 -0
  100. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js.map +1 -0
  101. package/clinkx-workflows/dist/dashboard/progress-report-status-store.d.ts +28 -0
  102. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js +110 -0
  103. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js.map +1 -0
  104. package/clinkx-workflows/dist/dashboard/read-model.d.ts +86 -0
  105. package/clinkx-workflows/dist/dashboard/read-model.js +440 -0
  106. package/clinkx-workflows/dist/dashboard/read-model.js.map +1 -0
  107. package/clinkx-workflows/dist/dashboard/request-admission.d.ts +31 -0
  108. package/clinkx-workflows/dist/dashboard/request-admission.js +126 -0
  109. package/clinkx-workflows/dist/dashboard/request-admission.js.map +1 -0
  110. package/clinkx-workflows/dist/dashboard/scanner.d.ts +75 -0
  111. package/clinkx-workflows/dist/dashboard/scanner.js +1110 -0
  112. package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -0
  113. package/clinkx-workflows/dist/dashboard/server-factory.d.ts +50 -0
  114. package/clinkx-workflows/dist/dashboard/server-factory.js +431 -0
  115. package/clinkx-workflows/dist/dashboard/server-factory.js.map +1 -0
  116. package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +2611 -0
  117. package/clinkx-workflows/dist/dashboard/session-log-contract.js +480 -0
  118. package/clinkx-workflows/dist/dashboard/session-log-contract.js.map +1 -0
  119. package/clinkx-workflows/dist/dashboard/session-log-identity.d.ts +21 -0
  120. package/clinkx-workflows/dist/dashboard/session-log-identity.js +101 -0
  121. package/clinkx-workflows/dist/dashboard/session-log-identity.js.map +1 -0
  122. package/clinkx-workflows/dist/dashboard/session-log-journal.d.ts +43 -0
  123. package/clinkx-workflows/dist/dashboard/session-log-journal.js +522 -0
  124. package/clinkx-workflows/dist/dashboard/session-log-journal.js.map +1 -0
  125. package/clinkx-workflows/dist/dashboard/session-log-reader.d.ts +61 -0
  126. package/clinkx-workflows/dist/dashboard/session-log-reader.js +378 -0
  127. package/clinkx-workflows/dist/dashboard/session-log-reader.js.map +1 -0
  128. package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +6 -0
  129. package/clinkx-workflows/dist/dashboard/session-log-redaction.js +367 -0
  130. package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -0
  131. package/clinkx-workflows/dist/dashboard/session-log-retention.d.ts +23 -0
  132. package/clinkx-workflows/dist/dashboard/session-log-retention.js +212 -0
  133. package/clinkx-workflows/dist/dashboard/session-log-retention.js.map +1 -0
  134. package/clinkx-workflows/dist/dashboard/static-responses.d.ts +10 -0
  135. package/clinkx-workflows/dist/dashboard/static-responses.js +94 -0
  136. package/clinkx-workflows/dist/dashboard/static-responses.js.map +1 -0
  137. package/clinkx-workflows/dist/dashboard/worker-lock-observer.d.ts +28 -0
  138. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js +241 -0
  139. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js.map +1 -0
  140. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  141. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  142. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  143. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  144. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
  145. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
  146. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
  147. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
  148. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
  149. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
  150. package/clinkx-workflows/dist/dashboard-ui/assets/index-DOkMXTfB.js +25 -0
  151. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  152. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  153. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  154. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  155. package/clinkx-workflows/dist/dashboard-ui/assets/style-ChJsn0KD.css +1 -0
  156. package/clinkx-workflows/dist/dashboard-ui/contracts/council-plan-review-input-v1.json +158 -0
  157. package/clinkx-workflows/dist/dashboard-ui/index.html +15 -0
  158. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Mono-OFL.txt +93 -0
  159. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Sans-OFL.txt +93 -0
  160. package/clinkx-workflows/dist/dashboard-ui/licenses/JetBrains-Mono-OFL.txt +93 -0
  161. package/clinkx-workflows/dist/dashboard-ui/licenses/NOTICE.md +32 -0
  162. package/clinkx-workflows/dist/dashboard-ui/theme-init.js +8 -0
  163. package/clinkx-workflows/dist/definition-normalizer.d.ts +19 -0
  164. package/clinkx-workflows/dist/definition-normalizer.js.map +1 -1
  165. package/clinkx-workflows/dist/delegate-validate.d.ts +78 -0
  166. package/clinkx-workflows/dist/delegate-validate.js +97 -0
  167. package/clinkx-workflows/dist/delegate-validate.js.map +1 -0
  168. package/clinkx-workflows/dist/engine.d.ts +141 -0
  169. package/clinkx-workflows/dist/engine.js +882 -28
  170. package/clinkx-workflows/dist/engine.js.map +1 -1
  171. package/clinkx-workflows/dist/errors.d.ts +2 -0
  172. package/clinkx-workflows/dist/errors.js.map +1 -1
  173. package/clinkx-workflows/dist/fingerprint.d.ts +1 -1
  174. package/clinkx-workflows/dist/fingerprint.js +1 -1
  175. package/clinkx-workflows/dist/index.d.ts +19 -0
  176. package/clinkx-workflows/dist/index.js +15 -0
  177. package/clinkx-workflows/dist/index.js.map +1 -1
  178. package/clinkx-workflows/dist/loader.d.ts +9 -3
  179. package/clinkx-workflows/dist/loader.js +92 -21
  180. package/clinkx-workflows/dist/loader.js.map +1 -1
  181. package/clinkx-workflows/dist/plan-review/admission.d.ts +160 -0
  182. package/clinkx-workflows/dist/plan-review/admission.js +290 -0
  183. package/clinkx-workflows/dist/plan-review/admission.js.map +1 -0
  184. package/clinkx-workflows/dist/plan-review/context-policy.d.ts +55 -0
  185. package/clinkx-workflows/dist/plan-review/context-policy.js +146 -0
  186. package/clinkx-workflows/dist/plan-review/context-policy.js.map +1 -0
  187. package/clinkx-workflows/dist/plan-review/contract.d.ts +763 -0
  188. package/clinkx-workflows/dist/plan-review/contract.js +289 -0
  189. package/clinkx-workflows/dist/plan-review/contract.js.map +1 -0
  190. package/clinkx-workflows/dist/plan-review/digest.d.ts +68 -0
  191. package/clinkx-workflows/dist/plan-review/digest.js +241 -0
  192. package/clinkx-workflows/dist/plan-review/digest.js.map +1 -0
  193. package/clinkx-workflows/dist/plan-review/discovery.d.ts +45 -0
  194. package/clinkx-workflows/dist/plan-review/discovery.js +36 -0
  195. package/clinkx-workflows/dist/plan-review/discovery.js.map +1 -0
  196. package/clinkx-workflows/dist/plan-review/execution-contract.d.ts +298 -0
  197. package/clinkx-workflows/dist/plan-review/execution-contract.js +194 -0
  198. package/clinkx-workflows/dist/plan-review/execution-contract.js.map +1 -0
  199. package/clinkx-workflows/dist/plan-review/expander.d.ts +48 -0
  200. package/clinkx-workflows/dist/plan-review/expander.js +243 -0
  201. package/clinkx-workflows/dist/plan-review/expander.js.map +1 -0
  202. package/clinkx-workflows/dist/plan-review/projector.d.ts +126 -0
  203. package/clinkx-workflows/dist/plan-review/projector.js +437 -0
  204. package/clinkx-workflows/dist/plan-review/projector.js.map +1 -0
  205. package/clinkx-workflows/dist/plan-review/publication.d.ts +95 -0
  206. package/clinkx-workflows/dist/plan-review/publication.js +182 -0
  207. package/clinkx-workflows/dist/plan-review/publication.js.map +1 -0
  208. package/clinkx-workflows/dist/plan-review/ranking-reducer.d.ts +34 -0
  209. package/clinkx-workflows/dist/plan-review/ranking-reducer.js +139 -0
  210. package/clinkx-workflows/dist/plan-review/ranking-reducer.js.map +1 -0
  211. package/clinkx-workflows/dist/plan-review/resume.d.ts +38 -0
  212. package/clinkx-workflows/dist/plan-review/resume.js +122 -0
  213. package/clinkx-workflows/dist/plan-review/resume.js.map +1 -0
  214. package/clinkx-workflows/dist/plan-review/rubric.d.ts +7 -0
  215. package/clinkx-workflows/dist/plan-review/rubric.js +24 -0
  216. package/clinkx-workflows/dist/plan-review/rubric.js.map +1 -0
  217. package/clinkx-workflows/dist/plan-review/run-state.d.ts +398 -0
  218. package/clinkx-workflows/dist/plan-review/run-state.js +183 -0
  219. package/clinkx-workflows/dist/plan-review/run-state.js.map +1 -0
  220. package/clinkx-workflows/dist/plan-review/runtime-policy.d.ts +74 -0
  221. package/clinkx-workflows/dist/plan-review/runtime-policy.js +186 -0
  222. package/clinkx-workflows/dist/plan-review/runtime-policy.js.map +1 -0
  223. package/clinkx-workflows/dist/plan-review/snapshot.d.ts +81 -0
  224. package/clinkx-workflows/dist/plan-review/snapshot.js +170 -0
  225. package/clinkx-workflows/dist/plan-review/snapshot.js.map +1 -0
  226. package/clinkx-workflows/dist/plan-review/stage-error.d.ts +19 -0
  227. package/clinkx-workflows/dist/plan-review/stage-error.js +20 -0
  228. package/clinkx-workflows/dist/plan-review/stage-error.js.map +1 -0
  229. package/clinkx-workflows/dist/post-processors/index.d.ts +20 -0
  230. package/clinkx-workflows/dist/post-processors/index.js +21 -0
  231. package/clinkx-workflows/dist/post-processors/index.js.map +1 -0
  232. package/clinkx-workflows/dist/prompt-budget.d.ts +7 -0
  233. package/clinkx-workflows/dist/prompt-budget.js +7 -1
  234. package/clinkx-workflows/dist/prompt-budget.js.map +1 -1
  235. package/clinkx-workflows/dist/reducers/index.js +2 -0
  236. package/clinkx-workflows/dist/reducers/index.js.map +1 -1
  237. package/clinkx-workflows/dist/run-lock-heartbeat.d.ts +2 -0
  238. package/clinkx-workflows/dist/run-lock-heartbeat.js +3 -0
  239. package/clinkx-workflows/dist/run-lock-heartbeat.js.map +1 -0
  240. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.d.ts +34 -0
  241. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js +74 -0
  242. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js.map +1 -0
  243. package/clinkx-workflows/dist/run-summary/cards/index.js +5 -0
  244. package/clinkx-workflows/dist/run-summary/cards/index.js.map +1 -1
  245. package/clinkx-workflows/dist/run-summary.d.ts +13 -0
  246. package/clinkx-workflows/dist/run-summary.js +29 -1
  247. package/clinkx-workflows/dist/run-summary.js.map +1 -1
  248. package/clinkx-workflows/dist/schema.d.ts +76 -21
  249. package/clinkx-workflows/dist/schema.js +10 -1
  250. package/clinkx-workflows/dist/schema.js.map +1 -1
  251. package/clinkx-workflows/dist/seed-terms.d.ts +30 -0
  252. package/clinkx-workflows/dist/seed-terms.js +176 -0
  253. package/clinkx-workflows/dist/seed-terms.js.map +1 -0
  254. package/clinkx-workflows/dist/server.d.ts +5 -2
  255. package/clinkx-workflows/dist/server.js +82 -52
  256. package/clinkx-workflows/dist/server.js.map +1 -1
  257. package/clinkx-workflows/dist/shutdown.d.ts +18 -20
  258. package/clinkx-workflows/dist/shutdown.js +43 -61
  259. package/clinkx-workflows/dist/shutdown.js.map +1 -1
  260. package/clinkx-workflows/dist/state-schema.d.ts +38 -0
  261. package/clinkx-workflows/dist/state.d.ts +170 -3
  262. package/clinkx-workflows/dist/state.js +1275 -28
  263. package/clinkx-workflows/dist/state.js.map +1 -1
  264. package/clinkx-workflows/dist/transport.d.ts +15 -0
  265. package/clinkx-workflows/dist/transport.js +19 -10
  266. package/clinkx-workflows/dist/transport.js.map +1 -1
  267. package/clinkx-workflows/dist/types.d.ts +14 -2
  268. package/clinkx-workflows/dist/validators/council.d.ts +318 -85
  269. package/clinkx-workflows/dist/validators/council.js +52 -13
  270. package/clinkx-workflows/dist/validators/council.js.map +1 -1
  271. package/clinkx-workflows/dist/validators/index.d.ts +1 -0
  272. package/clinkx-workflows/dist/validators/index.js +3 -0
  273. package/clinkx-workflows/dist/validators/index.js.map +1 -1
  274. package/clinkx-workflows/dist/validators/plan-review.d.ts +398 -0
  275. package/clinkx-workflows/dist/validators/plan-review.js +316 -0
  276. package/clinkx-workflows/dist/validators/plan-review.js.map +1 -0
  277. package/clinkx-workflows/dist/workflow-receipt.js +188 -4
  278. package/clinkx-workflows/dist/workflow-receipt.js.map +1 -1
  279. package/clinkx-workflows/dist/workflow-tools.d.ts +48 -3
  280. package/clinkx-workflows/dist/workflow-tools.js +1402 -59
  281. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  282. package/clinkx-workflows/dist/workspace-signature.d.ts +16 -0
  283. package/clinkx-workflows/dist/workspace-signature.js +388 -0
  284. package/clinkx-workflows/dist/workspace-signature.js.map +1 -0
  285. package/clinkx-workflows/templates/council/answer-specialist.txt +2 -1
  286. package/clinkx-workflows/templates/council/code-review-chairman.txt +13 -0
  287. package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +4 -1
  288. package/clinkx-workflows/templates/council/code-review-reviewer.txt +19 -3
  289. package/clinkx-workflows/templates/council/debug-debugger.txt +2 -1
  290. package/clinkx-workflows/templates/council/discover-analyst.txt +2 -1
  291. package/clinkx-workflows/templates/council/member.txt +2 -1
  292. package/clinkx-workflows/templates/council/plan-review-chairman.txt +68 -0
  293. package/clinkx-workflows/templates/council/plan-review-cross-reviewer.txt +51 -0
  294. package/clinkx-workflows/templates/council/plan-review-reviewer.txt +60 -0
  295. package/clinkx-workflows/templates/plan-review/chairman.txt +48 -0
  296. package/clinkx-workflows/templates/plan-review/cross-review.txt +52 -0
  297. package/clinkx-workflows/templates/plan-review/ranking.txt +16 -0
  298. package/clinkx-workflows/templates/plan-review/reviewer.txt +57 -0
  299. package/clinkx-workflows/workflows/council-answer.yaml +97 -8
  300. package/clinkx-workflows/workflows/council-code-review.yaml +103 -8
  301. package/clinkx-workflows/workflows/council-debug.yaml +97 -8
  302. package/clinkx-workflows/workflows/council-default.yaml +97 -8
  303. package/clinkx-workflows/workflows/council-discover.yaml +97 -8
  304. package/clinkx-workflows/workflows/council-plan-review.yaml +250 -0
  305. package/clinkx-workflows/workflows/plan-review-receipts.yaml +230 -0
  306. package/conf/adapters/agy.json +49 -0
  307. package/conf/adapters/claude.json +5 -0
  308. package/conf/adapters/codex-app-server.json +44 -0
  309. package/conf/adapters/codex.json +7 -2
  310. package/conf/adapters/glm.json +5 -0
  311. package/conf/adapters/grok.json +60 -0
  312. package/conf/adapters/hapi/agy.json +52 -0
  313. package/conf/adapters/hapi/claude.json +5 -0
  314. package/conf/adapters/hapi/codex.json +7 -2
  315. package/conf/adapters/hapi/glm.json +5 -0
  316. package/dist/activity-journal.d.ts +42 -0
  317. package/dist/activity-journal.js +381 -0
  318. package/dist/activity-journal.js.map +1 -0
  319. package/dist/allowed-roots.d.ts +41 -0
  320. package/dist/allowed-roots.js +125 -3
  321. package/dist/allowed-roots.js.map +1 -1
  322. package/dist/codex/activity-session-log.d.ts +14 -0
  323. package/dist/codex/activity-session-log.js +206 -0
  324. package/dist/codex/activity-session-log.js.map +1 -0
  325. package/dist/codex/agent-tools.d.ts +23 -0
  326. package/dist/codex/agent-tools.js +1270 -0
  327. package/dist/codex/agent-tools.js.map +1 -0
  328. package/dist/codex/app-server-client.d.ts +76 -0
  329. package/dist/codex/app-server-client.js +582 -0
  330. package/dist/codex/app-server-client.js.map +1 -0
  331. package/dist/codex/app-server-registry.d.ts +389 -0
  332. package/dist/codex/app-server-registry.js +1407 -0
  333. package/dist/codex/app-server-registry.js.map +1 -0
  334. package/dist/codex/client-types.d.ts +109 -0
  335. package/dist/codex/client-types.js +2 -0
  336. package/dist/codex/client-types.js.map +1 -0
  337. package/dist/codex/protocol.d.ts +5375 -0
  338. package/dist/codex/protocol.js +614 -0
  339. package/dist/codex/protocol.js.map +1 -0
  340. package/dist/codex/session.d.ts +263 -0
  341. package/dist/codex/session.js +466 -0
  342. package/dist/codex/session.js.map +1 -0
  343. package/dist/config.d.ts +185 -19
  344. package/dist/config.js +82 -16
  345. package/dist/config.js.map +1 -1
  346. package/dist/context-builder/anchors.d.ts +1 -0
  347. package/dist/context-builder/anchors.js +3 -0
  348. package/dist/context-builder/anchors.js.map +1 -1
  349. package/dist/context-builder/bundle.d.ts +35 -2
  350. package/dist/context-builder/bundle.js +342 -2417
  351. package/dist/context-builder/bundle.js.map +1 -1
  352. package/dist/context-builder/codemap.d.ts +5 -0
  353. package/dist/context-builder/codemap.js +387 -13
  354. package/dist/context-builder/codemap.js.map +1 -1
  355. package/dist/context-builder/config.d.ts +1 -0
  356. package/dist/context-builder/config.js +12 -0
  357. package/dist/context-builder/config.js.map +1 -1
  358. package/dist/context-builder/context-run-catalog.d.ts +17 -0
  359. package/dist/context-builder/context-run-catalog.js +99 -0
  360. package/dist/context-builder/context-run-catalog.js.map +1 -0
  361. package/dist/context-builder/delegate-packet.d.ts +37 -0
  362. package/dist/context-builder/delegate-packet.js +359 -67
  363. package/dist/context-builder/delegate-packet.js.map +1 -1
  364. package/dist/context-builder/delegate-validation.d.ts +10 -1
  365. package/dist/context-builder/delegate-validation.js +153 -41
  366. package/dist/context-builder/delegate-validation.js.map +1 -1
  367. package/dist/context-builder/delegate.d.ts +2 -0
  368. package/dist/context-builder/delegate.js +1 -0
  369. package/dist/context-builder/delegate.js.map +1 -1
  370. package/dist/context-builder/diagnostics.d.ts +11 -2
  371. package/dist/context-builder/diagnostics.js +39 -6
  372. package/dist/context-builder/diagnostics.js.map +1 -1
  373. package/dist/context-builder/discovery.d.ts +29 -1
  374. package/dist/context-builder/discovery.js +475 -175
  375. package/dist/context-builder/discovery.js.map +1 -1
  376. package/dist/context-builder/globs.js +10 -10
  377. package/dist/context-builder/globs.js.map +1 -1
  378. package/dist/context-builder/handler.d.ts +26 -2
  379. package/dist/context-builder/handler.js +1158 -2416
  380. package/dist/context-builder/handler.js.map +1 -1
  381. package/dist/context-builder/lifecycle-contract.d.ts +424 -0
  382. package/dist/context-builder/lifecycle-contract.js +523 -0
  383. package/dist/context-builder/lifecycle-contract.js.map +1 -0
  384. package/dist/context-builder/lifecycle-journal.d.ts +62 -0
  385. package/dist/context-builder/lifecycle-journal.js +88 -0
  386. package/dist/context-builder/lifecycle-journal.js.map +1 -0
  387. package/dist/context-builder/lifecycle-observer.d.ts +102 -0
  388. package/dist/context-builder/lifecycle-observer.js +258 -0
  389. package/dist/context-builder/lifecycle-observer.js.map +1 -0
  390. package/dist/context-builder/lifecycle-reconcile.d.ts +32 -0
  391. package/dist/context-builder/lifecycle-reconcile.js +191 -0
  392. package/dist/context-builder/lifecycle-reconcile.js.map +1 -0
  393. package/dist/context-builder/lifecycle-recovery.d.ts +2 -0
  394. package/dist/context-builder/lifecycle-recovery.js +14 -0
  395. package/dist/context-builder/lifecycle-recovery.js.map +1 -0
  396. package/dist/context-builder/path-signals.js +9 -5
  397. package/dist/context-builder/path-signals.js.map +1 -1
  398. package/dist/context-builder/progress.d.ts +3 -1
  399. package/dist/context-builder/progress.js +23 -0
  400. package/dist/context-builder/progress.js.map +1 -1
  401. package/dist/context-builder/receipt.d.ts +6 -4
  402. package/dist/context-builder/receipt.js +12 -1
  403. package/dist/context-builder/receipt.js.map +1 -1
  404. package/dist/context-builder/refine-handler.d.ts +14 -0
  405. package/dist/context-builder/refine-handler.js +790 -0
  406. package/dist/context-builder/refine-handler.js.map +1 -0
  407. package/dist/context-builder/review-coverage.d.ts +84 -0
  408. package/dist/context-builder/review-coverage.js +437 -0
  409. package/dist/context-builder/review-coverage.js.map +1 -0
  410. package/dist/context-builder/schema.d.ts +239 -1
  411. package/dist/context-builder/schema.js +112 -6
  412. package/dist/context-builder/schema.js.map +1 -1
  413. package/dist/context-builder/secrets.d.ts +28 -0
  414. package/dist/context-builder/secrets.js +1473 -44
  415. package/dist/context-builder/secrets.js.map +1 -1
  416. package/dist/context-builder/selection.d.ts +7 -3
  417. package/dist/context-builder/selection.js +200 -738
  418. package/dist/context-builder/selection.js.map +1 -1
  419. package/dist/context-builder/session-log-identity.d.ts +1 -0
  420. package/dist/context-builder/session-log-identity.js +66 -0
  421. package/dist/context-builder/session-log-identity.js.map +1 -0
  422. package/dist/context-builder/slice-range-math.d.ts +16 -0
  423. package/dist/context-builder/slice-range-math.js +137 -0
  424. package/dist/context-builder/slice-range-math.js.map +1 -0
  425. package/dist/context-builder/status.d.ts +22 -1
  426. package/dist/context-builder/status.js +59 -4
  427. package/dist/context-builder/status.js.map +1 -1
  428. package/dist/context-builder/storage.d.ts +35 -2
  429. package/dist/context-builder/storage.js +271 -14
  430. package/dist/context-builder/storage.js.map +1 -1
  431. package/dist/context-builder/token-estimate.d.ts +13 -2
  432. package/dist/context-builder/token-estimate.js +77 -4
  433. package/dist/context-builder/token-estimate.js.map +1 -1
  434. package/dist/context-builder/versions.d.ts +29 -0
  435. package/dist/context-builder/versions.js +30 -0
  436. package/dist/context-builder/versions.js.map +1 -0
  437. package/dist/context-builder/workflow-runner.d.ts +69 -0
  438. package/dist/context-builder/workflow-runner.js +1051 -0
  439. package/dist/context-builder/workflow-runner.js.map +1 -0
  440. package/dist/context-builder/write-watchdog.d.ts +14 -0
  441. package/dist/context-builder/write-watchdog.js +38 -0
  442. package/dist/context-builder/write-watchdog.js.map +1 -0
  443. package/dist/dashboard-adapter-catalog.d.ts +9 -0
  444. package/dist/dashboard-adapter-catalog.js +46 -0
  445. package/dist/dashboard-adapter-catalog.js.map +1 -0
  446. package/dist/dashboard-cli.d.ts +79 -0
  447. package/dist/dashboard-cli.js +585 -0
  448. package/dist/dashboard-cli.js.map +1 -0
  449. package/dist/dashboard-companion/client.d.ts +36 -0
  450. package/dist/dashboard-companion/client.js +210 -0
  451. package/dist/dashboard-companion/client.js.map +1 -0
  452. package/dist/dashboard-companion/config.d.ts +8 -0
  453. package/dist/dashboard-companion/config.js +52 -0
  454. package/dist/dashboard-companion/config.js.map +1 -0
  455. package/dist/dashboard-companion/http-proxy.d.ts +10 -0
  456. package/dist/dashboard-companion/http-proxy.js +234 -0
  457. package/dist/dashboard-companion/http-proxy.js.map +1 -0
  458. package/dist/dashboard-companion/protocol.d.ts +80 -0
  459. package/dist/dashboard-companion/protocol.js +455 -0
  460. package/dist/dashboard-companion/protocol.js.map +1 -0
  461. package/dist/dashboard-companion/standalone-assets.d.ts +12 -0
  462. package/dist/dashboard-companion/standalone-assets.js +72 -0
  463. package/dist/dashboard-companion/standalone-assets.js.map +1 -0
  464. package/dist/dashboard-companion/standalone-entry.d.ts +1 -0
  465. package/dist/dashboard-companion/standalone-entry.js +17 -0
  466. package/dist/dashboard-companion/standalone-entry.js.map +1 -0
  467. package/dist/dashboard-gateway/config.d.ts +9 -0
  468. package/dist/dashboard-gateway/config.js +44 -0
  469. package/dist/dashboard-gateway/config.js.map +1 -0
  470. package/dist/dashboard-gateway/index.d.ts +11 -0
  471. package/dist/dashboard-gateway/index.js +755 -0
  472. package/dist/dashboard-gateway/index.js.map +1 -0
  473. package/dist/dashboard-gateway/main.d.ts +1 -0
  474. package/dist/dashboard-gateway/main.js +25 -0
  475. package/dist/dashboard-gateway/main.js.map +1 -0
  476. package/dist/dashboard-pairing-token.d.ts +1 -0
  477. package/dist/dashboard-pairing-token.js +5 -0
  478. package/dist/dashboard-pairing-token.js.map +1 -0
  479. package/dist/elaris/client.d.ts +73 -0
  480. package/dist/elaris/client.js +825 -0
  481. package/dist/elaris/client.js.map +1 -0
  482. package/dist/elaris/config.d.ts +18 -0
  483. package/dist/elaris/config.js +75 -0
  484. package/dist/elaris/config.js.map +1 -0
  485. package/dist/elaris/errors.d.ts +41 -0
  486. package/dist/elaris/errors.js +205 -0
  487. package/dist/elaris/errors.js.map +1 -0
  488. package/dist/elaris/github-repo.d.ts +18 -0
  489. package/dist/elaris/github-repo.js +89 -0
  490. package/dist/elaris/github-repo.js.map +1 -0
  491. package/dist/elaris/index.d.ts +10 -0
  492. package/dist/elaris/index.js +11 -0
  493. package/dist/elaris/index.js.map +1 -0
  494. package/dist/elaris/redact.d.ts +89 -0
  495. package/dist/elaris/redact.js +423 -0
  496. package/dist/elaris/redact.js.map +1 -0
  497. package/dist/elaris/run-id.d.ts +5 -0
  498. package/dist/elaris/run-id.js +20 -0
  499. package/dist/elaris/run-id.js.map +1 -0
  500. package/dist/elaris/status.d.ts +45 -0
  501. package/dist/elaris/status.js +122 -0
  502. package/dist/elaris/status.js.map +1 -0
  503. package/dist/elaris/tool-schemas.d.ts +314 -0
  504. package/dist/elaris/tool-schemas.js +208 -0
  505. package/dist/elaris/tool-schemas.js.map +1 -0
  506. package/dist/elaris/tools.d.ts +73 -0
  507. package/dist/elaris/tools.js +1065 -0
  508. package/dist/elaris/tools.js.map +1 -0
  509. package/dist/elaris/types.d.ts +1541 -0
  510. package/dist/elaris/types.js +252 -0
  511. package/dist/elaris/types.js.map +1 -0
  512. package/dist/errors.d.ts +16 -0
  513. package/dist/errors.js +19 -0
  514. package/dist/errors.js.map +1 -1
  515. package/dist/handler.d.ts +4 -0
  516. package/dist/handler.js +10 -1
  517. package/dist/handler.js.map +1 -1
  518. package/dist/index.d.ts +2 -1
  519. package/dist/index.js +13 -3
  520. package/dist/index.js.map +1 -1
  521. package/dist/local-clink-backend.d.ts +3 -0
  522. package/dist/local-clink-backend.js +4 -0
  523. package/dist/local-clink-backend.js.map +1 -1
  524. package/dist/package-info.d.ts +2 -0
  525. package/dist/package-info.js +18 -0
  526. package/dist/package-info.js.map +1 -0
  527. package/dist/parsers/codex-jsonl.js +48 -3
  528. package/dist/parsers/codex-jsonl.js.map +1 -1
  529. package/dist/parsers/extract.d.ts +10 -1
  530. package/dist/parsers/extract.js +11 -3
  531. package/dist/parsers/extract.js.map +1 -1
  532. package/dist/pipeline.d.ts +4 -0
  533. package/dist/pipeline.js +129 -8
  534. package/dist/pipeline.js.map +1 -1
  535. package/dist/run-dir.d.ts +24 -0
  536. package/dist/run-dir.js +201 -2
  537. package/dist/run-dir.js.map +1 -1
  538. package/dist/runner.d.ts +13 -0
  539. package/dist/runner.js +184 -15
  540. package/dist/runner.js.map +1 -1
  541. package/dist/safety.d.ts +4 -4
  542. package/dist/safety.js +4 -4
  543. package/dist/schema.d.ts +7 -7
  544. package/dist/server.d.ts +1 -0
  545. package/dist/server.js +359 -17
  546. package/dist/server.js.map +1 -1
  547. package/dist/session-log-stream.d.ts +18 -0
  548. package/dist/session-log-stream.js +319 -0
  549. package/dist/session-log-stream.js.map +1 -0
  550. package/package.json +46 -5
  551. package/conf/adapters/gemini.json +0 -44
  552. package/conf/adapters/hapi/gemini.json +0 -47
  553. package/dist/parsers/gemini-json.d.ts +0 -2
  554. package/dist/parsers/gemini-json.js +0 -72
  555. package/dist/parsers/gemini-json.js.map +0 -1
@@ -22,6 +22,87 @@ variables:
22
22
  required: false
23
23
  default: []
24
24
  description: Optional file paths (absolute, or relative to workspace root) shared with the council
25
+ context_bundle_files:
26
+ type: string[]
27
+ required: false
28
+ default: []
29
+ description: Optional context_builder bundle files copied into the workflow run
30
+ cb_task:
31
+ type: string
32
+ required: false
33
+ default: ""
34
+ description: Optional context_builder task override
35
+ cb_roots:
36
+ type: string[]
37
+ required: false
38
+ default: []
39
+ description: Optional context_builder source roots
40
+ cb_focus_paths:
41
+ type: string[]
42
+ required: false
43
+ default: []
44
+ description: Optional context_builder focus path refinement. Context preflight runs by default; these paths narrow selection when supplied.
45
+ cb_include_globs:
46
+ type: string[]
47
+ required: false
48
+ default: []
49
+ description: Context-builder include glob refinements
50
+ cb_exclude_globs:
51
+ type: string[]
52
+ required: false
53
+ default: ["**/*.po", "**/*.pot", "**/*.mo", "**/locales/**/*.json", "**/i18n/**/*.json"]
54
+ description: Context-builder exclude glob refinements
55
+ cb_search_terms:
56
+ type: string[]
57
+ required: false
58
+ default: []
59
+ description: Optional context_builder search term refinement. Context preflight runs by default; these terms narrow selection when supplied.
60
+ cb_profile:
61
+ type: string
62
+ required: false
63
+ default: implementation_medium
64
+ description: Context-builder budget profile
65
+ cb_budget_adapter:
66
+ type: string
67
+ required: false
68
+ description: Adapter whose context_builder budget defaults apply when context preflight runs (preflight runs by default unless cb_context_mode is off).
69
+ cb_allow_secrets:
70
+ type: boolean
71
+ required: false
72
+ description: When false, restores fail-closed context_builder source secret omission/redaction AND rejects high-confidence secrets in persisted task text (cb_task/user_request) before the run starts; default true includes secrets.
73
+ cb_budget_max_estimated_tokens:
74
+ type: number
75
+ required: false
76
+ description: Context-builder budget override — max estimated tokens
77
+ cb_budget_max_files:
78
+ type: number
79
+ required: false
80
+ description: Context-builder budget override — max files selected
81
+ cb_budget_max_scan_files:
82
+ type: number
83
+ required: false
84
+ description: Context-builder budget override — max files scanned
85
+ cb_budget_max_bytes_per_file:
86
+ type: number
87
+ required: false
88
+ description: Context-builder budget override — max bytes per file
89
+ cb_budget_max_total_bytes:
90
+ type: number
91
+ required: false
92
+ description: Context-builder budget override — max total bytes
93
+ cb_budget_max_search_results:
94
+ type: number
95
+ required: false
96
+ description: Context-builder budget override — max search results
97
+ cb_delegate:
98
+ type: string
99
+ required: false
100
+ default: ""
101
+ description: Optional context_builder delegate config as a JSON string (enabled/curator/finalizer)
102
+ cb_context_mode:
103
+ type: string
104
+ required: false
105
+ description: "Context preflight mode selector. Allowed values: full | deterministic | off | inherit. Omitted or inherit follows the server default (CLINKX_WORKFLOWS_CONTEXT_DEFAULT); full runs curator+finalizer delegate, deterministic seeds discovery with no delegate, off skips preflight. Allowed-value validation is owned by the resolver; no concrete mode default is materialized in YAML."
25
106
  context_images:
26
107
  type: string[]
27
108
  required: false
@@ -29,7 +110,7 @@ variables:
29
110
  description: Optional image paths (absolute, or relative to workspace root) shared with the council
30
111
 
31
112
  settings:
32
- timeout_seconds: 1800
113
+ timeout_seconds: 10800
33
114
 
34
115
  stages:
35
116
  - id: analysts
@@ -44,23 +125,26 @@ stages:
44
125
  calls:
45
126
  - id: analyst_a
46
127
  cli_name: codex
128
+ timeout_seconds: 1200
47
129
  role: json-default
48
130
  prompt_template: council/discover-analyst.txt
49
- absolute_file_paths_from: context_files
131
+ absolute_file_paths_from: [context_files, context_bundle_files]
50
132
  images_from: context_images
51
133
  validator_schema_id: council_discover_analyst_v2
52
134
  - id: analyst_b
53
135
  cli_name: codex
136
+ timeout_seconds: 1200
54
137
  role: json-default
55
138
  prompt_template: council/discover-analyst.txt
56
- absolute_file_paths_from: context_files
139
+ absolute_file_paths_from: [context_files, context_bundle_files]
57
140
  images_from: context_images
58
141
  validator_schema_id: council_discover_analyst_v2
59
142
  - id: analyst_c
60
143
  cli_name: claude
144
+ timeout_seconds: 1200
61
145
  role: json-default
62
146
  prompt_template: council/discover-analyst.txt
63
- absolute_file_paths_from: context_files
147
+ absolute_file_paths_from: [context_files, context_bundle_files]
64
148
  images_from: context_images
65
149
  validator_schema_id: council_discover_analyst_v2
66
150
 
@@ -76,8 +160,9 @@ stages:
76
160
  calls:
77
161
  - id: cross_reviewer_a
78
162
  cli_name: codex
163
+ timeout_seconds: 1200
79
164
  role: json-default
80
- absolute_file_paths_from: context_files
165
+ absolute_file_paths_from: [context_files, context_bundle_files]
81
166
  images_from: context_images
82
167
  prompt_template: council/discover-cross-reviewer.txt
83
168
  anonymize_context: true
@@ -86,8 +171,9 @@ stages:
86
171
  validator_schema_id: council_discover_cross_reviewer_v4
87
172
  - id: cross_reviewer_b
88
173
  cli_name: codex
174
+ timeout_seconds: 1200
89
175
  role: json-default
90
- absolute_file_paths_from: context_files
176
+ absolute_file_paths_from: [context_files, context_bundle_files]
91
177
  images_from: context_images
92
178
  prompt_template: council/discover-cross-reviewer.txt
93
179
  anonymize_context: true
@@ -96,8 +182,9 @@ stages:
96
182
  validator_schema_id: council_discover_cross_reviewer_v4
97
183
  - id: cross_reviewer_c
98
184
  cli_name: claude
185
+ timeout_seconds: 1200
99
186
  role: json-default
100
- absolute_file_paths_from: context_files
187
+ absolute_file_paths_from: [context_files, context_bundle_files]
101
188
  images_from: context_images
102
189
  prompt_template: council/discover-cross-reviewer.txt
103
190
  anonymize_context: true
@@ -117,6 +204,7 @@ stages:
117
204
  calls:
118
205
  - id: ranking
119
206
  cli_name: codex
207
+ timeout_seconds: 1200
120
208
  role: json-default
121
209
  reducer: council_ranking_v1
122
210
  prompt: "Deterministic ranking reducer"
@@ -136,9 +224,10 @@ stages:
136
224
  calls:
137
225
  - id: chairman
138
226
  cli_name: codex
227
+ timeout_seconds: 1200
139
228
  role: json-default
140
229
  prompt_template: council/discover-chairman.txt
141
- absolute_file_paths_from: context_files
230
+ absolute_file_paths_from: [context_files, context_bundle_files]
142
231
  images_from: context_images
143
232
  context_from:
144
233
  - analysts
@@ -0,0 +1,250 @@
1
+ # GENERIC plan review council — the sixth generic council (members/chairman/user_request).
2
+ # The typed approval transport is the separate plan-review-receipts workflow. Guarantee
3
+ # delta versus plan-review-receipts: NO immutable-revision binding, NO execution-contract
4
+ # digest, NO immutable snapshot, and NO receipt candidates — the plan travels as a mutable
5
+ # file path via context_files, reviewer non-mutation is a prompt instruction only (not an
6
+ # enforced boundary), and the result is a generic council verdict that CANNOT feed an
7
+ # approval gate.
8
+ # Use plan-review-receipts (typed plan_review contract) when those guarantees matter.
9
+ name: council-plan-review
10
+ description: "Plan review council: reviewers critique a plan file, cross-reviewers evaluate, chairman synthesizes (1-10 members). No typed contract, digest binding, or receipts — the typed transport is plan-review-receipts."
11
+ version: 1.0.0
12
+
13
+ variables:
14
+ user_request:
15
+ type: string
16
+ required: true
17
+ description: The plan review request including context (what the plan is for, what to scrutinize)
18
+ mode:
19
+ type: string
20
+ required: false
21
+ default: plan_review
22
+ description: Review mode
23
+ rubric:
24
+ type: string
25
+ required: false
26
+ default: '[{"name":"scope_and_non_goals","description":"Explicit scope and stated non-goals","weight":15},{"name":"evidence_anchors","description":"Load-bearing claims cite checkable files, symbols, or commands","weight":15},{"name":"dependency_graph","description":"Explicit, acyclic, executable task ordering","weight":10},{"name":"runnable_verification","description":"Each substantive change has a verification a person or CI can actually run","weight":15},{"name":"rollback","description":"A stated way back for hard-to-reverse work only","weight":10},{"name":"risks","description":"Real risks named with blast radius","weight":15},{"name":"undisguised_blockers","description":"Genuine blockers stated as blockers, preferences not inflated","weight":10},{"name":"cross_boundary_ownership","description":"Owners and pinned contracts for work crossing repo, package, or service boundaries","weight":10}]'
27
+ description: Evaluation rubric for plan reviewers
28
+ context_files:
29
+ type: string[]
30
+ required: false
31
+ default: []
32
+ description: Optional file paths (absolute, or relative to workspace root) shared with the council; include the plan file here
33
+ context_bundle_files:
34
+ type: string[]
35
+ required: false
36
+ default: []
37
+ description: Optional context_builder bundle files copied into the workflow run
38
+ cb_task:
39
+ type: string
40
+ required: false
41
+ default: ""
42
+ description: Optional context_builder task override
43
+ cb_roots:
44
+ type: string[]
45
+ required: false
46
+ default: []
47
+ description: Optional context_builder source roots
48
+ cb_focus_paths:
49
+ type: string[]
50
+ required: false
51
+ default: []
52
+ description: Optional context_builder focus path refinement. Context preflight runs by default; these paths narrow selection when supplied.
53
+ cb_include_globs:
54
+ type: string[]
55
+ required: false
56
+ default: []
57
+ description: Context-builder include glob refinements
58
+ cb_exclude_globs:
59
+ type: string[]
60
+ required: false
61
+ default: ["**/*.po", "**/*.pot", "**/*.mo", "**/locales/**/*.json", "**/i18n/**/*.json"]
62
+ description: Context-builder exclude glob refinements
63
+ cb_search_terms:
64
+ type: string[]
65
+ required: false
66
+ default: []
67
+ description: Optional context_builder search term refinement. Context preflight runs by default; these terms narrow selection when supplied.
68
+ cb_profile:
69
+ type: string
70
+ required: false
71
+ default: review_deep
72
+ description: Context-builder budget profile
73
+ cb_budget_adapter:
74
+ type: string
75
+ required: false
76
+ description: Adapter whose context_builder budget defaults apply when context preflight runs (preflight runs by default unless cb_context_mode is off).
77
+ cb_allow_secrets:
78
+ type: boolean
79
+ required: false
80
+ description: When false, restores fail-closed context_builder source secret omission/redaction AND rejects high-confidence secrets in persisted task text (cb_task/user_request) before the run starts; default true includes secrets.
81
+ cb_budget_max_estimated_tokens:
82
+ type: number
83
+ required: false
84
+ description: Context-builder budget override — max estimated tokens
85
+ cb_budget_max_files:
86
+ type: number
87
+ required: false
88
+ description: Context-builder budget override — max files selected
89
+ cb_budget_max_scan_files:
90
+ type: number
91
+ required: false
92
+ description: Context-builder budget override — max files scanned
93
+ cb_budget_max_bytes_per_file:
94
+ type: number
95
+ required: false
96
+ description: Context-builder budget override — max bytes per file
97
+ cb_budget_max_total_bytes:
98
+ type: number
99
+ required: false
100
+ description: Context-builder budget override — max total bytes
101
+ cb_budget_max_search_results:
102
+ type: number
103
+ required: false
104
+ description: Context-builder budget override — max search results
105
+ cb_delegate:
106
+ type: string
107
+ required: false
108
+ default: ""
109
+ description: Optional context_builder delegate config as a JSON string (enabled/curator/finalizer)
110
+ cb_context_mode:
111
+ type: string
112
+ required: false
113
+ description: "Context preflight mode selector. Allowed values: full | deterministic | off | inherit. Omitted or inherit follows the server default (CLINKX_WORKFLOWS_CONTEXT_DEFAULT); full runs curator+finalizer delegate, deterministic seeds discovery with no delegate, off skips preflight. Allowed-value validation is owned by the resolver; no concrete mode default is materialized in YAML."
114
+ context_images:
115
+ type: string[]
116
+ required: false
117
+ default: []
118
+ description: Optional image paths (absolute, or relative to workspace root) shared with the council
119
+
120
+ settings:
121
+ timeout_seconds: 10800
122
+
123
+ stages:
124
+ - id: reviewers
125
+ description: "Council members review the plan independently"
126
+ parallel: true
127
+ retry:
128
+ mode: all
129
+ max_retries: 1
130
+ backoff_seconds: 10
131
+ max_backoff_seconds: 60
132
+ on_failure: continue
133
+ calls:
134
+ - id: reviewer_a
135
+ cli_name: codex
136
+ timeout_seconds: 1200
137
+ role: json-codereviewer
138
+ prompt_template: council/plan-review-reviewer.txt
139
+ absolute_file_paths_from: [context_files, context_bundle_files]
140
+ images_from: context_images
141
+ validator_schema_id: council_code_review_reviewer_v1
142
+ post_processor: citation_check
143
+ - id: reviewer_b
144
+ cli_name: codex
145
+ timeout_seconds: 1200
146
+ role: json-codereviewer
147
+ prompt_template: council/plan-review-reviewer.txt
148
+ absolute_file_paths_from: [context_files, context_bundle_files]
149
+ images_from: context_images
150
+ validator_schema_id: council_code_review_reviewer_v1
151
+ post_processor: citation_check
152
+ - id: reviewer_c
153
+ cli_name: claude
154
+ timeout_seconds: 1200
155
+ role: json-codereviewer
156
+ prompt_template: council/plan-review-reviewer.txt
157
+ absolute_file_paths_from: [context_files, context_bundle_files]
158
+ images_from: context_images
159
+ validator_schema_id: council_code_review_reviewer_v1
160
+ post_processor: citation_check
161
+
162
+ - id: cross_review
163
+ description: "Cross-reviewers evaluate plan reviews anonymously"
164
+ parallel: true
165
+ retry:
166
+ mode: all
167
+ max_retries: 1
168
+ backoff_seconds: 10
169
+ max_backoff_seconds: 60
170
+ on_failure: continue
171
+ calls:
172
+ - id: cross_reviewer_a
173
+ cli_name: codex
174
+ timeout_seconds: 1200
175
+ role: json-codereviewer
176
+ prompt_template: council/plan-review-cross-reviewer.txt
177
+ absolute_file_paths_from: [context_files, context_bundle_files]
178
+ images_from: context_images
179
+ anonymize_context: true
180
+ context_from:
181
+ - reviewers
182
+ validator_schema_id: council_code_review_cross_reviewer_v4
183
+ post_processor: citation_check
184
+ - id: cross_reviewer_b
185
+ cli_name: codex
186
+ timeout_seconds: 1200
187
+ role: json-codereviewer
188
+ prompt_template: council/plan-review-cross-reviewer.txt
189
+ absolute_file_paths_from: [context_files, context_bundle_files]
190
+ images_from: context_images
191
+ anonymize_context: true
192
+ context_from:
193
+ - reviewers
194
+ validator_schema_id: council_code_review_cross_reviewer_v4
195
+ post_processor: citation_check
196
+ - id: cross_reviewer_c
197
+ cli_name: claude
198
+ timeout_seconds: 1200
199
+ role: json-codereviewer
200
+ prompt_template: council/plan-review-cross-reviewer.txt
201
+ absolute_file_paths_from: [context_files, context_bundle_files]
202
+ images_from: context_images
203
+ anonymize_context: true
204
+ context_from:
205
+ - reviewers
206
+ validator_schema_id: council_code_review_cross_reviewer_v4
207
+ post_processor: citation_check
208
+
209
+ - id: ranking_analysis
210
+ description: "Deterministic ranking of plan reviews"
211
+ parallel: false
212
+ retry:
213
+ mode: transport_only
214
+ max_retries: 0
215
+ backoff_seconds: 0
216
+ max_backoff_seconds: 0
217
+ on_failure: continue
218
+ calls:
219
+ - id: ranking
220
+ cli_name: codex
221
+ timeout_seconds: 1200
222
+ role: json-codereviewer
223
+ reducer: council_ranking_v1
224
+ prompt: "Deterministic ranking reducer"
225
+ context_from:
226
+ - cross_review
227
+ validator_schema_id: council_ranking_reducer_v1
228
+
229
+ - id: chairman
230
+ description: "Chairman synthesizes plan review verdict"
231
+ parallel: false
232
+ retry:
233
+ mode: transport_only
234
+ max_retries: 1
235
+ backoff_seconds: 10
236
+ max_backoff_seconds: 60
237
+ on_failure: abort
238
+ calls:
239
+ - id: chairman
240
+ cli_name: codex
241
+ timeout_seconds: 1200
242
+ role: json-codereviewer
243
+ prompt_template: council/plan-review-chairman.txt
244
+ absolute_file_paths_from: [context_files, context_bundle_files]
245
+ images_from: context_images
246
+ context_from:
247
+ - reviewers
248
+ - cross_review
249
+ - ranking_analysis
250
+ validator_schema_id: council_code_review_chairman_v1
@@ -0,0 +1,230 @@
1
+ name: plan-review-receipts
2
+ description: "Plan review council: one immutable plan revision, one ordered roster, one advisory synthesis. Returns receipt candidates, never approval (B-1)"
3
+ version: 1.0.0
4
+
5
+ # Exact seat composition is NOT expressed here. This file is the four-stage SEED
6
+ # the isolated plan-review expander (A-3, src/plan-review/expander.ts) fans out:
7
+ # it requires these exact stage IDs in this exact order, each holding exactly one
8
+ # seed call, and clones the reviewer/cross_review blueprints once per admitted
9
+ # roster seat. The workflow grammar (src/schema.ts) has no `foreach` and no
10
+ # object variables, and the roster deliberately never travels as a generic
11
+ # variable — it rides the typed `plan_review` input (A-1/A-2).
12
+ #
13
+ # This seed must NOT declare static `absolute_file_paths`: the expander INLINES
14
+ # the verified canonical plan snapshot into each actor's prompt and EMPTIES the
15
+ # file list (A-6/D9), so a path named here would be dropped — naming one would
16
+ # only mislead.
17
+ #
18
+ # Actors run under their adapter's default permissions. Non-mutation is a PROMPT
19
+ # INSTRUCTION carried by the packaged templates, not an enforced boundary; the
20
+ # runtime makes no containment claim and this file must not imply one.
21
+
22
+ variables:
23
+ # ---------------------------------------------------------------------------
24
+ # Rubric binding (server-packaged v1; caller may only echo its exact digest)
25
+ # ---------------------------------------------------------------------------
26
+ # The runtime computes and binds this digest; the default merely advertises
27
+ # the value clients need when precomputing expected_execution_contract_digest.
28
+ rubric_digest:
29
+ type: string
30
+ required: false
31
+ default: 92625957e2afd55f4c55943a74d8d059a10df4fe3d3febda6a1bce80f6df6681
32
+ description: Server-packaged plan-review rubric digest. If supplied, it must exactly match this value.
33
+
34
+ # ---------------------------------------------------------------------------
35
+ # Context anchors / overrides (repo evidence only — never the plan)
36
+ # ---------------------------------------------------------------------------
37
+ # The plan itself is force-excluded from selection by the non-overridable
38
+ # plan-review context policy (A-7), in both the pre-dispatch exclusion fold and
39
+ # the post-finalization filter. These anchors select REPO EVIDENCE that sits
40
+ # alongside the immutable snapshot; they cannot re-admit the plan.
41
+ # Deliberately DEFAULTLESS: a `default: ""` would fabricate a blank task that is
42
+ # indistinguishable from genuine omission, and would publish that invented blank
43
+ # into the advertised public variable schema and the generated discovery fixture.
44
+ # Defaultless keeps omission observable as omission.
45
+ #
46
+ # `required: false` is deliberate, NOT an oversight. `required` gates on a STATIC
47
+ # proxy, but the real precondition is dynamic: "a contextBuilderRunner is present".
48
+ # A runner-absent server (CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED=false) runs no
49
+ # preflight and needs no seed, so a static `required: true` would reject a request
50
+ # that is perfectly valid there. The actual enforcement is
51
+ # validateContextSeedSourceAtAdmission, which fires pre-mutex only when a runner
52
+ # made the context policy non-null.
53
+ cb_task:
54
+ type: string
55
+ required: false
56
+ description: "Context_builder seed describing what repo evidence the review needs. CONDITIONALLY REQUIRED: whenever context preflight is available — the default deployment — this must be supplied and trimmed-nonblank, and admission rejects a blank or omitted value with -32602 before any run state is created. It is genuinely optional only on servers where preflight is unavailable (no context-builder runner, e.g. the hard bypass CLINKX_WORKFLOWS_CONTEXT_PREFLIGHT_ENABLED=false), where no seed is consumed. Optionally narrow selection with cb_focus_paths or cb_search_terms."
57
+ cb_roots:
58
+ type: string[]
59
+ required: false
60
+ default: []
61
+ description: Optional context_builder source roots
62
+ cb_focus_paths:
63
+ type: string[]
64
+ required: false
65
+ default: []
66
+ description: Optional context_builder focus path refinement. Context preflight runs by default; these paths narrow selection when supplied. Paths resolving to the bound plan or any plan-workspace PLAN.md are rejected at admission.
67
+ cb_include_globs:
68
+ type: string[]
69
+ required: false
70
+ default: []
71
+ description: Context-builder include glob refinements
72
+ cb_exclude_globs:
73
+ type: string[]
74
+ required: false
75
+ default: ["**/*.po", "**/*.pot", "**/*.mo", "**/locales/**/*.json", "**/i18n/**/*.json"]
76
+ description: Context-builder exclude glob refinements. The plan-review plan exclusions are folded in on top of these and cannot be dropped.
77
+ cb_search_terms:
78
+ type: string[]
79
+ required: false
80
+ default: []
81
+ description: Optional context_builder search term refinement. Context preflight runs by default; these terms narrow selection when supplied.
82
+ # `review_deep` is chosen for its BUDGET (~96k est. tokens / 300 files): plan review needs broad
83
+ # repo evidence. It also couples in the code-review-shaped `review_deep_v1` coverage policy, which
84
+ # can report `degraded` here — an "unclassifiable" target (tests exist but no confident link) can
85
+ # never be satisfied yet still folds into missing_required:["regression_test"]. That is WARN-ONLY
86
+ # with no dispatch effect: fail_on_degraded_context_coverage defaults false and no workflow sets
87
+ # it, and `context_quality` is read by no template — so the budget is worth the noisy warning.
88
+ # Coverage policy lives in the ROOT package: src/context-builder/review-coverage.ts
89
+ # (evaluateContextCoverage, buildContextReviewObligations, resolveContextCoveragePolicy).
90
+ # council-code-review and council-debug share the same policy.
91
+ cb_profile:
92
+ type: string
93
+ required: false
94
+ default: review_deep
95
+ description: Context-builder budget profile
96
+ cb_budget_adapter:
97
+ type: string
98
+ required: false
99
+ description: Adapter whose context_builder budget defaults apply when context preflight runs (preflight runs by default unless cb_context_mode is off).
100
+ cb_allow_secrets:
101
+ type: boolean
102
+ required: false
103
+ description: When false, restores fail-closed context_builder source secret omission/redaction AND rejects high-confidence secrets in persisted task text (cb_task) before the run starts; default true includes secrets.
104
+ # Declared so callers can actually pass the mode the descriptions above reference; the resolver
105
+ # owns allowed values and the default, so no concrete mode is materialized here.
106
+ # NOTE: soft `off` still resolves a NON-NULL policy (resolveWorkflowContextMode), so the
107
+ # admission seed check STILL fires. Declaring this does NOT waive the nonblank cb_task
108
+ # requirement for soft-off callers — a deliberate owner decision, not an oversight.
109
+ cb_context_mode:
110
+ type: string
111
+ required: false
112
+ description: "Context preflight mode selector. Allowed values: full | deterministic | off | inherit. Omitted or inherit follows the server default (CLINKX_WORKFLOWS_CONTEXT_DEFAULT); full runs curator+finalizer delegate, deterministic seeds discovery with no delegate, off skips preflight. Allowed-value validation is owned by the resolver; no concrete mode default is materialized in YAML."
113
+
114
+ # ---------------------------------------------------------------------------
115
+ # Evidence file channels
116
+ # ---------------------------------------------------------------------------
117
+ # Entries resolving to the bound plan or any plan-workspace PLAN.md are
118
+ # rejected pre-mutex (A-7): a caller must not be able to hand actors a MUTABLE
119
+ # plan alongside the immutable snapshot.
120
+ context_files:
121
+ type: string[]
122
+ required: false
123
+ default: []
124
+ description: Optional repo evidence file paths (absolute, or relative to workspace root) shared with the roster. The bound plan and plan-workspace PLAN.md files are rejected.
125
+ context_bundle_files:
126
+ type: string[]
127
+ required: false
128
+ default: []
129
+ description: Optional context_builder bundle files copied into the workflow run. Preflight appends the curated bundle here; the bound plan and plan-workspace PLAN.md files are rejected.
130
+
131
+ settings:
132
+ timeout_seconds: 10800
133
+
134
+ stages:
135
+ # Every roster seat votes (D2). One call per seat, cloned from this blueprint.
136
+ # `parallel`/`on_failure` are re-asserted by the expander: a failed seat stays
137
+ # that exact failed seat (D3, no substitution) and must not abort its peers.
138
+ - id: reviewers
139
+ description: "Each roster seat reviews the immutable plan snapshot independently"
140
+ parallel: true
141
+ retry:
142
+ mode: all
143
+ max_retries: 1
144
+ backoff_seconds: 10
145
+ max_backoff_seconds: 60
146
+ on_failure: continue
147
+ calls:
148
+ - id: reviewer_seed
149
+ cli_name: codex
150
+ timeout_seconds: 1200
151
+ role: json
152
+ prompt_template: plan-review/reviewer.txt
153
+ absolute_file_paths_from: [context_files, context_bundle_files]
154
+ validator_schema_id: plan_review_reviewer_v1
155
+
156
+ # Advisory (D2). FIXED cardinality: one call per roster seat, unconditionally —
157
+ # a seat with no valid peer artifacts still runs and persists a degenerate
158
+ # no-op. The expander rewrites `context_from` to this seat's PEERS only and
159
+ # projects each peer to its semantic body, so the anonymized set never carries
160
+ # a seat_id, provider, or plan binding.
161
+ - id: cross_review
162
+ description: "Each seat cross-reviews its peers' anonymized reviews (advisory)"
163
+ parallel: true
164
+ retry:
165
+ mode: all
166
+ max_retries: 1
167
+ backoff_seconds: 10
168
+ max_backoff_seconds: 60
169
+ on_failure: continue
170
+ calls:
171
+ - id: cross_seed
172
+ cli_name: codex
173
+ timeout_seconds: 1200
174
+ role: json
175
+ prompt_template: plan-review/cross-review.txt
176
+ absolute_file_paths_from: [context_files, context_bundle_files]
177
+ anonymize_context: true
178
+ context_from:
179
+ - reviewers
180
+ validator_schema_id: plan_review_cross_review_v1
181
+
182
+ # Deterministic reducer (B-5) — no LLM, no provider, nothing spawned. The
183
+ # packaged ranking template documents the reducer contract but is never sent
184
+ # anywhere; the engine runs the reducer in place of the call.
185
+ - id: ranking_analysis
186
+ description: "Deterministic advisory ranking over cross-review artifacts"
187
+ parallel: false
188
+ retry:
189
+ mode: transport_only
190
+ max_retries: 0
191
+ backoff_seconds: 0
192
+ max_backoff_seconds: 0
193
+ on_failure: continue
194
+ calls:
195
+ - id: ranking
196
+ cli_name: codex
197
+ timeout_seconds: 1200
198
+ role: json
199
+ reducer: plan_review_ranking_v1
200
+ prompt_template: plan-review/ranking.txt
201
+ context_from:
202
+ - cross_review
203
+ validator_schema_id: plan_review_ranking_reducer_v1
204
+
205
+ # Advisory (D2). The chairman occupies a roster seat and votes like any other
206
+ # seat in `reviewers`; this stage is its SEPARATE synthesis call, which can
207
+ # never create, repair, or replace a receipt. `on_failure: continue` states the
208
+ # intent that a chairman failure is advisory metadata, not a run failure — the
209
+ # engine's terminal decision is Track C's (C-4) to change.
210
+ - id: chairman
211
+ description: "Chairman synthesizes an advisory view — never an approval or final gate"
212
+ parallel: false
213
+ retry:
214
+ mode: transport_only
215
+ max_retries: 1
216
+ backoff_seconds: 10
217
+ max_backoff_seconds: 60
218
+ on_failure: continue
219
+ calls:
220
+ - id: chairman
221
+ cli_name: codex
222
+ timeout_seconds: 1200
223
+ role: json
224
+ prompt_template: plan-review/chairman.txt
225
+ absolute_file_paths_from: [context_files, context_bundle_files]
226
+ context_from:
227
+ - reviewers
228
+ - cross_review
229
+ - ranking_analysis
230
+ validator_schema_id: plan_review_chairman_v1