popeye-cli 1.9.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/CONTRIBUTING.md +15 -1
  3. package/README.md +57 -0
  4. package/cheatsheet.md +65 -0
  5. package/dist/cli/commands/debug-context.d.ts +64 -0
  6. package/dist/cli/commands/debug-context.d.ts.map +1 -0
  7. package/dist/cli/commands/debug-context.js +221 -0
  8. package/dist/cli/commands/debug-context.js.map +1 -0
  9. package/dist/cli/commands/debug-prompts.d.ts +25 -0
  10. package/dist/cli/commands/debug-prompts.d.ts.map +1 -0
  11. package/dist/cli/commands/debug-prompts.js +80 -0
  12. package/dist/cli/commands/debug-prompts.js.map +1 -0
  13. package/dist/cli/commands/debug.d.ts +68 -0
  14. package/dist/cli/commands/debug.d.ts.map +1 -0
  15. package/dist/cli/commands/debug.js +543 -0
  16. package/dist/cli/commands/debug.js.map +1 -0
  17. package/dist/cli/commands/index.d.ts +1 -0
  18. package/dist/cli/commands/index.d.ts.map +1 -1
  19. package/dist/cli/commands/index.js +1 -0
  20. package/dist/cli/commands/index.js.map +1 -1
  21. package/dist/cli/index.d.ts.map +1 -1
  22. package/dist/cli/index.js +2 -1
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/cli/interactive.d.ts.map +1 -1
  25. package/dist/cli/interactive.js +25 -0
  26. package/dist/cli/interactive.js.map +1 -1
  27. package/dist/generators/all.d.ts.map +1 -1
  28. package/dist/generators/all.js +2 -0
  29. package/dist/generators/all.js.map +1 -1
  30. package/dist/generators/templates/database-docker.d.ts.map +1 -1
  31. package/dist/generators/templates/database-docker.js +10 -0
  32. package/dist/generators/templates/database-docker.js.map +1 -1
  33. package/dist/generators/templates/fullstack.d.ts +4 -1
  34. package/dist/generators/templates/fullstack.d.ts.map +1 -1
  35. package/dist/generators/templates/fullstack.js +6 -2
  36. package/dist/generators/templates/fullstack.js.map +1 -1
  37. package/dist/pipeline/artifact-manager.d.ts +47 -0
  38. package/dist/pipeline/artifact-manager.d.ts.map +1 -0
  39. package/dist/pipeline/artifact-manager.js +251 -0
  40. package/dist/pipeline/artifact-manager.js.map +1 -0
  41. package/dist/pipeline/artifact-validators.d.ts +29 -0
  42. package/dist/pipeline/artifact-validators.d.ts.map +1 -0
  43. package/dist/pipeline/artifact-validators.js +173 -0
  44. package/dist/pipeline/artifact-validators.js.map +1 -0
  45. package/dist/pipeline/change-request.d.ts +47 -0
  46. package/dist/pipeline/change-request.d.ts.map +1 -0
  47. package/dist/pipeline/change-request.js +91 -0
  48. package/dist/pipeline/change-request.js.map +1 -0
  49. package/dist/pipeline/check-runner.d.ts +47 -0
  50. package/dist/pipeline/check-runner.d.ts.map +1 -0
  51. package/dist/pipeline/check-runner.js +417 -0
  52. package/dist/pipeline/check-runner.js.map +1 -0
  53. package/dist/pipeline/command-resolver.d.ts +9 -0
  54. package/dist/pipeline/command-resolver.d.ts.map +1 -0
  55. package/dist/pipeline/command-resolver.js +140 -0
  56. package/dist/pipeline/command-resolver.js.map +1 -0
  57. package/dist/pipeline/consensus/consensus-runner.d.ts +44 -0
  58. package/dist/pipeline/consensus/consensus-runner.d.ts.map +1 -0
  59. package/dist/pipeline/consensus/consensus-runner.js +212 -0
  60. package/dist/pipeline/consensus/consensus-runner.js.map +1 -0
  61. package/dist/pipeline/constitution.d.ts +45 -0
  62. package/dist/pipeline/constitution.d.ts.map +1 -0
  63. package/dist/pipeline/constitution.js +82 -0
  64. package/dist/pipeline/constitution.js.map +1 -0
  65. package/dist/pipeline/gate-engine.d.ts +55 -0
  66. package/dist/pipeline/gate-engine.d.ts.map +1 -0
  67. package/dist/pipeline/gate-engine.js +270 -0
  68. package/dist/pipeline/gate-engine.js.map +1 -0
  69. package/dist/pipeline/index.d.ts +26 -0
  70. package/dist/pipeline/index.d.ts.map +1 -0
  71. package/dist/pipeline/index.js +35 -0
  72. package/dist/pipeline/index.js.map +1 -0
  73. package/dist/pipeline/migration.d.ts +15 -0
  74. package/dist/pipeline/migration.d.ts.map +1 -0
  75. package/dist/pipeline/migration.js +76 -0
  76. package/dist/pipeline/migration.js.map +1 -0
  77. package/dist/pipeline/orchestrator.d.ts +28 -0
  78. package/dist/pipeline/orchestrator.d.ts.map +1 -0
  79. package/dist/pipeline/orchestrator.js +238 -0
  80. package/dist/pipeline/orchestrator.js.map +1 -0
  81. package/dist/pipeline/packets/audit-report-builder.d.ts +11 -0
  82. package/dist/pipeline/packets/audit-report-builder.d.ts.map +1 -0
  83. package/dist/pipeline/packets/audit-report-builder.js +32 -0
  84. package/dist/pipeline/packets/audit-report-builder.js.map +1 -0
  85. package/dist/pipeline/packets/consensus-packet-builder.d.ts +35 -0
  86. package/dist/pipeline/packets/consensus-packet-builder.d.ts.map +1 -0
  87. package/dist/pipeline/packets/consensus-packet-builder.js +80 -0
  88. package/dist/pipeline/packets/consensus-packet-builder.js.map +1 -0
  89. package/dist/pipeline/packets/index.d.ts +12 -0
  90. package/dist/pipeline/packets/index.d.ts.map +1 -0
  91. package/dist/pipeline/packets/index.js +8 -0
  92. package/dist/pipeline/packets/index.js.map +1 -0
  93. package/dist/pipeline/packets/plan-packet-builder.d.ts +21 -0
  94. package/dist/pipeline/packets/plan-packet-builder.d.ts.map +1 -0
  95. package/dist/pipeline/packets/plan-packet-builder.js +27 -0
  96. package/dist/pipeline/packets/plan-packet-builder.js.map +1 -0
  97. package/dist/pipeline/packets/rca-packet-builder.d.ts +19 -0
  98. package/dist/pipeline/packets/rca-packet-builder.d.ts.map +1 -0
  99. package/dist/pipeline/packets/rca-packet-builder.js +22 -0
  100. package/dist/pipeline/packets/rca-packet-builder.js.map +1 -0
  101. package/dist/pipeline/phases/architecture.d.ts +7 -0
  102. package/dist/pipeline/phases/architecture.d.ts.map +1 -0
  103. package/dist/pipeline/phases/architecture.js +60 -0
  104. package/dist/pipeline/phases/architecture.js.map +1 -0
  105. package/dist/pipeline/phases/audit.d.ts +8 -0
  106. package/dist/pipeline/phases/audit.d.ts.map +1 -0
  107. package/dist/pipeline/phases/audit.js +144 -0
  108. package/dist/pipeline/phases/audit.js.map +1 -0
  109. package/dist/pipeline/phases/consensus-architecture.d.ts +7 -0
  110. package/dist/pipeline/phases/consensus-architecture.d.ts.map +1 -0
  111. package/dist/pipeline/phases/consensus-architecture.js +84 -0
  112. package/dist/pipeline/phases/consensus-architecture.js.map +1 -0
  113. package/dist/pipeline/phases/consensus-master-plan.d.ts +7 -0
  114. package/dist/pipeline/phases/consensus-master-plan.d.ts.map +1 -0
  115. package/dist/pipeline/phases/consensus-master-plan.js +81 -0
  116. package/dist/pipeline/phases/consensus-master-plan.js.map +1 -0
  117. package/dist/pipeline/phases/consensus-role-plans.d.ts +7 -0
  118. package/dist/pipeline/phases/consensus-role-plans.d.ts.map +1 -0
  119. package/dist/pipeline/phases/consensus-role-plans.js +85 -0
  120. package/dist/pipeline/phases/consensus-role-plans.js.map +1 -0
  121. package/dist/pipeline/phases/done.d.ts +7 -0
  122. package/dist/pipeline/phases/done.d.ts.map +1 -0
  123. package/dist/pipeline/phases/done.js +45 -0
  124. package/dist/pipeline/phases/done.js.map +1 -0
  125. package/dist/pipeline/phases/implementation.d.ts +8 -0
  126. package/dist/pipeline/phases/implementation.d.ts.map +1 -0
  127. package/dist/pipeline/phases/implementation.js +42 -0
  128. package/dist/pipeline/phases/implementation.js.map +1 -0
  129. package/dist/pipeline/phases/index.d.ts +20 -0
  130. package/dist/pipeline/phases/index.d.ts.map +1 -0
  131. package/dist/pipeline/phases/index.js +19 -0
  132. package/dist/pipeline/phases/index.js.map +1 -0
  133. package/dist/pipeline/phases/intake.d.ts +8 -0
  134. package/dist/pipeline/phases/intake.d.ts.map +1 -0
  135. package/dist/pipeline/phases/intake.js +40 -0
  136. package/dist/pipeline/phases/intake.js.map +1 -0
  137. package/dist/pipeline/phases/phase-context.d.ts +30 -0
  138. package/dist/pipeline/phases/phase-context.d.ts.map +1 -0
  139. package/dist/pipeline/phases/phase-context.js +33 -0
  140. package/dist/pipeline/phases/phase-context.js.map +1 -0
  141. package/dist/pipeline/phases/production-gate.d.ts +8 -0
  142. package/dist/pipeline/phases/production-gate.d.ts.map +1 -0
  143. package/dist/pipeline/phases/production-gate.js +84 -0
  144. package/dist/pipeline/phases/production-gate.js.map +1 -0
  145. package/dist/pipeline/phases/qa-validation.d.ts +7 -0
  146. package/dist/pipeline/phases/qa-validation.d.ts.map +1 -0
  147. package/dist/pipeline/phases/qa-validation.js +50 -0
  148. package/dist/pipeline/phases/qa-validation.js.map +1 -0
  149. package/dist/pipeline/phases/recovery-loop.d.ts +7 -0
  150. package/dist/pipeline/phases/recovery-loop.d.ts.map +1 -0
  151. package/dist/pipeline/phases/recovery-loop.js +91 -0
  152. package/dist/pipeline/phases/recovery-loop.js.map +1 -0
  153. package/dist/pipeline/phases/review.d.ts +8 -0
  154. package/dist/pipeline/phases/review.d.ts.map +1 -0
  155. package/dist/pipeline/phases/review.js +127 -0
  156. package/dist/pipeline/phases/review.js.map +1 -0
  157. package/dist/pipeline/phases/role-planning.d.ts +7 -0
  158. package/dist/pipeline/phases/role-planning.d.ts.map +1 -0
  159. package/dist/pipeline/phases/role-planning.js +75 -0
  160. package/dist/pipeline/phases/role-planning.js.map +1 -0
  161. package/dist/pipeline/phases/stuck.d.ts +7 -0
  162. package/dist/pipeline/phases/stuck.d.ts.map +1 -0
  163. package/dist/pipeline/phases/stuck.js +51 -0
  164. package/dist/pipeline/phases/stuck.js.map +1 -0
  165. package/dist/pipeline/repo-snapshot.d.ts +24 -0
  166. package/dist/pipeline/repo-snapshot.d.ts.map +1 -0
  167. package/dist/pipeline/repo-snapshot.js +343 -0
  168. package/dist/pipeline/repo-snapshot.js.map +1 -0
  169. package/dist/pipeline/role-execution-adapter.d.ts +59 -0
  170. package/dist/pipeline/role-execution-adapter.d.ts.map +1 -0
  171. package/dist/pipeline/role-execution-adapter.js +159 -0
  172. package/dist/pipeline/role-execution-adapter.js.map +1 -0
  173. package/dist/pipeline/skill-loader.d.ts +34 -0
  174. package/dist/pipeline/skill-loader.d.ts.map +1 -0
  175. package/dist/pipeline/skill-loader.js +156 -0
  176. package/dist/pipeline/skill-loader.js.map +1 -0
  177. package/dist/pipeline/skills/defaults.d.ts +16 -0
  178. package/dist/pipeline/skills/defaults.d.ts.map +1 -0
  179. package/dist/pipeline/skills/defaults.js +189 -0
  180. package/dist/pipeline/skills/defaults.js.map +1 -0
  181. package/dist/pipeline/type-defs/artifacts.d.ts +202 -0
  182. package/dist/pipeline/type-defs/artifacts.d.ts.map +1 -0
  183. package/dist/pipeline/type-defs/artifacts.js +66 -0
  184. package/dist/pipeline/type-defs/artifacts.js.map +1 -0
  185. package/dist/pipeline/type-defs/audit.d.ts +256 -0
  186. package/dist/pipeline/type-defs/audit.d.ts.map +1 -0
  187. package/dist/pipeline/type-defs/audit.js +54 -0
  188. package/dist/pipeline/type-defs/audit.js.map +1 -0
  189. package/dist/pipeline/type-defs/checks.d.ts +81 -0
  190. package/dist/pipeline/type-defs/checks.d.ts.map +1 -0
  191. package/dist/pipeline/type-defs/checks.js +38 -0
  192. package/dist/pipeline/type-defs/checks.js.map +1 -0
  193. package/dist/pipeline/type-defs/enums.d.ts +43 -0
  194. package/dist/pipeline/type-defs/enums.d.ts.map +1 -0
  195. package/dist/pipeline/type-defs/enums.js +55 -0
  196. package/dist/pipeline/type-defs/enums.js.map +1 -0
  197. package/dist/pipeline/type-defs/index.d.ts +12 -0
  198. package/dist/pipeline/type-defs/index.d.ts.map +1 -0
  199. package/dist/pipeline/type-defs/index.js +12 -0
  200. package/dist/pipeline/type-defs/index.js.map +1 -0
  201. package/dist/pipeline/type-defs/packets.d.ts +806 -0
  202. package/dist/pipeline/type-defs/packets.d.ts.map +1 -0
  203. package/dist/pipeline/type-defs/packets.js +109 -0
  204. package/dist/pipeline/type-defs/packets.js.map +1 -0
  205. package/dist/pipeline/type-defs/snapshot.d.ts +52 -0
  206. package/dist/pipeline/type-defs/snapshot.d.ts.map +1 -0
  207. package/dist/pipeline/type-defs/snapshot.js +35 -0
  208. package/dist/pipeline/type-defs/snapshot.js.map +1 -0
  209. package/dist/pipeline/type-defs/state.d.ts +449 -0
  210. package/dist/pipeline/type-defs/state.d.ts.map +1 -0
  211. package/dist/pipeline/type-defs/state.js +88 -0
  212. package/dist/pipeline/type-defs/state.js.map +1 -0
  213. package/dist/pipeline/types.d.ts +16 -0
  214. package/dist/pipeline/types.d.ts.map +1 -0
  215. package/dist/pipeline/types.js +16 -0
  216. package/dist/pipeline/types.js.map +1 -0
  217. package/dist/types/audit.d.ts +6 -6
  218. package/dist/workflow/index.d.ts.map +1 -1
  219. package/dist/workflow/index.js +48 -0
  220. package/dist/workflow/index.js.map +1 -1
  221. package/package.json +1 -1
  222. package/skills/ARBITRATOR.md +137 -0
  223. package/skills/ARCHITECT.md +167 -0
  224. package/skills/AUDITOR.md +128 -0
  225. package/skills/AUDIT_REPORT_SCHEMA.md +20 -0
  226. package/skills/BACKEND_PROGRAMMER.md +95 -0
  227. package/skills/CONSENSUS_PACKET_SCHEMA.md +166 -0
  228. package/skills/DB_EXPERT.md +106 -0
  229. package/skills/DEBUGGER.md +286 -0
  230. package/skills/DISPATCHER.md +157 -0
  231. package/skills/FRONTEND_PROGRAMMER.md +84 -0
  232. package/skills/JOURNALIST.md +247 -0
  233. package/skills/MARKETING_EXPERT.md +23 -0
  234. package/skills/PHASE_GATE_ENGINE_SPEC.md +171 -0
  235. package/skills/PLAN_PACKET_SCHEMA.md +222 -0
  236. package/skills/POPEYE_CONSTITUTION.md +177 -0
  237. package/skills/POPEYE_FULL_AUTONOMY_PIPELINE.md +537 -0
  238. package/skills/PRODUCTION_READINESS_SCHEMA.md +19 -0
  239. package/skills/QA_TESTER.md +40 -0
  240. package/skills/RCA_PACKET_SCHEMA.md +22 -0
  241. package/skills/RELEASE_MANAGER.md +60 -0
  242. package/skills/REVIEWER.md +133 -0
  243. package/skills/SOCIAL_EXPERT.md +22 -0
  244. package/skills/UI_UX_SPECIALIST.md +22 -0
  245. package/skills/WEBSITE_PROGRAMMER.md +37 -0
  246. package/src/cli/commands/debug-context.ts +265 -0
  247. package/src/cli/commands/debug-prompts.ts +91 -0
  248. package/src/cli/commands/debug.ts +662 -0
  249. package/src/cli/commands/index.ts +1 -0
  250. package/src/cli/index.ts +2 -0
  251. package/src/cli/interactive.ts +27 -0
  252. package/src/generators/all.ts +2 -0
  253. package/src/generators/templates/database-docker.ts +10 -0
  254. package/src/generators/templates/fullstack.ts +6 -2
  255. package/src/pipeline/artifact-manager.ts +339 -0
  256. package/src/pipeline/artifact-validators.ts +224 -0
  257. package/src/pipeline/change-request.ts +119 -0
  258. package/src/pipeline/check-runner.ts +504 -0
  259. package/src/pipeline/command-resolver.ts +168 -0
  260. package/src/pipeline/consensus/consensus-runner.ts +317 -0
  261. package/src/pipeline/constitution.ts +109 -0
  262. package/src/pipeline/gate-engine.ts +347 -0
  263. package/src/pipeline/index.ts +82 -0
  264. package/src/pipeline/migration.ts +91 -0
  265. package/src/pipeline/orchestrator.ts +314 -0
  266. package/src/pipeline/packets/audit-report-builder.ts +47 -0
  267. package/src/pipeline/packets/consensus-packet-builder.ts +112 -0
  268. package/src/pipeline/packets/index.ts +15 -0
  269. package/src/pipeline/packets/plan-packet-builder.ts +52 -0
  270. package/src/pipeline/packets/rca-packet-builder.ts +38 -0
  271. package/src/pipeline/phases/architecture.ts +73 -0
  272. package/src/pipeline/phases/audit.ts +193 -0
  273. package/src/pipeline/phases/consensus-architecture.ts +104 -0
  274. package/src/pipeline/phases/consensus-master-plan.ts +100 -0
  275. package/src/pipeline/phases/consensus-role-plans.ts +105 -0
  276. package/src/pipeline/phases/done.ts +68 -0
  277. package/src/pipeline/phases/implementation.ts +48 -0
  278. package/src/pipeline/phases/index.ts +21 -0
  279. package/src/pipeline/phases/intake.ts +54 -0
  280. package/src/pipeline/phases/phase-context.ts +86 -0
  281. package/src/pipeline/phases/production-gate.ts +113 -0
  282. package/src/pipeline/phases/qa-validation.ts +63 -0
  283. package/src/pipeline/phases/recovery-loop.ts +118 -0
  284. package/src/pipeline/phases/review.ts +149 -0
  285. package/src/pipeline/phases/role-planning.ts +92 -0
  286. package/src/pipeline/phases/stuck.ts +62 -0
  287. package/src/pipeline/repo-snapshot.ts +395 -0
  288. package/src/pipeline/role-execution-adapter.ts +238 -0
  289. package/src/pipeline/skill-loader.ts +192 -0
  290. package/src/pipeline/skills/defaults.ts +215 -0
  291. package/src/pipeline/type-defs/artifacts.ts +81 -0
  292. package/src/pipeline/type-defs/audit.ts +67 -0
  293. package/src/pipeline/type-defs/checks.ts +47 -0
  294. package/src/pipeline/type-defs/enums.ts +62 -0
  295. package/src/pipeline/type-defs/index.ts +12 -0
  296. package/src/pipeline/type-defs/packets.ts +131 -0
  297. package/src/pipeline/type-defs/snapshot.ts +55 -0
  298. package/src/pipeline/type-defs/state.ts +165 -0
  299. package/src/pipeline/types.ts +16 -0
  300. package/src/workflow/index.ts +48 -0
  301. package/tests/cli/commands/debug.test.ts +376 -0
  302. package/tests/pipeline/artifact-manager.test.ts +183 -0
  303. package/tests/pipeline/artifact-validators.test.ts +207 -0
  304. package/tests/pipeline/change-request.test.ts +180 -0
  305. package/tests/pipeline/check-runner.test.ts +157 -0
  306. package/tests/pipeline/command-resolver.test.ts +159 -0
  307. package/tests/pipeline/consensus-runner.test.ts +206 -0
  308. package/tests/pipeline/consensus-scoring.test.ts +163 -0
  309. package/tests/pipeline/constitution.test.ts +122 -0
  310. package/tests/pipeline/gate-engine.test.ts +195 -0
  311. package/tests/pipeline/migration.test.ts +133 -0
  312. package/tests/pipeline/orchestrator.test.ts +614 -0
  313. package/tests/pipeline/packets/builders.test.ts +347 -0
  314. package/tests/pipeline/repo-snapshot.test.ts +189 -0
  315. package/tests/pipeline/role-execution-adapter.test.ts +299 -0
  316. package/tests/pipeline/skill-loader.test.ts +186 -0
  317. package/tests/pipeline/start-env-checks.test.ts +123 -0
  318. package/tests/pipeline/types.test.ts +156 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../../src/pipeline/phases/architecture.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEnF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAqB;IACzD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,0BAA0B;QAC1B,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE1D,+BAA+B;QAC/B,MAAM,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QACpF,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,iBAAiB,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACnE,MAAM,kBAAkB,GAAG;YACzB,cAAc,CAAC,YAAY;YAC3B,EAAE;YACF,gBAAgB;YAChB,iBAAiB;YACjB,EAAE;YACF,iBAAiB;YACjB,mDAAmD;YACnD,gCAAgC;YAChC,wDAAwD;YACxD,uCAAuC;YACvC,6BAA6B;YAC7B,gBAAgB;YAChB,yBAAyB;YACzB,2BAA2B;SAC5B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;QAExC,iCAAiC;QACjC,MAAM,SAAS,GAAG,eAAe,CAAC,kBAAkB,CAClD,cAAc,EACd,eAAe,EACf,cAAc,CACf,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE1B,kCAAkC;QAClC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QACxF,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,QAAQ,CAAC,kBAAkB,GAAG,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAE3E,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QACtC,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACrE,OAAO,aAAa,CAAC,cAAc,EAAE,8BAA8B,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * AUDIT phase — holistic system verification before Production Gate.
3
+ * Creates structured AuditReport with AuditFindings (P2-1).
4
+ * v1.1: Creates Change Requests for architectural findings.
5
+ */
6
+ import type { PhaseContext, PhaseResult } from './phase-context.js';
7
+ export declare function runAudit(context: PhaseContext): Promise<PhaseResult>;
8
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAQpE,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAsG1E"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * AUDIT phase — holistic system verification before Production Gate.
3
+ * Creates structured AuditReport with AuditFindings (P2-1).
4
+ * v1.1: Creates Change Requests for architectural findings.
5
+ */
6
+ import { successResult, failureResult, triggerJournalist } from './phase-context.js';
7
+ import { buildAuditReport } from '../packets/audit-report-builder.js';
8
+ import { generateRepoSnapshot, createSnapshotArtifact } from '../repo-snapshot.js';
9
+ import { buildChangeRequest, formatChangeRequest, routeChangeRequest } from '../change-request.js';
10
+ export async function runAudit(context) {
11
+ const { pipeline, artifactManager, skillLoader, projectDir } = context;
12
+ const artifacts = [];
13
+ try {
14
+ // 1. Fresh repo snapshot
15
+ const snapshot = await generateRepoSnapshot(projectDir);
16
+ const snapshotEntry = createSnapshotArtifact(snapshot, artifactManager, 'AUDIT');
17
+ artifacts.push(snapshotEntry);
18
+ pipeline.latestRepoSnapshot = artifactManager.toArtifactRef(snapshotEntry);
19
+ // 2. Load auditor skill
20
+ const auditorSkill = skillLoader.loadSkill('AUDITOR');
21
+ // 3. Run audit checks via Claude
22
+ const { executePrompt } = await import('../../adapters/claude.js');
23
+ const auditPrompt = [
24
+ auditorSkill.systemPrompt,
25
+ '',
26
+ '## Audit Instructions',
27
+ 'Perform a holistic system audit covering:',
28
+ '1. Integration audit (FE<->BE, BE<->DB)',
29
+ '2. Config/env audit',
30
+ '3. Tests/coverage audit',
31
+ '4. Migration audit',
32
+ '5. Basic security audit',
33
+ '6. Deployment readiness audit',
34
+ '',
35
+ 'For each finding, classify severity as P0/P1/P2/P3.',
36
+ 'Mark blocking findings that must be resolved before production.',
37
+ '',
38
+ `## Repo Snapshot`,
39
+ `Total files: ${snapshot.total_files}`,
40
+ `Languages: ${snapshot.languages_detected.join(', ')}`,
41
+ `Test framework: ${snapshot.test_framework ?? 'none'}`,
42
+ `Build tool: ${snapshot.build_tool ?? 'none'}`,
43
+ ].join('\n');
44
+ const auditResult = await executePrompt(auditPrompt);
45
+ const auditResponse = auditResult.response;
46
+ // 4. Parse findings from audit response (simplified extraction)
47
+ const findings = parseAuditFindings(auditResponse);
48
+ // 5. Build structured audit report
49
+ const auditReport = buildAuditReport({
50
+ repoSnapshot: artifactManager.toArtifactRef(snapshotEntry),
51
+ findings,
52
+ });
53
+ // 6. Store audit report
54
+ const auditEntry = artifactManager.createAndStoreJson('audit_report', auditReport, 'AUDIT');
55
+ artifacts.push(auditEntry);
56
+ // Also store the raw audit text
57
+ const auditTextEntry = artifactManager.createAndStoreText('audit_report', auditResponse, 'AUDIT');
58
+ artifacts.push(auditTextEntry);
59
+ // 7. v1.1: Create change requests for architectural findings
60
+ const changeRequests = createAuditChangeRequests(findings, artifactManager, snapshotEntry);
61
+ for (const cr of changeRequests) {
62
+ const crEntry = artifactManager.createAndStoreText('change_request', formatChangeRequest(cr), 'AUDIT');
63
+ artifacts.push(crEntry);
64
+ // Register CR in pipeline state for orchestrator routing
65
+ if (!pipeline.pendingChangeRequests) {
66
+ pipeline.pendingChangeRequests = [];
67
+ }
68
+ pipeline.pendingChangeRequests.push({
69
+ cr_id: cr.cr_id,
70
+ change_type: cr.change_type,
71
+ target_phase: routeChangeRequest(cr),
72
+ status: 'proposed',
73
+ });
74
+ }
75
+ pipeline.artifacts.push(...artifacts);
76
+ // 8. Journalist trigger
77
+ await triggerJournalist('AUDIT', artifacts, context);
78
+ return successResult('AUDIT', artifacts, `Audit ${auditReport.overall_status}: ${findings.length} findings, risk score ${auditReport.system_risk_score}, ${changeRequests.length} CRs`);
79
+ }
80
+ catch (err) {
81
+ const message = err instanceof Error ? err.message : 'Unknown error';
82
+ return failureResult('AUDIT', 'Audit failed', message);
83
+ }
84
+ }
85
+ /** Parse audit findings from LLM response (best-effort) */
86
+ function parseAuditFindings(response) {
87
+ const findings = [];
88
+ const lines = response.split('\n');
89
+ let findingCount = 0;
90
+ for (const line of lines) {
91
+ // Look for severity markers: P0, P1, P2, P3
92
+ const severityMatch = line.match(/\b(P[0-3])\b/);
93
+ if (severityMatch) {
94
+ findingCount++;
95
+ const severity = severityMatch[1];
96
+ findings.push({
97
+ id: `finding-${findingCount}`,
98
+ severity,
99
+ category: 'integration', // Default; would be refined with better parsing
100
+ description: line.trim(),
101
+ evidence: [],
102
+ suggested_owner: 'DISPATCHER',
103
+ blocking: severity === 'P0' || severity === 'P1',
104
+ });
105
+ }
106
+ }
107
+ return findings;
108
+ }
109
+ /** Create change requests for high-severity audit findings (v1.1) */
110
+ function createAuditChangeRequests(findings, artifactManager, snapshotEntry) {
111
+ const changeRequests = [];
112
+ // Create CRs for blocking findings in integration/schema categories
113
+ const architecturalFindings = findings.filter((f) => f.blocking && (f.category === 'integration' || f.category === 'schema'));
114
+ if (architecturalFindings.length > 0) {
115
+ const cr = buildChangeRequest({
116
+ originPhase: 'AUDIT',
117
+ requestedBy: 'AUDITOR',
118
+ changeType: 'architecture',
119
+ description: `${architecturalFindings.length} blocking architectural findings: ${architecturalFindings.map((f) => f.description.slice(0, 80)).join('; ')}`,
120
+ justification: 'Blocking audit findings require architectural review before production',
121
+ affectedArtifacts: [artifactManager.toArtifactRef(snapshotEntry)],
122
+ affectedPhases: ['CONSENSUS_ARCHITECTURE', 'IMPLEMENTATION'],
123
+ riskLevel: architecturalFindings.some((f) => f.severity === 'P0') ? 'high' : 'medium',
124
+ });
125
+ changeRequests.push(cr);
126
+ }
127
+ // Create CRs for security findings
128
+ const securityFindings = findings.filter((f) => f.blocking && f.category === 'security');
129
+ if (securityFindings.length > 0) {
130
+ const cr = buildChangeRequest({
131
+ originPhase: 'AUDIT',
132
+ requestedBy: 'AUDITOR',
133
+ changeType: 'requirement',
134
+ description: `${securityFindings.length} blocking security findings require review`,
135
+ justification: 'Security issues must be resolved before production deployment',
136
+ affectedArtifacts: [artifactManager.toArtifactRef(snapshotEntry)],
137
+ affectedPhases: ['CONSENSUS_MASTER_PLAN', 'IMPLEMENTATION'],
138
+ riskLevel: 'high',
139
+ });
140
+ changeRequests.push(cr);
141
+ }
142
+ return changeRequests;
143
+ }
144
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/pipeline/phases/audit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAInG,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB;IAClD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,yBAAyB;QACzB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QACjF,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,QAAQ,CAAC,kBAAkB,GAAG,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAE3E,wBAAwB;QACxB,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEtD,iCAAiC;QACjC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG;YAClB,YAAY,CAAC,YAAY;YACzB,EAAE;YACF,uBAAuB;YACvB,2CAA2C;YAC3C,yCAAyC;YACzC,qBAAqB;YACrB,yBAAyB;YACzB,oBAAoB;YACpB,yBAAyB;YACzB,+BAA+B;YAC/B,EAAE;YACF,qDAAqD;YACrD,iEAAiE;YACjE,EAAE;YACF,kBAAkB;YAClB,gBAAgB,QAAQ,CAAC,WAAW,EAAE;YACtC,cAAc,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACtD,mBAAmB,QAAQ,CAAC,cAAc,IAAI,MAAM,EAAE;YACtD,eAAe,QAAQ,CAAC,UAAU,IAAI,MAAM,EAAE;SAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC;QAE3C,gEAAgE;QAChE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAEnD,mCAAmC;QACnC,MAAM,WAAW,GAAG,gBAAgB,CAAC;YACnC,YAAY,EAAE,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC;YAC1D,QAAQ;SACT,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,UAAU,GAAG,eAAe,CAAC,kBAAkB,CACnD,cAAc,EACd,WAAW,EACX,OAAO,CACR,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3B,gCAAgC;QAChC,MAAM,cAAc,GAAG,eAAe,CAAC,kBAAkB,CACvD,cAAc,EACd,aAAa,EACb,OAAO,CACR,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE/B,6DAA6D;QAC7D,MAAM,cAAc,GAAG,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;QAC3F,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,eAAe,CAAC,kBAAkB,CAChD,gBAAgB,EAChB,mBAAmB,CAAC,EAAE,CAAC,EACvB,OAAO,CACR,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAExB,yDAAyD;YACzD,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;gBACpC,QAAQ,CAAC,qBAAqB,GAAG,EAAE,CAAC;YACtC,CAAC;YACD,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBAClC,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,WAAW,EAAE,EAAE,CAAC,WAAW;gBAC3B,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBACpC,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAEtC,wBAAwB;QACxB,MAAM,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAErD,OAAO,aAAa,CAClB,OAAO,EACP,SAAS,EACT,SAAS,WAAW,CAAC,cAAc,KAAK,QAAQ,CAAC,MAAM,yBAAyB,WAAW,CAAC,iBAAiB,KAAK,cAAc,CAAC,MAAM,MAAM,CAC9I,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACrE,OAAO,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,4CAA4C;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAA8B,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,WAAW,YAAY,EAAE;gBAC7B,QAAQ;gBACR,QAAQ,EAAE,aAAa,EAAE,gDAAgD;gBACzE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE;gBACxB,QAAQ,EAAE,EAAE;gBACZ,eAAe,EAAE,YAAY;gBAC7B,QAAQ,EAAE,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;aACjD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qEAAqE;AACrE,SAAS,yBAAyB,CAChC,QAAwB,EACxB,eAAgC,EAChC,aAA4B;IAE5B,MAAM,cAAc,GAAoB,EAAE,CAAC;IAE3C,oEAAoE;IACpE,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAC/E,CAAC;IAEF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,kBAAkB,CAAC;YAC5B,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,SAAS;YACtB,UAAU,EAAE,cAAc;YAC1B,WAAW,EAAE,GAAG,qBAAqB,CAAC,MAAM,qCAAqC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1J,aAAa,EAAE,wEAAwE;YACvF,iBAAiB,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACjE,cAAc,EAAE,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;YAC5D,SAAS,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;SACtF,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAC/C,CAAC;IAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,kBAAkB,CAAC;YAC5B,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,SAAS;YACtB,UAAU,EAAE,aAAa;YACzB,WAAW,EAAE,GAAG,gBAAgB,CAAC,MAAM,4CAA4C;YACnF,aAAa,EAAE,+DAA+D;YAC9E,iBAAiB,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YACjE,cAAc,EAAE,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;YAC3D,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CONSENSUS_ARCHITECTURE phase — validate architecture is feasible,
3
+ * consistent, and complete. Same pattern as consensus-master-plan.
4
+ */
5
+ import type { PhaseContext, PhaseResult } from './phase-context.js';
6
+ export declare function runConsensusArchitecture(context: PhaseContext): Promise<PhaseResult>;
7
+ //# sourceMappingURL=consensus-architecture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consensus-architecture.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/consensus-architecture.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAqBpE,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA6E1F"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * CONSENSUS_ARCHITECTURE phase — validate architecture is feasible,
3
+ * consistent, and complete. Same pattern as consensus-master-plan.
4
+ */
5
+ import { successResult, failureResult, triggerJournalist } from './phase-context.js';
6
+ import { buildPlanPacket } from '../packets/plan-packet-builder.js';
7
+ import { generateRepoSnapshot, createSnapshotArtifact } from '../repo-snapshot.js';
8
+ /** Get constitution artifact ref from pipeline state, or fallback */
9
+ function getConstitutionRef(pipeline) {
10
+ const constitutionArtifact = pipeline.artifacts.find((a) => a.type === 'constitution');
11
+ if (constitutionArtifact) {
12
+ return {
13
+ artifact_id: constitutionArtifact.id,
14
+ path: constitutionArtifact.path,
15
+ sha256: constitutionArtifact.sha256,
16
+ version: constitutionArtifact.version,
17
+ type: 'constitution',
18
+ };
19
+ }
20
+ return { artifact_id: 'constitution', path: 'skills/POPEYE_CONSTITUTION.md', sha256: '', version: 1, type: 'constitution' };
21
+ }
22
+ export async function runConsensusArchitecture(context) {
23
+ const { pipeline, artifactManager, gateEngine, consensusRunner, projectDir } = context;
24
+ const artifacts = [];
25
+ try {
26
+ // 1. Fresh repo snapshot
27
+ const snapshot = await generateRepoSnapshot(projectDir);
28
+ const snapshotEntry = createSnapshotArtifact(snapshot, artifactManager, 'CONSENSUS_ARCHITECTURE');
29
+ artifacts.push(snapshotEntry);
30
+ pipeline.latestRepoSnapshot = artifactManager.toArtifactRef(snapshotEntry);
31
+ // 2. Find architecture artifact
32
+ const archArtifact = pipeline.artifacts.find((a) => a.type === 'architecture');
33
+ if (!archArtifact) {
34
+ return failureResult('CONSENSUS_ARCHITECTURE', 'No architecture artifact found');
35
+ }
36
+ const masterPlanArtifact = pipeline.artifacts.find((a) => a.type === 'master_plan');
37
+ // 3. Build plan packet
38
+ const planPacket = buildPlanPacket({
39
+ phase: 'CONSENSUS_ARCHITECTURE',
40
+ submittedBy: 'ARCHITECT',
41
+ masterPlanRef: masterPlanArtifact
42
+ ? artifactManager.toArtifactRef(masterPlanArtifact)
43
+ : { artifact_id: 'none', path: '', sha256: '', version: 1, type: 'master_plan' },
44
+ constitutionRef: getConstitutionRef(pipeline),
45
+ repoSnapshotRef: artifactManager.toArtifactRef(snapshotEntry),
46
+ proposedArtifacts: [artifactManager.toArtifactRef(archArtifact)],
47
+ acceptanceCriteria: [
48
+ 'Contracts explicit enough for FE/BE to build without guessing',
49
+ 'Env vars enumerated',
50
+ 'Integration points enumerated',
51
+ 'No contradictory contracts',
52
+ ],
53
+ dependencies: [],
54
+ constraints: [],
55
+ });
56
+ // 4. Run consensus
57
+ const gateDef = gateEngine.getGateDefinition('CONSENSUS_ARCHITECTURE');
58
+ const consensusPacket = await consensusRunner.runStructuredConsensus(planPacket, gateDef);
59
+ // 5. Store consensus artifact
60
+ const consensusEntry = artifactManager.createAndStoreJson('consensus', consensusPacket, 'CONSENSUS_ARCHITECTURE');
61
+ artifacts.push(consensusEntry);
62
+ pipeline.artifacts.push(...artifacts);
63
+ // 5b. Store consensus score in gateResults for parseConsensusScore()
64
+ pipeline.gateResults['CONSENSUS_ARCHITECTURE'] = {
65
+ phase: 'CONSENSUS_ARCHITECTURE',
66
+ pass: consensusPacket.final_status === 'APPROVED' || consensusPacket.final_status === 'ARBITRATED',
67
+ score: consensusPacket.consensus_result.weighted_score,
68
+ blockers: [],
69
+ missingArtifacts: [],
70
+ failedChecks: [],
71
+ consensusScore: consensusPacket.consensus_result.score,
72
+ timestamp: new Date().toISOString(),
73
+ };
74
+ // 6. Journalist trigger
75
+ await triggerJournalist('CONSENSUS_ARCHITECTURE', artifacts, context);
76
+ const approved = consensusPacket.final_status === 'APPROVED' || consensusPacket.final_status === 'ARBITRATED';
77
+ return successResult('CONSENSUS_ARCHITECTURE', artifacts, approved ? 'Architecture consensus APPROVED' : 'Architecture consensus REJECTED');
78
+ }
79
+ catch (err) {
80
+ const message = err instanceof Error ? err.message : 'Unknown error';
81
+ return failureResult('CONSENSUS_ARCHITECTURE', 'Architecture consensus failed', message);
82
+ }
83
+ }
84
+ //# sourceMappingURL=consensus-architecture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consensus-architecture.js","sourceRoot":"","sources":["../../../src/pipeline/phases/consensus-architecture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CONSENSUS_MASTER_PLAN phase — multi-LLM validation of Master Plan.
3
+ * Uses independent review mode by default (P1-D).
4
+ */
5
+ import type { PhaseContext, PhaseResult } from './phase-context.js';
6
+ export declare function runConsensusMasterPlan(context: PhaseContext): Promise<PhaseResult>;
7
+ //# sourceMappingURL=consensus-master-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consensus-master-plan.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/consensus-master-plan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAqBpE,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAyExF"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * CONSENSUS_MASTER_PLAN phase — multi-LLM validation of Master Plan.
3
+ * Uses independent review mode by default (P1-D).
4
+ */
5
+ import { successResult, failureResult, triggerJournalist } from './phase-context.js';
6
+ import { buildPlanPacket } from '../packets/plan-packet-builder.js';
7
+ import { generateRepoSnapshot, createSnapshotArtifact } from '../repo-snapshot.js';
8
+ /** Get constitution artifact ref from pipeline state, or fallback */
9
+ function getConstitutionRef(pipeline) {
10
+ const constitutionArtifact = pipeline.artifacts.find((a) => a.type === 'constitution');
11
+ if (constitutionArtifact) {
12
+ return {
13
+ artifact_id: constitutionArtifact.id,
14
+ path: constitutionArtifact.path,
15
+ sha256: constitutionArtifact.sha256,
16
+ version: constitutionArtifact.version,
17
+ type: 'constitution',
18
+ };
19
+ }
20
+ return { artifact_id: 'constitution', path: 'skills/POPEYE_CONSTITUTION.md', sha256: '', version: 1, type: 'constitution' };
21
+ }
22
+ export async function runConsensusMasterPlan(context) {
23
+ const { pipeline, artifactManager, gateEngine, consensusRunner, projectDir } = context;
24
+ const artifacts = [];
25
+ try {
26
+ // 1. Fresh repo snapshot for consensus
27
+ const snapshot = await generateRepoSnapshot(projectDir);
28
+ const snapshotEntry = createSnapshotArtifact(snapshot, artifactManager, 'CONSENSUS_MASTER_PLAN');
29
+ artifacts.push(snapshotEntry);
30
+ pipeline.latestRepoSnapshot = artifactManager.toArtifactRef(snapshotEntry);
31
+ // 2. Find master plan artifact
32
+ const masterPlanArtifact = pipeline.artifacts.find((a) => a.type === 'master_plan');
33
+ if (!masterPlanArtifact) {
34
+ return failureResult('CONSENSUS_MASTER_PLAN', 'No master plan artifact found');
35
+ }
36
+ // 3. Build plan packet
37
+ const planPacket = buildPlanPacket({
38
+ phase: 'CONSENSUS_MASTER_PLAN',
39
+ submittedBy: 'DISPATCHER',
40
+ masterPlanRef: artifactManager.toArtifactRef(masterPlanArtifact),
41
+ constitutionRef: getConstitutionRef(pipeline),
42
+ repoSnapshotRef: artifactManager.toArtifactRef(snapshotEntry),
43
+ proposedArtifacts: [],
44
+ acceptanceCriteria: [
45
+ 'Master plan is deterministic (no vague features)',
46
+ 'Assumptions are explicit',
47
+ 'Out-of-scope is explicit',
48
+ 'Success criteria defined',
49
+ ],
50
+ dependencies: [],
51
+ constraints: [],
52
+ });
53
+ // 4. Run structured consensus
54
+ const gateDef = gateEngine.getGateDefinition('CONSENSUS_MASTER_PLAN');
55
+ const consensusPacket = await consensusRunner.runStructuredConsensus(planPacket, gateDef);
56
+ // 5. Store consensus artifact
57
+ const consensusEntry = artifactManager.createAndStoreJson('consensus', consensusPacket, 'CONSENSUS_MASTER_PLAN');
58
+ artifacts.push(consensusEntry);
59
+ pipeline.artifacts.push(...artifacts);
60
+ // 5b. Store consensus score in gateResults for parseConsensusScore()
61
+ pipeline.gateResults['CONSENSUS_MASTER_PLAN'] = {
62
+ phase: 'CONSENSUS_MASTER_PLAN',
63
+ pass: consensusPacket.final_status === 'APPROVED' || consensusPacket.final_status === 'ARBITRATED',
64
+ score: consensusPacket.consensus_result.weighted_score,
65
+ blockers: [],
66
+ missingArtifacts: [],
67
+ failedChecks: [],
68
+ consensusScore: consensusPacket.consensus_result.score,
69
+ timestamp: new Date().toISOString(),
70
+ };
71
+ // 6. Trigger journalist (P1-F)
72
+ await triggerJournalist('CONSENSUS_MASTER_PLAN', artifacts, context);
73
+ const approved = consensusPacket.final_status === 'APPROVED' || consensusPacket.final_status === 'ARBITRATED';
74
+ return successResult('CONSENSUS_MASTER_PLAN', artifacts, approved ? 'Master Plan consensus APPROVED' : 'Master Plan consensus REJECTED');
75
+ }
76
+ catch (err) {
77
+ const message = err instanceof Error ? err.message : 'Unknown error';
78
+ return failureResult('CONSENSUS_MASTER_PLAN', 'Consensus failed', message);
79
+ }
80
+ }
81
+ //# sourceMappingURL=consensus-master-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consensus-master-plan.js","sourceRoot":"","sources":["../../../src/pipeline/phases/consensus-master-plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * CONSENSUS_ROLE_PLANS phase — validate each role plan.
3
+ * Checks dependency satisfaction (FE->API, BE->DB, QA->features).
4
+ */
5
+ import type { PhaseContext, PhaseResult } from './phase-context.js';
6
+ export declare function runConsensusRolePlans(context: PhaseContext): Promise<PhaseResult>;
7
+ //# sourceMappingURL=consensus-role-plans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consensus-role-plans.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/consensus-role-plans.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAqBpE,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA8EvF"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * CONSENSUS_ROLE_PLANS phase — validate each role plan.
3
+ * Checks dependency satisfaction (FE->API, BE->DB, QA->features).
4
+ */
5
+ import { successResult, failureResult, triggerJournalist } from './phase-context.js';
6
+ import { buildPlanPacket } from '../packets/plan-packet-builder.js';
7
+ import { generateRepoSnapshot, createSnapshotArtifact } from '../repo-snapshot.js';
8
+ /** Get constitution artifact ref from pipeline state, or fallback */
9
+ function getConstitutionRef(pipeline) {
10
+ const constitutionArtifact = pipeline.artifacts.find((a) => a.type === 'constitution');
11
+ if (constitutionArtifact) {
12
+ return {
13
+ artifact_id: constitutionArtifact.id,
14
+ path: constitutionArtifact.path,
15
+ sha256: constitutionArtifact.sha256,
16
+ version: constitutionArtifact.version,
17
+ type: 'constitution',
18
+ };
19
+ }
20
+ return { artifact_id: 'constitution', path: 'skills/POPEYE_CONSTITUTION.md', sha256: '', version: 1, type: 'constitution' };
21
+ }
22
+ export async function runConsensusRolePlans(context) {
23
+ const { pipeline, artifactManager, gateEngine, consensusRunner, projectDir } = context;
24
+ const artifacts = [];
25
+ try {
26
+ // 1. Fresh repo snapshot
27
+ const snapshot = await generateRepoSnapshot(projectDir);
28
+ const snapshotEntry = createSnapshotArtifact(snapshot, artifactManager, 'CONSENSUS_ROLE_PLANS');
29
+ artifacts.push(snapshotEntry);
30
+ pipeline.latestRepoSnapshot = artifactManager.toArtifactRef(snapshotEntry);
31
+ // 2. Find all role plan artifacts
32
+ const rolePlanArtifacts = pipeline.artifacts.filter((a) => a.type === 'role_plan');
33
+ if (rolePlanArtifacts.length === 0) {
34
+ return failureResult('CONSENSUS_ROLE_PLANS', 'No role plan artifacts found');
35
+ }
36
+ const masterPlanArtifact = pipeline.artifacts.find((a) => a.type === 'master_plan');
37
+ // 3. Build plan packet referencing all role plans
38
+ const planPacket = buildPlanPacket({
39
+ phase: 'CONSENSUS_ROLE_PLANS',
40
+ submittedBy: 'DISPATCHER',
41
+ masterPlanRef: masterPlanArtifact
42
+ ? artifactManager.toArtifactRef(masterPlanArtifact)
43
+ : { artifact_id: 'none', path: '', sha256: '', version: 1, type: 'master_plan' },
44
+ constitutionRef: getConstitutionRef(pipeline),
45
+ repoSnapshotRef: artifactManager.toArtifactRef(snapshotEntry),
46
+ proposedArtifacts: rolePlanArtifacts.map((a) => artifactManager.toArtifactRef(a)),
47
+ acceptanceCriteria: [
48
+ 'All required role plans present',
49
+ 'Each plan includes deterministic file-level outputs',
50
+ 'FE plan references API contracts',
51
+ 'BE plan references DB schema',
52
+ 'QA plan lists executable tests',
53
+ ],
54
+ dependencies: [],
55
+ constraints: [],
56
+ });
57
+ // 4. Run consensus
58
+ const gateDef = gateEngine.getGateDefinition('CONSENSUS_ROLE_PLANS');
59
+ const consensusPacket = await consensusRunner.runStructuredConsensus(planPacket, gateDef);
60
+ // 5. Store consensus artifact
61
+ const consensusEntry = artifactManager.createAndStoreJson('consensus', consensusPacket, 'CONSENSUS_ROLE_PLANS');
62
+ artifacts.push(consensusEntry);
63
+ pipeline.artifacts.push(...artifacts);
64
+ // 5b. Store consensus score in gateResults for parseConsensusScore()
65
+ pipeline.gateResults['CONSENSUS_ROLE_PLANS'] = {
66
+ phase: 'CONSENSUS_ROLE_PLANS',
67
+ pass: consensusPacket.final_status === 'APPROVED' || consensusPacket.final_status === 'ARBITRATED',
68
+ score: consensusPacket.consensus_result.weighted_score,
69
+ blockers: [],
70
+ missingArtifacts: [],
71
+ failedChecks: [],
72
+ consensusScore: consensusPacket.consensus_result.score,
73
+ timestamp: new Date().toISOString(),
74
+ };
75
+ // 6. Journalist trigger
76
+ await triggerJournalist('CONSENSUS_ROLE_PLANS', artifacts, context);
77
+ const approved = consensusPacket.final_status === 'APPROVED' || consensusPacket.final_status === 'ARBITRATED';
78
+ return successResult('CONSENSUS_ROLE_PLANS', artifacts, approved ? 'Role plans consensus APPROVED' : 'Role plans consensus REJECTED');
79
+ }
80
+ catch (err) {
81
+ const message = err instanceof Error ? err.message : 'Unknown error';
82
+ return failureResult('CONSENSUS_ROLE_PLANS', 'Role plans consensus failed', message);
83
+ }
84
+ }
85
+ //# sourceMappingURL=consensus-role-plans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consensus-role-plans.js","sourceRoot":"","sources":["../../../src/pipeline/phases/consensus-role-plans.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * DONE phase — finalize documentation + release packaging.
3
+ * RELEASE_MANAGER creates release/deployment/rollback artifacts.
4
+ */
5
+ import type { PhaseContext, PhaseResult } from './phase-context.js';
6
+ export declare function runDone(context: PhaseContext): Promise<PhaseResult>;
7
+ //# sourceMappingURL=done.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"done.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/done.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGpE,wBAAsB,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA2DzE"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * DONE phase — finalize documentation + release packaging.
3
+ * RELEASE_MANAGER creates release/deployment/rollback artifacts.
4
+ */
5
+ import { successResult, failureResult } from './phase-context.js';
6
+ export async function runDone(context) {
7
+ const { pipeline, artifactManager, skillLoader } = context;
8
+ const artifacts = [];
9
+ try {
10
+ // 1. Load release manager skill
11
+ const rmSkill = skillLoader.loadSkill('RELEASE_MANAGER');
12
+ // 2. Generate release notes
13
+ const { executePrompt } = await import('../../adapters/claude.js');
14
+ const releasePrompt = [
15
+ rmSkill.systemPrompt,
16
+ '',
17
+ '## Instructions',
18
+ 'Generate release notes, deployment instructions, and rollback plan.',
19
+ 'Base this on the artifacts produced during the pipeline.',
20
+ '',
21
+ '## Artifacts Summary',
22
+ ...pipeline.artifacts.map((a) => `- [${a.type}] v${a.version}: ${a.path}`),
23
+ ].join('\n');
24
+ const releaseResult = await executePrompt(releasePrompt);
25
+ const releaseResponse = releaseResult.response;
26
+ // 3. Create release notes artifact
27
+ const releaseEntry = artifactManager.createAndStoreText('release_notes', releaseResponse, 'DONE');
28
+ artifacts.push(releaseEntry);
29
+ // 4. Create deployment instructions artifact
30
+ const deployEntry = artifactManager.createAndStoreText('deployment', `# Deployment Instructions\n\n${releaseResponse.includes('deployment') ? 'See release notes.' : 'Standard deployment procedure.'}`, 'DONE');
31
+ artifacts.push(deployEntry);
32
+ // 5. Create rollback plan artifact
33
+ const rollbackEntry = artifactManager.createAndStoreText('rollback', `# Rollback Plan\n\nRevert to previous version if issues detected post-deploy.`, 'DONE');
34
+ artifacts.push(rollbackEntry);
35
+ pipeline.artifacts.push(...artifacts);
36
+ // 6. Final INDEX.md update
37
+ artifactManager.updateIndex(pipeline.artifacts);
38
+ return successResult('DONE', artifacts, 'Pipeline complete. Release artifacts created.');
39
+ }
40
+ catch (err) {
41
+ const message = err instanceof Error ? err.message : 'Unknown error';
42
+ return failureResult('DONE', 'Release packaging failed', message);
43
+ }
44
+ }
45
+ //# sourceMappingURL=done.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"done.js","sourceRoot":"","sources":["../../../src/pipeline/phases/done.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAqB;IACjD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAC3D,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,gCAAgC;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAEzD,4BAA4B;QAC5B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAEnE,MAAM,aAAa,GAAG;YACpB,OAAO,CAAC,YAAY;YACpB,EAAE;YACF,iBAAiB;YACjB,qEAAqE;YACrE,0DAA0D;YAC1D,EAAE;YACF,sBAAsB;YACtB,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;SAC3E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,aAAa,CAAC,QAAQ,CAAC;QAE/C,mCAAmC;QACnC,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CACrD,eAAe,EACf,eAAe,EACf,MAAM,CACP,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7B,6CAA6C;QAC7C,MAAM,WAAW,GAAG,eAAe,CAAC,kBAAkB,CACpD,YAAY,EACZ,gCAAgC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gCAAgC,EAAE,EAClI,MAAM,CACP,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE5B,mCAAmC;QACnC,MAAM,aAAa,GAAG,eAAe,CAAC,kBAAkB,CACtD,UAAU,EACV,+EAA+E,EAC/E,MAAM,CACP,CAAC;QACF,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE9B,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAEtC,2BAA2B;QAC3B,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEhD,OAAO,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,+CAA+C,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACrE,OAAO,aAAa,CAAC,MAAM,EAAE,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * IMPLEMENTATION phase — build the system according to approved plans.
3
+ * Reuses runExecutionMode() from existing workflow.
4
+ * v1.1: Injects role-specific execution contexts via role-execution-adapter.
5
+ */
6
+ import type { PhaseContext, PhaseResult } from './phase-context.js';
7
+ export declare function runImplementation(context: PhaseContext): Promise<PhaseResult>;
8
+ //# sourceMappingURL=implementation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/implementation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKpE,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAoCnF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * IMPLEMENTATION phase — build the system according to approved plans.
3
+ * Reuses runExecutionMode() from existing workflow.
4
+ * v1.1: Injects role-specific execution contexts via role-execution-adapter.
5
+ */
6
+ import { successResult, failureResult } from './phase-context.js';
7
+ import { generateRepoSnapshot, createSnapshotArtifact } from '../repo-snapshot.js';
8
+ import { buildAllRoleContexts } from '../role-execution-adapter.js';
9
+ export async function runImplementation(context) {
10
+ const { pipeline, artifactManager, projectDir, skillLoader } = context;
11
+ const artifacts = [];
12
+ try {
13
+ // v1.1: Build role contexts for execution
14
+ const roleContexts = buildAllRoleContexts(pipeline, skillLoader, projectDir);
15
+ // Build combined role context for system prompt injection
16
+ let combinedRolePrompt = '';
17
+ if (roleContexts.size > 0) {
18
+ const contextEntries = Array.from(roleContexts.entries());
19
+ combinedRolePrompt = contextEntries
20
+ .map(([role, ctx]) => `## ${role}\nScope: ${ctx.taskScope.slice(0, 500)}`)
21
+ .join('\n\n');
22
+ }
23
+ // Run existing execution mode with optional role context
24
+ const { runExecutionMode } = await import('../../workflow/execution-mode.js');
25
+ await runExecutionMode({
26
+ projectDir,
27
+ ...(combinedRolePrompt ? { systemPrompt: combinedRolePrompt } : {}),
28
+ });
29
+ // Generate post-implementation repo snapshot
30
+ const snapshot = await generateRepoSnapshot(projectDir);
31
+ const snapshotEntry = createSnapshotArtifact(snapshot, artifactManager, 'IMPLEMENTATION');
32
+ artifacts.push(snapshotEntry);
33
+ pipeline.latestRepoSnapshot = artifactManager.toArtifactRef(snapshotEntry);
34
+ pipeline.artifacts.push(...artifacts);
35
+ return successResult('IMPLEMENTATION', artifacts, `Implementation complete. ${roleContexts.size} roles active.`);
36
+ }
37
+ catch (err) {
38
+ const message = err instanceof Error ? err.message : 'Unknown error';
39
+ return failureResult('IMPLEMENTATION', 'Implementation failed', message);
40
+ }
41
+ }
42
+ //# sourceMappingURL=implementation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/pipeline/phases/implementation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAqB;IAC3D,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAE7E,0DAA0D;QAC1D,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,kBAAkB,GAAG,cAAc;iBAChC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,YAAY,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;iBACzE,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;QAED,yDAAyD;QACzD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;QAC9E,MAAM,gBAAgB,CAAC;YACrB,UAAU;YACV,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAC1F,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9B,QAAQ,CAAC,kBAAkB,GAAG,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAE3E,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QACtC,OAAO,aAAa,CAAC,gBAAgB,EAAE,SAAS,EAAE,4BAA4B,YAAY,CAAC,IAAI,gBAAgB,CAAC,CAAC;IACnH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACrE,OAAO,aAAa,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC"}