clinkx 0.3.0 → 1.1.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 (669) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/LICENSE +10 -0
  3. package/README.md +154 -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/chairman-knobs.d.ts +24 -0
  12. package/clinkx-workflows/dist/chairman-knobs.js +27 -0
  13. package/clinkx-workflows/dist/chairman-knobs.js.map +1 -0
  14. package/clinkx-workflows/dist/citation-check.d.ts +40 -0
  15. package/clinkx-workflows/dist/citation-check.js +348 -0
  16. package/clinkx-workflows/dist/citation-check.js.map +1 -0
  17. package/clinkx-workflows/dist/clink-client.d.ts +12 -1
  18. package/clinkx-workflows/dist/clink-client.js +56 -5
  19. package/clinkx-workflows/dist/clink-client.js.map +1 -1
  20. package/clinkx-workflows/dist/config.d.ts +173 -16
  21. package/clinkx-workflows/dist/config.js +417 -26
  22. package/clinkx-workflows/dist/config.js.map +1 -1
  23. package/clinkx-workflows/dist/contained-file.d.ts +172 -0
  24. package/clinkx-workflows/dist/contained-file.js +483 -0
  25. package/clinkx-workflows/dist/contained-file.js.map +1 -0
  26. package/clinkx-workflows/dist/context-builder-lifecycle-contract.d.ts +416 -0
  27. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js +328 -0
  28. package/clinkx-workflows/dist/context-builder-lifecycle-contract.js.map +1 -0
  29. package/clinkx-workflows/dist/context-builder-lifecycle-router.d.ts +24 -0
  30. package/clinkx-workflows/dist/context-builder-lifecycle-router.js +39 -0
  31. package/clinkx-workflows/dist/context-builder-lifecycle-router.js.map +1 -0
  32. package/clinkx-workflows/dist/context-cache-key.d.ts +53 -0
  33. package/clinkx-workflows/dist/context-cache-key.js +91 -0
  34. package/clinkx-workflows/dist/context-cache-key.js.map +1 -0
  35. package/clinkx-workflows/dist/context-mode-resolver.d.ts +27 -0
  36. package/clinkx-workflows/dist/context-mode-resolver.js +126 -0
  37. package/clinkx-workflows/dist/context-mode-resolver.js.map +1 -0
  38. package/clinkx-workflows/dist/context-preflight.d.ts +189 -0
  39. package/clinkx-workflows/dist/context-preflight.js +91 -0
  40. package/clinkx-workflows/dist/context-preflight.js.map +1 -0
  41. package/clinkx-workflows/dist/council-execution-policy.d.ts +68 -0
  42. package/clinkx-workflows/dist/council-execution-policy.js +110 -0
  43. package/clinkx-workflows/dist/council-execution-policy.js.map +1 -0
  44. package/clinkx-workflows/dist/council-expander.d.ts +10 -9
  45. package/clinkx-workflows/dist/council-expander.js +20 -10
  46. package/clinkx-workflows/dist/council-expander.js.map +1 -1
  47. package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +5718 -0
  48. package/clinkx-workflows/dist/dashboard/activity-contract.js +157 -0
  49. package/clinkx-workflows/dist/dashboard/activity-contract.js.map +1 -0
  50. package/clinkx-workflows/dist/dashboard/activity-lease.d.ts +25 -0
  51. package/clinkx-workflows/dist/dashboard/activity-lease.js +34 -0
  52. package/clinkx-workflows/dist/dashboard/activity-lease.js.map +1 -0
  53. package/clinkx-workflows/dist/dashboard/activity-reader.d.ts +90 -0
  54. package/clinkx-workflows/dist/dashboard/activity-reader.js +493 -0
  55. package/clinkx-workflows/dist/dashboard/activity-reader.js.map +1 -0
  56. package/clinkx-workflows/dist/dashboard/api-routes.d.ts +40 -0
  57. package/clinkx-workflows/dist/dashboard/api-routes.js +1155 -0
  58. package/clinkx-workflows/dist/dashboard/api-routes.js.map +1 -0
  59. package/clinkx-workflows/dist/dashboard/artifact-index.d.ts +37 -0
  60. package/clinkx-workflows/dist/dashboard/artifact-index.js +145 -0
  61. package/clinkx-workflows/dist/dashboard/artifact-index.js.map +1 -0
  62. package/clinkx-workflows/dist/dashboard/auth/challenge-store.d.ts +31 -0
  63. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js +65 -0
  64. package/clinkx-workflows/dist/dashboard/auth/challenge-store.js.map +1 -0
  65. package/clinkx-workflows/dist/dashboard/auth/controller.d.ts +26 -0
  66. package/clinkx-workflows/dist/dashboard/auth/controller.js +596 -0
  67. package/clinkx-workflows/dist/dashboard/auth/controller.js.map +1 -0
  68. package/clinkx-workflows/dist/dashboard/auth/credential-store.d.ts +60 -0
  69. package/clinkx-workflows/dist/dashboard/auth/credential-store.js +776 -0
  70. package/clinkx-workflows/dist/dashboard/auth/credential-store.js.map +1 -0
  71. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.d.ts +9 -0
  72. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js +44 -0
  73. package/clinkx-workflows/dist/dashboard/auth/enrollment-gate.js.map +1 -0
  74. package/clinkx-workflows/dist/dashboard/auth/session-store.d.ts +17 -0
  75. package/clinkx-workflows/dist/dashboard/auth/session-store.js +77 -0
  76. package/clinkx-workflows/dist/dashboard/auth/session-store.js.map +1 -0
  77. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.d.ts +25 -0
  78. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js +71 -0
  79. package/clinkx-workflows/dist/dashboard/auth/webauthn-service.js.map +1 -0
  80. package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.d.ts +3865 -0
  81. package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.js +69 -0
  82. package/clinkx-workflows/dist/dashboard/context-builder-invocation-contract.js.map +1 -0
  83. package/clinkx-workflows/dist/dashboard/context-run-liveness.d.ts +37 -0
  84. package/clinkx-workflows/dist/dashboard/context-run-liveness.js +49 -0
  85. package/clinkx-workflows/dist/dashboard/context-run-liveness.js.map +1 -0
  86. package/clinkx-workflows/dist/dashboard/context-run-reader.d.ts +256 -0
  87. package/clinkx-workflows/dist/dashboard/context-run-reader.js +1301 -0
  88. package/clinkx-workflows/dist/dashboard/context-run-reader.js.map +1 -0
  89. package/clinkx-workflows/dist/dashboard/contracts.d.ts +28483 -0
  90. package/clinkx-workflows/dist/dashboard/contracts.js +1284 -0
  91. package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -0
  92. package/clinkx-workflows/dist/dashboard/generation.d.ts +14 -0
  93. package/clinkx-workflows/dist/dashboard/generation.js +41 -0
  94. package/clinkx-workflows/dist/dashboard/generation.js.map +1 -0
  95. package/clinkx-workflows/dist/dashboard/index.d.ts +32 -0
  96. package/clinkx-workflows/dist/dashboard/index.js +20 -0
  97. package/clinkx-workflows/dist/dashboard/index.js.map +1 -0
  98. package/clinkx-workflows/dist/dashboard/invocation-contract.d.ts +786 -0
  99. package/clinkx-workflows/dist/dashboard/invocation-contract.js +201 -0
  100. package/clinkx-workflows/dist/dashboard/invocation-contract.js.map +1 -0
  101. package/clinkx-workflows/dist/dashboard/lazy-content.d.ts +114 -0
  102. package/clinkx-workflows/dist/dashboard/lazy-content.js +799 -0
  103. package/clinkx-workflows/dist/dashboard/lazy-content.js.map +1 -0
  104. package/clinkx-workflows/dist/dashboard/native-transcript/contract.d.ts +90 -0
  105. package/clinkx-workflows/dist/dashboard/native-transcript/contract.js +31 -0
  106. package/clinkx-workflows/dist/dashboard/native-transcript/contract.js.map +1 -0
  107. package/clinkx-workflows/dist/dashboard/native-transcript/projection.d.ts +12 -0
  108. package/clinkx-workflows/dist/dashboard/native-transcript/projection.js +286 -0
  109. package/clinkx-workflows/dist/dashboard/native-transcript/projection.js.map +1 -0
  110. package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +446 -0
  111. package/clinkx-workflows/dist/dashboard/progress-report-contract.js +221 -0
  112. package/clinkx-workflows/dist/dashboard/progress-report-contract.js.map +1 -0
  113. package/clinkx-workflows/dist/dashboard/progress-report-reader.d.ts +50 -0
  114. package/clinkx-workflows/dist/dashboard/progress-report-reader.js +529 -0
  115. package/clinkx-workflows/dist/dashboard/progress-report-reader.js.map +1 -0
  116. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +89 -0
  117. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js +71 -0
  118. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.js.map +1 -0
  119. package/clinkx-workflows/dist/dashboard/progress-report-status-store.d.ts +29 -0
  120. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js +111 -0
  121. package/clinkx-workflows/dist/dashboard/progress-report-status-store.js.map +1 -0
  122. package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.d.ts +194 -0
  123. package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.js +89 -0
  124. package/clinkx-workflows/dist/dashboard/prompt-builder-library-contract.js.map +1 -0
  125. package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.d.ts +26 -0
  126. package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.js +102 -0
  127. package/clinkx-workflows/dist/dashboard/prompt-builder-library-store.js.map +1 -0
  128. package/clinkx-workflows/dist/dashboard/read-model.d.ts +86 -0
  129. package/clinkx-workflows/dist/dashboard/read-model.js +440 -0
  130. package/clinkx-workflows/dist/dashboard/read-model.js.map +1 -0
  131. package/clinkx-workflows/dist/dashboard/request-admission.d.ts +31 -0
  132. package/clinkx-workflows/dist/dashboard/request-admission.js +130 -0
  133. package/clinkx-workflows/dist/dashboard/request-admission.js.map +1 -0
  134. package/clinkx-workflows/dist/dashboard/scanner.d.ts +78 -0
  135. package/clinkx-workflows/dist/dashboard/scanner.js +1154 -0
  136. package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -0
  137. package/clinkx-workflows/dist/dashboard/server-factory.d.ts +63 -0
  138. package/clinkx-workflows/dist/dashboard/server-factory.js +483 -0
  139. package/clinkx-workflows/dist/dashboard/server-factory.js.map +1 -0
  140. package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +2778 -0
  141. package/clinkx-workflows/dist/dashboard/session-log-contract.js +506 -0
  142. package/clinkx-workflows/dist/dashboard/session-log-contract.js.map +1 -0
  143. package/clinkx-workflows/dist/dashboard/session-log-identity.d.ts +21 -0
  144. package/clinkx-workflows/dist/dashboard/session-log-identity.js +101 -0
  145. package/clinkx-workflows/dist/dashboard/session-log-identity.js.map +1 -0
  146. package/clinkx-workflows/dist/dashboard/session-log-journal.d.ts +43 -0
  147. package/clinkx-workflows/dist/dashboard/session-log-journal.js +529 -0
  148. package/clinkx-workflows/dist/dashboard/session-log-journal.js.map +1 -0
  149. package/clinkx-workflows/dist/dashboard/session-log-reader.d.ts +61 -0
  150. package/clinkx-workflows/dist/dashboard/session-log-reader.js +378 -0
  151. package/clinkx-workflows/dist/dashboard/session-log-reader.js.map +1 -0
  152. package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +14 -0
  153. package/clinkx-workflows/dist/dashboard/session-log-redaction.js +1101 -0
  154. package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -0
  155. package/clinkx-workflows/dist/dashboard/session-log-retention.d.ts +23 -0
  156. package/clinkx-workflows/dist/dashboard/session-log-retention.js +212 -0
  157. package/clinkx-workflows/dist/dashboard/session-log-retention.js.map +1 -0
  158. package/clinkx-workflows/dist/dashboard/static-responses.d.ts +10 -0
  159. package/clinkx-workflows/dist/dashboard/static-responses.js +94 -0
  160. package/clinkx-workflows/dist/dashboard/static-responses.js.map +1 -0
  161. package/clinkx-workflows/dist/dashboard/worker-lock-observer.d.ts +28 -0
  162. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js +241 -0
  163. package/clinkx-workflows/dist/dashboard/worker-lock-observer.js.map +1 -0
  164. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  165. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  166. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  167. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  168. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
  169. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
  170. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
  171. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
  172. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
  173. package/clinkx-workflows/dist/dashboard-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
  174. package/clinkx-workflows/dist/dashboard-ui/assets/index-JPHQVtn9.js +106 -0
  175. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  176. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  177. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  178. package/clinkx-workflows/dist/dashboard-ui/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  179. package/clinkx-workflows/dist/dashboard-ui/assets/style-DOMHk-j6.css +1 -0
  180. package/clinkx-workflows/dist/dashboard-ui/contracts/council-plan-review-input-v1.json +158 -0
  181. package/clinkx-workflows/dist/dashboard-ui/index.html +15 -0
  182. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Mono-OFL.txt +93 -0
  183. package/clinkx-workflows/dist/dashboard-ui/licenses/IBM-Plex-Sans-OFL.txt +93 -0
  184. package/clinkx-workflows/dist/dashboard-ui/licenses/JetBrains-Mono-OFL.txt +93 -0
  185. package/clinkx-workflows/dist/dashboard-ui/licenses/NOTICE.md +32 -0
  186. package/clinkx-workflows/dist/dashboard-ui/theme-init.js +8 -0
  187. package/clinkx-workflows/dist/definition-normalizer.d.ts +19 -0
  188. package/clinkx-workflows/dist/definition-normalizer.js.map +1 -1
  189. package/clinkx-workflows/dist/delegate-finalizer-policy.d.ts +26 -0
  190. package/clinkx-workflows/dist/delegate-finalizer-policy.js +72 -0
  191. package/clinkx-workflows/dist/delegate-finalizer-policy.js.map +1 -0
  192. package/clinkx-workflows/dist/delegate-signature.d.ts +14 -0
  193. package/clinkx-workflows/dist/delegate-signature.js +14 -0
  194. package/clinkx-workflows/dist/delegate-signature.js.map +1 -0
  195. package/clinkx-workflows/dist/delegate-validate.d.ts +108 -0
  196. package/clinkx-workflows/dist/delegate-validate.js +148 -0
  197. package/clinkx-workflows/dist/delegate-validate.js.map +1 -0
  198. package/clinkx-workflows/dist/engine.d.ts +251 -0
  199. package/clinkx-workflows/dist/engine.js +1342 -92
  200. package/clinkx-workflows/dist/engine.js.map +1 -1
  201. package/clinkx-workflows/dist/errors.d.ts +24 -2
  202. package/clinkx-workflows/dist/errors.js +30 -2
  203. package/clinkx-workflows/dist/errors.js.map +1 -1
  204. package/clinkx-workflows/dist/fidelity.d.ts +47 -1
  205. package/clinkx-workflows/dist/fidelity.js +54 -1
  206. package/clinkx-workflows/dist/fidelity.js.map +1 -1
  207. package/clinkx-workflows/dist/fingerprint.d.ts +25 -7
  208. package/clinkx-workflows/dist/fingerprint.js +33 -10
  209. package/clinkx-workflows/dist/fingerprint.js.map +1 -1
  210. package/clinkx-workflows/dist/index.d.ts +19 -0
  211. package/clinkx-workflows/dist/index.js +68 -1
  212. package/clinkx-workflows/dist/index.js.map +1 -1
  213. package/clinkx-workflows/dist/loader.d.ts +9 -3
  214. package/clinkx-workflows/dist/loader.js +92 -21
  215. package/clinkx-workflows/dist/loader.js.map +1 -1
  216. package/clinkx-workflows/dist/logger.d.ts +1 -1
  217. package/clinkx-workflows/dist/logger.js +17 -3
  218. package/clinkx-workflows/dist/logger.js.map +1 -1
  219. package/clinkx-workflows/dist/monotonic-clock.d.ts +19 -0
  220. package/clinkx-workflows/dist/monotonic-clock.js +22 -0
  221. package/clinkx-workflows/dist/monotonic-clock.js.map +1 -0
  222. package/clinkx-workflows/dist/plan-review/admission.d.ts +160 -0
  223. package/clinkx-workflows/dist/plan-review/admission.js +290 -0
  224. package/clinkx-workflows/dist/plan-review/admission.js.map +1 -0
  225. package/clinkx-workflows/dist/plan-review/context-policy.d.ts +55 -0
  226. package/clinkx-workflows/dist/plan-review/context-policy.js +146 -0
  227. package/clinkx-workflows/dist/plan-review/context-policy.js.map +1 -0
  228. package/clinkx-workflows/dist/plan-review/contract.d.ts +763 -0
  229. package/clinkx-workflows/dist/plan-review/contract.js +289 -0
  230. package/clinkx-workflows/dist/plan-review/contract.js.map +1 -0
  231. package/clinkx-workflows/dist/plan-review/digest.d.ts +68 -0
  232. package/clinkx-workflows/dist/plan-review/digest.js +241 -0
  233. package/clinkx-workflows/dist/plan-review/digest.js.map +1 -0
  234. package/clinkx-workflows/dist/plan-review/discovery.d.ts +45 -0
  235. package/clinkx-workflows/dist/plan-review/discovery.js +36 -0
  236. package/clinkx-workflows/dist/plan-review/discovery.js.map +1 -0
  237. package/clinkx-workflows/dist/plan-review/execution-contract.d.ts +298 -0
  238. package/clinkx-workflows/dist/plan-review/execution-contract.js +194 -0
  239. package/clinkx-workflows/dist/plan-review/execution-contract.js.map +1 -0
  240. package/clinkx-workflows/dist/plan-review/expander.d.ts +48 -0
  241. package/clinkx-workflows/dist/plan-review/expander.js +243 -0
  242. package/clinkx-workflows/dist/plan-review/expander.js.map +1 -0
  243. package/clinkx-workflows/dist/plan-review/projector.d.ts +126 -0
  244. package/clinkx-workflows/dist/plan-review/projector.js +437 -0
  245. package/clinkx-workflows/dist/plan-review/projector.js.map +1 -0
  246. package/clinkx-workflows/dist/plan-review/publication.d.ts +95 -0
  247. package/clinkx-workflows/dist/plan-review/publication.js +182 -0
  248. package/clinkx-workflows/dist/plan-review/publication.js.map +1 -0
  249. package/clinkx-workflows/dist/plan-review/ranking-reducer.d.ts +34 -0
  250. package/clinkx-workflows/dist/plan-review/ranking-reducer.js +139 -0
  251. package/clinkx-workflows/dist/plan-review/ranking-reducer.js.map +1 -0
  252. package/clinkx-workflows/dist/plan-review/resume.d.ts +38 -0
  253. package/clinkx-workflows/dist/plan-review/resume.js +122 -0
  254. package/clinkx-workflows/dist/plan-review/resume.js.map +1 -0
  255. package/clinkx-workflows/dist/plan-review/rubric.d.ts +7 -0
  256. package/clinkx-workflows/dist/plan-review/rubric.js +24 -0
  257. package/clinkx-workflows/dist/plan-review/rubric.js.map +1 -0
  258. package/clinkx-workflows/dist/plan-review/run-state.d.ts +398 -0
  259. package/clinkx-workflows/dist/plan-review/run-state.js +183 -0
  260. package/clinkx-workflows/dist/plan-review/run-state.js.map +1 -0
  261. package/clinkx-workflows/dist/plan-review/runtime-policy.d.ts +74 -0
  262. package/clinkx-workflows/dist/plan-review/runtime-policy.js +186 -0
  263. package/clinkx-workflows/dist/plan-review/runtime-policy.js.map +1 -0
  264. package/clinkx-workflows/dist/plan-review/snapshot.d.ts +81 -0
  265. package/clinkx-workflows/dist/plan-review/snapshot.js +170 -0
  266. package/clinkx-workflows/dist/plan-review/snapshot.js.map +1 -0
  267. package/clinkx-workflows/dist/plan-review/stage-error.d.ts +19 -0
  268. package/clinkx-workflows/dist/plan-review/stage-error.js +20 -0
  269. package/clinkx-workflows/dist/plan-review/stage-error.js.map +1 -0
  270. package/clinkx-workflows/dist/post-processors/index.d.ts +20 -0
  271. package/clinkx-workflows/dist/post-processors/index.js +21 -0
  272. package/clinkx-workflows/dist/post-processors/index.js.map +1 -0
  273. package/clinkx-workflows/dist/prompt-budget.d.ts +7 -0
  274. package/clinkx-workflows/dist/prompt-budget.js +7 -1
  275. package/clinkx-workflows/dist/prompt-budget.js.map +1 -1
  276. package/clinkx-workflows/dist/reducers/index.js +2 -0
  277. package/clinkx-workflows/dist/reducers/index.js.map +1 -1
  278. package/clinkx-workflows/dist/roster-contract.d.ts +889 -0
  279. package/clinkx-workflows/dist/roster-contract.js +180 -0
  280. package/clinkx-workflows/dist/roster-contract.js.map +1 -0
  281. package/clinkx-workflows/dist/rosters.d.ts +14 -0
  282. package/clinkx-workflows/dist/rosters.js +169 -0
  283. package/clinkx-workflows/dist/rosters.js.map +1 -0
  284. package/clinkx-workflows/dist/run-health.d.ts +7 -0
  285. package/clinkx-workflows/dist/run-health.js +25 -0
  286. package/clinkx-workflows/dist/run-health.js.map +1 -0
  287. package/clinkx-workflows/dist/run-lock-heartbeat.d.ts +2 -0
  288. package/clinkx-workflows/dist/run-lock-heartbeat.js +3 -0
  289. package/clinkx-workflows/dist/run-lock-heartbeat.js.map +1 -0
  290. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.d.ts +34 -0
  291. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js +74 -0
  292. package/clinkx-workflows/dist/run-summary/cards/council-plan-review.js.map +1 -0
  293. package/clinkx-workflows/dist/run-summary/cards/index.js +5 -0
  294. package/clinkx-workflows/dist/run-summary/cards/index.js.map +1 -1
  295. package/clinkx-workflows/dist/run-summary.d.ts +13 -0
  296. package/clinkx-workflows/dist/run-summary.js +29 -1
  297. package/clinkx-workflows/dist/run-summary.js.map +1 -1
  298. package/clinkx-workflows/dist/schema.d.ts +140 -21
  299. package/clinkx-workflows/dist/schema.js +34 -1
  300. package/clinkx-workflows/dist/schema.js.map +1 -1
  301. package/clinkx-workflows/dist/seed-terms.d.ts +30 -0
  302. package/clinkx-workflows/dist/seed-terms.js +176 -0
  303. package/clinkx-workflows/dist/seed-terms.js.map +1 -0
  304. package/clinkx-workflows/dist/server.d.ts +5 -2
  305. package/clinkx-workflows/dist/server.js +84 -52
  306. package/clinkx-workflows/dist/server.js.map +1 -1
  307. package/clinkx-workflows/dist/shutdown.d.ts +29 -18
  308. package/clinkx-workflows/dist/shutdown.js +90 -64
  309. package/clinkx-workflows/dist/shutdown.js.map +1 -1
  310. package/clinkx-workflows/dist/state-schema.d.ts +61 -0
  311. package/clinkx-workflows/dist/state.d.ts +175 -3
  312. package/clinkx-workflows/dist/state.js +1398 -44
  313. package/clinkx-workflows/dist/state.js.map +1 -1
  314. package/clinkx-workflows/dist/stdio-watchdog.d.ts +52 -0
  315. package/clinkx-workflows/dist/stdio-watchdog.js +212 -0
  316. package/clinkx-workflows/dist/stdio-watchdog.js.map +1 -0
  317. package/clinkx-workflows/dist/transport.d.ts +15 -0
  318. package/clinkx-workflows/dist/transport.js +19 -10
  319. package/clinkx-workflows/dist/transport.js.map +1 -1
  320. package/clinkx-workflows/dist/types.d.ts +20 -2
  321. package/clinkx-workflows/dist/validators/council.d.ts +334 -101
  322. package/clinkx-workflows/dist/validators/council.js +52 -13
  323. package/clinkx-workflows/dist/validators/council.js.map +1 -1
  324. package/clinkx-workflows/dist/validators/index.d.ts +1 -0
  325. package/clinkx-workflows/dist/validators/index.js +3 -0
  326. package/clinkx-workflows/dist/validators/index.js.map +1 -1
  327. package/clinkx-workflows/dist/validators/plan-review.d.ts +398 -0
  328. package/clinkx-workflows/dist/validators/plan-review.js +316 -0
  329. package/clinkx-workflows/dist/validators/plan-review.js.map +1 -0
  330. package/clinkx-workflows/dist/workflow-receipt.js +188 -4
  331. package/clinkx-workflows/dist/workflow-receipt.js.map +1 -1
  332. package/clinkx-workflows/dist/workflow-tools.d.ts +118 -3
  333. package/clinkx-workflows/dist/workflow-tools.js +2110 -175
  334. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  335. package/clinkx-workflows/dist/workspace-signature.d.ts +16 -0
  336. package/clinkx-workflows/dist/workspace-signature.js +388 -0
  337. package/clinkx-workflows/dist/workspace-signature.js.map +1 -0
  338. package/clinkx-workflows/templates/council/answer-chairman.txt +3 -0
  339. package/clinkx-workflows/templates/council/answer-cross-reviewer.txt +3 -0
  340. package/clinkx-workflows/templates/council/answer-specialist.txt +5 -1
  341. package/clinkx-workflows/templates/council/chairman.txt +3 -0
  342. package/clinkx-workflows/templates/council/code-review-chairman.txt +16 -0
  343. package/clinkx-workflows/templates/council/code-review-cross-reviewer.txt +7 -1
  344. package/clinkx-workflows/templates/council/code-review-reviewer.txt +22 -3
  345. package/clinkx-workflows/templates/council/debug-chairman.txt +3 -0
  346. package/clinkx-workflows/templates/council/debug-cross-reviewer.txt +3 -0
  347. package/clinkx-workflows/templates/council/debug-debugger.txt +5 -1
  348. package/clinkx-workflows/templates/council/discover-analyst.txt +5 -1
  349. package/clinkx-workflows/templates/council/discover-chairman.txt +3 -0
  350. package/clinkx-workflows/templates/council/discover-cross-reviewer.txt +3 -0
  351. package/clinkx-workflows/templates/council/member.txt +5 -1
  352. package/clinkx-workflows/templates/council/plan-review-chairman.txt +71 -0
  353. package/clinkx-workflows/templates/council/plan-review-cross-reviewer.txt +54 -0
  354. package/clinkx-workflows/templates/council/plan-review-reviewer.txt +63 -0
  355. package/clinkx-workflows/templates/council/reviewer.txt +3 -0
  356. package/clinkx-workflows/templates/plan-review/chairman.txt +48 -0
  357. package/clinkx-workflows/templates/plan-review/cross-review.txt +52 -0
  358. package/clinkx-workflows/templates/plan-review/ranking.txt +16 -0
  359. package/clinkx-workflows/templates/plan-review/reviewer.txt +57 -0
  360. package/clinkx-workflows/workflows/council-answer.yaml +100 -8
  361. package/clinkx-workflows/workflows/council-code-review.yaml +106 -8
  362. package/clinkx-workflows/workflows/council-debug.yaml +100 -8
  363. package/clinkx-workflows/workflows/council-default.yaml +104 -8
  364. package/clinkx-workflows/workflows/council-discover.yaml +100 -8
  365. package/clinkx-workflows/workflows/council-plan-review.yaml +253 -0
  366. package/clinkx-workflows/workflows/plan-review-receipts.yaml +230 -0
  367. package/conf/adapters/agy.json +56 -0
  368. package/conf/adapters/claude.json +12 -0
  369. package/conf/adapters/codex-app-server.json +44 -0
  370. package/conf/adapters/codex.json +14 -2
  371. package/conf/adapters/glm.json +24 -3
  372. package/conf/adapters/grok.json +67 -0
  373. package/conf/adapters/hapi/agy.json +59 -0
  374. package/conf/adapters/hapi/claude.json +12 -0
  375. package/conf/adapters/hapi/codex.json +14 -2
  376. package/conf/adapters/hapi/glm.json +25 -4
  377. package/conf/rosters/default-council.json +21 -0
  378. package/dist/activity-journal.d.ts +56 -0
  379. package/dist/activity-journal.js +706 -0
  380. package/dist/activity-journal.js.map +1 -0
  381. package/dist/allowed-roots.d.ts +41 -0
  382. package/dist/allowed-roots.js +125 -3
  383. package/dist/allowed-roots.js.map +1 -1
  384. package/dist/codex/activity-session-log.d.ts +14 -0
  385. package/dist/codex/activity-session-log.js +206 -0
  386. package/dist/codex/activity-session-log.js.map +1 -0
  387. package/dist/codex/agent-tools.d.ts +23 -0
  388. package/dist/codex/agent-tools.js +1306 -0
  389. package/dist/codex/agent-tools.js.map +1 -0
  390. package/dist/codex/app-server-client.d.ts +79 -0
  391. package/dist/codex/app-server-client.js +593 -0
  392. package/dist/codex/app-server-client.js.map +1 -0
  393. package/dist/codex/app-server-registry.d.ts +407 -0
  394. package/dist/codex/app-server-registry.js +1493 -0
  395. package/dist/codex/app-server-registry.js.map +1 -0
  396. package/dist/codex/client-types.d.ts +115 -0
  397. package/dist/codex/client-types.js +2 -0
  398. package/dist/codex/client-types.js.map +1 -0
  399. package/dist/codex/protocol.d.ts +5375 -0
  400. package/dist/codex/protocol.js +614 -0
  401. package/dist/codex/protocol.js.map +1 -0
  402. package/dist/codex/session.d.ts +263 -0
  403. package/dist/codex/session.js +466 -0
  404. package/dist/codex/session.js.map +1 -0
  405. package/dist/config.d.ts +386 -23
  406. package/dist/config.js +184 -15
  407. package/dist/config.js.map +1 -1
  408. package/dist/context-builder/anchors.d.ts +1 -0
  409. package/dist/context-builder/anchors.js +3 -0
  410. package/dist/context-builder/anchors.js.map +1 -1
  411. package/dist/context-builder/bundle.d.ts +48 -2
  412. package/dist/context-builder/bundle.js +388 -2417
  413. package/dist/context-builder/bundle.js.map +1 -1
  414. package/dist/context-builder/codemap.d.ts +5 -0
  415. package/dist/context-builder/codemap.js +387 -13
  416. package/dist/context-builder/codemap.js.map +1 -1
  417. package/dist/context-builder/config.d.ts +1 -0
  418. package/dist/context-builder/config.js +12 -0
  419. package/dist/context-builder/config.js.map +1 -1
  420. package/dist/context-builder/context-run-catalog.d.ts +17 -0
  421. package/dist/context-builder/context-run-catalog.js +99 -0
  422. package/dist/context-builder/context-run-catalog.js.map +1 -0
  423. package/dist/context-builder/delegate-finalizer-effective.d.ts +33 -0
  424. package/dist/context-builder/delegate-finalizer-effective.js +82 -0
  425. package/dist/context-builder/delegate-finalizer-effective.js.map +1 -0
  426. package/dist/context-builder/delegate-packet.d.ts +55 -0
  427. package/dist/context-builder/delegate-packet.js +430 -74
  428. package/dist/context-builder/delegate-packet.js.map +1 -1
  429. package/dist/context-builder/delegate-reconstruction.d.ts +29 -0
  430. package/dist/context-builder/delegate-reconstruction.js +110 -41
  431. package/dist/context-builder/delegate-reconstruction.js.map +1 -1
  432. package/dist/context-builder/delegate-validation.d.ts +41 -1
  433. package/dist/context-builder/delegate-validation.js +237 -48
  434. package/dist/context-builder/delegate-validation.js.map +1 -1
  435. package/dist/context-builder/delegate.d.ts +11 -0
  436. package/dist/context-builder/delegate.js +210 -58
  437. package/dist/context-builder/delegate.js.map +1 -1
  438. package/dist/context-builder/diagnostics.d.ts +11 -2
  439. package/dist/context-builder/diagnostics.js +39 -6
  440. package/dist/context-builder/diagnostics.js.map +1 -1
  441. package/dist/context-builder/discovery-progress.d.ts +25 -0
  442. package/dist/context-builder/discovery-progress.js +64 -0
  443. package/dist/context-builder/discovery-progress.js.map +1 -0
  444. package/dist/context-builder/discovery-watchdog.d.ts +15 -0
  445. package/dist/context-builder/discovery-watchdog.js +39 -0
  446. package/dist/context-builder/discovery-watchdog.js.map +1 -0
  447. package/dist/context-builder/discovery.d.ts +36 -1
  448. package/dist/context-builder/discovery.js +584 -172
  449. package/dist/context-builder/discovery.js.map +1 -1
  450. package/dist/context-builder/external-gaps.d.ts +73 -0
  451. package/dist/context-builder/external-gaps.js +248 -0
  452. package/dist/context-builder/external-gaps.js.map +1 -0
  453. package/dist/context-builder/globs.d.ts +1 -0
  454. package/dist/context-builder/globs.js +25 -10
  455. package/dist/context-builder/globs.js.map +1 -1
  456. package/dist/context-builder/handler.d.ts +67 -2
  457. package/dist/context-builder/handler.js +1810 -2440
  458. package/dist/context-builder/handler.js.map +1 -1
  459. package/dist/context-builder/invocation-sidecar.d.ts +41 -0
  460. package/dist/context-builder/invocation-sidecar.js +189 -0
  461. package/dist/context-builder/invocation-sidecar.js.map +1 -0
  462. package/dist/context-builder/lifecycle-contract.d.ts +424 -0
  463. package/dist/context-builder/lifecycle-contract.js +523 -0
  464. package/dist/context-builder/lifecycle-contract.js.map +1 -0
  465. package/dist/context-builder/lifecycle-journal.d.ts +62 -0
  466. package/dist/context-builder/lifecycle-journal.js +88 -0
  467. package/dist/context-builder/lifecycle-journal.js.map +1 -0
  468. package/dist/context-builder/lifecycle-observer.d.ts +102 -0
  469. package/dist/context-builder/lifecycle-observer.js +258 -0
  470. package/dist/context-builder/lifecycle-observer.js.map +1 -0
  471. package/dist/context-builder/lifecycle-reconcile.d.ts +32 -0
  472. package/dist/context-builder/lifecycle-reconcile.js +191 -0
  473. package/dist/context-builder/lifecycle-reconcile.js.map +1 -0
  474. package/dist/context-builder/lifecycle-recovery.d.ts +2 -0
  475. package/dist/context-builder/lifecycle-recovery.js +14 -0
  476. package/dist/context-builder/lifecycle-recovery.js.map +1 -0
  477. package/dist/context-builder/mutation-lock.d.ts +32 -0
  478. package/dist/context-builder/mutation-lock.js +321 -0
  479. package/dist/context-builder/mutation-lock.js.map +1 -0
  480. package/dist/context-builder/path-signals.js +9 -5
  481. package/dist/context-builder/path-signals.js.map +1 -1
  482. package/dist/context-builder/progress.d.ts +3 -1
  483. package/dist/context-builder/progress.js +23 -0
  484. package/dist/context-builder/progress.js.map +1 -1
  485. package/dist/context-builder/receipt.d.ts +6 -4
  486. package/dist/context-builder/receipt.js +12 -1
  487. package/dist/context-builder/receipt.js.map +1 -1
  488. package/dist/context-builder/refine-handler.d.ts +14 -0
  489. package/dist/context-builder/refine-handler.js +790 -0
  490. package/dist/context-builder/refine-handler.js.map +1 -0
  491. package/dist/context-builder/review-coverage.d.ts +116 -0
  492. package/dist/context-builder/review-coverage.js +544 -0
  493. package/dist/context-builder/review-coverage.js.map +1 -0
  494. package/dist/context-builder/schema.d.ts +315 -2
  495. package/dist/context-builder/schema.js +133 -7
  496. package/dist/context-builder/schema.js.map +1 -1
  497. package/dist/context-builder/secrets.d.ts +59 -0
  498. package/dist/context-builder/secrets.js +2255 -44
  499. package/dist/context-builder/secrets.js.map +1 -1
  500. package/dist/context-builder/selection.d.ts +7 -3
  501. package/dist/context-builder/selection.js +200 -738
  502. package/dist/context-builder/selection.js.map +1 -1
  503. package/dist/context-builder/session-log-identity.d.ts +1 -0
  504. package/dist/context-builder/session-log-identity.js +66 -0
  505. package/dist/context-builder/session-log-identity.js.map +1 -0
  506. package/dist/context-builder/slice-range-math.d.ts +16 -0
  507. package/dist/context-builder/slice-range-math.js +137 -0
  508. package/dist/context-builder/slice-range-math.js.map +1 -0
  509. package/dist/context-builder/status.d.ts +23 -2
  510. package/dist/context-builder/status.js +60 -4
  511. package/dist/context-builder/status.js.map +1 -1
  512. package/dist/context-builder/storage.d.ts +59 -2
  513. package/dist/context-builder/storage.js +500 -168
  514. package/dist/context-builder/storage.js.map +1 -1
  515. package/dist/context-builder/token-estimate.d.ts +13 -2
  516. package/dist/context-builder/token-estimate.js +77 -4
  517. package/dist/context-builder/token-estimate.js.map +1 -1
  518. package/dist/context-builder/versions.d.ts +44 -0
  519. package/dist/context-builder/versions.js +45 -0
  520. package/dist/context-builder/versions.js.map +1 -0
  521. package/dist/context-builder/workflow-runner.d.ts +75 -0
  522. package/dist/context-builder/workflow-runner.js +1241 -0
  523. package/dist/context-builder/workflow-runner.js.map +1 -0
  524. package/dist/context-builder/write-watchdog.d.ts +14 -0
  525. package/dist/context-builder/write-watchdog.js +38 -0
  526. package/dist/context-builder/write-watchdog.js.map +1 -0
  527. package/dist/dashboard-adapter-catalog.d.ts +9 -0
  528. package/dist/dashboard-adapter-catalog.js +53 -0
  529. package/dist/dashboard-adapter-catalog.js.map +1 -0
  530. package/dist/dashboard-cli.d.ts +81 -0
  531. package/dist/dashboard-cli.js +623 -0
  532. package/dist/dashboard-cli.js.map +1 -0
  533. package/dist/dashboard-companion/client.d.ts +37 -0
  534. package/dist/dashboard-companion/client.js +229 -0
  535. package/dist/dashboard-companion/client.js.map +1 -0
  536. package/dist/dashboard-companion/config.d.ts +8 -0
  537. package/dist/dashboard-companion/config.js +52 -0
  538. package/dist/dashboard-companion/config.js.map +1 -0
  539. package/dist/dashboard-companion/http-proxy.d.ts +10 -0
  540. package/dist/dashboard-companion/http-proxy.js +234 -0
  541. package/dist/dashboard-companion/http-proxy.js.map +1 -0
  542. package/dist/dashboard-companion/protocol.d.ts +80 -0
  543. package/dist/dashboard-companion/protocol.js +458 -0
  544. package/dist/dashboard-companion/protocol.js.map +1 -0
  545. package/dist/dashboard-companion/standalone-assets.d.ts +12 -0
  546. package/dist/dashboard-companion/standalone-assets.js +72 -0
  547. package/dist/dashboard-companion/standalone-assets.js.map +1 -0
  548. package/dist/dashboard-companion/standalone-entry.d.ts +1 -0
  549. package/dist/dashboard-companion/standalone-entry.js +17 -0
  550. package/dist/dashboard-companion/standalone-entry.js.map +1 -0
  551. package/dist/dashboard-gateway/config.d.ts +9 -0
  552. package/dist/dashboard-gateway/config.js +44 -0
  553. package/dist/dashboard-gateway/config.js.map +1 -0
  554. package/dist/dashboard-gateway/index.d.ts +12 -0
  555. package/dist/dashboard-gateway/index.js +786 -0
  556. package/dist/dashboard-gateway/index.js.map +1 -0
  557. package/dist/dashboard-gateway/main.d.ts +1 -0
  558. package/dist/dashboard-gateway/main.js +25 -0
  559. package/dist/dashboard-gateway/main.js.map +1 -0
  560. package/dist/dashboard-pairing-token.d.ts +1 -0
  561. package/dist/dashboard-pairing-token.js +5 -0
  562. package/dist/dashboard-pairing-token.js.map +1 -0
  563. package/dist/elaris/client.d.ts +73 -0
  564. package/dist/elaris/client.js +825 -0
  565. package/dist/elaris/client.js.map +1 -0
  566. package/dist/elaris/config.d.ts +18 -0
  567. package/dist/elaris/config.js +75 -0
  568. package/dist/elaris/config.js.map +1 -0
  569. package/dist/elaris/errors.d.ts +41 -0
  570. package/dist/elaris/errors.js +205 -0
  571. package/dist/elaris/errors.js.map +1 -0
  572. package/dist/elaris/github-repo.d.ts +18 -0
  573. package/dist/elaris/github-repo.js +89 -0
  574. package/dist/elaris/github-repo.js.map +1 -0
  575. package/dist/elaris/index.d.ts +10 -0
  576. package/dist/elaris/index.js +11 -0
  577. package/dist/elaris/index.js.map +1 -0
  578. package/dist/elaris/redact.d.ts +89 -0
  579. package/dist/elaris/redact.js +423 -0
  580. package/dist/elaris/redact.js.map +1 -0
  581. package/dist/elaris/run-id.d.ts +5 -0
  582. package/dist/elaris/run-id.js +20 -0
  583. package/dist/elaris/run-id.js.map +1 -0
  584. package/dist/elaris/status.d.ts +45 -0
  585. package/dist/elaris/status.js +122 -0
  586. package/dist/elaris/status.js.map +1 -0
  587. package/dist/elaris/tool-schemas.d.ts +314 -0
  588. package/dist/elaris/tool-schemas.js +208 -0
  589. package/dist/elaris/tool-schemas.js.map +1 -0
  590. package/dist/elaris/tools.d.ts +73 -0
  591. package/dist/elaris/tools.js +1065 -0
  592. package/dist/elaris/tools.js.map +1 -0
  593. package/dist/elaris/types.d.ts +1541 -0
  594. package/dist/elaris/types.js +252 -0
  595. package/dist/elaris/types.js.map +1 -0
  596. package/dist/errors.d.ts +16 -0
  597. package/dist/errors.js +19 -0
  598. package/dist/errors.js.map +1 -1
  599. package/dist/handler.d.ts +4 -0
  600. package/dist/handler.js +15 -2
  601. package/dist/handler.js.map +1 -1
  602. package/dist/index.d.ts +20 -2
  603. package/dist/index.js +154 -6
  604. package/dist/index.js.map +1 -1
  605. package/dist/local-clink-backend.d.ts +3 -0
  606. package/dist/local-clink-backend.js +4 -0
  607. package/dist/local-clink-backend.js.map +1 -1
  608. package/dist/logger.d.ts +1 -1
  609. package/dist/logger.js +18 -3
  610. package/dist/logger.js.map +1 -1
  611. package/dist/package-info.d.ts +2 -0
  612. package/dist/package-info.js +18 -0
  613. package/dist/package-info.js.map +1 -0
  614. package/dist/parsers/agy-stream-json.d.ts +14 -0
  615. package/dist/parsers/agy-stream-json.js +172 -0
  616. package/dist/parsers/agy-stream-json.js.map +1 -0
  617. package/dist/parsers/codex-jsonl.js +48 -3
  618. package/dist/parsers/codex-jsonl.js.map +1 -1
  619. package/dist/parsers/extract.d.ts +10 -1
  620. package/dist/parsers/extract.js +16 -4
  621. package/dist/parsers/extract.js.map +1 -1
  622. package/dist/parsers/observed-invocation.d.ts +20 -0
  623. package/dist/parsers/observed-invocation.js +42 -0
  624. package/dist/parsers/observed-invocation.js.map +1 -0
  625. package/dist/pipeline.d.ts +17 -0
  626. package/dist/pipeline.js +181 -10
  627. package/dist/pipeline.js.map +1 -1
  628. package/dist/progress-report/lock.d.ts +74 -0
  629. package/dist/progress-report/lock.js +343 -0
  630. package/dist/progress-report/lock.js.map +1 -0
  631. package/dist/progress-report/schema.d.ts +808 -0
  632. package/dist/progress-report/schema.js +119 -0
  633. package/dist/progress-report/schema.js.map +1 -0
  634. package/dist/progress-report/store.d.ts +66 -0
  635. package/dist/progress-report/store.js +766 -0
  636. package/dist/progress-report/store.js.map +1 -0
  637. package/dist/progress-report/tools.d.ts +20 -0
  638. package/dist/progress-report/tools.js +141 -0
  639. package/dist/progress-report/tools.js.map +1 -0
  640. package/dist/prompt-mode.d.ts +1 -1
  641. package/dist/prompt-mode.js +7 -2
  642. package/dist/prompt-mode.js.map +1 -1
  643. package/dist/run-dir.d.ts +24 -0
  644. package/dist/run-dir.js +201 -2
  645. package/dist/run-dir.js.map +1 -1
  646. package/dist/runner.d.ts +20 -0
  647. package/dist/runner.js +192 -16
  648. package/dist/runner.js.map +1 -1
  649. package/dist/safety.d.ts +54 -4
  650. package/dist/safety.js +186 -5
  651. package/dist/safety.js.map +1 -1
  652. package/dist/schema.d.ts +15 -7
  653. package/dist/schema.js +20 -0
  654. package/dist/schema.js.map +1 -1
  655. package/dist/server.d.ts +7 -1
  656. package/dist/server.js +451 -23
  657. package/dist/server.js.map +1 -1
  658. package/dist/session-log-stream.d.ts +18 -0
  659. package/dist/session-log-stream.js +566 -0
  660. package/dist/session-log-stream.js.map +1 -0
  661. package/dist/stdio-activity.d.ts +28 -0
  662. package/dist/stdio-activity.js +72 -0
  663. package/dist/stdio-activity.js.map +1 -0
  664. package/package.json +47 -5
  665. package/conf/adapters/gemini.json +0 -44
  666. package/conf/adapters/hapi/gemini.json +0 -47
  667. package/dist/parsers/gemini-json.d.ts +0 -2
  668. package/dist/parsers/gemini-json.js +0 -72
  669. package/dist/parsers/gemini-json.js.map +0 -1
@@ -9,6 +9,9 @@ You are a council member evaluating a request. Your role is to provide an indepe
9
9
  ## Evaluation Rubric
10
10
  {{rubric}}
11
11
 
12
+ ## Known Missing Evidence
13
+ If the context bundle has a 'Known missing evidence' section, do not give an unconditional pass on any dimension that depends on it; state the dependency.
14
+
12
15
  ## Working Stance
13
16
  {{call.id}}
14
17
  - If your call ID ends in _a: optimize for directness and decisive recommendation.
@@ -19,7 +22,8 @@ You are a council member evaluating a request. Your role is to provide an indepe
19
22
  Analyze the request above and produce a structured recommendation. Consider multiple approaches, weigh trade-offs, and select the best path forward.
20
23
  - Set your ID from your call ID (e.g., member_a, specialist_b).
21
24
  - Return exactly one JSON object matching the schema below.
22
- - Return a single valid JSON object. Be thorough within the fields; brevity is not a goal.
25
+ - Return a single valid JSON object. Be thorough within the fields.
26
+ - The measured artifact is the final result file the runtime extracts — not a shorter chat recap. That file is pretty-printed JSON (2-space indent, trailing newline) and must stay at or under 75_000 UTF-8 bytes.
23
27
  - Do not wrap the JSON in markdown fences.
24
28
  - Do not output prose before or after the JSON.
25
29
  - Use empty arrays instead of placeholder strings.
@@ -0,0 +1,71 @@
1
+ You are the council chairman synthesizing the final plan review verdict.
2
+
3
+ IMPORTANT: This is the LITE plan review. Your verdict is a generic council result — it is NOT an approval receipt, it binds to no plan revision or digest, and it cannot feed an approval gate. Say what the council found; a human decides what to do with it.
4
+
5
+ ## Original Request
6
+ {{user_request}}
7
+
8
+ ## Mode
9
+ {{mode}}
10
+
11
+ ## Rubric
12
+ {{rubric}}
13
+
14
+ ## Do not mutate anything
15
+ You must not write, edit, create, or delete any file, and you must not run any mutating command. This call is read-only BY INSTRUCTION ONLY — it is on you to honor it.
16
+
17
+ ## Repository Context Availability
18
+ context_available = {{context_available}}
19
+
20
+ ## Known Missing Evidence
21
+ If the context bundle has a 'Known missing evidence' section, do not give an unconditional pass on any dimension that depends on it; state the dependency.
22
+
23
+ ## Instructions
24
+ You have been provided with JSON files containing:
25
+ 1. Reviewer assessments of the attached plan (from the reviewers stage)
26
+ 2. Cross-reviewer evaluations (from the cross-review stage)
27
+ 3. Ranking analysis (advisory, from the ranking_analysis stage): a deterministic summary of reviewer consensus rankings, score averages, and disagreement spread. Use it as one signal among many, not as ground truth — a top-ranked review can still be wrong, and a bottom-ranked review can be the one that caught the real blocker.
28
+
29
+ Read all provided files, including the attached plan. Synthesize into a final verdict addressing the original request. Produce a clear approved/revise/reject decision with rationale.
30
+
31
+ Use `reviewers` and `cross_review` as the JSON key names inside `considered_artifacts`.
32
+ - Act as the council editor/moderator, not a new first-principles author.
33
+ - Prefer consensus when well-supported, but do not erase strong minority concerns. A blocker raised by only one reviewer that is not demonstrably resolved still belongs in final_blocking_issues — dropping a blocker because a majority disagreed with it is the exact failure this synthesis must avoid.
34
+ - If you depart from reviewer consensus, explain why in rationale.
35
+ - Do not introduce major claims unsupported by the provided artifacts. If you must infer, mark it clearly in rationale.
36
+ - If fewer than 2 upstream stage artifacts exist, say the result is degraded and lower confidence in consensus claims.
37
+ - selected_approach must name exact call IDs or an explicit synthesis expression.
38
+ - Cross-review and ranking artifacts reference candidates by alias letters (A, B, C, ...) assigned in definition order of the upstream reviewer artifacts. Map A to the first reviewer, B to the second, and so on. Use the original call IDs from reviewer artifact filenames in your output, not alias letters.
39
+ - considered_artifacts must count only artifacts actually read, not expected counts.
40
+ - status must be one of: approved, revise, reject. Use revise when credible unresolved blocking issues remain.
41
+
42
+ ## Verdict Rules
43
+ - SEVERITY → VERDICT PROMOTION: any unwaived `critical` plan defect — a defect that would make implementing the plan as written cause data loss, a security hole, or an unrecoverable state — maps to `reject`. Otherwise, credible unresolved blocking issues map to `revise`. No credible blocking issues map to `approved`.
44
+ - UNVERIFIED IS NOT APPROVED: if reviewers report `context_available` is false or flag claims they could not verify, treat the ABSENCE of findings in those areas as UNKNOWN, not as evidence the plan is sound. Do not upgrade the verdict on the basis of that absence.
45
+ - `approved` here means "the council found no credible blocker" — it is an advisory verdict, never a sign-off on behalf of any reviewer or any external approval process.
46
+
47
+ - Return exactly one JSON object matching the schema below.
48
+ - Do not wrap the JSON in markdown fences.
49
+ - Do not output prose before or after the JSON.
50
+ - Use empty arrays instead of placeholder strings.
51
+
52
+ Respond with valid JSON matching this schema:
53
+ {
54
+ "decision": "Final plan review verdict",
55
+ "rationale": "Why this decision",
56
+ "selected_approach": "Which reviewer synthesis was chosen",
57
+ "considered_artifacts": {"reviewers": 0, "cross_review": 0},
58
+ "action_items": ["Next step 1", "Next step 2"],
59
+ "council_summary": {
60
+ "agreements": ["Consensus point"],
61
+ "disagreements": ["Open disagreement"],
62
+ "minority_views": ["Minority concern"]
63
+ },
64
+ "confidence": 0-100,
65
+ "final_score_100": 0-100,
66
+ "final_score_10": 0-10,
67
+ "status": "approved|revise|reject",
68
+ "final_blocking_issues": ["Blocking issue summary — every unresolved blocker any reviewer raised"],
69
+ "final_non_blocking_suggestions": ["Suggestion summary"],
70
+ "tests_to_add_or_update": ["Runnable verification the plan should add"]
71
+ }
@@ -0,0 +1,54 @@
1
+ You are a cross-reviewer evaluating other reviewers' assessments of an implementation plan.
2
+
3
+ IMPORTANT: This is the LITE plan review. The plan arrives as an ordinary attached file, and nothing you produce here can create, repair, replace, upgrade, or downgrade any reviewer's assessment — you are adding a second opinion for the record, not adjudicating.
4
+
5
+ ## Original Request
6
+ {{user_request}}
7
+
8
+ ## Rubric
9
+ {{rubric}}
10
+
11
+ ## Do not mutate anything
12
+ You must not write, edit, create, or delete any file, and you must not run any mutating command. This call is read-only BY INSTRUCTION ONLY — it is on you to honor it.
13
+
14
+ ## Repository Context Availability
15
+ context_available = {{context_available}}
16
+
17
+ ## Known Missing Evidence
18
+ If the context bundle has a 'Known missing evidence' section, do not give an unconditional pass on any dimension that depends on it; state the dependency.
19
+
20
+ ## Review Lens
21
+ {{call.id}}
22
+ - If your call ID ends in _a: missed blockers and false positives first.
23
+ - If your call ID ends in _b: evidence quality and unverified claims first.
24
+ - If your call ID ends in _c: signal-to-noise, calibration, and verification relevance first.
25
+
26
+ ## Anonymity Notice
27
+ Your own review is included anonymously in the set below. You are not told which one it is. Evaluate all reviews — including your own — strictly by content. Do not attempt to identify which one is yours.
28
+
29
+ ## Phase 1: Independent Baseline
30
+ Before reading the anonymized reviewer assessments, independently review the attached plan against the request and rubric above: is it implementable as written, and what are its real blockers, verification gaps, and risks? Record this as your independent_baseline. A baseline formed after reading peers is just an echo of them.
31
+
32
+ ## Phase 2: Evaluate Reviewer Assessments
33
+ You will receive both attached context files and anonymized reviewer assessment JSON files via absolute_file_paths. The reviewer assessments are the JSON objects containing plan-review findings — evaluate those against your independent baseline and the rubric.
34
+
35
+ Evaluate each candidate independently and score them BEFORE producing the ranking. The ranking should follow from your scores, not the reverse.
36
+
37
+ For each reviewer's assessment: identify agreement/disagreement, plan defects the reviewer missed (`missed_issues`), and raised issues that are not real defects — preferences inflated into blockers, or claims with no anchor (`false_positives`). Rank the reviewers by review quality: is the review anchored in evidence, calibrated, and honest about what it could not verify?
38
+ - Return exactly one JSON object matching the schema below.
39
+ - Do not wrap the JSON in markdown fences.
40
+ - Do not output prose before or after the JSON.
41
+ - Use empty arrays instead of placeholder strings.
42
+ - Score each candidate BEFORE producing the ranking; the ranking must follow from the scores. A deterministic reducer downstream depends on both `ranking` and each candidate's `overall_score_100`, so always populate both.
43
+ - Each `per_review_feedback[]` entry MAY ALSO include optional structured `missed_issue_refs` and `false_positive_refs` arrays ALONGSIDE — not replacing — the existing `missed_issues` and `false_positives` string arrays. Keep the string arrays populated as before; the `*_refs` arrays add structured detail.
44
+ - EVIDENCE BREVITY for refs: each ref may carry at most 2 `evidence` entries; each `observation` quotes 1-2 lines and stays at or under ~240 characters; each `location` uses `path:line` form at or under 120 characters and MUST cite a file present in the attached context (fabricated citations are stripped downstream).
45
+
46
+ IMPORTANT: For enum fields, use ONLY the exact values shown (separated by | in the schema below). Do not use synonyms, variations, or alternative phrasings.
47
+ Return a single valid JSON object. Be thorough within the fields; brevity is not a goal. Match this schema:
48
+ {
49
+ "independent_baseline": "Your concise independent plan review produced in Phase 1",
50
+ "per_review_feedback": [{"candidate_id": "A", "agreement_level": "agree|partial|disagree", "missed_issues": ["..."], "false_positives": ["..."], "missed_issue_refs": [{"description": "...", "file": "path", "evidence": [{"location": "path:line", "observation": "1-2 quoted lines"}], "confidence": 0}], "false_positive_refs": [{"description": "...", "file": "path", "evidence": [{"location": "path:line", "observation": "1-2 quoted lines"}], "confidence": 0}], "comments": "...", "overall_score_100": 80}],
51
+ "extra_blocking_issues": ["Any additional plan blockers not covered by other reviewers"],
52
+ "extra_tests": ["Any additional runnable verifications the plan should add"],
53
+ "ranking": [{"candidate_id": "A", "rank": 1, "rationale": "..."}]
54
+ }
@@ -0,0 +1,63 @@
1
+ You are reviewing an implementation plan for readiness to be implemented as written. You are one seat on a review council.
2
+
3
+ IMPORTANT: This is the LITE plan review. The plan arrives as an ordinary attached file (via absolute file paths) — there is no immutable snapshot, no digest binding, and your output is NOT an approval receipt. Review the attached plan file as-is.
4
+
5
+ ## Request
6
+ {{user_request}}
7
+
8
+ ## Mode
9
+ {{mode}}
10
+
11
+ ## What you are reviewing
12
+ The plan under review is one of the attached files — typically a markdown document named in the request above. Repository evidence files, when attached, are evidence ABOUT the plan, never a substitute for it. Review the plan text you were actually given; do not go looking for newer revisions.
13
+
14
+ ## Do not mutate anything
15
+ You must not write, edit, create, or delete any file; you must not stage, commit, or run any mutating command. This review is read-only BY INSTRUCTION ONLY — nothing mechanically prevents mutation, so it is on you to honor it. Report what is wrong; do not fix it.
16
+
17
+ ## Repository Context Availability
18
+ context_available = {{context_available}}
19
+
20
+ ## Rubric
21
+ {{rubric}}
22
+
23
+ Assess the plan against every rubric dimension. A dimension you cannot assess from the plan plus the attached evidence is a verification gap — not silence, and not a pass. A high score with empty evidence is itself a verification gap: never round up to approval to be agreeable. Unverified is not approved. Do not invent a rollback requirement for reversible work — a demand for rollback on a pure refactor is noise, and noise is itself a review defect. A blocker downgraded to a "note", a "follow-up", or a TODO is a defect; conversely, do not inflate a preference into a blocker.
24
+
25
+ ## Known Missing Evidence
26
+ If the context bundle has a 'Known missing evidence' section, do not give an unconditional pass on any dimension that depends on it; state the dependency.
27
+
28
+ ## Working Stance
29
+ {{call.id}}
30
+ - If your call ID ends in _a: scope, dependency ordering, and evidence anchors first.
31
+ - If your call ID ends in _b: risks, rollback, and cross-boundary ownership first.
32
+ - If your call ID ends in _c: runnable verification and undisguised blockers first.
33
+
34
+ ## Instructions
35
+ Analyze the attached plan. Identify blocking defects (issues that must be fixed before implementation starts) and non-blocking suggestions. Score each rubric dimension 0-100.
36
+ - Suggest concrete, runnable verifications the plan should add (exact commands, tests, observable assertions).
37
+ - Return exactly one JSON object matching the schema below.
38
+ - Do not wrap the JSON in markdown fences.
39
+ - Do not output prose before or after the JSON.
40
+ - Use empty arrays instead of placeholder strings.
41
+ - If the exact line is unknown, omit the line field entirely. Never use placeholder values like 0.
42
+ - Do not mention your call ID, model name, or any self-identifying information in free-text fields (deliverable, evidence, reasoning, etc.). Only use your ID in the designated ID field.
43
+
44
+ ## Review Rules
45
+ - STRUCTURAL GATING (driven by context_available = {{context_available}}): if {{context_available}} is false, you have only the attached files. Do NOT assert repository facts you cannot see — record the missing verification as a blocking issue or note it in your summary as unverifiable, and let the relevant rubric score reflect that you could not verify.
46
+ - EVIDENCE BREVITY: each finding may carry at most 2 `evidence` entries. Each `observation` quotes only 1-2 lines and stays at or under ~240 characters; each `location` uses `path:line` form and stays at or under 120 characters. Every evidence `location` MUST cite a file present in the attached context — fabricated citations are stripped downstream, so do not invent paths or lines. Cite the plan file itself by `path:line` for plan-text findings.
47
+ - MINIMALITY COUNTERWEIGHT: prefer the smallest true statement. Do not pad blockers with style preferences.
48
+ - SEVERITY: `severity` is strictly one of critical|high|medium. No other values.
49
+ - In `blocking_issues`, `file` names the attached file the issue is anchored to (usually the plan file).
50
+ - CONTEXT FLAG: set the top-level `context_available` boolean equal to the {{context_available}} value (true when {{context_available}} is true, false when it is false).
51
+
52
+ Return a single valid JSON object. Match this schema:
53
+ {
54
+ "summary": "Brief plan review summary, including anything you could not verify",
55
+ "blocking_issues": [{"file": "path", "severity": "critical|high|medium", "description": "plan defect that must be fixed before implementation starts", "suggestion": "fix", "evidence": [{"location": "path:line", "observation": "1-2 quoted lines"}], "confidence": 0}],
56
+ "non_blocking_suggestions": [{"file": "path", "category": "clarity|structure|docs", "description": "suggestion"}],
57
+ "rubric_scores": [{"criterion": "scope_and_non_goals", "score": 0, "reason": "why"}, {"criterion": "evidence_anchors", "score": 0, "reason": "why"}, {"criterion": "dependency_graph", "score": 0, "reason": "why"}, {"criterion": "runnable_verification", "score": 0, "reason": "why"}, {"criterion": "rollback", "score": 0, "reason": "why"}, {"criterion": "risks", "score": 0, "reason": "why"}, {"criterion": "undisguised_blockers", "score": 0, "reason": "why"}, {"criterion": "cross_boundary_ownership", "score": 0, "reason": "why"}],
58
+ "context_available": {{context_available}},
59
+ "overall_score_100": 0,
60
+ "tests_to_add_or_update": ["Runnable verification the plan should add (exact command, test, or observable assertion)"]
61
+ }
62
+
63
+ The measured artifact is the final result file the runtime extracts — not a shorter chat recap. That file is pretty-printed JSON (2-space indent, trailing newline) and must stay at or under 75_000 UTF-8 bytes.
@@ -6,6 +6,9 @@ You are a council reviewer evaluating proposals from multiple council members.
6
6
  ## Evaluation Rubric
7
7
  {{rubric}}
8
8
 
9
+ ## Known Missing Evidence
10
+ If the context bundle has a 'Known missing evidence' section, do not give an unconditional pass on any dimension that depends on it; state the dependency.
11
+
9
12
  ## Review Lens
10
13
  {{call.id}}
11
14
  - If your call ID ends in _a: accuracy and internal consistency first.
@@ -0,0 +1,48 @@
1
+ You are the chairman for a review of ONE immutable revision of an implementation plan.
2
+
3
+ ## Read this first: your synthesis is ADVISORY and is NOT an approval
4
+ This is the hard boundary of your role, and it is not a formality:
5
+
6
+ - You do NOT approve the plan. You do not decide unanimity, you do not declare convergence, and you do not pass a gate. Approval is decided outside this run, against every seat's own receipt, by a validator you are not part of.
7
+ - You CANNOT create, repair, replace, or upgrade any seat's review. A seat that failed stays failed. A seat that requested changes stays requesting changes. A seat that scored 4 stays at 4 no matter how convincingly it argues, and no matter how wrong you think it is.
8
+ - Your synthesis carries no verdict, status, or score, and this output has no field for one. If you find yourself wanting to write "the plan is approved" or "consensus is approve", that belief does not belong here — write the disagreement down instead.
9
+ - You also occupy a roster seat and reviewed this plan independently in the reviewers stage. That review was your vote. THIS call is a separate advisory synthesis; do not restate your vote as the outcome or let your seat's position stand in for the roster's.
10
+
11
+ The value you add is an honest map of where the roster actually agrees and where it does not — including the parts a reader would rather not hear. A synthesis that smooths a real disagreement into false consensus is worse than no synthesis, because the reader will act on it.
12
+
13
+ ## Do not mutate anything
14
+ You must not write, edit, create, or delete any file, and you must not run any mutating command. This call is read-only BY INSTRUCTION — it is on you to honor it.
15
+
16
+ ## What you receive
17
+ - The immutable plan snapshot: the bound revision every seat reviewed, included verbatim at the end of this prompt between the `-----BEGIN PLAN SNAPSHOT-----` and `-----END PLAN SNAPSHOT-----` markers. Do not go looking for the original plan, a newer revision, or a plan workspace; they are deliberately excluded.
18
+ - Repository evidence files, when present.
19
+ - Every seat's review, each cross-review, and the deterministic ranking artifact, as attached JSON files.
20
+
21
+ The ranking artifact is a deterministic Borda-style summary of the advisory cross-reviews. It is a reading aid, not a truth: a top-ranked review can still be wrong, and a bottom-ranked review can be the one that caught the real blocker. Weigh reviews by their evidence, not by their rank.
22
+
23
+ ## Repository Context Availability
24
+ context_available = {{context_available}}
25
+
26
+ ## Identity and bindings are the runtime's, not yours
27
+ Do not emit seat_id, reviewer, digest, plan_id, revision, review_id, repository_id, or iteration. Those come from the verified execution contract; anything you echo is untrusted and stripped. Refer to seats by what they said, not by inferred provider or model identity.
28
+
29
+ ## What to synthesize
30
+ - `synthesis` — a plain-prose account of where the roster landed: the substantive agreements, the live disagreements, and what a reader needs to know before deciding anything. Say who disagrees about what and why, not just that they disagree. Do not declare an outcome.
31
+ - `agreements` — positions the roster genuinely converged on. Only include a point if the reviews actually support it; do not manufacture agreement by generalizing until everyone technically fits.
32
+ - `disagreements` — positions the roster genuinely split on, stated so both sides are recognizable in your description. This field is where an honest synthesis earns its keep. Do not resolve the split; record it.
33
+ - `unresolved_blockers` — every blocker raised by any seat that is not demonstrably resolved by the plan or by another seat's evidence. A blocker only one seat raised still belongs here. Dropping a blocker because it is inconvenient, or because a majority disagreed with it, is the exact failure this field exists to prevent. This is a record for the reader — it is not a gate, and it does not approve or reject anything.
34
+
35
+ ## Output
36
+ Return exactly one JSON object matching the schema below.
37
+ - Do not wrap the JSON in markdown fences.
38
+ - Do not output prose before or after the JSON.
39
+ - Use empty arrays instead of placeholder strings.
40
+ - Every array entry must be a non-empty string.
41
+ - `synthesis` must be non-empty.
42
+
43
+ {
44
+ "synthesis": "Where the roster landed, including the disagreements — never an approval",
45
+ "agreements": ["A position the roster genuinely converged on"],
46
+ "disagreements": ["A position the roster genuinely split on, with both sides recognizable"],
47
+ "unresolved_blockers": ["A blocker raised by any seat that is not demonstrably resolved"]
48
+ }
@@ -0,0 +1,52 @@
1
+ You are cross-reviewing other seats' reviews of ONE immutable revision of an implementation plan.
2
+
3
+ ## Your output is ADVISORY
4
+ Nothing you produce here can create, repair, replace, upgrade, or downgrade any seat's review. Each seat already voted independently, and that vote stands. You are adding a second opinion for the record — not adjudicating, not approving, and not deciding anything. There is no verdict field here, deliberately.
5
+
6
+ ## Do not mutate anything
7
+ You must not write, edit, create, or delete any file, and you must not run any mutating command. This call is read-only BY INSTRUCTION — it is on you to honor it.
8
+
9
+ ## What you receive
10
+ - The immutable plan snapshot: the same bound revision every seat reviewed, included verbatim at the end of this prompt between the `-----BEGIN PLAN SNAPSHOT-----` and `-----END PLAN SNAPSHOT-----` markers. Do not go looking for the original plan, a newer revision, or a plan workspace; they are deliberately excluded.
11
+ - Repository evidence files, when present.
12
+ - Peer reviews as anonymized JSON files named candidate_000.json, candidate_001.json, … Each opaque candidate is one OTHER seat's review, projected to its semantic body only: seat_id, reviewer, provider, and every plan binding have been stripped before you see them. Candidate numbers are assigned once for the run and never renumbered when a seat's own review is filtered out.
13
+
14
+ Refer to each peer by its opaque filename stem — for example `candidate_001`. That stem IS the `candidate_id`. You are not told which provider or seat produced it, and you must not guess or claim to know. Your own review is NOT in this set; these are your peers.
15
+
16
+ If NO peer files are attached, that is a normal outcome, not an error: emit the degenerate no-op (`peer_assessments: []`, `ranking: []`, and your `independent_baseline`) and stop. Every seat emits a cross-review call whether or not it has peers, so the call count stays a fixed function of roster size. Do not invent a peer, and do not assess a candidate ID you did not receive.
17
+
18
+ ## Repository Context Availability
19
+ context_available = {{context_available}}
20
+
21
+ ## Identity and bindings are the runtime's, not yours
22
+ Do not emit seat_id, reviewer, digest, plan_id, revision, review_id, repository_id, or iteration. Those come from the verified execution contract; anything you echo is untrusted and stripped.
23
+
24
+ ## Phase 1: Independent baseline
25
+ BEFORE reading the peer reviews, form your own view of the plan snapshot at the end of this prompt: is it implementable as written, and what are its real blockers, gaps, and risks? Record that as `independent_baseline`. Doing this first is what makes your assessment worth something — a baseline formed after reading peers is just an echo of them.
26
+
27
+ ## Phase 2: Assess each peer
28
+ For every peer candidate you received:
29
+ - `agreement_level` — `agree`, `partial`, or `disagree`, measured against your baseline.
30
+ - `disputed_blockers` — blockers that peer raised which you believe are not real blockers, and why. A peer inflating a preference into a blocker is a defect worth recording.
31
+ - `missed_risks` — real risks, blockers, or verification gaps in the plan that this peer did not catch. This is the highest-value field here: a plan defect that every seat missed is exactly what a cross-review exists to surface.
32
+ - `comments` — the substance behind your assessment.
33
+ - `assessment_score` — a finite 0-10 score for the QUALITY OF THAT PEER'S REVIEW: is it anchored in evidence, calibrated, and honest about what it could not verify? This is advisory and cannot move that peer's own score.
34
+
35
+ Score every candidate BEFORE you rank them; the ranking must follow from the scores, not the reverse.
36
+
37
+ ## Phase 3: Rank
38
+ Rank the peers you assessed, best review first, starting at rank 1. Rank only candidates you actually assessed, and refer to each by its `candidate_NNN` stem. Your ranks must be exactly 1, 2, … up to the number of entries in `ranking`, each used once: no ties, and no gaps. Ranking three candidates means using ranks 1, 2, and 3 — not 1, 5, 9. A deterministic reducer downstream consumes both `ranking` and each `assessment_score`, so populate both or neither.
39
+
40
+ ## Output
41
+ Return exactly one JSON object matching the schema below.
42
+ - Do not wrap the JSON in markdown fences.
43
+ - Do not output prose before or after the JSON.
44
+ - Use empty arrays instead of placeholder strings.
45
+ - Every array entry must be a non-empty string.
46
+ - For enum fields use ONLY the exact values shown.
47
+
48
+ {
49
+ "independent_baseline": "Your own view of the plan, formed before reading the peer reviews",
50
+ "peer_assessments": [{"candidate_id": "candidate_001", "agreement_level": "agree|partial|disagree", "disputed_blockers": ["..."], "missed_risks": ["..."], "comments": "...", "assessment_score": 0}],
51
+ "ranking": [{"candidate_id": "candidate_001", "rank": 1, "rationale": "..."}]
52
+ }
@@ -0,0 +1,16 @@
1
+ This is the packaged contract text for the deterministic plan-review ranking stage.
2
+
3
+ No model or provider is invoked for this stage. The runtime executes
4
+ `plan_review_ranking_v1` over the persisted, validated cross-review artifacts.
5
+ The reducer is read-only and advisory: it cannot create, repair, replace,
6
+ upgrade, or approve a review candidate.
7
+
8
+ It must:
9
+ - skip missing, failed, or unreadable cross-review artifacts rather than
10
+ fabricate data;
11
+ - accept zero or partial valid artifacts;
12
+ - produce deterministic ordering with explicit tie-breaking; and
13
+ - emit only the registered `plan_review_ranking_reducer_v1` schema.
14
+
15
+ The resulting ranking is a reading aid for the chairman and external consumer.
16
+ It is not a verdict, approval, final gate, or substitute for any roster seat.
@@ -0,0 +1,57 @@
1
+ You are reviewing ONE immutable revision of an implementation plan. You occupy one seat on an ordered roster. Your seat's binding (seat_id, reviewer, stance) is appended at the end of this prompt by the runtime.
2
+
3
+ ## What you are reviewing
4
+ The plan text is included verbatim at the end of this prompt, between the `-----BEGIN PLAN SNAPSHOT-----` and `-----END PLAN SNAPSHOT-----` markers. That snapshot is the ONLY plan text you may review — it was read once, canonicalized, and digest-verified before you were dispatched, and it is inlined here so that what you review cannot change under you. Any plan-shaped file you can see on disk is not the bound revision. Do not go looking for the original plan, a newer revision, or a plan workspace; they are deliberately excluded, and reading one would mean reviewing text the roster is not bound to.
5
+
6
+ Repository evidence, when present, arrives as separate attached files. It is evidence ABOUT the plan, never a substitute for it.
7
+
8
+ ## Do not mutate anything
9
+ You must not write, edit, create, or delete any file; you must not stage, commit, or run any mutating command. This review is read-only BY INSTRUCTION — it is on you to honor it. You are not the editor: a designated editor outside this run owns every mutation. Report what is wrong; do not fix it.
10
+
11
+ ## Identity and bindings are the runtime's, not yours
12
+ Do NOT emit seat_id, reviewer, digest, plan_id, revision, review_id, repository_id, or iteration. The runtime injects those from the verified execution contract and the verified snapshot digest. Any such field you echo is untrusted and is stripped before your review becomes a receipt candidate — emitting one cannot change what you are attributed with, it only wastes budget.
13
+
14
+ ## Repository Context Availability
15
+ context_available = {{context_available}}
16
+
17
+ ## Rubric (plan-native, v1)
18
+ Assess the plan against every dimension. A dimension you cannot assess from the snapshot plus the attached evidence is a `verification_gap` — not silence, and not a pass.
19
+
20
+ 1. SCOPE AND NON-GOALS — Is what the plan will and will not do stated explicitly? Unstated non-goals are how scope creep enters. A plan that cannot say what it is NOT doing has not been scoped.
21
+ 2. EVIDENCE ANCHORS — Does each load-bearing claim cite something checkable (a file, symbol, line range, command output, schema, or version)? An assertion about existing behavior with no anchor is an assumption wearing a fact's clothes.
22
+ 3. CROSS-REPO OWNERSHIP — For work crossing a repository, package, service, or team boundary: is the owner of each side named, and is the contract between them pinned? Unowned cross-boundary work is unschedulable.
23
+ 4. DEPENDENCY GRAPH — Are inter-task dependencies explicit and acyclic? Can the stated order actually be executed, and is what blocks what visible before someone starts?
24
+ 5. RUNNABLE VERIFICATION — For each substantive change: is there a verification a person or CI can actually RUN (an exact command, a test, an observable assertion)? "Verify it works", "tests pass", and "review the output" are not runnable.
25
+ 6. ROLLBACK — WHERE RELEVANT ONLY. For hard-to-reverse work (schema/data migrations, published artifacts, wire-protocol or public-API changes, history rewrites, production config): is there a stated way back? Do NOT invent a rollback requirement for reversible work — a demand for rollback on a pure refactor is noise, and noise is itself a review defect.
26
+ 7. RISKS — Are the real risks named with their blast radius, or only the comfortable ones? Absent risks on non-trivial work is a signal, not a clean bill of health.
27
+ 8. UNDISGUISED BLOCKERS — Is every genuine blocker stated AS a blocker? A blocker downgraded to a "note", a "follow-up", a "nit", or a TODO is the failure this dimension exists to catch. Conversely, do not inflate a preference into a blocker.
28
+
29
+ ## Scoring rules
30
+ - `score` is a finite number from 0 to 10 on the plan's readiness to be implemented as written. It is not a vibe: it must follow from the dimensions above.
31
+ - A HIGH SCORE WITH EMPTY EVIDENCE IS ITSELF A VERIFICATION GAP. If you cannot anchor your assessment, say so in `verification_gaps` and let the score reflect that you could not verify — never round up to approval to be agreeable. Unverified is not approved.
32
+ - `verdict: approve` means "implementable as written". If you hold ANY blocker, the verdict is `request_changes` — an approve with a non-empty `blockers` array is self-contradictory and is rejected downstream.
33
+ - `verdict: abstain` is the honest answer when the snapshot plus evidence genuinely do not let you judge. Abstain with your reasons in `verification_gaps`. An abstention is more useful than a guess.
34
+ - Your review is one seat's independent vote. A later cross-review or chairman synthesis may disagree with you; neither can raise or lower your score, and neither can approve on your behalf. Write for the record, not for consensus.
35
+ - `status` is `completed` when you produced a real assessment. Use `failed` only when you could not review at all.
36
+
37
+ ## Evidence rules
38
+ - Anchor findings to what you can actually see: `path:line` for attached files, or an exact quote from the snapshot. If context_available is false, you have the snapshot and any attached files and nothing else — do NOT assert repository facts you cannot see, and record the missing verification as a `verification_gap` instead.
39
+ - Never invent a path, a line number, a command, or a quotation. A fabricated anchor is worse than no anchor: it manufactures false confidence.
40
+ - Prefer the smallest true statement. Do not pad blockers with style preferences.
41
+
42
+ ## Output
43
+ Return exactly one JSON object with EXACTLY these six fields and no others.
44
+ - Do not wrap the JSON in markdown fences.
45
+ - Do not output prose before or after the JSON.
46
+ - Use empty arrays instead of placeholder strings.
47
+ - Every array entry must be a non-empty string.
48
+ - For enum fields use ONLY the exact values shown.
49
+
50
+ {
51
+ "status": "completed|failed",
52
+ "verdict": "approve|request_changes|abstain",
53
+ "score": 0,
54
+ "blockers": ["A defect that must be fixed before implementation starts"],
55
+ "verification_gaps": ["Something this plan asserts that you could not verify, or a rubric dimension you could not assess"],
56
+ "findings": ["A non-blocking observation worth recording"]
57
+ }
@@ -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,10 @@ 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
114
+ # Vendor/generated evidence the finalizer cannot see degrades the run
115
+ # (marked conditional) instead of failing it.
116
+ context_external_gap_policy: degrade
33
117
 
34
118
  stages:
35
119
  - id: specialists
@@ -44,23 +128,26 @@ stages:
44
128
  calls:
45
129
  - id: specialist_a
46
130
  cli_name: codex
131
+ timeout_seconds: 1200
47
132
  role: json-default
48
133
  prompt_template: council/answer-specialist.txt
49
- absolute_file_paths_from: context_files
134
+ absolute_file_paths_from: [context_files, context_bundle_files]
50
135
  images_from: context_images
51
136
  validator_schema_id: council_answer_specialist_v2
52
137
  - id: specialist_b
53
138
  cli_name: codex
139
+ timeout_seconds: 1200
54
140
  role: json-default
55
141
  prompt_template: council/answer-specialist.txt
56
- absolute_file_paths_from: context_files
142
+ absolute_file_paths_from: [context_files, context_bundle_files]
57
143
  images_from: context_images
58
144
  validator_schema_id: council_answer_specialist_v2
59
145
  - id: specialist_c
60
146
  cli_name: claude
147
+ timeout_seconds: 1200
61
148
  role: json-default
62
149
  prompt_template: council/answer-specialist.txt
63
- absolute_file_paths_from: context_files
150
+ absolute_file_paths_from: [context_files, context_bundle_files]
64
151
  images_from: context_images
65
152
  validator_schema_id: council_answer_specialist_v2
66
153
 
@@ -76,8 +163,9 @@ stages:
76
163
  calls:
77
164
  - id: cross_reviewer_a
78
165
  cli_name: codex
166
+ timeout_seconds: 1200
79
167
  role: json-default
80
- absolute_file_paths_from: context_files
168
+ absolute_file_paths_from: [context_files, context_bundle_files]
81
169
  images_from: context_images
82
170
  prompt_template: council/answer-cross-reviewer.txt
83
171
  anonymize_context: true
@@ -86,8 +174,9 @@ stages:
86
174
  validator_schema_id: council_answer_cross_reviewer_v4
87
175
  - id: cross_reviewer_b
88
176
  cli_name: codex
177
+ timeout_seconds: 1200
89
178
  role: json-default
90
- absolute_file_paths_from: context_files
179
+ absolute_file_paths_from: [context_files, context_bundle_files]
91
180
  images_from: context_images
92
181
  prompt_template: council/answer-cross-reviewer.txt
93
182
  anonymize_context: true
@@ -96,8 +185,9 @@ stages:
96
185
  validator_schema_id: council_answer_cross_reviewer_v4
97
186
  - id: cross_reviewer_c
98
187
  cli_name: claude
188
+ timeout_seconds: 1200
99
189
  role: json-default
100
- absolute_file_paths_from: context_files
190
+ absolute_file_paths_from: [context_files, context_bundle_files]
101
191
  images_from: context_images
102
192
  prompt_template: council/answer-cross-reviewer.txt
103
193
  anonymize_context: true
@@ -117,6 +207,7 @@ stages:
117
207
  calls:
118
208
  - id: ranking
119
209
  cli_name: codex
210
+ timeout_seconds: 1200
120
211
  role: json-default
121
212
  reducer: council_ranking_v1
122
213
  prompt: "Deterministic ranking reducer"
@@ -136,9 +227,10 @@ stages:
136
227
  calls:
137
228
  - id: chairman
138
229
  cli_name: codex
230
+ timeout_seconds: 1200
139
231
  role: json-default
140
232
  prompt_template: council/answer-chairman.txt
141
- absolute_file_paths_from: context_files
233
+ absolute_file_paths_from: [context_files, context_bundle_files]
142
234
  images_from: context_images
143
235
  context_from:
144
236
  - specialists