agentic-orchestrator 0.1.2 → 0.1.4

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 (300) hide show
  1. package/.claude/settings.local.json +15 -0
  2. package/CLAUDE.md +126 -0
  3. package/README.md +166 -25
  4. package/agentic/orchestrator/adapters.yaml +3 -0
  5. package/agentic/orchestrator/gates.yaml +47 -0
  6. package/agentic/orchestrator/policy.yaml +89 -0
  7. package/agentic/orchestrator/schemas/adapters.schema.json +12 -0
  8. package/agentic/orchestrator/schemas/gates.schema.json +6 -1
  9. package/agentic/orchestrator/schemas/index.schema.json +14 -0
  10. package/agentic/orchestrator/schemas/multi-project.schema.json +41 -0
  11. package/agentic/orchestrator/schemas/policy.schema.json +449 -52
  12. package/agentic/orchestrator/schemas/state.schema.json +16 -0
  13. package/agentic/orchestrator/tools/catalog.json +68 -0
  14. package/agentic/orchestrator/tools/schemas/input/cost.get.input.schema.json +10 -0
  15. package/agentic/orchestrator/tools/schemas/input/cost.record.input.schema.json +13 -0
  16. package/agentic/orchestrator/tools/schemas/input/feature.send_message.input.schema.json +11 -0
  17. package/agentic/orchestrator/tools/schemas/input/performance.get_analytics.input.schema.json +10 -0
  18. package/agentic/orchestrator/tools/schemas/input/performance.record_outcome.input.schema.json +18 -0
  19. package/agentic/orchestrator/tools/schemas/output/cost.get.output.schema.json +13 -0
  20. package/agentic/orchestrator/tools/schemas/output/cost.record.output.schema.json +13 -0
  21. package/agentic/orchestrator/tools/schemas/output/feature.ready_to_merge.output.schema.json +7 -0
  22. package/agentic/orchestrator/tools/schemas/output/feature.send_message.output.schema.json +23 -0
  23. package/agentic/orchestrator/tools/schemas/output/performance.get_analytics.output.schema.json +46 -0
  24. package/agentic/orchestrator/tools/schemas/output/performance.record_outcome.output.schema.json +10 -0
  25. package/agentic/orchestrator/tools.md +5 -0
  26. package/apps/control-plane/scripts/validate-architecture-rules.mjs +28 -2
  27. package/apps/control-plane/scripts/validate-docker-mcp-contract.mjs +12 -0
  28. package/apps/control-plane/scripts/validate-mcp-contracts.ts +92 -0
  29. package/apps/control-plane/src/application/adapters/adapter-registry.ts +169 -0
  30. package/apps/control-plane/src/application/multi-project-loader.ts +119 -0
  31. package/apps/control-plane/src/application/services/activity-monitor-service.ts +199 -0
  32. package/apps/control-plane/src/application/services/cost-tracking-service.ts +82 -0
  33. package/apps/control-plane/src/application/services/dependency-scheduler-service.ts +86 -0
  34. package/apps/control-plane/src/application/services/feature-deletion-service.ts +8 -7
  35. package/apps/control-plane/src/application/services/gate-interpolation-service.ts +15 -0
  36. package/apps/control-plane/src/application/services/gate-service.ts +38 -2
  37. package/apps/control-plane/src/application/services/instance-isolation-service.ts +18 -0
  38. package/apps/control-plane/src/application/services/issue-tracker-service.ts +469 -0
  39. package/apps/control-plane/src/application/services/merge-service.ts +67 -3
  40. package/apps/control-plane/src/application/services/notifier-service.ts +295 -0
  41. package/apps/control-plane/src/application/services/performance-analytics-service.ts +122 -0
  42. package/apps/control-plane/src/application/services/plan-service.ts +51 -0
  43. package/apps/control-plane/src/application/services/pr-monitor-service.ts +262 -0
  44. package/apps/control-plane/src/application/services/reactions-service.ts +175 -0
  45. package/apps/control-plane/src/application/services/reporting-service.ts +17 -2
  46. package/apps/control-plane/src/application/services/run-lease-service.ts +16 -38
  47. package/apps/control-plane/src/application/tools/tool-metadata.ts +4 -1
  48. package/apps/control-plane/src/cli/aop.ts +1 -1
  49. package/apps/control-plane/src/cli/attach-command-handler.ts +120 -0
  50. package/apps/control-plane/src/cli/cleanup-command-handler.ts +190 -0
  51. package/apps/control-plane/src/cli/cli-argument-parser.ts +69 -3
  52. package/apps/control-plane/src/cli/dashboard-command-handler.ts +57 -0
  53. package/apps/control-plane/src/cli/help-command-handler.ts +163 -0
  54. package/apps/control-plane/src/cli/init-command-handler.ts +609 -0
  55. package/apps/control-plane/src/cli/resume-command-handler.ts +1 -0
  56. package/apps/control-plane/src/cli/retry-command-handler.ts +138 -0
  57. package/apps/control-plane/src/cli/run-command-handler.ts +115 -3
  58. package/apps/control-plane/src/cli/send-command-handler.ts +65 -0
  59. package/apps/control-plane/src/cli/status-command-handler.ts +102 -2
  60. package/apps/control-plane/src/cli/types.ts +26 -1
  61. package/apps/control-plane/src/core/constants.ts +8 -2
  62. package/apps/control-plane/src/core/error-codes.ts +3 -1
  63. package/apps/control-plane/src/core/gates.ts +170 -50
  64. package/apps/control-plane/src/core/kernel.ts +280 -5
  65. package/apps/control-plane/src/core/path-layout.ts +12 -0
  66. package/apps/control-plane/src/core/tool-caller.ts +36 -0
  67. package/apps/control-plane/src/core/workspace-hooks.ts +87 -0
  68. package/apps/control-plane/src/interfaces/cli/bootstrap.ts +258 -9
  69. package/apps/control-plane/src/providers/providers.ts +235 -14
  70. package/apps/control-plane/src/supervisor/build-wave-executor.ts +129 -8
  71. package/apps/control-plane/src/supervisor/qa-wave-executor.ts +123 -5
  72. package/apps/control-plane/src/supervisor/run-coordinator.ts +143 -6
  73. package/apps/control-plane/src/supervisor/runtime.ts +135 -6
  74. package/apps/control-plane/src/supervisor/types.ts +12 -21
  75. package/apps/control-plane/src/supervisor/worker-decision-loop.ts +8 -0
  76. package/apps/control-plane/test/activity-monitor.spec.ts +294 -0
  77. package/apps/control-plane/test/adapter-registry.spec.ts +132 -0
  78. package/apps/control-plane/test/batch-operations.spec.ts +112 -0
  79. package/apps/control-plane/test/bootstrap-attach.spec.ts +102 -0
  80. package/apps/control-plane/test/bootstrap-edge-cases.spec.ts +252 -0
  81. package/apps/control-plane/test/bootstrap.spec.ts +560 -0
  82. package/apps/control-plane/test/cleanup-command.spec.ts +301 -0
  83. package/apps/control-plane/test/cli-helpers.spec.ts +404 -1
  84. package/apps/control-plane/test/cli.unit.spec.ts +182 -1
  85. package/apps/control-plane/test/collision-queue.spec.ts +104 -1
  86. package/apps/control-plane/test/core-utils.spec.ts +175 -2
  87. package/apps/control-plane/test/cost-tracking.spec.ts +143 -0
  88. package/apps/control-plane/test/dashboard-api.integration.spec.ts +247 -0
  89. package/apps/control-plane/test/dashboard-client.spec.ts +116 -0
  90. package/apps/control-plane/test/dashboard-command.spec.ts +103 -0
  91. package/apps/control-plane/test/dependency-scheduler.spec.ts +189 -0
  92. package/apps/control-plane/test/epoch-tracking.spec.ts +4 -4
  93. package/apps/control-plane/test/feature-deletion-service.spec.ts +422 -0
  94. package/apps/control-plane/test/feature-lifecycle.spec.ts +202 -0
  95. package/apps/control-plane/test/git-spawn-error.spec.ts +24 -0
  96. package/apps/control-plane/test/incremental-gates.spec.ts +137 -0
  97. package/apps/control-plane/test/init-wizard.spec.ts +506 -0
  98. package/apps/control-plane/test/instance-isolation.spec.ts +83 -0
  99. package/apps/control-plane/test/issue-tracker.spec.ts +890 -0
  100. package/apps/control-plane/test/kernel.coverage.spec.ts +3 -5
  101. package/apps/control-plane/test/kernel.coverage2.spec.ts +871 -0
  102. package/apps/control-plane/test/kernel.spec.ts +13 -11
  103. package/apps/control-plane/test/lock-service.spec.ts +508 -0
  104. package/apps/control-plane/test/mcp-helpers.spec.ts +176 -0
  105. package/apps/control-plane/test/mcp.spec.ts +50 -15
  106. package/apps/control-plane/test/merge-service.spec.ts +67 -4
  107. package/apps/control-plane/test/multi-project.spec.ts +372 -0
  108. package/apps/control-plane/test/notifier-service.spec.ts +388 -0
  109. package/apps/control-plane/test/parallel-gates.spec.ts +312 -0
  110. package/apps/control-plane/test/patch-service.spec.ts +253 -0
  111. package/apps/control-plane/test/performance-analytics.spec.ts +338 -0
  112. package/apps/control-plane/test/planning-wave-executor.spec.ts +168 -0
  113. package/apps/control-plane/test/pr-monitor.spec.ts +385 -0
  114. package/apps/control-plane/test/providers.spec.ts +344 -1
  115. package/apps/control-plane/test/reactions.spec.ts +392 -0
  116. package/apps/control-plane/test/resume-command.spec.ts +390 -0
  117. package/apps/control-plane/test/run-coordinator.spec.ts +481 -2
  118. package/apps/control-plane/test/schema-date-time.spec.ts +46 -0
  119. package/apps/control-plane/test/service-retry-paths.spec.ts +30 -0
  120. package/apps/control-plane/test/services.spec.ts +95 -2
  121. package/apps/control-plane/test/session-management.spec.ts +450 -0
  122. package/apps/control-plane/test/spec-ingestion.spec.ts +190 -0
  123. package/apps/control-plane/test/supervisor-collaborators.spec.ts +699 -2
  124. package/apps/control-plane/test/supervisor.spec.ts +36 -30
  125. package/apps/control-plane/test/supervisor.unit.spec.ts +405 -0
  126. package/apps/control-plane/test/worker-decision-loop.spec.ts +57 -0
  127. package/apps/control-plane/test/workspace-hooks.spec.ts +177 -0
  128. package/apps/control-plane/vitest.config.ts +21 -5
  129. package/dist/apps/control-plane/application/adapters/adapter-registry.d.ts +44 -0
  130. package/dist/apps/control-plane/application/adapters/adapter-registry.js +76 -0
  131. package/dist/apps/control-plane/application/adapters/adapter-registry.js.map +1 -0
  132. package/dist/apps/control-plane/application/multi-project-loader.d.ts +31 -0
  133. package/dist/apps/control-plane/application/multi-project-loader.js +82 -0
  134. package/dist/apps/control-plane/application/multi-project-loader.js.map +1 -0
  135. package/dist/apps/control-plane/application/services/activity-monitor-service.d.ts +43 -0
  136. package/dist/apps/control-plane/application/services/activity-monitor-service.js +132 -0
  137. package/dist/apps/control-plane/application/services/activity-monitor-service.js.map +1 -0
  138. package/dist/apps/control-plane/application/services/cost-tracking-service.d.ts +28 -0
  139. package/dist/apps/control-plane/application/services/cost-tracking-service.js +48 -0
  140. package/dist/apps/control-plane/application/services/cost-tracking-service.js.map +1 -0
  141. package/dist/apps/control-plane/application/services/dependency-scheduler-service.d.ts +26 -0
  142. package/dist/apps/control-plane/application/services/dependency-scheduler-service.js +75 -0
  143. package/dist/apps/control-plane/application/services/dependency-scheduler-service.js.map +1 -0
  144. package/dist/apps/control-plane/application/services/feature-deletion-service.d.ts +2 -0
  145. package/dist/apps/control-plane/application/services/feature-deletion-service.js +6 -7
  146. package/dist/apps/control-plane/application/services/feature-deletion-service.js.map +1 -1
  147. package/dist/apps/control-plane/application/services/gate-interpolation-service.d.ts +7 -0
  148. package/dist/apps/control-plane/application/services/gate-interpolation-service.js +7 -0
  149. package/dist/apps/control-plane/application/services/gate-interpolation-service.js.map +1 -0
  150. package/dist/apps/control-plane/application/services/gate-service.js +32 -2
  151. package/dist/apps/control-plane/application/services/gate-service.js.map +1 -1
  152. package/dist/apps/control-plane/application/services/instance-isolation-service.d.ts +11 -0
  153. package/dist/apps/control-plane/application/services/instance-isolation-service.js +17 -0
  154. package/dist/apps/control-plane/application/services/instance-isolation-service.js.map +1 -0
  155. package/dist/apps/control-plane/application/services/issue-tracker-service.d.ts +65 -0
  156. package/dist/apps/control-plane/application/services/issue-tracker-service.js +358 -0
  157. package/dist/apps/control-plane/application/services/issue-tracker-service.js.map +1 -0
  158. package/dist/apps/control-plane/application/services/merge-service.d.ts +4 -0
  159. package/dist/apps/control-plane/application/services/merge-service.js +44 -2
  160. package/dist/apps/control-plane/application/services/merge-service.js.map +1 -1
  161. package/dist/apps/control-plane/application/services/notifier-service.d.ts +74 -0
  162. package/dist/apps/control-plane/application/services/notifier-service.js +212 -0
  163. package/dist/apps/control-plane/application/services/notifier-service.js.map +1 -0
  164. package/dist/apps/control-plane/application/services/performance-analytics-service.d.ts +39 -0
  165. package/dist/apps/control-plane/application/services/performance-analytics-service.js +75 -0
  166. package/dist/apps/control-plane/application/services/performance-analytics-service.js.map +1 -0
  167. package/dist/apps/control-plane/application/services/plan-service.d.ts +1 -0
  168. package/dist/apps/control-plane/application/services/plan-service.js +53 -0
  169. package/dist/apps/control-plane/application/services/plan-service.js.map +1 -1
  170. package/dist/apps/control-plane/application/services/pr-monitor-service.d.ts +44 -0
  171. package/dist/apps/control-plane/application/services/pr-monitor-service.js +192 -0
  172. package/dist/apps/control-plane/application/services/pr-monitor-service.js.map +1 -0
  173. package/dist/apps/control-plane/application/services/reactions-service.d.ts +67 -0
  174. package/dist/apps/control-plane/application/services/reactions-service.js +114 -0
  175. package/dist/apps/control-plane/application/services/reactions-service.js.map +1 -0
  176. package/dist/apps/control-plane/application/services/reporting-service.d.ts +1 -0
  177. package/dist/apps/control-plane/application/services/reporting-service.js +13 -2
  178. package/dist/apps/control-plane/application/services/reporting-service.js.map +1 -1
  179. package/dist/apps/control-plane/application/services/run-lease-service.d.ts +2 -0
  180. package/dist/apps/control-plane/application/services/run-lease-service.js +14 -38
  181. package/dist/apps/control-plane/application/services/run-lease-service.js.map +1 -1
  182. package/dist/apps/control-plane/application/tools/tool-metadata.js +3 -1
  183. package/dist/apps/control-plane/application/tools/tool-metadata.js.map +1 -1
  184. package/dist/apps/control-plane/cli/aop.d.ts +1 -1
  185. package/dist/apps/control-plane/cli/aop.js +1 -1
  186. package/dist/apps/control-plane/cli/attach-command-handler.d.ts +12 -0
  187. package/dist/apps/control-plane/cli/attach-command-handler.js +98 -0
  188. package/dist/apps/control-plane/cli/attach-command-handler.js.map +1 -0
  189. package/dist/apps/control-plane/cli/cleanup-command-handler.d.ts +12 -0
  190. package/dist/apps/control-plane/cli/cleanup-command-handler.js +162 -0
  191. package/dist/apps/control-plane/cli/cleanup-command-handler.js.map +1 -0
  192. package/dist/apps/control-plane/cli/cli-argument-parser.js +73 -3
  193. package/dist/apps/control-plane/cli/cli-argument-parser.js.map +1 -1
  194. package/dist/apps/control-plane/cli/dashboard-command-handler.d.ts +7 -0
  195. package/dist/apps/control-plane/cli/dashboard-command-handler.js +45 -0
  196. package/dist/apps/control-plane/cli/dashboard-command-handler.js.map +1 -0
  197. package/dist/apps/control-plane/cli/help-command-handler.d.ts +8 -0
  198. package/dist/apps/control-plane/cli/help-command-handler.js +146 -0
  199. package/dist/apps/control-plane/cli/help-command-handler.js.map +1 -0
  200. package/dist/apps/control-plane/cli/init-command-handler.d.ts +26 -0
  201. package/dist/apps/control-plane/cli/init-command-handler.js +517 -0
  202. package/dist/apps/control-plane/cli/init-command-handler.js.map +1 -0
  203. package/dist/apps/control-plane/cli/resume-command-handler.js +1 -1
  204. package/dist/apps/control-plane/cli/resume-command-handler.js.map +1 -1
  205. package/dist/apps/control-plane/cli/retry-command-handler.d.ts +8 -0
  206. package/dist/apps/control-plane/cli/retry-command-handler.js +111 -0
  207. package/dist/apps/control-plane/cli/retry-command-handler.js.map +1 -0
  208. package/dist/apps/control-plane/cli/run-command-handler.d.ts +5 -0
  209. package/dist/apps/control-plane/cli/run-command-handler.js +82 -3
  210. package/dist/apps/control-plane/cli/run-command-handler.js.map +1 -1
  211. package/dist/apps/control-plane/cli/send-command-handler.d.ts +8 -0
  212. package/dist/apps/control-plane/cli/send-command-handler.js +55 -0
  213. package/dist/apps/control-plane/cli/send-command-handler.js.map +1 -0
  214. package/dist/apps/control-plane/cli/status-command-handler.d.ts +12 -1
  215. package/dist/apps/control-plane/cli/status-command-handler.js +55 -2
  216. package/dist/apps/control-plane/cli/status-command-handler.js.map +1 -1
  217. package/dist/apps/control-plane/cli/types.d.ts +26 -1
  218. package/dist/apps/control-plane/cli/types.js +15 -1
  219. package/dist/apps/control-plane/cli/types.js.map +1 -1
  220. package/dist/apps/control-plane/core/constants.d.ts +6 -0
  221. package/dist/apps/control-plane/core/constants.js +8 -2
  222. package/dist/apps/control-plane/core/constants.js.map +1 -1
  223. package/dist/apps/control-plane/core/error-codes.d.ts +2 -0
  224. package/dist/apps/control-plane/core/error-codes.js +3 -1
  225. package/dist/apps/control-plane/core/error-codes.js.map +1 -1
  226. package/dist/apps/control-plane/core/gates.d.ts +4 -0
  227. package/dist/apps/control-plane/core/gates.js +140 -43
  228. package/dist/apps/control-plane/core/gates.js.map +1 -1
  229. package/dist/apps/control-plane/core/kernel.d.ts +50 -1
  230. package/dist/apps/control-plane/core/kernel.js +220 -7
  231. package/dist/apps/control-plane/core/kernel.js.map +1 -1
  232. package/dist/apps/control-plane/core/path-layout.d.ts +3 -0
  233. package/dist/apps/control-plane/core/path-layout.js +9 -0
  234. package/dist/apps/control-plane/core/path-layout.js.map +1 -1
  235. package/dist/apps/control-plane/core/tool-caller.d.ts +32 -0
  236. package/dist/apps/control-plane/core/tool-caller.js +2 -0
  237. package/dist/apps/control-plane/core/tool-caller.js.map +1 -0
  238. package/dist/apps/control-plane/core/workspace-hooks.d.ts +20 -0
  239. package/dist/apps/control-plane/core/workspace-hooks.js +69 -0
  240. package/dist/apps/control-plane/core/workspace-hooks.js.map +1 -0
  241. package/dist/apps/control-plane/interfaces/cli/bootstrap.js +245 -9
  242. package/dist/apps/control-plane/interfaces/cli/bootstrap.js.map +1 -1
  243. package/dist/apps/control-plane/providers/providers.d.ts +42 -3
  244. package/dist/apps/control-plane/providers/providers.js +216 -5
  245. package/dist/apps/control-plane/providers/providers.js.map +1 -1
  246. package/dist/apps/control-plane/supervisor/build-wave-executor.d.ts +3 -0
  247. package/dist/apps/control-plane/supervisor/build-wave-executor.js +115 -6
  248. package/dist/apps/control-plane/supervisor/build-wave-executor.js.map +1 -1
  249. package/dist/apps/control-plane/supervisor/qa-wave-executor.d.ts +3 -0
  250. package/dist/apps/control-plane/supervisor/qa-wave-executor.js +109 -5
  251. package/dist/apps/control-plane/supervisor/qa-wave-executor.js.map +1 -1
  252. package/dist/apps/control-plane/supervisor/run-coordinator.d.ts +15 -0
  253. package/dist/apps/control-plane/supervisor/run-coordinator.js +132 -6
  254. package/dist/apps/control-plane/supervisor/run-coordinator.js.map +1 -1
  255. package/dist/apps/control-plane/supervisor/runtime.d.ts +3 -0
  256. package/dist/apps/control-plane/supervisor/runtime.js +110 -6
  257. package/dist/apps/control-plane/supervisor/runtime.js.map +1 -1
  258. package/dist/apps/control-plane/supervisor/types.d.ts +9 -16
  259. package/dist/apps/control-plane/supervisor/types.js.map +1 -1
  260. package/dist/apps/control-plane/supervisor/worker-decision-loop.d.ts +3 -0
  261. package/dist/apps/control-plane/supervisor/worker-decision-loop.js +5 -0
  262. package/dist/apps/control-plane/supervisor/worker-decision-loop.js.map +1 -1
  263. package/eslint.config.mjs +2 -1
  264. package/package.json +12 -2
  265. package/packages/web-dashboard/next-env.d.ts +5 -0
  266. package/packages/web-dashboard/next.config.js +7 -0
  267. package/packages/web-dashboard/package.json +26 -0
  268. package/packages/web-dashboard/src/app/api/actions/route.ts +64 -0
  269. package/packages/web-dashboard/src/app/api/events/route.ts +51 -0
  270. package/packages/web-dashboard/src/app/api/features/[id]/checkout/route.ts +256 -0
  271. package/packages/web-dashboard/src/app/api/features/[id]/diff/route.ts +10 -0
  272. package/packages/web-dashboard/src/app/api/features/[id]/evidence/[artifact]/route.ts +25 -0
  273. package/packages/web-dashboard/src/app/api/features/[id]/review/route.ts +63 -0
  274. package/packages/web-dashboard/src/app/api/features/[id]/route.ts +16 -0
  275. package/packages/web-dashboard/src/app/api/projects/route.ts +31 -0
  276. package/packages/web-dashboard/src/app/api/status/route.ts +15 -0
  277. package/packages/web-dashboard/src/app/globals.css +2 -0
  278. package/packages/web-dashboard/src/app/layout.tsx +15 -0
  279. package/packages/web-dashboard/src/app/page.tsx +393 -0
  280. package/packages/web-dashboard/src/lib/aop-client.ts +244 -0
  281. package/packages/web-dashboard/src/lib/multi-project-config.ts +116 -0
  282. package/packages/web-dashboard/src/lib/orchestrator-tools.ts +284 -0
  283. package/packages/web-dashboard/src/lib/types.ts +58 -0
  284. package/packages/web-dashboard/tsconfig.json +40 -0
  285. package/packages/web-dashboard/vitest.config.ts +6 -0
  286. package/spec-files/completed/agentic_orchestrator_feature_gaps_closure_spec.md +1764 -0
  287. package/spec-files/outstanding/agentic_orchestrator_enterprise_governance_dashboard_spec.md +348 -0
  288. package/spec-files/outstanding/agentic_orchestrator_knowledge_canary_spec.md +344 -0
  289. package/spec-files/outstanding/agentic_orchestrator_observability_integrity_diagnostics_spec.md +374 -0
  290. package/spec-files/outstanding/agentic_orchestrator_performance_improvements_spec.md +1059 -0
  291. package/spec-files/outstanding/agentic_orchestrator_planning_review_quality_spec.md +466 -0
  292. package/spec-files/outstanding/agentic_orchestrator_quality_adoption_execution_spec.md +198 -0
  293. package/spec-files/outstanding/agentic_orchestrator_validator_hardening_spec.md +365 -0
  294. package/spec-files/progress.md +481 -52
  295. /package/spec-files/{agentic_orchestrator_cli_delete_command_spec.md → completed/agentic_orchestrator_cli_delete_command_spec.md} +0 -0
  296. /package/spec-files/{agentic_orchestrator_dot_aop_generated_artifacts_spec.md → completed/agentic_orchestrator_dot_aop_generated_artifacts_spec.md} +0 -0
  297. /package/spec-files/{agentic_orchestrator_mcp_formalization_spec.md → completed/agentic_orchestrator_mcp_formalization_spec.md} +0 -0
  298. /package/spec-files/{agentic_orchestrator_oop_refactor_spec.md → completed/agentic_orchestrator_oop_refactor_spec.md} +0 -0
  299. /package/spec-files/{agentic_orchestrator_single_global_orchestrator_spec.md → completed/agentic_orchestrator_single_global_orchestrator_spec.md} +0 -0
  300. /package/spec-files/{agentic_orchestrator_spec.md → completed/agentic_orchestrator_spec.md} +0 -0
@@ -0,0 +1,348 @@
1
+ # Feature Spec: Enterprise Governance and Secure Dashboard Operations (AOP)
2
+
3
+ > **Purpose of this document**: Define implementation-ready delivery for Q5 and Q6: compliance policy packs + control export, and production-grade dashboard authentication/authorization with audit federation.
4
+
5
+ **Version:** 1.0
6
+ **Date:** 2026-03-03
7
+ **Status:** Draft
8
+ **Roadmap Mapping:** M37
9
+
10
+ ---
11
+
12
+ ## 0. Scope and Standards
13
+
14
+ ### 0.1 Feature Scope
15
+
16
+ This spec implements:
17
+ - **Q5** Compliance Policy Packs + Control Export
18
+ - **Q6** Dashboard AuthN/AuthZ + SSO + Audit Federation
19
+
20
+ ### 0.2 Required Standards
21
+
22
+ Implementation MUST preserve:
23
+ - deterministic evidence mapping
24
+ - explicit authorization for all mutating dashboard actions
25
+ - audit-log completeness for privileged operations
26
+ - optional/off-by-default behavior for local developer environments
27
+
28
+ ---
29
+
30
+ ## 1. Objectives
31
+
32
+ ### 1.1 Must-Have Outcomes
33
+
34
+ - operators can apply standardized compliance packs and export machine-readable control evidence mappings
35
+ - dashboard can run safely in multi-user environments with OIDC/API key auth and RBAC
36
+ - privileged dashboard actions emit structured audit records suitable for SIEM ingestion
37
+
38
+ ### 1.2 Non-Goals
39
+
40
+ - no claim of automatic certification/compliance attestation
41
+ - no external IAM provisioning automation in this phase
42
+ - no hard requirement for auth in local dev mode
43
+
44
+ ---
45
+
46
+ ## 2. Architecture Decisions
47
+
48
+ ### 2.1 Compliance as Policy Overlay
49
+
50
+ Compliance packs are deterministic overlays evaluated against existing policy, runtime state, and evidence artifacts. They do not replace base policy configuration.
51
+
52
+ ### 2.2 Dashboard Security Boundary
53
+
54
+ Dashboard API authorization is enforced server-side for every action endpoint; UI affordances alone are insufficient and non-authoritative.
55
+
56
+ ### 2.3 Unified Audit Envelope
57
+
58
+ Audit events from dashboard actions and compliance exports share a common schema for downstream ingestion.
59
+
60
+ ---
61
+
62
+ ## 3. Contracts and Config
63
+
64
+ ### 3.1 Policy Additions
65
+
66
+ ```yaml
67
+ innovation:
68
+ compliance_packs: false
69
+ dashboard_auth: false
70
+
71
+ compliance:
72
+ enabled: false
73
+ default_pack: soc2_baseline
74
+ export:
75
+ include_manual_controls: true
76
+
77
+ dashboard:
78
+ auth:
79
+ enabled: false
80
+ mode: oidc_or_api_key # oidc | api_key | oidc_or_api_key
81
+ oidc:
82
+ issuer: ""
83
+ client_id: ""
84
+ audience: ""
85
+ api_keys:
86
+ env_var: AOP_DASHBOARD_API_KEYS
87
+ rbac:
88
+ viewer: [status_read, feature_read, evidence_read]
89
+ reviewer: [status_read, feature_read, evidence_read, review_decide]
90
+ operator: [status_read, feature_read, evidence_read, review_decide, feature_checkout]
91
+ admin: ["*"]
92
+ audit:
93
+ enabled: true
94
+ sink: file # file | webhook
95
+ webhook_url: ""
96
+ ```
97
+
98
+ ### 3.2 Source-Managed Compliance Assets
99
+
100
+ ```text
101
+ agentic/orchestrator/compliance/packs/
102
+ soc2_baseline.yaml
103
+ iso27001_baseline.yaml
104
+ hipaa_baseline.yaml
105
+ agentic/orchestrator/schemas/compliance_pack.schema.json
106
+ ```
107
+
108
+ ### 3.3 Runtime Artifacts
109
+
110
+ ```text
111
+ .aop/runtime/compliance/control_export_<timestamp>.json
112
+ .aop/runtime/audit/dashboard-audit.jsonl
113
+ ```
114
+
115
+ ### 3.4 New MCP Tool
116
+
117
+ - `compliance.export_controls`
118
+
119
+ ### 3.5 New CLI Command
120
+
121
+ - `aop compliance export --format <json|csv> [--pack <id>] [--include-manual true|false]`
122
+
123
+ ---
124
+
125
+ ## 4. Detailed Feature Specs
126
+
127
+ ## 4.1 Q5: Compliance Policy Packs + Control Export
128
+
129
+ ### 4.1.1 Problem
130
+ Enterprise adoption requires consistent control mapping from orchestrator behavior/evidence to recognized control frameworks.
131
+
132
+ ### 4.1.2 Design
133
+ Provide curated compliance packs plus deterministic export routine.
134
+
135
+ ### 4.1.3 Pack Structure
136
+
137
+ ```yaml
138
+ id: soc2_baseline
139
+ version: "1.0"
140
+ controls:
141
+ - id: CC7.2
142
+ title: Monitor system components for anomalies
143
+ requirements:
144
+ - path: policy.testing.coverage.minimums.line
145
+ op: gte
146
+ value: 0.9
147
+ - path: policy.merge_policy.require_user_approval
148
+ op: eq
149
+ value: true
150
+ evidence_sources:
151
+ - gate_results
152
+ - operation_ledger
153
+ manual_evidence_required: false
154
+ ```
155
+
156
+ ### 4.1.4 Export Output Contract
157
+
158
+ ```json
159
+ {
160
+ "pack_id": "soc2_baseline",
161
+ "generated_at": "2026-03-03T12:00:00Z",
162
+ "controls": [
163
+ {
164
+ "id": "CC7.2",
165
+ "status": "pass",
166
+ "automated_checks": [
167
+ {
168
+ "path": "policy.testing.coverage.minimums.line",
169
+ "result": "pass",
170
+ "observed": 0.9
171
+ }
172
+ ],
173
+ "evidence_refs": [
174
+ ".aop/features/feature_x/evidence/gates/full-2026-03-03.json"
175
+ ],
176
+ "manual_evidence_required": false
177
+ }
178
+ ]
179
+ }
180
+ ```
181
+
182
+ ### 4.1.5 File Targets
183
+
184
+ - `apps/control-plane/src/application/services/compliance-service.ts` (new)
185
+ - `apps/control-plane/src/cli/compliance-export-command-handler.ts` (new)
186
+ - `agentic/orchestrator/compliance/packs/*.yaml` (new)
187
+ - `agentic/orchestrator/schemas/compliance_pack.schema.json` (new)
188
+ - `agentic/orchestrator/tools/schemas/input/compliance.export_controls.input.schema.json` (new)
189
+ - `agentic/orchestrator/tools/schemas/output/compliance.export_controls.output.schema.json` (new)
190
+
191
+ ### 4.1.6 Acceptance Criteria
192
+
193
+ - compliance packs schema-validate
194
+ - export output is deterministic for same repo state
195
+ - controls include explicit pass/fail and evidence references
196
+
197
+ ---
198
+
199
+ ## 4.2 Q6: Dashboard AuthN/AuthZ + SSO + Audit Federation
200
+
201
+ ### 4.2.1 Problem
202
+ Dashboard operation in shared/production contexts needs strong identity + authorization + audit controls.
203
+
204
+ ### 4.2.2 Design
205
+ Add optional auth middleware, server-side action authorization, and audit sink integration.
206
+
207
+ ### 4.2.3 Auth Modes
208
+
209
+ - `oidc`: bearer token validation against OIDC issuer metadata
210
+ - `api_key`: static/scoped keys from environment
211
+ - `oidc_or_api_key`: allow either for migration convenience
212
+
213
+ ### 4.2.4 Action Authorization Matrix
214
+
215
+ Actions to guard:
216
+ - `feature_review_decide` (approve/deny/request_changes)
217
+ - `feature_checkout`
218
+ - `dashboard_admin_settings`
219
+
220
+ Each action must map to role permission in policy.
221
+
222
+ ### 4.2.5 Audit Event Contract
223
+
224
+ ```json
225
+ {
226
+ "ts": "2026-03-03T12:10:00Z",
227
+ "actor": {
228
+ "id": "alice@example.com",
229
+ "auth_type": "oidc",
230
+ "role": "reviewer"
231
+ },
232
+ "action": "feature_review_decide",
233
+ "feature_id": "payment_retry_guard",
234
+ "result": "allow",
235
+ "request_id": "req-123",
236
+ "metadata": {
237
+ "decision": "approve"
238
+ }
239
+ }
240
+ ```
241
+
242
+ ### 4.2.6 File Targets
243
+
244
+ - `packages/web-dashboard/src/middleware.ts` (new)
245
+ - `packages/web-dashboard/src/lib/authz.ts` (new)
246
+ - `packages/web-dashboard/src/app/api/auth/*` (new)
247
+ - `packages/web-dashboard/src/app/api/features/[id]/review/route.ts`
248
+ - `packages/web-dashboard/src/app/api/features/[id]/checkout/route.ts`
249
+ - `apps/control-plane/src/application/services/dashboard-audit-service.ts` (new)
250
+
251
+ ### 4.2.7 Acceptance Criteria
252
+
253
+ - unauthorized users cannot invoke protected dashboard actions
254
+ - audit events emitted for all protected action attempts (allow + deny)
255
+ - local mode works with auth disabled by default
256
+
257
+ ---
258
+
259
+ ## 5. Milestones
260
+
261
+ ### EGD1: Compliance Pack Foundation
262
+
263
+ Tasks:
264
+ 1. Add compliance pack assets + schemas.
265
+ 2. Implement export service + MCP tool + CLI command.
266
+
267
+ Exit gate:
268
+ - deterministic export and evidence mapping verified by tests.
269
+
270
+ ### EGD2: Dashboard Auth and RBAC
271
+
272
+ Tasks:
273
+ 1. Add auth middleware and token/api key validation.
274
+ 2. Implement server-side role authorization for protected endpoints.
275
+
276
+ Exit gate:
277
+ - protected actions denied when unauthorized in integration tests.
278
+
279
+ ### EGD3: Audit Federation
280
+
281
+ Tasks:
282
+ 1. Add unified audit envelope and file sink.
283
+ 2. Add optional webhook sink with retry/backoff.
284
+
285
+ Exit gate:
286
+ - allow/deny events emitted and schema-valid in both sinks.
287
+
288
+ ---
289
+
290
+ ## 6. Testing Strategy (Normative)
291
+
292
+ ### 6.1 Unit Tests
293
+
294
+ - compliance rule evaluation operators (`eq`, `gte`, etc.)
295
+ - pack schema validation and export assembly
296
+ - auth token/api key parsing and role mapping
297
+ - audit event envelope validation
298
+
299
+ ### 6.2 Integration Tests
300
+
301
+ - `aop compliance export` on sample repository state
302
+ - dashboard protected endpoint authorization matrix
303
+ - audit logs emitted for protected action attempts
304
+
305
+ ### 6.3 Security Tests
306
+
307
+ - invalid/expired oidc tokens rejected
308
+ - malformed or unknown API keys rejected
309
+ - privilege escalation attempt denied (`viewer` invoking `review_decide`)
310
+
311
+ ### 6.4 Contract and Parity Tests
312
+
313
+ - `compliance.export_controls` schema and transport parity (in-process vs MCP)
314
+
315
+ ---
316
+
317
+ ## 7. Acceptance Criteria
318
+
319
+ 1. Compliance packs and export path are fully operational and deterministic.
320
+ 2. Dashboard auth/authz can be enabled for production multi-user use.
321
+ 3. Audit federation records all protected dashboard action attempts.
322
+ 4. Feature flags/defaults preserve existing local development behavior.
323
+ 5. Full validation gates pass (`lint`, `typecheck`, `test`, contract/architecture validation).
324
+
325
+ ---
326
+
327
+ ## 8. Risks and Mitigations
328
+
329
+ - Risk: users assume compliance export equals certification.
330
+ - Mitigation: mandatory disclaimer and `manual_evidence_required` field.
331
+
332
+ - Risk: auth misconfiguration locks out operators.
333
+ - Mitigation: startup preflight checks and explicit break-glass local mode.
334
+
335
+ - Risk: webhook audit sink failures lose records.
336
+ - Mitigation: durable local fallback log + retry policy.
337
+
338
+ ---
339
+
340
+ ## 9. Definition of Done
341
+
342
+ A completed EGD milestone MUST include:
343
+ - changed files and architecture rationale
344
+ - schema/catalog/policy diffs
345
+ - security + integration test coverage
346
+ - gate command results
347
+ - updates in `spec-files/progress.md`
348
+
@@ -0,0 +1,344 @@
1
+ # Feature Spec: Cross-Feature Knowledge Graph and Progressive Merge Canary (AOP)
2
+
3
+ > **Purpose of this document**: Define implementation-ready delivery for Q10 and Q12: reusable cross-feature knowledge retrieval and deterministic post-merge canary verification guardrails.
4
+
5
+ **Version:** 1.0
6
+ **Date:** 2026-03-03
7
+ **Status:** Draft
8
+ **Roadmap Mapping:** M38
9
+
10
+ ---
11
+
12
+ ## 0. Scope and Constraints
13
+
14
+ ### 0.1 Feature Scope
15
+
16
+ This spec implements:
17
+ - **Q10** Cross-Feature Knowledge Graph
18
+ - **Q12** Progressive Merge Guardrails (Canary Verification)
19
+
20
+ ### 0.2 Constraints
21
+
22
+ - knowledge retrieval MUST be deterministic and auditable
23
+ - canary verification MUST never bypass explicit merge approval requirements
24
+ - canary failure MUST not auto-revert by default
25
+
26
+ ---
27
+
28
+ ## 1. Objectives
29
+
30
+ ### 1.1 Must-Have Outcomes
31
+
32
+ - planner/orchestrator can retrieve prior feature patterns (collisions, mitigations, gate failures) to improve planning quality
33
+ - merge promotion can optionally run post-merge canary checks before final merged-state confirmation
34
+ - both features remain opt-in and backward compatible
35
+
36
+ ### 1.2 Non-Goals
37
+
38
+ - no vector DB dependency in this phase
39
+ - no AI ranking/reranking in first iteration
40
+ - no automatic rollback orchestration
41
+
42
+ ---
43
+
44
+ ## 2. Architecture Decisions
45
+
46
+ ### 2.1 Graph as Derived Runtime Artifact
47
+
48
+ Knowledge graph is deterministic derived state from canonical runtime artifacts (`state.md`, `plan.json`, decisions, gate evidence, collisions, locks). It is not manually edited.
49
+
50
+ ### 2.2 Controlled Retrieval API
51
+
52
+ Knowledge access is through explicit tool/query APIs with bounded filters and deterministic ranking rules.
53
+
54
+ ### 2.3 Canary as Merge Sub-Stage
55
+
56
+ Canary verification is implemented as an optional sub-stage in `feature.ready_to_merge` flow. Standard preconditions still execute first.
57
+
58
+ ---
59
+
60
+ ## 3. Contracts and Artifacts
61
+
62
+ ### 3.1 Knowledge Graph Artifact
63
+
64
+ ```text
65
+ .aop/knowledge/graph.json
66
+ ```
67
+
68
+ Node contract:
69
+
70
+ ```json
71
+ {
72
+ "id": "node:feature:payment_retry_guard",
73
+ "type": "feature",
74
+ "labels": ["payments", "retry"],
75
+ "attrs": {
76
+ "status": "merged",
77
+ "created_at": "2026-03-01T11:00:00Z"
78
+ }
79
+ }
80
+ ```
81
+
82
+ Edge contract:
83
+
84
+ ```json
85
+ {
86
+ "id": "edge:blocked_by:feature_a:feature_b",
87
+ "type": "blocked_by",
88
+ "from": "node:feature:feature_a",
89
+ "to": "node:feature:feature_b",
90
+ "attrs": {
91
+ "reason": "openapi_operation_conflict"
92
+ }
93
+ }
94
+ ```
95
+
96
+ ### 3.2 Canary State Additions (Optional)
97
+
98
+ `state.md` frontmatter optional fields:
99
+ - `canary.status`: `na|pending|pass|fail`
100
+ - `canary.last_run_at`: RFC3339
101
+ - `canary.evidence_refs`: string[]
102
+
103
+ ### 3.3 New MCP Tools
104
+
105
+ - `knowledge.search`
106
+ - `merge.canary_verify`
107
+
108
+ ---
109
+
110
+ ## 4. Detailed Feature Specs
111
+
112
+ ## 4.1 Q10: Cross-Feature Knowledge Graph
113
+
114
+ ### 4.1.1 Problem
115
+ Historical delivery knowledge exists but is difficult to query/reuse during planning.
116
+
117
+ ### 4.1.2 Design
118
+ Build and maintain graph from canonical artifacts and expose deterministic search API.
119
+
120
+ ### 4.1.3 Node Types
121
+
122
+ - `feature`
123
+ - `file`
124
+ - `lock_resource`
125
+ - `collision`
126
+ - `gate_failure`
127
+ - `mitigation_pattern`
128
+
129
+ ### 4.1.4 Edge Types
130
+
131
+ - `touches`
132
+ - `blocked_by`
133
+ - `fixed_by`
134
+ - `depends_on`
135
+ - `reuses_pattern`
136
+
137
+ ### 4.1.5 Ranking Rules (Deterministic)
138
+
139
+ Ranking by tuple order:
140
+ 1. exact feature/status/type match
141
+ 2. recency descending
142
+ 3. frequency of relevant edge types
143
+ 4. lexicographic node id
144
+
145
+ ### 4.1.6 Query Contract
146
+
147
+ Input (`knowledge.search`):
148
+
149
+ ```json
150
+ {
151
+ "query": "db migration retry lock",
152
+ "feature_id": "payment_retry_guard",
153
+ "limit": 20,
154
+ "filters": {
155
+ "node_types": ["mitigation_pattern", "gate_failure"]
156
+ }
157
+ }
158
+ ```
159
+
160
+ Output:
161
+
162
+ ```json
163
+ {
164
+ "results": [
165
+ {
166
+ "node_id": "node:mitigation:retry_lock_backoff",
167
+ "score": 0.89,
168
+ "evidence_refs": [
169
+ ".aop/features/legacy_feature/evidence/gates/full-2026-02-20.json"
170
+ ]
171
+ }
172
+ ]
173
+ }
174
+ ```
175
+
176
+ ### 4.1.7 File Targets
177
+
178
+ - `apps/control-plane/src/application/services/knowledge-graph-service.ts` (new)
179
+ - `apps/control-plane/src/application/services/plan-service.ts`
180
+ - `apps/control-plane/src/application/services/feature-state-service.ts`
181
+ - `agentic/orchestrator/tools/schemas/input/knowledge.search.input.schema.json` (new)
182
+ - `agentic/orchestrator/tools/schemas/output/knowledge.search.output.schema.json` (new)
183
+
184
+ ### 4.1.8 Acceptance Criteria
185
+
186
+ - graph generated/updated deterministically from canonical sources
187
+ - search returns stable ordering for same query and graph state
188
+ - planner can consume top results as optional context bundle extension
189
+
190
+ ---
191
+
192
+ ## 4.2 Q12: Progressive Merge Guardrails (Canary Verification)
193
+
194
+ ### 4.2.1 Problem
195
+ Pre-merge checks can miss issues that only surface on merged head.
196
+
197
+ ### 4.2.2 Design
198
+ Optional post-merge canary gate profile runs before final merged-state confirmation.
199
+
200
+ ### 4.2.3 Canary Flow
201
+
202
+ 1. `feature.ready_to_merge` validates existing preconditions (approval, required gates, status).
203
+ 2. perform merge operation in deterministic path.
204
+ 3. if `innovation.canary_merge_verification=true`, run canary profile.
205
+ 4. if canary passes:
206
+ - set `canary.status=pass`
207
+ - finalize `merged`
208
+ 5. if canary fails:
209
+ - set `canary.status=fail`
210
+ - set feature `status=blocked`
211
+ - emit rollback guidance artifact with deterministic remediation steps.
212
+
213
+ ### 4.2.4 Policy Additions
214
+
215
+ ```yaml
216
+ innovation:
217
+ canary_merge_verification: false
218
+
219
+ merge_policy:
220
+ canary:
221
+ profile: canary
222
+ mode: post_merge
223
+ fail_behavior: block_with_guidance
224
+ ```
225
+
226
+ ### 4.2.5 Rollback Guidance Artifact
227
+
228
+ ```text
229
+ .aop/features/<feature_id>/evidence/canary_rollback_guidance_<timestamp>.md
230
+ ```
231
+
232
+ Includes:
233
+ - failing canary steps
234
+ - relevant logs/evidence refs
235
+ - deterministic git commands to revert/fix-forward (suggested, not auto-executed)
236
+
237
+ ### 4.2.6 File Targets
238
+
239
+ - `apps/control-plane/src/application/services/canary-verification-service.ts` (new)
240
+ - `apps/control-plane/src/application/services/merge-service.ts`
241
+ - `apps/control-plane/src/application/services/gate-service.ts`
242
+ - `agentic/orchestrator/schemas/policy.schema.json`
243
+ - `agentic/orchestrator/schemas/state.schema.json`
244
+ - `agentic/orchestrator/tools/schemas/input/merge.canary_verify.input.schema.json` (new)
245
+ - `agentic/orchestrator/tools/schemas/output/merge.canary_verify.output.schema.json` (new)
246
+
247
+ ### 4.2.7 Acceptance Criteria
248
+
249
+ - canary path opt-in and disabled by default
250
+ - canary pass/fail state persisted deterministically
251
+ - fail path blocks final merged confirmation and emits guidance artifact
252
+
253
+ ---
254
+
255
+ ## 5. Milestones
256
+
257
+ ### KC1: Knowledge Graph Foundation
258
+
259
+ Tasks:
260
+ 1. implement graph model/service and build/update pipeline.
261
+ 2. add search tool contracts and query API.
262
+
263
+ Exit gate:
264
+ - graph file and search output deterministic under repeated runs.
265
+
266
+ ### KC2: Planner Context Integration
267
+
268
+ Tasks:
269
+ 1. wire optional knowledge retrieval into planner context bundle.
270
+ 2. add policy toggle for knowledge enrichment usage.
271
+
272
+ Exit gate:
273
+ - planner receives contextual patterns without changing core deterministic flow.
274
+
275
+ ### KC3: Canary Merge Verification
276
+
277
+ Tasks:
278
+ 1. implement canary verification service.
279
+ 2. integrate into merge-service finalization path.
280
+ 3. emit rollback guidance on fail.
281
+
282
+ Exit gate:
283
+ - merge path with canary enabled handles pass/fail transitions correctly.
284
+
285
+ ---
286
+
287
+ ## 6. Testing Strategy (Normative)
288
+
289
+ ### 6.1 Unit Tests
290
+
291
+ - graph node/edge dedup and deterministic sort order
292
+ - knowledge ranking stability for fixed input
293
+ - canary pass/fail transition logic
294
+ - rollback guidance content completeness
295
+
296
+ ### 6.2 Integration Tests
297
+
298
+ - graph updates after feature lifecycle events
299
+ - `knowledge.search` returns expected patterns for seeded artifacts
300
+ - `feature.ready_to_merge` with canary enabled:
301
+ - success path to `merged`
302
+ - failure path to `blocked` + guidance artifact
303
+
304
+ ### 6.3 Transport Parity
305
+
306
+ - `knowledge.search` parity (in-process vs MCP)
307
+ - `merge.canary_verify` parity (in-process vs MCP)
308
+
309
+ ---
310
+
311
+ ## 7. Acceptance Criteria
312
+
313
+ 1. Knowledge graph built and queryable with deterministic ranking.
314
+ 2. Planner can consume knowledge results in controlled opt-in mode.
315
+ 3. Canary verification can protect merge finalization without breaking existing default behavior.
316
+ 4. New tools, schemas, and policies validate and pass all quality gates.
317
+
318
+ ---
319
+
320
+ ## 8. Risks and Mitigations
321
+
322
+ - Risk: graph growth impacts performance.
323
+ - Mitigation: bounded compaction and deterministic archival windows.
324
+
325
+ - Risk: noisy knowledge retrieval overwhelms planner context.
326
+ - Mitigation: strict limit/filter controls and deterministic top-K selection.
327
+
328
+ - Risk: canary stage increases merge latency.
329
+ - Mitigation: lightweight canary profile and policy tuning.
330
+
331
+ - Risk: teams misinterpret blocked-after-canary as merge corruption.
332
+ - Mitigation: explicit status reason and rollback/fix-forward guidance artifact.
333
+
334
+ ---
335
+
336
+ ## 9. Definition of Done
337
+
338
+ A completed KC milestone MUST include:
339
+ - changed files and rationale
340
+ - policy/schema/tool catalog diffs
341
+ - integration + parity tests
342
+ - command verification summary
343
+ - `spec-files/progress.md` update with residual tasks (if any)
344
+