@tacuchi/agent-workflow-cli 11.0.1 → 12.2.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 (471) hide show
  1. package/README.md +52 -95
  2. package/dist/adapters/git-cli.d.ts +7 -1
  3. package/dist/adapters/git-cli.d.ts.map +1 -1
  4. package/dist/adapters/git-cli.js +47 -0
  5. package/dist/adapters/git-cli.js.map +1 -1
  6. package/dist/application/artifacts-service.d.ts +3 -12
  7. package/dist/application/artifacts-service.d.ts.map +1 -1
  8. package/dist/application/artifacts-service.js +18 -19
  9. package/dist/application/artifacts-service.js.map +1 -1
  10. package/dist/application/branch-resolver.d.ts +16 -0
  11. package/dist/application/branch-resolver.d.ts.map +1 -0
  12. package/dist/application/branch-resolver.js +24 -0
  13. package/dist/application/branch-resolver.js.map +1 -0
  14. package/dist/application/check-branch-service.d.ts +0 -2
  15. package/dist/application/check-branch-service.d.ts.map +1 -1
  16. package/dist/application/check-branch-service.js +5 -40
  17. package/dist/application/check-branch-service.js.map +1 -1
  18. package/dist/application/checkpoint/markdown.d.ts.map +1 -1
  19. package/dist/application/checkpoint/markdown.js +1 -16
  20. package/dist/application/checkpoint/markdown.js.map +1 -1
  21. package/dist/application/checkpoint/state-reader.d.ts +1 -3
  22. package/dist/application/checkpoint/state-reader.d.ts.map +1 -1
  23. package/dist/application/checkpoint/state-reader.js +10 -31
  24. package/dist/application/checkpoint/state-reader.js.map +1 -1
  25. package/dist/application/checkpoint-service.d.ts +12 -14
  26. package/dist/application/checkpoint-service.d.ts.map +1 -1
  27. package/dist/application/checkpoint-service.js +36 -61
  28. package/dist/application/checkpoint-service.js.map +1 -1
  29. package/dist/application/checkpoint-write-service.d.ts +0 -2
  30. package/dist/application/checkpoint-write-service.d.ts.map +1 -1
  31. package/dist/application/checkpoint-write-service.js +5 -6
  32. package/dist/application/checkpoint-write-service.js.map +1 -1
  33. package/dist/application/git-flow-service.d.ts +44 -0
  34. package/dist/application/git-flow-service.d.ts.map +1 -0
  35. package/dist/application/git-flow-service.js +220 -0
  36. package/dist/application/git-flow-service.js.map +1 -0
  37. package/dist/application/history-update-service.js +3 -1
  38. package/dist/application/history-update-service.js.map +1 -1
  39. package/dist/application/hook-branch-check.d.ts.map +1 -1
  40. package/dist/application/hook-branch-check.js +5 -34
  41. package/dist/application/hook-branch-check.js.map +1 -1
  42. package/dist/application/hook-git-commit-advisor.d.ts.map +1 -1
  43. package/dist/application/hook-git-commit-advisor.js +18 -23
  44. package/dist/application/hook-git-commit-advisor.js.map +1 -1
  45. package/dist/application/markdown.d.ts.map +1 -1
  46. package/dist/application/markdown.js +0 -4
  47. package/dist/application/markdown.js.map +1 -1
  48. package/dist/application/parsers/project-block.d.ts +1 -8
  49. package/dist/application/parsers/project-block.d.ts.map +1 -1
  50. package/dist/application/parsers/project-block.js +19 -51
  51. package/dist/application/parsers/project-block.js.map +1 -1
  52. package/dist/application/paths-service.d.ts +9 -8
  53. package/dist/application/paths-service.d.ts.map +1 -1
  54. package/dist/application/paths-service.js +16 -8
  55. package/dist/application/paths-service.js.map +1 -1
  56. package/dist/application/project-md-upsert-service.d.ts +5 -11
  57. package/dist/application/project-md-upsert-service.d.ts.map +1 -1
  58. package/dist/application/project-md-upsert-service.js +11 -56
  59. package/dist/application/project-md-upsert-service.js.map +1 -1
  60. package/dist/application/project-tab-data.d.ts +16 -42
  61. package/dist/application/project-tab-data.d.ts.map +1 -1
  62. package/dist/application/project-tab-data.js +28 -113
  63. package/dist/application/project-tab-data.js.map +1 -1
  64. package/dist/application/release-data/artifacts.d.ts +0 -2
  65. package/dist/application/release-data/artifacts.d.ts.map +1 -1
  66. package/dist/application/release-data/artifacts.js +22 -12
  67. package/dist/application/release-data/artifacts.js.map +1 -1
  68. package/dist/application/release-data/sessions.d.ts +0 -2
  69. package/dist/application/release-data/sessions.d.ts.map +1 -1
  70. package/dist/application/release-data/sessions.js +36 -27
  71. package/dist/application/release-data/sessions.js.map +1 -1
  72. package/dist/application/release-data-service.d.ts +0 -3
  73. package/dist/application/release-data-service.d.ts.map +1 -1
  74. package/dist/application/release-data-service.js +3 -21
  75. package/dist/application/release-data-service.js.map +1 -1
  76. package/dist/application/render/history-row.d.ts +1 -9
  77. package/dist/application/render/history-row.d.ts.map +1 -1
  78. package/dist/application/render/history-row.js +3 -20
  79. package/dist/application/render/history-row.js.map +1 -1
  80. package/dist/application/render/project-block.d.ts +2 -3
  81. package/dist/application/render/project-block.d.ts.map +1 -1
  82. package/dist/application/render/project-block.js +16 -26
  83. package/dist/application/render/project-block.js.map +1 -1
  84. package/dist/application/self/doctor-self.d.ts.map +1 -1
  85. package/dist/application/self/doctor-self.js +15 -8
  86. package/dist/application/self/doctor-self.js.map +1 -1
  87. package/dist/application/self/install-hooks.d.ts +1 -1
  88. package/dist/application/self/install-hooks.d.ts.map +1 -1
  89. package/dist/application/self/install-hooks.js +3 -2
  90. package/dist/application/self/install-hooks.js.map +1 -1
  91. package/dist/application/self/install-skill.d.ts +11 -3
  92. package/dist/application/self/install-skill.d.ts.map +1 -1
  93. package/dist/application/self/install-skill.js +65 -14
  94. package/dist/application/self/install-skill.js.map +1 -1
  95. package/dist/application/self/uninstall-skill.js +14 -12
  96. package/dist/application/self/uninstall-skill.js.map +1 -1
  97. package/dist/application/self/uninstall.d.ts +1 -1
  98. package/dist/application/self/uninstall.d.ts.map +1 -1
  99. package/dist/application/self/uninstall.js +39 -29
  100. package/dist/application/self/uninstall.js.map +1 -1
  101. package/dist/application/session-artifacts.d.ts +7 -6
  102. package/dist/application/session-artifacts.d.ts.map +1 -1
  103. package/dist/application/session-artifacts.js +10 -15
  104. package/dist/application/session-artifacts.js.map +1 -1
  105. package/dist/application/session-close-service.d.ts +5 -22
  106. package/dist/application/session-close-service.d.ts.map +1 -1
  107. package/dist/application/session-close-service.js +20 -143
  108. package/dist/application/session-close-service.js.map +1 -1
  109. package/dist/application/session-create-service.d.ts +9 -29
  110. package/dist/application/session-create-service.d.ts.map +1 -1
  111. package/dist/application/session-create-service.js +44 -288
  112. package/dist/application/session-create-service.js.map +1 -1
  113. package/dist/application/session-resolver.d.ts +4 -25
  114. package/dist/application/session-resolver.d.ts.map +1 -1
  115. package/dist/application/session-resolver.js +33 -149
  116. package/dist/application/session-resolver.js.map +1 -1
  117. package/dist/application/session-resume-service.d.ts +3 -4
  118. package/dist/application/session-resume-service.d.ts.map +1 -1
  119. package/dist/application/session-resume-service.js +8 -26
  120. package/dist/application/session-resume-service.js.map +1 -1
  121. package/dist/application/sessions-service.d.ts +2 -3
  122. package/dist/application/sessions-service.d.ts.map +1 -1
  123. package/dist/application/sessions-service.js +9 -26
  124. package/dist/application/sessions-service.js.map +1 -1
  125. package/dist/application/skill-index-service.d.ts +0 -2
  126. package/dist/application/skill-index-service.d.ts.map +1 -1
  127. package/dist/application/skill-index-service.js +0 -1
  128. package/dist/application/skill-index-service.js.map +1 -1
  129. package/dist/application/skills-resolver-service.d.ts +22 -0
  130. package/dist/application/skills-resolver-service.d.ts.map +1 -0
  131. package/dist/application/skills-resolver-service.js +71 -0
  132. package/dist/application/skills-resolver-service.js.map +1 -0
  133. package/dist/application/sources-service.d.ts +0 -5
  134. package/dist/application/sources-service.d.ts.map +1 -1
  135. package/dist/application/sources-service.js +5 -44
  136. package/dist/application/sources-service.js.map +1 -1
  137. package/dist/application/templates/session.d.ts +24 -0
  138. package/dist/application/templates/session.d.ts.map +1 -0
  139. package/dist/application/templates/session.js +46 -0
  140. package/dist/application/templates/session.js.map +1 -0
  141. package/dist/application/upgrade-hub-mode-service.d.ts.map +1 -1
  142. package/dist/application/upgrade-hub-mode-service.js +0 -1
  143. package/dist/application/upgrade-hub-mode-service.js.map +1 -1
  144. package/dist/application/workspace-init-service.d.ts +62 -0
  145. package/dist/application/workspace-init-service.d.ts.map +1 -0
  146. package/dist/application/workspace-init-service.js +228 -0
  147. package/dist/application/workspace-init-service.js.map +1 -0
  148. package/dist/cli/commands/check-branch.d.ts.map +1 -1
  149. package/dist/cli/commands/check-branch.js +0 -3
  150. package/dist/cli/commands/check-branch.js.map +1 -1
  151. package/dist/cli/commands/git-flow.d.ts +3 -0
  152. package/dist/cli/commands/git-flow.d.ts.map +1 -0
  153. package/dist/cli/commands/git-flow.js +50 -0
  154. package/dist/cli/commands/git-flow.js.map +1 -0
  155. package/dist/cli/commands/plugin-doctor.d.ts.map +1 -1
  156. package/dist/cli/commands/plugin-doctor.js +0 -3
  157. package/dist/cli/commands/plugin-doctor.js.map +1 -1
  158. package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
  159. package/dist/cli/commands/project-md-upsert.js +5 -31
  160. package/dist/cli/commands/project-md-upsert.js.map +1 -1
  161. package/dist/cli/commands/session-close.d.ts.map +1 -1
  162. package/dist/cli/commands/session-close.js +1 -33
  163. package/dist/cli/commands/session-close.js.map +1 -1
  164. package/dist/cli/commands/session-create.d.ts.map +1 -1
  165. package/dist/cli/commands/session-create.js +5 -21
  166. package/dist/cli/commands/session-create.js.map +1 -1
  167. package/dist/cli/commands/session-resume.js +1 -1
  168. package/dist/cli/commands/session-resume.js.map +1 -1
  169. package/dist/cli/commands/set-qa-branch.d.ts +3 -0
  170. package/dist/cli/commands/set-qa-branch.d.ts.map +1 -0
  171. package/dist/cli/commands/set-qa-branch.js +34 -0
  172. package/dist/cli/commands/set-qa-branch.js.map +1 -0
  173. package/dist/cli/commands/set-working-branch.d.ts +3 -0
  174. package/dist/cli/commands/set-working-branch.d.ts.map +1 -0
  175. package/dist/cli/commands/set-working-branch.js +34 -0
  176. package/dist/cli/commands/set-working-branch.js.map +1 -0
  177. package/dist/cli/commands/skill-index.d.ts.map +1 -1
  178. package/dist/cli/commands/skill-index.js +0 -3
  179. package/dist/cli/commands/skill-index.js.map +1 -1
  180. package/dist/cli/commands/skills.d.ts +3 -0
  181. package/dist/cli/commands/skills.d.ts.map +1 -0
  182. package/dist/cli/commands/skills.js +10 -0
  183. package/dist/cli/commands/skills.js.map +1 -0
  184. package/dist/cli/commands/sources.d.ts.map +1 -1
  185. package/dist/cli/commands/sources.js +0 -3
  186. package/dist/cli/commands/sources.js.map +1 -1
  187. package/dist/cli/commands/workspace-init.d.ts +3 -0
  188. package/dist/cli/commands/workspace-init.d.ts.map +1 -0
  189. package/dist/cli/commands/workspace-init.js +71 -0
  190. package/dist/cli/commands/workspace-init.js.map +1 -0
  191. package/dist/cli/help-groups.d.ts.map +1 -1
  192. package/dist/cli/help-groups.js +10 -19
  193. package/dist/cli/help-groups.js.map +1 -1
  194. package/dist/cli/interactive-menu.d.ts +1 -1
  195. package/dist/cli/interactive-menu.d.ts.map +1 -1
  196. package/dist/cli/main.js +33 -37
  197. package/dist/cli/main.js.map +1 -1
  198. package/dist/cli/parser.d.ts +0 -2
  199. package/dist/cli/parser.d.ts.map +1 -1
  200. package/dist/cli/parser.js +6 -13
  201. package/dist/cli/parser.js.map +1 -1
  202. package/dist/cli/tui/app.js +3 -38
  203. package/dist/cli/tui/app.js.map +1 -1
  204. package/dist/cli/tui/components/git-flow-actions.d.ts +22 -0
  205. package/dist/cli/tui/components/git-flow-actions.d.ts.map +1 -0
  206. package/dist/cli/tui/components/git-flow-actions.js +0 -0
  207. package/dist/cli/tui/components/git-flow-actions.js.map +1 -0
  208. package/dist/cli/tui/components/hub-init-alias.js +1 -1
  209. package/dist/cli/tui/components/hub-init-alias.js.map +1 -1
  210. package/dist/cli/tui/components/hub-init-form.d.ts.map +1 -1
  211. package/dist/cli/tui/components/hub-init-form.js +13 -12
  212. package/dist/cli/tui/components/hub-init-form.js.map +1 -1
  213. package/dist/cli/tui/components/workspace-init-alias.d.ts +5 -0
  214. package/dist/cli/tui/components/workspace-init-alias.d.ts.map +1 -0
  215. package/dist/cli/tui/components/workspace-init-alias.js +19 -0
  216. package/dist/cli/tui/components/workspace-init-alias.js.map +1 -0
  217. package/dist/cli/tui/components/workspace-init-form.d.ts +13 -0
  218. package/dist/cli/tui/components/workspace-init-form.d.ts.map +1 -0
  219. package/dist/cli/tui/components/workspace-init-form.js +87 -0
  220. package/dist/cli/tui/components/workspace-init-form.js.map +1 -0
  221. package/dist/cli/tui/data/activity.d.ts +1 -1
  222. package/dist/cli/tui/data/activity.d.ts.map +1 -1
  223. package/dist/cli/tui/data/activity.js +2 -2
  224. package/dist/cli/tui/data/activity.js.map +1 -1
  225. package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
  226. package/dist/cli/tui/data/workflow-content.js +67 -87
  227. package/dist/cli/tui/data/workflow-content.js.map +1 -1
  228. package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
  229. package/dist/cli/tui/tabs/project-tab.js +49 -105
  230. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  231. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  232. package/dist/cli/tui/tabs/skills-tab.js +7 -7
  233. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  234. package/dist/cli/tui/tabs/workflow-tab.d.ts +1 -3
  235. package/dist/cli/tui/tabs/workflow-tab.d.ts.map +1 -1
  236. package/dist/cli/tui/tabs/workflow-tab.js +2 -2
  237. package/dist/cli/tui/tabs/workflow-tab.js.map +1 -1
  238. package/dist/cli/types.d.ts +3 -0
  239. package/dist/cli/types.d.ts.map +1 -1
  240. package/dist/domain/plugin.d.ts +2 -12
  241. package/dist/domain/plugin.d.ts.map +1 -1
  242. package/dist/domain/project.d.ts +0 -9
  243. package/dist/domain/project.d.ts.map +1 -1
  244. package/dist/domain/session.d.ts +7 -24
  245. package/dist/domain/session.d.ts.map +1 -1
  246. package/dist/domain/skills.d.ts +22 -0
  247. package/dist/domain/skills.d.ts.map +1 -0
  248. package/dist/domain/skills.js +37 -0
  249. package/dist/domain/skills.js.map +1 -0
  250. package/dist/domain/types.d.ts +6 -2
  251. package/dist/domain/types.d.ts.map +1 -1
  252. package/dist/index.d.ts +4 -4
  253. package/dist/index.d.ts.map +1 -1
  254. package/dist/index.js.map +1 -1
  255. package/dist/ports/git.d.ts +17 -0
  256. package/dist/ports/git.d.ts.map +1 -1
  257. package/dist/runtime/config-service.js +1 -1
  258. package/dist/runtime/config-service.js.map +1 -1
  259. package/dist/runtime/types.d.ts +0 -1
  260. package/dist/runtime/types.d.ts.map +1 -1
  261. package/dist/runtime/types.js.map +1 -1
  262. package/package.json +12 -3
  263. package/skills/w/README.md +65 -0
  264. package/skills/w/SKILL.md +153 -0
  265. package/skills/w/artifacts/README.md +60 -0
  266. package/skills/w/artifacts/artifacts-core/BACKLOG.md +12 -0
  267. package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +22 -0
  268. package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +39 -0
  269. package/skills/w/artifacts/artifacts-core/SESSION.md +27 -0
  270. package/skills/w/artifacts/artifacts-core/TASKS.md +18 -0
  271. package/skills/w/artifacts/artifacts-dev/DECISION.md +11 -0
  272. package/skills/w/artifacts/artifacts-dev/TECHNICAL-NOTE.md +81 -0
  273. package/skills/w/artifacts/artifacts-research/ANALYSIS-FILE.md +48 -0
  274. package/skills/w/artifacts/artifacts-research/CONCLUSIONS.md +20 -0
  275. package/skills/w/commands/README.md +116 -0
  276. package/skills/w/commands/export-diagrams.md +35 -0
  277. package/skills/w/commands/export-manuals.md +35 -0
  278. package/skills/w/commands/export-reports.md +35 -0
  279. package/skills/w/commands/export-scripts.md +35 -0
  280. package/skills/w/commands/plan-exec.md +46 -0
  281. package/skills/w/commands/plan-new.md +44 -0
  282. package/skills/w/commands/quick.md +39 -0
  283. package/skills/w/commands/spec-new.md +63 -0
  284. package/skills/w/commands/spec-refine.md +41 -0
  285. package/skills/w/commands/workspace-init.md +39 -0
  286. package/skills/w/exports/README.md +88 -0
  287. package/skills/w/exports/export-diagrams/SKILL.md +125 -0
  288. package/skills/w/exports/export-manuals/SKILL.md +127 -0
  289. package/skills/w/exports/export-reports/SKILL.md +115 -0
  290. package/skills/w/exports/export-scripts/SKILL.md +135 -0
  291. package/skills/w/hooks/README.md +15 -0
  292. package/skills/{agent-workflow → w}/hooks/hooks.template.json +2 -2
  293. package/skills/w/loops/README.md +118 -0
  294. package/skills/w/loops/plan-exec-loop/SKILL.md +161 -0
  295. package/skills/w/loops/plan-new-loop/SKILL.md +97 -0
  296. package/skills/w/loops/quick-loop/SKILL.md +102 -0
  297. package/skills/w/loops/spec-refine-loop/SKILL.md +222 -0
  298. package/skills/w/roles/README.md +154 -0
  299. package/skills/w/roles/coding-standards/SKILL.md +82 -0
  300. package/skills/w/roles/diagrams/SKILL.md +248 -0
  301. package/skills/w/roles/git/SKILL.md +98 -0
  302. package/skills/w/roles/research/SKILL.md +181 -0
  303. package/skills/w/roles/sql/SKILL.md +137 -0
  304. package/skills/w/roles/testing/SKILL.md +180 -0
  305. package/skills/w/roles/tools/SKILL.md +148 -0
  306. package/skills/w/roles/ui-spec/SKILL.md +136 -0
  307. package/skills/w/roles/writing/SKILL.md +90 -0
  308. package/skills/agent-workflow/LICENSE +0 -661
  309. package/skills/agent-workflow/MANUAL-FUNCIONAL.md +0 -298
  310. package/skills/agent-workflow/MANUAL-TECNICO.md +0 -271
  311. package/skills/agent-workflow/README.md +0 -74
  312. package/skills/agent-workflow/SKILL.md +0 -112
  313. package/skills/agent-workflow/commands/README.md +0 -26
  314. package/skills/agent-workflow/commands/compact.md +0 -24
  315. package/skills/agent-workflow/commands/doctor.md +0 -100
  316. package/skills/agent-workflow/commands/export-arq.md +0 -77
  317. package/skills/agent-workflow/commands/export-conclusions.md +0 -78
  318. package/skills/agent-workflow/commands/export-plan.md +0 -74
  319. package/skills/agent-workflow/commands/export-qa-note.md +0 -30
  320. package/skills/agent-workflow/commands/export-report.md +0 -78
  321. package/skills/agent-workflow/commands/export-requirement.md +0 -30
  322. package/skills/agent-workflow/commands/export-scripts.md +0 -82
  323. package/skills/agent-workflow/commands/export-tech-manuals.md +0 -75
  324. package/skills/agent-workflow/commands/export-tech-note.md +0 -30
  325. package/skills/agent-workflow/commands/hub-init.md +0 -58
  326. package/skills/agent-workflow/commands/migrate.md +0 -56
  327. package/skills/agent-workflow/commands/patch.md +0 -49
  328. package/skills/agent-workflow/commands/project-init.md +0 -60
  329. package/skills/agent-workflow/commands/resume.md +0 -22
  330. package/skills/agent-workflow/commands/rules.md +0 -41
  331. package/skills/agent-workflow/commands/session.md +0 -35
  332. package/skills/agent-workflow/docs/TEST-PLAN.md +0 -163
  333. package/skills/agent-workflow/doctrine/README.md +0 -15
  334. package/skills/agent-workflow/doctrine/compact/SKILL.md +0 -145
  335. package/skills/agent-workflow/doctrine/doctor/SKILL.md +0 -86
  336. package/skills/agent-workflow/doctrine/hub-init/SKILL.md +0 -77
  337. package/skills/agent-workflow/doctrine/hub-init/references/multiroot-manual.md +0 -51
  338. package/skills/agent-workflow/doctrine/implement/SKILL.md +0 -290
  339. package/skills/agent-workflow/doctrine/implement/references/branch-verification.md +0 -16
  340. package/skills/agent-workflow/doctrine/implement/references/design-md-template.md +0 -108
  341. package/skills/agent-workflow/doctrine/implement/references/rollback-guide.md +0 -83
  342. package/skills/agent-workflow/doctrine/migrate/SKILL.md +0 -281
  343. package/skills/agent-workflow/doctrine/project-init/SKILL.md +0 -100
  344. package/skills/agent-workflow/doctrine/refactor/SKILL.md +0 -208
  345. package/skills/agent-workflow/doctrine/refactor/references/refactor-md-template.md +0 -108
  346. package/skills/agent-workflow/doctrine/refactor/references/strangler-checklist.md +0 -116
  347. package/skills/agent-workflow/doctrine/resume/SKILL.md +0 -199
  348. package/skills/agent-workflow/doctrine/rules/SKILL.md +0 -250
  349. package/skills/agent-workflow/doctrine/session/SKILL.md +0 -471
  350. package/skills/agent-workflow/doctrine/session/references/auto-plan-rules.md +0 -63
  351. package/skills/agent-workflow/doctrine/session/references/backlog-template.md +0 -95
  352. package/skills/agent-workflow/doctrine/session/references/branch-verification.md +0 -198
  353. package/skills/agent-workflow/doctrine/session/references/commits-policy.md +0 -111
  354. package/skills/agent-workflow/doctrine/session/references/communication-style.md +0 -50
  355. package/skills/agent-workflow/doctrine/session/references/graduacion-routing.md +0 -88
  356. package/skills/agent-workflow/doctrine/session/references/lifecycle-deep.md +0 -160
  357. package/skills/agent-workflow/doctrine/session/references/prompts/C1-specialty-selection.md +0 -11
  358. package/skills/agent-workflow/doctrine/session/references/prompts/C2-cost-guard.md +0 -14
  359. package/skills/agent-workflow/doctrine/session/references/prompts/M1-closure-commit-prompt.md +0 -104
  360. package/skills/agent-workflow/doctrine/session/references/prompts/M10-next-step.md +0 -17
  361. package/skills/agent-workflow/doctrine/session/references/prompts/M11-context.md +0 -16
  362. package/skills/agent-workflow/doctrine/session/references/prompts/M13-closure-cleanup.md +0 -61
  363. package/skills/agent-workflow/doctrine/session/references/prompts/M2-branch-caso-A.md +0 -14
  364. package/skills/agent-workflow/doctrine/session/references/prompts/M3-branch-caso-C.md +0 -33
  365. package/skills/agent-workflow/doctrine/session/references/prompts/M4-cross-source-hard-gate.md +0 -33
  366. package/skills/agent-workflow/doctrine/session/references/prompts/M5-modality-analyze.md +0 -15
  367. package/skills/agent-workflow/doctrine/session/references/prompts/M6-phase-gate.md +0 -31
  368. package/skills/agent-workflow/doctrine/session/references/prompts/M7-refactor-legacy-detected.md +0 -28
  369. package/skills/agent-workflow/doctrine/session/references/prompts/M8-refactor-cleanup.md +0 -16
  370. package/skills/agent-workflow/doctrine/session/references/prompts/M9-contract-review.md +0 -39
  371. package/skills/agent-workflow/doctrine/session/references/prompts/S1-type-design.md +0 -15
  372. package/skills/agent-workflow/doctrine/session/references/prompts/S2-topic-change-detection.md +0 -14
  373. package/skills/agent-workflow/doctrine/session/references/prompts/S3-flow-detection.md +0 -28
  374. package/skills/agent-workflow/doctrine/session/references/prompts/S4-resume.md +0 -27
  375. package/skills/agent-workflow/doctrine/session/references/prompts/S5-post-compact.md +0 -17
  376. package/skills/agent-workflow/doctrine/session/references/prompts/S6-scope.md +0 -16
  377. package/skills/agent-workflow/doctrine/session/references/prompts/S7-design-review.md +0 -37
  378. package/skills/agent-workflow/doctrine/session/references/prompts-catalog.md +0 -213
  379. package/skills/agent-workflow/doctrine/session/references/sandbox-readonly-rules.md +0 -82
  380. package/skills/agent-workflow/doctrine/session/references/specialty-decision-tree.md +0 -56
  381. package/skills/agent-workflow/doctrine/session/references/topic-change-rules.md +0 -67
  382. package/skills/agent-workflow/exports/README.md +0 -15
  383. package/skills/agent-workflow/exports/export-arq/SKILL.md +0 -229
  384. package/skills/agent-workflow/exports/export-arq/references/lexico-tecnico.md +0 -94
  385. package/skills/agent-workflow/exports/export-arq/references/template-c4.md +0 -293
  386. package/skills/agent-workflow/exports/export-arq/references/template-plantuml.puml +0 -77
  387. package/skills/agent-workflow/exports/export-arq/references/template-structurizr.dsl +0 -72
  388. package/skills/agent-workflow/exports/export-arq/references/validations.md +0 -231
  389. package/skills/agent-workflow/exports/export-conclusions/SKILL.md +0 -169
  390. package/skills/agent-workflow/exports/export-conclusions/references/dedup-rules.md +0 -154
  391. package/skills/agent-workflow/exports/export-conclusions/references/template-conclusions.md +0 -158
  392. package/skills/agent-workflow/exports/export-plan/SKILL.md +0 -225
  393. package/skills/agent-workflow/exports/export-plan/references/state-transitions.md +0 -141
  394. package/skills/agent-workflow/exports/export-plan/references/template-plan.md +0 -132
  395. package/skills/agent-workflow/exports/export-qa-note/SKILL.md +0 -31
  396. package/skills/agent-workflow/exports/export-report/SKILL.md +0 -262
  397. package/skills/agent-workflow/exports/export-report/references/lexico.md +0 -174
  398. package/skills/agent-workflow/exports/export-report/references/template-a.md +0 -95
  399. package/skills/agent-workflow/exports/export-report/references/template-b.md +0 -221
  400. package/skills/agent-workflow/exports/export-report/references/template-c.md +0 -180
  401. package/skills/agent-workflow/exports/export-report/references/validations.md +0 -255
  402. package/skills/agent-workflow/exports/export-requirement/SKILL.md +0 -31
  403. package/skills/agent-workflow/exports/export-scripts/SKILL.md +0 -211
  404. package/skills/agent-workflow/exports/export-scripts/references/code-scan-recommendations.md +0 -83
  405. package/skills/agent-workflow/exports/export-scripts/references/deprecation-plan.md +0 -80
  406. package/skills/agent-workflow/exports/export-scripts/references/lexico-tecnico.md +0 -47
  407. package/skills/agent-workflow/exports/export-scripts/references/manifest-template.md +0 -265
  408. package/skills/agent-workflow/exports/export-scripts/references/readme-template.md +0 -49
  409. package/skills/agent-workflow/exports/export-scripts/references/theme-handling.md +0 -141
  410. package/skills/agent-workflow/exports/export-scripts/references/validations.md +0 -69
  411. package/skills/agent-workflow/exports/export-tech-manuals/SKILL.md +0 -214
  412. package/skills/agent-workflow/exports/export-tech-manuals/references/lexico-tecnico.md +0 -97
  413. package/skills/agent-workflow/exports/export-tech-manuals/references/template-index.md +0 -123
  414. package/skills/agent-workflow/exports/export-tech-manuals/references/template-manual.md +0 -143
  415. package/skills/agent-workflow/exports/export-tech-manuals/references/validations.md +0 -211
  416. package/skills/agent-workflow/exports/export-tech-note/SKILL.md +0 -31
  417. package/skills/agent-workflow/hooks/README.md +0 -15
  418. package/skills/agent-workflow/references/README.md +0 -12
  419. package/skills/agent-workflow/references/checkpoint.md +0 -59
  420. package/skills/agent-workflow/references/dev-only.md +0 -50
  421. package/skills/agent-workflow/references/doctor.md +0 -61
  422. package/skills/agent-workflow/references/history.md +0 -40
  423. package/skills/agent-workflow/references/hooks.md +0 -35
  424. package/skills/agent-workflow/references/legacy-anchors.md +0 -50
  425. package/skills/agent-workflow/references/mcp.md +0 -34
  426. package/skills/agent-workflow/references/objetivo-tasks.md +0 -64
  427. package/skills/agent-workflow/references/orchestration.md +0 -86
  428. package/skills/agent-workflow/references/profile-parametrization.md +0 -88
  429. package/skills/agent-workflow/references/self.md +0 -68
  430. package/skills/agent-workflow/references/session-mgmt.md +0 -109
  431. package/skills/agent-workflow/references/sources.md +0 -102
  432. package/skills/agent-workflow/specialties/README.md +0 -14
  433. package/skills/agent-workflow/specialties/analyze-conclude/SKILL.md +0 -181
  434. package/skills/agent-workflow/specialties/analyze-conclude/references/incident-classification.md +0 -61
  435. package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md +0 -148
  436. package/skills/agent-workflow/specialties/analyze-investigate/references/cost-guard.md +0 -85
  437. package/skills/agent-workflow/specialties/analyze-synthesize/SKILL.md +0 -127
  438. package/skills/agent-workflow/specialties/design-brief/SKILL.md +0 -90
  439. package/skills/agent-workflow/specialties/design-deliver/SKILL.md +0 -121
  440. package/skills/agent-workflow/specialties/design-develop/SKILL.md +0 -115
  441. package/skills/agent-workflow/specialties/design-discover/SKILL.md +0 -103
  442. package/skills/agent-workflow/standards/README.md +0 -12
  443. package/skills/agent-workflow/standards/coding-standards/SKILL.md +0 -102
  444. package/skills/agent-workflow/standards/coding-standards/references/angular-typescript.md +0 -266
  445. package/skills/agent-workflow/standards/coding-standards/references/database-conventions.md +0 -170
  446. package/skills/agent-workflow/standards/coding-standards/references/fe-be-integration.md +0 -300
  447. package/skills/agent-workflow/standards/coding-standards/references/frontend-structure.md +0 -182
  448. package/skills/agent-workflow/standards/coding-standards/references/java-spring.md +0 -244
  449. package/skills/agent-workflow/standards/coding-standards/references/project-structure.md +0 -197
  450. package/skills/agent-workflow/standards/frontend-design/SKILL.md +0 -62
  451. package/skills/agent-workflow/standards/frontend-design/references/feedback-toasts-patterns.md +0 -249
  452. package/skills/agent-workflow/standards/frontend-design/references/form-patterns.md +0 -278
  453. package/skills/agent-workflow/standards/frontend-design/references/list-patterns.md +0 -256
  454. package/skills/agent-workflow/standards/frontend-design/references/modal-patterns.md +0 -220
  455. package/skills/agent-workflow/standards/frontend-design/references/navigation-patterns.md +0 -224
  456. package/skills/agent-workflow/standards/redaccion-simple/SKILL.md +0 -128
  457. package/skills/agent-workflow/standards/sql-rollback-generator/SKILL.md +0 -158
  458. package/skills/agent-workflow/standards/sql-rollback-generator/references/irreversible-checklist.md +0 -161
  459. package/skills/agent-workflow/standards/sql-rollback-generator/references/release-rollback.md +0 -133
  460. package/skills/agent-workflow/standards/sql-rollback-generator/references/rollback-patterns.md +0 -257
  461. package/skills/agent-workflow/standards/sql-script-organizer/SKILL.md +0 -243
  462. package/skills/agent-workflow/standards/sql-script-organizer/references/bundle-readme-template.md +0 -82
  463. package/skills/agent-workflow/standards/sql-script-organizer/references/categorization-rules.md +0 -122
  464. package/skills/agent-workflow/standards/sql-script-organizer/references/consolidation-cross-session.md +0 -125
  465. package/skills/agent-workflow/standards/sql-script-organizer/references/scripts-sql-format.md +0 -140
  466. package/skills/agent-workflow/standards/testing-strategy/SKILL.md +0 -113
  467. package/skills/agent-workflow/standards/testing-strategy/references/test-levels.md +0 -255
  468. package/skills/agent-workflow/workflows/README.md +0 -12
  469. package/skills/agent-workflow/workflows/analyze-workflow/SKILL.md +0 -94
  470. package/skills/agent-workflow/workflows/design-workflow/SKILL.md +0 -79
  471. package/skills/agent-workflow/workflows/dev-workflow/SKILL.md +0 -172
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # @tacuchi/agent-workflow-cli
2
2
 
3
- Agnostic runtime CLI for session-lifecycle workflows. Bundles the universal `agent-workflow` skill (35 skills + 17 commands + 7 hooks template) and supports multi-empresa parametrization via `profile.json` cascade. Pairs with optional company-specific plugins for legacy aliases.
3
+ Agnostic runtime CLI for AI development workflows. Bundles the universal **`w`** skill set a **stages + loops + artifacts** harness and pairs with optional company-specific plugins for multi-empresa parametrization.
4
+
5
+ The CLI exposes two binaries: `agent-workflow` (canonical) and `aw` (short alias).
4
6
 
5
7
  ## Install
6
8
 
@@ -8,129 +10,84 @@ Agnostic runtime CLI for session-lifecycle workflows. Bundles the universal `age
8
10
  npm install -g @tacuchi/agent-workflow-cli
9
11
  ```
10
12
 
11
- The CLI exposes two binaries: `agent-workflow` (canonical) and `aw` (short alias).
13
+ ## The model stages + loops + artifacts
12
14
 
13
- ## Bundled SKILL (v7.0.0+)
15
+ The harness has three layers plus a permanent `docs/` zone:
14
16
 
15
- The published tarball bundles the universal `agent-workflow` SKILL under `skills/agent-workflow/`. Install it into your host's skill directory with `--target` (obligatorio desde v7.0.0):
17
+ - **Layer 1 · Commands** (`/w:*`) the only thing the user invokes:
18
+ - **SPEC** — `/w:spec-new` (single-pass draft) → `/w:spec-refine` (gap-driven loop) → `docs/specs/`.
19
+ - **PLANIFICATION** — `/w:plan-new` → `/w:plan-exec` → `docs/plans/` + `docs/tools/`.
20
+ - **QUICK** — `/w:quick` — lightweight shortcut.
21
+ - **EXPORTS** — `/w:export-scripts` · `export-manuals` · `export-diagrams` · `export-reports` (the only path that promotes artifacts to `docs/`).
22
+ - **Bootstrap** — `/w:workspace-init` turns any folder into a workspace (1+ sources; no project/hub distinction).
23
+ - **Layer 2 · Loops** — the AI runs them whole: `spec-refine-loop` (chassis) · `plan-new-loop` · `plan-exec-loop` · `quick-loop`. Gap-driven, with `AskUserQuestion` lifecycle control (compact/close) and resumable `CHECKPOINT`.
24
+ - **Layer 3 · Sessions + artifacts** — internal, ephemeral process state under `.workflow/sessions/` (`SESSION` · `CHECKPOINT` · `BACKLOG` · `SCRIPTS.sql` · `ANALYSIS-FILE` · `CONCLUSIONS` · `DECISION` · …). Sessions are slug-named folders, created by loops, never by the user.
16
25
 
17
- ```bash
18
- # Specific host (alias 'install' = 'install-skill' desde v7.0.3)
19
- agent-workflow self install --target claude
20
- agent-workflow self install --target codex
21
- agent-workflow self install --target warp
26
+ **Pluggable capabilities.** Loops compose capability **roles** (`ui-design`, `sql`, `git`, `coding-standards`, `writing`, `research`, `testing`, `tools`, `diagrams`, `overview`); the concrete skill bound to each role is resolved via `.workflow/skills.toml` (cascade: built-in default → `~/.workflow/skills.toml` → workspace). Inspect bindings with `aw skills`.
27
+
28
+ **Invariants.** No auto-export (only `export-*` writes `docs/`); the spec and plan are documents, not artifacts; DB scripts-only (never executes DML/DDL); git-safe (verifies the per-source working branch before edits; proposes commits).
29
+
30
+ ## Bundled SKILL
31
+
32
+ The published tarball bundles the universal skill set under `skills/w/`. Install it into your host with `--target` (required):
22
33
 
23
- # All detected hosts (requires --confirm-all)
34
+ ```bash
35
+ agent-workflow self install --target claude # or: codex · warp · oz · agents
24
36
  agent-workflow self install --target all --confirm-all
37
+ agent-workflow self detect-hosts # which hosts are present + already have it
38
+ agent-workflow self install --target claude --dry-run
25
39
  ```
26
40
 
27
- By default, the CLI clears any plugin cache for the target host before installing. Opt out with `--keep-cache`.
41
+ By default the CLI clears the target host's plugin cache before installing (opt out with `--keep-cache`) and removes legacy artifacts from a prior `agent-workflow`-named install — the old SKILL and the stale `/agent-workflow:*` slash commands (keep them with `--keep-legacy`).
28
42
 
29
43
  ### Per-target install matrix
30
44
 
31
- Since v7.0.2+v7.0.4, `self install --target <host>` installs **SKILL + user-level slash commands + hooks** in a single shot. The full set varies per host based on what the host supports:
45
+ `self install --target <host>` installs **SKILL + user-level slash commands + hooks** in one shot, scaled to what the host supports:
32
46
 
33
- | Host | SKILL | User-level commands (`/agent-workflow:*`) | Hooks |
47
+ | Host | SKILL | User-level commands (`/w:*`) | Hooks |
34
48
  |---|---|---|---|
35
- | `claude` | `~/.claude/skills/agent-workflow/` | `~/.claude/commands/agent-workflow/<n>.md` | `~/.claude/settings.json` (JSON merge + backup) |
36
- | `codex` | `~/.codex/skills/agent-workflow/` | `~/.codex/commands/agent-workflow/<n>.md` | skipped (config.toml format not yet wired) |
37
- | `warp` | `~/.warp/skills/agent-workflow/` | skipped (uses rules/notebooks, not slash commands — DEC-W3) | skipped (no hook system — DEC-W4) |
38
- | `oz` | `~/.agents/skills/agent-workflow/` | skipped (same as Warp) | skipped (same as Warp) |
39
- | `agents` | `~/.agents/skills/agent-workflow/` | skipped | skipped |
40
-
41
- For hosts where a layer is skipped, the SKILL is sufficient — the AI reads the SKILL contents and invokes CLI commands directly via `agent-workflow <subcommand>`.
49
+ | `claude` | `~/.claude/skills/w/` | `~/.claude/commands/w/<n>.md` | `~/.claude/settings.json` (JSON merge + backup) |
50
+ | `codex` | `~/.codex/skills/w/` | `~/.codex/commands/w/<n>.md` | skipped (config.toml not yet wired) |
51
+ | `warp` | `~/.warp/skills/w/` | skipped (uses rules/notebooks) | skipped (no hook system) |
52
+ | `oz` | `~/.agents/skills/w/` | skipped | skipped |
53
+ | `agents` | `~/.agents/skills/w/` | skipped | skipped |
42
54
 
43
- Opt-out flags for granular control:
44
-
45
- - `--skill-only` → only the SKILL (legacy v7.0.0/v7.0.1 behavior).
46
- - `--no-commands` → SKILL + hooks, no user commands.
47
- - `--no-hooks` → SKILL + commands, no hooks merge.
48
-
49
- ```bash
50
- # Detect which hosts are present + which already have the SKILL
51
- agent-workflow self detect-hosts
55
+ For hosts where a layer is skipped, the SKILL is sufficient — the AI reads it and invokes `agent-workflow <subcommand>` directly.
52
56
 
53
- # Install hooks separately (claude only for now)
54
- agent-workflow self install-hooks --target claude
55
-
56
- # Dry-run
57
- agent-workflow self install --target claude --dry-run
58
- ```
57
+ Opt-out flags: `--skill-only`, `--no-commands`, `--no-hooks`. Override the source with `--from /path/to/skills/w`. Other flags: `--confirm-all` (required with `--target all`), `--keep-cache`, `--force`, `--dry-run`.
59
58
 
60
59
  ## Multi-empresa via profile.json
61
60
 
62
- The universal SKILL reads a `profile.json` to parametrize 10 sensitive skills (project-init, hub-init, doctor, migrate, rules, analyze-investigate, coding-standards, export-arq, export-report, refactor). Profile resolution cascade (highest precedence first):
61
+ A `profile.json` parametrizes the bundled skills for a company (namespace, lexicon, MCP databases, custom anchors). Resolution cascade (highest precedence first):
63
62
 
64
- 1. `--profile <path>` flag (explicit)
63
+ 1. `--profile <path>` flag
65
64
  2. `AW_PROFILE` env var
66
65
  3. `~/.config/agent-workflow/profile.json` (user-level)
67
66
  4. `<cwd>/.<namespace>/profile.json` (workspace-level)
68
- 5. Embedded `DEFAULT_PROFILE` (8 fields with agnostic defaults)
69
-
70
- Schema (8 fields): `namespace` (kebab) · `company` · `claude_md_block` (`[A-Z][A-Z0-9_-]*`) · `mcp_databases[]` · `lexicon_path` · `examples_path` · `migrate_legacy_rules[]` · `custom_anchors[]`. See `skills/agent-workflow/references/profile-parametrization.md` for the per-skill contract.
71
-
72
- Example profile (replace `acme` with your company namespace):
73
-
74
- ```json
75
- {
76
- "namespace": "acme",
77
- "company": "Acme Corp",
78
- "claude_md_block": "ACME-PROJECT",
79
- "mcp_databases": [
80
- { "alias": "acme-stage", "host": "10.0.0.10", "port": 5432, "database": "acme_stage" },
81
- { "alias": "acme-prod", "host": "10.0.0.11", "port": 5432, "database": "acme_prod" }
82
- ],
83
- "lexicon_path": "profiles/lexico-acme.md",
84
- "examples_path": "profiles/examples-acme.md",
85
- "migrate_legacy_rules": [
86
- { "from": ".claude/sessions", "to": ".workflow/sessions", "scope": "anchor" }
87
- ],
88
- "custom_anchors": [
89
- { "anchor": "acme:super-admin-bypass", "target": "profiles/anchors/acme-super-admin-bypass.md" }
90
- ]
91
- }
92
- ```
93
-
94
- Companion plugins package this profile + optional legacy aliases + custom skills. The QTC plugin (`qtc-workflow-plugin@v4.0.0+`) is a reference implementation.
95
-
96
- ### Override the source
67
+ 5. Embedded `DEFAULT_PROFILE` (agnostic defaults)
97
68
 
98
- Power users who want a specific revision can pass `--from`:
99
-
100
- ```bash
101
- # Copy from a local checkout (skill development)
102
- agent-workflow self install-skill --target claude --from /path/to/agent-workflow-cli/skills/agent-workflow
103
- ```
104
-
105
- Flags:
106
-
107
- - `--target <claude|codex|warp|oz|agents|all>` — obligatorio.
108
- - `--confirm-all` — required when `--target all`.
109
- - `--keep-cache` — skip the automatic plugin cache clear before install.
110
- - `--force` — overwrite existing destination.
111
- - `--dry-run` — preview without writing.
69
+ Companion plugins package this profile + optional custom skills.
112
70
 
113
71
  ## Namespace resolution
114
72
 
115
- Resolution order (first match wins):
116
-
117
- 1. `--namespace <name>` flag.
118
- 2. `AW_NAMESPACE` env var.
119
- 3. **Workspace auto-detect** (v1.2.0+): scan cwd for hidden folders matching `^\.[a-z][a-z0-9-]{1,30}$` containing a `sessions/` subdirectory. If exactly one match, use it.
120
- 4. `~/.config/agent-workflow/namespace` user config.
121
- 5. Default: `agent-workflow`.
73
+ Workspace artifacts live under `.<namespace>/`. Resolution order (first match wins):
122
74
 
123
- For plugin workspaces with a single `.<namespace>/sessions/` directory, the CLI auto-detects the namespace without configuration.
75
+ 1. `--namespace <name>` flag
76
+ 2. `AW_NAMESPACE` env var
77
+ 3. **Workspace auto-detect** — a single hidden `^\.[a-z][a-z0-9-]{1,30}$` folder in cwd containing `sessions/`
78
+ 4. `~/.config/agent-workflow/namespace` user config
79
+ 5. Default: `workflow` (→ `.workflow/`)
124
80
 
125
81
  ## Commands (selected)
126
82
 
127
- - `sessions` / `session-create` / `session-close` / `session-resume` / `session-artifacts` session lifecycle.
128
- - `checkpoint-read` / `checkpoint-write` CHECKPOINT.md handling.
129
- - `plugin-doctor` — plugin health check.
130
- - `auto-plan-decide` — heuristic for skip/lite/full planning.
131
- - `topic-change-check` — detect when an OBJETIVO drifts.
132
- - `release-data` / `graduate`release/handoff helpers.
133
- - `self install-skill` / `self namespace` / `self doctor` / `self update` — CLI maintenance.
83
+ - `workspace-init` scaffold a workspace (`.workflow/` + `docs/` taxonomy + WORKSPACE block + `skills.toml`).
84
+ - `skills` show resolved capability → skill bindings.
85
+ - `sessions` / `session-create --type <research|refine|exec|quick>` / `session-close` / `session-resume` / `session-artifacts` internal session lifecycle (used by the loops).
86
+ - `checkpoint-read` / `checkpoint-write` — `CHECKPOINT.md` handling.
87
+ - `sources` / `check-branch` / `set-working-branch` / `set-qa-branch` multi-source git-safety (per-source base / working / QA branches).
88
+ - `git-flow <sync|to-qa|to-prod> [--source|--all] [--target] [--dry-run]` — run the per-source branch flows (sync working ← base, promote to QA, promote to prod) with conflict-pause; also surfaced as Project-tab actions.
89
+ - `release-data` corpus reader backing the `export-*` skills.
90
+ - `self install-skill` / `self doctor` / `self update` / `mcp` — CLI maintenance.
134
91
 
135
92
  Run `agent-workflow --help` (or `aw --help`) for the full list, or `agent-workflow <command> --help` for per-command flags.
136
93
 
@@ -1,4 +1,4 @@
1
- import type { DiffNumstatEntry, GitPort } from "../ports/git.js";
1
+ import type { DiffNumstatEntry, GitPort, MergeResult } from "../ports/git.js";
2
2
  import type { ProcessPort } from "../ports/process.js";
3
3
  export declare class GitCliAdapter implements GitPort {
4
4
  private readonly process;
@@ -9,5 +9,11 @@ export declare class GitCliAdapter implements GitPort {
9
9
  changedFiles(repoPath: string): Promise<string[]>;
10
10
  log(args: string[], repoPath: string): Promise<string>;
11
11
  diffNumstat(repoPath: string): Promise<DiffNumstatEntry[]>;
12
+ checkout(repoPath: string, branch: string): Promise<void>;
13
+ pull(repoPath: string): Promise<void>;
14
+ merge(repoPath: string, fromBranch: string): Promise<MergeResult>;
15
+ push(repoPath: string, branch: string): Promise<void>;
16
+ isMerging(repoPath: string): Promise<boolean>;
17
+ conflictedFiles(repoPath: string): Promise<string[]>;
12
18
  }
13
19
  //# sourceMappingURL=git-cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-cli.d.ts","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,aAAc,YAAW,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAE3C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW5D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAejD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAwBjE"}
1
+ {"version":3,"file":"git-cli.d.ts","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,aAAc,YAAW,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAE3C,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW5D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAejD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAyB1D,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAYjE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOrD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAO7C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAY3D"}
@@ -69,5 +69,52 @@ export class GitCliAdapter {
69
69
  return [];
70
70
  }
71
71
  }
72
+ async checkout(repoPath, branch) {
73
+ const result = await this.process.run("git", ["checkout", branch], { cwd: repoPath });
74
+ if (result.code !== 0) {
75
+ throw new Error(`git checkout ${branch} failed in ${repoPath}: ${result.stderr.trim()}`);
76
+ }
77
+ }
78
+ async pull(repoPath) {
79
+ const result = await this.process.run("git", ["pull"], { cwd: repoPath });
80
+ if (result.code !== 0) {
81
+ throw new Error(`git pull failed in ${repoPath}: ${result.stderr.trim()}`);
82
+ }
83
+ }
84
+ async merge(repoPath, fromBranch) {
85
+ const result = await this.process.run("git", ["merge", fromBranch], { cwd: repoPath });
86
+ if (result.code === 0) {
87
+ return { ok: true, conflicted: [] };
88
+ }
89
+ const conflicted = await this.conflictedFiles(repoPath);
90
+ if (conflicted.length > 0) {
91
+ return { ok: false, conflicted };
92
+ }
93
+ throw new Error(`git merge ${fromBranch} failed in ${repoPath}: ${result.stderr.trim()}`);
94
+ }
95
+ async push(repoPath, branch) {
96
+ const result = await this.process.run("git", ["push", "origin", branch], { cwd: repoPath });
97
+ if (result.code !== 0) {
98
+ throw new Error(`git push ${branch} failed in ${repoPath}: ${result.stderr.trim()}`);
99
+ }
100
+ }
101
+ async isMerging(repoPath) {
102
+ const result = await this.process.run("git", ["rev-parse", "--verify", "MERGE_HEAD"], {
103
+ cwd: repoPath,
104
+ });
105
+ return result.code === 0;
106
+ }
107
+ async conflictedFiles(repoPath) {
108
+ const result = await this.process.run("git", ["diff", "--name-only", "--diff-filter=U"], {
109
+ cwd: repoPath,
110
+ });
111
+ if (result.code !== 0) {
112
+ return [];
113
+ }
114
+ return result.stdout
115
+ .split("\n")
116
+ .map((line) => line.trim())
117
+ .filter((line) => line.length > 0);
118
+ }
72
119
  }
73
120
  //# sourceMappingURL=git-cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,9 @@ export interface ArtifactsInput {
6
6
  code?: string;
7
7
  verbose?: boolean;
8
8
  }
9
- interface ObjetivoSummary {
9
+ interface SessionSummary {
10
10
  titulo: string | null;
11
- tipo: string | null;
12
- modalidad: string | null;
13
11
  criterios_count: number;
14
- fuentes_mencionadas: string[];
15
12
  has_origen: boolean;
16
13
  }
17
14
  interface TasksSummary {
@@ -22,16 +19,12 @@ interface TasksSummary {
22
19
  next_open: TaskItem | null;
23
20
  }
24
21
  interface ArtifactsBlock {
25
- objetivo: ObjetivoSummary | null;
22
+ session: SessionSummary | null;
26
23
  tasks: TasksSummary | null;
27
24
  decisiones_count: number;
28
- dependencias_present?: boolean;
29
25
  checkpoint_present?: boolean;
30
- entrega_present?: boolean;
31
26
  conclusiones_present?: boolean;
32
- discovery_present?: boolean;
33
- evidencia_present?: boolean;
34
- hallazgos_present?: boolean;
27
+ analysis_file_present?: boolean;
35
28
  backlog_present?: boolean;
36
29
  scripts_sql_present?: boolean;
37
30
  scripts?: {
@@ -45,9 +38,7 @@ export interface ArtifactsOutput {
45
38
  session: string;
46
39
  path: string;
47
40
  code: string | null;
48
- flow: string | null;
49
41
  state: string;
50
- phase: string;
51
42
  artifacts: ArtifactsBlock;
52
43
  branch?: string;
53
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts-service.d.ts","sourceRoot":"","sources":["../../src/application/artifacts-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC,CA8C3C"}
1
+ {"version":3,"file":"artifacts-service.d.ts","sourceRoot":"","sources":["../../src/application/artifacts-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,eAAe,GAAG,cAAc,CAAC,CA4C3C"}
@@ -1,6 +1,6 @@
1
1
  import { join } from "node:path";
2
+ import { firstNonEmptyLine, parseMdSectionBilingual } from "./markdown.js";
2
3
  import { parseDecisiones } from "./parsers/decisiones.js";
3
- import { parseObjetivo } from "./parsers/objetivo.js";
4
4
  import { parseTasks } from "./parsers/tasks.js";
5
5
  import { relpath } from "./paths.js";
6
6
  import { findArtifact, listExistingArtifacts } from "./session-artifacts.js";
@@ -12,13 +12,13 @@ export async function runArtifactsCommand(fs, env, paths, input) {
12
12
  }
13
13
  const cwd = env.cwd();
14
14
  const verbose = input.verbose === true;
15
- const objetivoSummary = await summarizeObjetivo(fs, session.path);
15
+ const sessionSummary = await summarizeSession(fs, session.path);
16
16
  const tasksSummary = await summarizeTasks(fs, session.path);
17
17
  const decisionesCount = await countDecisiones(fs, session.path);
18
18
  const presence = await readPresenceFlags(fs, session.path);
19
19
  const scripts = await readScripts(fs, session.path);
20
20
  const artifacts = {
21
- objetivo: objetivoSummary,
21
+ session: sessionSummary,
22
22
  tasks: tasksSummary,
23
23
  decisiones_count: decisionesCount,
24
24
  };
@@ -39,9 +39,7 @@ export async function runArtifactsCommand(fs, env, paths, input) {
39
39
  session: session.folder,
40
40
  path: verbose ? session.path : relpath(session.path, cwd),
41
41
  code: session.code,
42
- flow: session.flow,
43
42
  state: session.state,
44
- phase: session.phase,
45
43
  artifacts,
46
44
  };
47
45
  if (session.branch !== undefined || verbose) {
@@ -49,19 +47,24 @@ export async function runArtifactsCommand(fs, env, paths, input) {
49
47
  }
50
48
  return result;
51
49
  }
52
- async function summarizeObjetivo(fs, sessionPath) {
53
- const path = await findArtifact(sessionPath, "objective", fs);
50
+ async function summarizeSession(fs, sessionPath) {
51
+ // New-model SESSION.md first; legacy OBJECTIVE.md as fallback.
52
+ const path = (await findArtifact(sessionPath, "session", fs)) ??
53
+ (await findArtifact(sessionPath, "objective", fs));
54
54
  if (!path)
55
55
  return null;
56
56
  const text = await fs.readText(path);
57
- const parsed = parseObjetivo(text);
57
+ const titleMatch = text.match(/^#\s+(.+)/m);
58
+ const successSection = parseMdSectionBilingual(text, "Success criteria") ??
59
+ parseMdSectionBilingual(text, "Criterios de aceptación") ??
60
+ "";
61
+ const criteriaCount = (successSection.match(/^\s*[-*]\s+\[[ xX]?\]/gm) ?? []).length;
62
+ const originSection = parseMdSectionBilingual(text, "Origin");
63
+ const hasOrigen = originSection !== undefined && (firstNonEmptyLine(originSection)?.length ?? 0) > 0;
58
64
  return {
59
- titulo: parsed.titulo,
60
- tipo: parsed.tipo,
61
- modalidad: parsed.modalidad,
62
- criterios_count: parsed.criterios_aceptacion.length,
63
- fuentes_mencionadas: parsed.fuentes_mencionadas,
64
- has_origen: parsed.origen !== null,
65
+ titulo: titleMatch?.[1]?.trim() ?? null,
66
+ criterios_count: criteriaCount,
67
+ has_origen: hasOrigen,
65
68
  };
66
69
  }
67
70
  async function summarizeTasks(fs, sessionPath) {
@@ -88,13 +91,9 @@ async function countDecisiones(fs, sessionPath) {
88
91
  async function readPresenceFlags(fs, sessionPath) {
89
92
  const present = await listExistingArtifacts(sessionPath, fs);
90
93
  return {
91
- dependencias_present: present.dependencies !== null,
92
94
  checkpoint_present: present.checkpoint !== null,
93
- entrega_present: present.delivery !== null,
94
95
  conclusiones_present: present.conclusions !== null,
95
- discovery_present: present.discovery !== null,
96
- evidencia_present: present.evidence !== null,
97
- hallazgos_present: present.findings !== null,
96
+ analysis_file_present: present.analysis_file !== null,
98
97
  backlog_present: present.backlog !== null,
99
98
  scripts_sql_present: present.scripts_sql !== null,
100
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts-service.js","sourceRoot":"","sources":["../../src/application/artifacts-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts-service.js","sourceRoot":"","sources":["../../src/application/artifacts-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ProjectFuente } from "./parsers/project-block.js";
2
+ /**
3
+ * Single shared resolver for the expected WORKING branch of a source.
4
+ *
5
+ * The expected work branch is sourced from the WORKSPACE block's
6
+ * `working_branches` (per owning Fuentes source). It is DECOUPLED from sessions
7
+ * and flow (removed in P5). "Rama principal" (the Fuentes table) is the BASE
8
+ * branch, NOT the expected work branch, so it is never used here.
9
+ *
10
+ * Returns the declared working branch for the source, or `null` when the source
11
+ * declares none (callers treat null as "no expectation → allow / no-op").
12
+ */
13
+ export declare function expectedWorkBranch(source: ProjectFuente, workingBranches: Record<string, string>): string | null;
14
+ /** Find the Fuentes source that owns `filePath` (path-prefix match). */
15
+ export declare function findOwningSource(sources: readonly ProjectFuente[], filePath: string): ProjectFuente | null;
16
+ //# sourceMappingURL=branch-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-resolver.d.ts","sourceRoot":"","sources":["../../src/application/branch-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,MAAM,GAAG,IAAI,CAGf;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,QAAQ,EAAE,MAAM,GACf,aAAa,GAAG,IAAI,CAKtB"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Single shared resolver for the expected WORKING branch of a source.
3
+ *
4
+ * The expected work branch is sourced from the WORKSPACE block's
5
+ * `working_branches` (per owning Fuentes source). It is DECOUPLED from sessions
6
+ * and flow (removed in P5). "Rama principal" (the Fuentes table) is the BASE
7
+ * branch, NOT the expected work branch, so it is never used here.
8
+ *
9
+ * Returns the declared working branch for the source, or `null` when the source
10
+ * declares none (callers treat null as "no expectation → allow / no-op").
11
+ */
12
+ export function expectedWorkBranch(source, workingBranches) {
13
+ const branch = workingBranches[source.alias];
14
+ return branch && branch.length > 0 ? branch : null;
15
+ }
16
+ /** Find the Fuentes source that owns `filePath` (path-prefix match). */
17
+ export function findOwningSource(sources, filePath) {
18
+ for (const s of sources) {
19
+ if (filePath.startsWith(s.path))
20
+ return s;
21
+ }
22
+ return null;
23
+ }
24
+ //# sourceMappingURL=branch-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-resolver.js","sourceRoot":"","sources":["../../src/application/branch-resolver.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,eAAuC;IAEvC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gBAAgB,CAC9B,OAAiC,EACjC,QAAgB;IAEhB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -7,7 +7,6 @@ export interface CheckBranchInput {
7
7
  pathArg?: string;
8
8
  fileArg?: string;
9
9
  sessionCode?: string;
10
- flowOverride?: string;
11
10
  strict?: boolean;
12
11
  }
13
12
  export interface CheckBranchOutput {
@@ -15,7 +14,6 @@ export interface CheckBranchOutput {
15
14
  reason?: string;
16
15
  alias?: string;
17
16
  path?: string;
18
- flow?: string | null;
19
17
  current_branch?: string | null;
20
18
  expected_work_branch?: string | null;
21
19
  dirty?: boolean | null;
@@ -1 +1 @@
1
- {"version":3,"file":"check-branch-service.d.ts","sourceRoot":"","sources":["../../src/application/check-branch-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAiF5B"}
1
+ {"version":3,"file":"check-branch-service.d.ts","sourceRoot":"","sources":["../../src/application/check-branch-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CA4E5B"}
@@ -1,5 +1,6 @@
1
1
  import { join } from "node:path";
2
- import { parseProjectBlock, } from "./parsers/project-block.js";
2
+ import { expectedWorkBranch } from "./branch-resolver.js";
3
+ import { parseProjectBlock } from "./parsers/project-block.js";
3
4
  export async function runCheckBranch(fs, env, git, paths, input) {
4
5
  const cwd = env.cwd();
5
6
  const block = await readBlock(fs, cwd, paths);
@@ -11,17 +12,15 @@ export async function runCheckBranch(fs, env, git, paths, input) {
11
12
  if (!target) {
12
13
  return { match: true, reason: "file_not_in_managed_source" };
13
14
  }
14
- const sessionEntry = resolveSessionEntry(block?.sessions ?? [], input.sessionCode);
15
- const sessionBranches = sessionEntry?.branches ?? [];
16
- const flow = input.flowOverride ?? resolveFlow(sessionEntry);
17
- const expected = expectedWorkBranch(target, block?.working_branches ?? {}, sessionBranches, flow);
15
+ // Expected work branch comes from the WORKSPACE block working_branches for the
16
+ // owning source. Decoupled from sessions/flow.
17
+ const expected = expectedWorkBranch(target, block?.working_branches ?? {});
18
18
  if (expected === null) {
19
19
  return {
20
20
  match: true,
21
21
  reason: "no_expected_branch_declared",
22
22
  alias: target.alias,
23
23
  path: target.path,
24
- flow,
25
24
  };
26
25
  }
27
26
  // Live git status
@@ -36,7 +35,6 @@ export async function runCheckBranch(fs, env, git, paths, input) {
36
35
  is_repo: false,
37
36
  error: `Path does not exist: ${target.path}`,
38
37
  session_code: input.sessionCode ?? null,
39
- flow,
40
38
  work_branch: expected,
41
39
  };
42
40
  }
@@ -51,7 +49,6 @@ export async function runCheckBranch(fs, env, git, paths, input) {
51
49
  is_repo: false,
52
50
  error: "Not a git repository",
53
51
  session_code: input.sessionCode ?? null,
54
- flow,
55
52
  work_branch: expected,
56
53
  };
57
54
  }
@@ -74,7 +71,6 @@ export async function runCheckBranch(fs, env, git, paths, input) {
74
71
  is_repo: true,
75
72
  error: null,
76
73
  session_code: input.sessionCode ?? null,
77
- flow,
78
74
  work_branch: expected,
79
75
  };
80
76
  }
@@ -106,35 +102,4 @@ async function resolveTarget(_fs, sources, input) {
106
102
  }
107
103
  return null;
108
104
  }
109
- function resolveSessionEntry(sessions, sessionCode) {
110
- if (!sessionCode)
111
- return sessions[0] ?? null;
112
- for (const s of sessions) {
113
- if (s.folder.startsWith(`session${sessionCode}`))
114
- return s;
115
- }
116
- return null;
117
- }
118
- function resolveFlow(session) {
119
- if (!session)
120
- return null;
121
- const m = session.folder.match(/^session(\d{3})-([a-z]+)-/);
122
- if (!m || !m[2])
123
- return null;
124
- return ["dev", "design", "analyze"].includes(m[2]) ? m[2] : null;
125
- }
126
- function expectedWorkBranch(source, workingBranches, sessionBranches, flow) {
127
- for (const entry of sessionBranches) {
128
- if (!entry.includes(":"))
129
- continue;
130
- const [a, b] = entry.split(":", 2);
131
- if (a?.trim() === source.alias && b?.trim())
132
- return b.trim();
133
- }
134
- if (flow === "analyze")
135
- return source.main_branch;
136
- if (workingBranches[source.alias])
137
- return workingBranches[source.alias] ?? null;
138
- return null;
139
- }
140
105
  //# sourceMappingURL=check-branch-service.js.map