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,374 @@
1
+ # Feature Spec: Observability, Evidence Integrity, and Operational Diagnostics (AOP)
2
+
3
+ > **Purpose of this document**: Define implementation-ready delivery for Q3, Q4, and Q11 from the Quality + Adoption execution roadmap: deterministic replay, tamper-evident evidence, and `aop doctor` readiness/drift diagnostics.
4
+
5
+ **Version:** 1.0
6
+ **Date:** 2026-03-03
7
+ **Status:** Draft
8
+ **Roadmap Mapping:** M33
9
+
10
+ ---
11
+
12
+ ## 0. Standards and Dependencies
13
+
14
+ ### 0.1 Required Standards
15
+
16
+ All implementation MUST preserve:
17
+ - deterministic tool contracts and normalized error envelope
18
+ - MCP/in-process parity for new tool paths
19
+ - Nx + Vitest + architecture boundary validation
20
+ - runtime artifact ownership under `.aop/**`
21
+
22
+ ### 0.2 Upstream Inputs
23
+
24
+ Implementing agents MUST read:
25
+ - `spec-files/agentic_orchestrator_spec.md`
26
+ - `spec-files/agentic_orchestrator_mcp_formalization_spec.md`
27
+ - `spec-files/progress.md`
28
+
29
+ ### 0.3 Feature Scope
30
+
31
+ This spec implements:
32
+ - **Q3** Deterministic Replay + Time-Travel Debugger
33
+ - **Q4** Tamper-Evident Evidence Chain
34
+ - **Q11** `aop doctor` Readiness + Drift Scanner
35
+
36
+ ---
37
+
38
+ ## 1. Objectives
39
+
40
+ ### 1.1 Must-Have Outcomes
41
+
42
+ - Operators can reconstruct run behavior step-by-step with deterministic timeline artifacts.
43
+ - Evidence artifacts become cryptographically tamper-evident.
44
+ - Repos can be proactively checked for readiness and drift via `aop doctor`.
45
+ - New capabilities are additive and feature-flagged where needed.
46
+
47
+ ### 1.2 Non-Goals
48
+
49
+ - No AI-generated RCA narratives in this phase (timeline + facts only).
50
+ - No cryptographic key management/KMS integration in this phase (local signing primitives only).
51
+ - No daemonized background doctor process; command is on-demand.
52
+
53
+ ---
54
+
55
+ ## 2. Architecture Decisions
56
+
57
+ ### 2.1 Single Timeline Writer Contract
58
+
59
+ Timeline entries MUST be written by a dedicated service with append-only semantics and monotonic order. Call sites in tool runtime may emit events, but file persistence must go through one writer abstraction.
60
+
61
+ ### 2.2 Evidence Chain Anchoring
62
+
63
+ Every new gate/evidence artifact MUST be chained against the immediately prior chain hash for that feature to produce a deterministic tamper-evidence chain.
64
+
65
+ ### 2.3 Doctor as Deterministic Scanner
66
+
67
+ `aop doctor` MUST run pure deterministic checks over local state/config/runtime assumptions and emit structured findings with severities and remediations.
68
+
69
+ ---
70
+
71
+ ## 3. Canonical Artifact Contracts
72
+
73
+ ### 3.1 Replay Timeline
74
+
75
+ ```text
76
+ .aop/runtime/replay/<run_id>.timeline.jsonl
77
+ ```
78
+
79
+ Entry contract:
80
+
81
+ ```json
82
+ {
83
+ "ts": "2026-03-03T00:00:00Z",
84
+ "sequence": 42,
85
+ "run_id": "run-123",
86
+ "feature_id": "my_feature",
87
+ "phase": "building",
88
+ "tool": "repo.apply_patch",
89
+ "operation_id": "op-abc",
90
+ "input_hash": "sha256:...",
91
+ "result": "ok",
92
+ "error_code": null,
93
+ "latency_ms": 317
94
+ }
95
+ ```
96
+
97
+ Rules:
98
+ - `sequence` MUST be strictly increasing within a run.
99
+ - `input_hash` MUST be deterministic canonical JSON hash.
100
+ - timeline file MUST remain append-only.
101
+
102
+ ### 3.2 Evidence Chain
103
+
104
+ ```text
105
+ .aop/features/<feature_id>/evidence/chain.json
106
+ .aop/features/<feature_id>/evidence/manifest.json
107
+ ```
108
+
109
+ Chain entry contract:
110
+
111
+ ```json
112
+ {
113
+ "artifact_path": "logs/gates/full/2026-03-03T10-15-00Z.log",
114
+ "artifact_hash": "sha256:...",
115
+ "prev_chain_hash": "sha256:...",
116
+ "chain_hash": "sha256:...",
117
+ "created_at": "2026-03-03T10:15:01Z"
118
+ }
119
+ ```
120
+
121
+ Rules:
122
+ - chain hash MUST include `artifact_hash + prev_chain_hash + artifact_path + created_at`.
123
+ - verification MUST fail closed if artifact missing, hash mismatch, or chain discontinuity.
124
+
125
+ ### 3.3 Doctor Report
126
+
127
+ ```text
128
+ .aop/runtime/doctor/last_report.json
129
+ ```
130
+
131
+ Contract:
132
+
133
+ ```json
134
+ {
135
+ "ok": true,
136
+ "generated_at": "2026-03-03T10:30:00Z",
137
+ "summary": {
138
+ "critical": 0,
139
+ "warning": 2,
140
+ "info": 5
141
+ },
142
+ "findings": [
143
+ {
144
+ "id": "policy_gate_mismatch",
145
+ "severity": "warning",
146
+ "message": "...",
147
+ "remediation": "...",
148
+ "refs": ["agentic/orchestrator/policy.yaml"]
149
+ }
150
+ ]
151
+ }
152
+ ```
153
+
154
+ ---
155
+
156
+ ## 4. Tool and CLI Surface
157
+
158
+ ### 4.1 New MCP Tools
159
+
160
+ 1. `replay.timeline_get`
161
+ - Purpose: return timeline entries for a run with optional step/window filters.
162
+ - Mutating: no.
163
+
164
+ 2. `evidence.verify_chain`
165
+ - Purpose: verify evidence chain integrity for a feature.
166
+ - Mutating: no.
167
+
168
+ 3. `doctor.run`
169
+ - Purpose: execute all readiness/drift checks and persist report artifact.
170
+ - Mutating: yes (writes report).
171
+
172
+ ### 4.2 New CLI Commands
173
+
174
+ - `aop replay --run-id <id> [--step N] [--window <count>]`
175
+ - `aop evidence verify --feature-id <id>`
176
+ - `aop doctor [--strict] [--json]`
177
+
178
+ `--strict` contract:
179
+ - exit non-zero if any `critical` finding exists.
180
+
181
+ ---
182
+
183
+ ## 5. Detailed Feature Implementation
184
+
185
+ ## 5.1 Q3: Deterministic Replay + Time-Travel Debugger
186
+
187
+ ### 5.1.1 Implementation Targets
188
+
189
+ - `apps/control-plane/src/application/services/replay-timeline-service.ts` (new)
190
+ - `apps/control-plane/src/mcp/tool-runtime.ts` (timeline emit hooks)
191
+ - `apps/control-plane/src/cli/replay-command-handler.ts` (new)
192
+ - `apps/control-plane/src/cli/cli-argument-parser.ts`
193
+ - `agentic/orchestrator/tools/schemas/input/replay.timeline_get.input.schema.json` (new)
194
+ - `agentic/orchestrator/tools/schemas/output/replay.timeline_get.output.schema.json` (new)
195
+
196
+ ### 5.1.2 Algorithm
197
+
198
+ 1. Tool runtime creates normalized call event envelope.
199
+ 2. Replay service computes canonical `input_hash`.
200
+ 3. Replay service obtains next `sequence` atomically.
201
+ 4. Entry appended to JSONL.
202
+ 5. `replay.timeline_get` reads, filters, and returns ordered entries.
203
+
204
+ ### 5.1.3 Error Codes
205
+
206
+ - `run_not_found`
207
+ - `replay_entry_invalid`
208
+ - `timeline_corrupt`
209
+
210
+ ---
211
+
212
+ ## 5.2 Q4: Tamper-Evident Evidence Chain
213
+
214
+ ### 5.2.1 Implementation Targets
215
+
216
+ - `apps/control-plane/src/application/services/evidence-chain-service.ts` (new)
217
+ - `apps/control-plane/src/application/services/gate-service.ts`
218
+ - `apps/control-plane/src/cli/evidence-verify-command-handler.ts` (new)
219
+ - `agentic/orchestrator/tools/schemas/input/evidence.verify_chain.input.schema.json` (new)
220
+ - `agentic/orchestrator/tools/schemas/output/evidence.verify_chain.output.schema.json` (new)
221
+
222
+ ### 5.2.2 Write Path Integration
223
+
224
+ On every evidence artifact write:
225
+ 1. calculate artifact hash
226
+ 2. load previous chain head
227
+ 3. compute new chain hash
228
+ 4. append chain entry
229
+ 5. update manifest metadata (entry count, head hash)
230
+
231
+ ### 5.2.3 Verify Path
232
+
233
+ 1. iterate chain entries in order
234
+ 2. recompute artifact hash and chain hash
235
+ 3. verify continuity
236
+ 4. emit result summary with first failing index if invalid
237
+
238
+ ### 5.2.4 Error Codes
239
+
240
+ - `evidence_chain_missing`
241
+ - `evidence_hash_mismatch`
242
+ - `evidence_chain_discontinuity`
243
+
244
+ ---
245
+
246
+ ## 5.3 Q11: `aop doctor` Readiness + Drift Scanner
247
+
248
+ ### 5.3.1 Implementation Targets
249
+
250
+ - `apps/control-plane/src/application/services/doctor-service.ts` (new)
251
+ - `apps/control-plane/src/cli/doctor-command-handler.ts` (new)
252
+ - `agentic/orchestrator/schemas/doctor_report.schema.json` (new)
253
+ - `agentic/orchestrator/tools/schemas/input/doctor.run.input.schema.json` (new)
254
+ - `agentic/orchestrator/tools/schemas/output/doctor.run.output.schema.json` (new)
255
+
256
+ ### 5.3.2 Scanner Categories
257
+
258
+ 1. **Environment checks**
259
+ - node/npm/git availability
260
+ - minimal tool versions
261
+
262
+ 2. **Config/schema checks**
263
+ - policy/gates/agents schema-valid
264
+ - MCP contract catalog consistency
265
+
266
+ 3. **Runtime health checks**
267
+ - stale run lease anomalies
268
+ - orphan runtime session mappings
269
+ - corrupt/partial artifact detection
270
+
271
+ 4. **Drift checks**
272
+ - policy-gates mismatch (required modes missing)
273
+ - disabled mandatory invariants
274
+
275
+ ### 5.3.3 Severity Model
276
+
277
+ - `critical`: immediate run-blocking risk
278
+ - `warning`: correctness/performance risk
279
+ - `info`: advisory
280
+
281
+ ### 5.3.4 Error Codes
282
+
283
+ - `doctor_check_failed`
284
+ - `doctor_report_invalid`
285
+
286
+ ---
287
+
288
+ ## 6. Milestones
289
+
290
+ ### OD1: Replay Foundation
291
+
292
+ - timeline service + MCP tool + CLI command
293
+ - end-to-end timeline generation for tool calls
294
+
295
+ Exit gate:
296
+ - deterministic ordering and stable hashes verified in tests
297
+
298
+ ### OD2: Evidence Integrity
299
+
300
+ - chain writer/validator integrated with gate artifacts
301
+ - CLI + MCP verification paths added
302
+
303
+ Exit gate:
304
+ - tamper test fails correctly; untampered chain passes
305
+
306
+ ### OD3: Doctor Diagnostics
307
+
308
+ - scanner categories implemented with schema-backed report
309
+ - strict exit mode added
310
+
311
+ Exit gate:
312
+ - doctor report persisted and schema-valid across sample repos
313
+
314
+ ---
315
+
316
+ ## 7. Test Strategy (Normative)
317
+
318
+ ### 7.1 Unit Tests
319
+
320
+ - replay sequence monotonicity
321
+ - evidence chain hash correctness
322
+ - doctor finding severity assignment
323
+
324
+ ### 7.2 Integration Tests
325
+
326
+ - real run produces replay entries for critical tool path
327
+ - modified evidence file triggers chain verification failure
328
+ - doctor surfaces intentionally broken policy/gate config
329
+
330
+ ### 7.3 Transport Parity
331
+
332
+ - `replay.timeline_get` parity across in-process vs MCP
333
+ - `evidence.verify_chain` parity across in-process vs MCP
334
+ - `doctor.run` parity across in-process vs MCP
335
+
336
+ ### 7.4 CLI Tests
337
+
338
+ - parser + handler tests for `replay`, `evidence verify`, and `doctor`
339
+ - strict mode exit-code behavior
340
+
341
+ ---
342
+
343
+ ## 8. Acceptance Criteria
344
+
345
+ 1. Replay timeline exists and is queryable by run/step.
346
+ 2. Evidence chain verification reliably detects tampering.
347
+ 3. `aop doctor` returns deterministic structured findings and actionable remediations.
348
+ 4. New tools are fully contract-validated and RBAC-scoped.
349
+ 5. All quality gates pass (`lint`, `typecheck`, `test`, contract/architecture validation).
350
+
351
+ ---
352
+
353
+ ## 9. Risks and Mitigations
354
+
355
+ - Risk: timeline file growth for long-running repos.
356
+ - Mitigation: deterministic retention and archive policy per run.
357
+
358
+ - Risk: false positives in doctor checks.
359
+ - Mitigation: finding IDs with explicit suppression config and rationale tracking.
360
+
361
+ - Risk: performance overhead from hashing every artifact.
362
+ - Mitigation: stream hashing and incremental manifest update.
363
+
364
+ ---
365
+
366
+ ## 10. Definition of Done
367
+
368
+ A session completing any OD milestone MUST provide:
369
+ - changed files and rationale
370
+ - schema/tool catalog deltas
371
+ - test coverage additions
372
+ - verification command results
373
+ - `spec-files/progress.md` updates with next actionable tasks
374
+