@shepai/cli 1.166.0-pr513.fdcdd56 → 1.166.0-pr519.ad21990

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 (447) hide show
  1. package/apis/json-schema/AgentType.yaml +1 -0
  2. package/apis/json-schema/Feature.yaml +5 -17
  3. package/apis/json-schema/SdlcLifecycle.yaml +0 -1
  4. package/apis/json-schema/WorkflowConfig.yaml +5 -10
  5. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts +2 -2
  6. package/dist/packages/core/src/application/ports/output/agents/feature-agent-process.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts +3 -4
  8. package/dist/packages/core/src/application/ports/output/services/spec-initializer.interface.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +2 -2
  10. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +2 -2
  11. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.d.ts.map +1 -1
  12. package/dist/packages/core/src/application/use-cases/features/adopt-branch.use-case.js +2 -3
  13. package/dist/packages/core/src/application/use-cases/features/check-and-unblock-features.use-case.js +2 -2
  14. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  15. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +7 -18
  16. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +2 -3
  17. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  18. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts.map +1 -1
  19. package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.js +0 -13
  20. package/dist/packages/core/src/application/use-cases/features/resume-feature.use-case.js +2 -2
  21. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.d.ts.map +1 -1
  22. package/dist/packages/core/src/application/use-cases/features/start-feature.use-case.js +3 -5
  23. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  24. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +1 -2
  25. package/dist/packages/core/src/domain/generated/output.d.ts +5 -22
  26. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  27. package/dist/packages/core/src/domain/generated/output.js +1 -7
  28. package/dist/packages/core/src/domain/lifecycle-gates.d.ts +6 -21
  29. package/dist/packages/core/src/domain/lifecycle-gates.d.ts.map +1 -1
  30. package/dist/packages/core/src/domain/lifecycle-gates.js +6 -25
  31. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  32. package/dist/packages/core/src/infrastructure/di/container.js +3 -5
  33. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -3
  34. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  35. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +4 -10
  36. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -2
  37. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  38. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +2 -7
  39. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  40. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +3 -5
  41. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -3
  42. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  43. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +23 -0
  44. package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.d.ts.map +1 -1
  45. package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.js +1 -0
  46. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts +63 -0
  47. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts.map +1 -0
  48. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.js +494 -0
  49. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +0 -20
  50. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  51. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +0 -68
  52. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  53. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts +2 -2
  54. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.d.ts.map +1 -1
  55. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +3 -3
  56. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts +2 -2
  57. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  58. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +8 -19
  59. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/lifecycle-context.d.ts.map +1 -1
  60. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/lifecycle-context.js +0 -1
  61. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  62. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +0 -1
  63. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +0 -4
  64. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  65. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +0 -17
  66. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts +1 -1
  67. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.d.ts.map +1 -1
  68. package/dist/packages/core/src/infrastructure/services/spec/spec-initializer.service.js +4 -7
  69. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/codex.json +32 -0
  70. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/copilot.json +32 -0
  71. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  72. package/dist/src/presentation/cli/commands/feat/index.js +1 -5
  73. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  74. package/dist/src/presentation/cli/commands/feat/new.command.js +5 -18
  75. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
  76. package/dist/src/presentation/tui/prompts/agent-select.prompt.js +5 -0
  77. package/dist/src/presentation/web/app/actions/check-agent-auth.d.ts.map +1 -1
  78. package/dist/src/presentation/web/app/actions/check-agent-auth.js +18 -0
  79. package/dist/src/presentation/web/app/actions/create-feature.d.ts +2 -3
  80. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  81. package/dist/src/presentation/web/app/actions/create-feature.js +3 -3
  82. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
  83. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +4 -2
  84. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts +1 -2
  85. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts.map +1 -1
  86. package/dist/src/presentation/web/app/actions/get-workflow-defaults.js +1 -2
  87. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  88. package/dist/src/presentation/web/app/api/agent-events/route.js +0 -1
  89. package/dist/src/presentation/web/app/build-feature-node-data.d.ts.map +1 -1
  90. package/dist/src/presentation/web/app/build-feature-node-data.js +2 -4
  91. package/dist/src/presentation/web/app/build-graph-nodes.js +2 -4
  92. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts +1 -1
  93. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
  94. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +0 -3
  95. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  96. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +1 -65
  97. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +2 -3
  98. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  99. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +11 -15
  100. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts.map +1 -1
  101. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -2
  102. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +1 -6
  103. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  104. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +4 -16
  105. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +1 -1
  106. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
  107. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +2 -0
  108. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts.map +1 -1
  109. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.js +1 -0
  110. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  111. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +0 -2
  112. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +2 -6
  113. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  114. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +0 -12
  115. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  116. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +2 -7
  117. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +1 -0
  118. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -1
  119. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +7 -0
  120. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts.map +1 -1
  121. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +11 -3
  122. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +1 -0
  123. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +1 -1
  124. package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.js +8 -0
  125. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  126. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +6 -6
  127. package/dist/src/presentation/web/components/features/settings/workflow-settings-section.stories.js +3 -3
  128. package/dist/translations/ar/cli.json +0 -24
  129. package/dist/translations/ar/tui.json +4 -0
  130. package/dist/translations/ar/web.json +2 -6
  131. package/dist/translations/de/cli.json +0 -24
  132. package/dist/translations/de/tui.json +4 -0
  133. package/dist/translations/de/web.json +2 -6
  134. package/dist/translations/en/cli.json +0 -24
  135. package/dist/translations/en/tui.json +4 -0
  136. package/dist/translations/en/web.json +2 -6
  137. package/dist/translations/es/cli.json +0 -24
  138. package/dist/translations/es/tui.json +4 -0
  139. package/dist/translations/es/web.json +2 -6
  140. package/dist/translations/fr/cli.json +0 -24
  141. package/dist/translations/fr/tui.json +4 -0
  142. package/dist/translations/fr/web.json +2 -6
  143. package/dist/translations/he/cli.json +0 -24
  144. package/dist/translations/he/tui.json +4 -0
  145. package/dist/translations/he/web.json +2 -6
  146. package/dist/translations/pt/cli.json +0 -24
  147. package/dist/translations/pt/tui.json +4 -0
  148. package/dist/translations/pt/web.json +2 -6
  149. package/dist/translations/ru/cli.json +0 -24
  150. package/dist/translations/ru/tui.json +4 -0
  151. package/dist/translations/ru/web.json +2 -6
  152. package/dist/tsconfig.build.tsbuildinfo +1 -1
  153. package/package.json +1 -1
  154. package/web/.next/BUILD_ID +1 -1
  155. package/web/.next/build-manifest.json +2 -2
  156. package/web/.next/fallback-build-manifest.json +2 -2
  157. package/web/.next/prerender-manifest.json +3 -3
  158. package/web/.next/required-server-files.js +1 -1
  159. package/web/.next/required-server-files.json +1 -1
  160. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  161. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  162. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  163. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  164. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  165. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  166. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  167. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  168. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  169. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +74 -119
  170. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -2
  171. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  172. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  173. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +74 -119
  174. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -2
  175. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  176. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  177. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  178. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  179. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  180. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  181. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  182. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  183. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  184. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  185. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  186. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  187. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  188. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  189. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +74 -119
  190. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -2
  191. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  192. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  193. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +74 -119
  194. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -2
  195. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  196. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  197. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  198. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  199. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  200. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  201. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  202. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  203. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  204. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  205. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  206. package/web/.next/server/app/_global-error.html +2 -2
  207. package/web/.next/server/app/_global-error.rsc +1 -1
  208. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  209. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  210. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  211. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  212. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  213. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  214. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  215. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  216. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  217. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  218. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  219. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  220. package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
  221. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  222. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  223. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  224. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  225. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  226. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  227. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  228. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  229. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  230. package/web/.next/server/app/version/page.js.nft.json +1 -1
  231. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  232. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  233. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  234. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +1 -1
  235. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  236. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  237. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +1 -1
  238. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -1
  239. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  240. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  241. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  242. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  243. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +3 -3
  244. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  245. package/web/.next/server/chunks/ssr/[root-of-the-server]__1abe77bb._.js +2 -2
  246. package/web/.next/server/chunks/ssr/[root-of-the-server]__1abe77bb._.js.map +1 -1
  247. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  248. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  249. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d0c3840._.js +1 -1
  250. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d0c3840._.js.map +1 -1
  251. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  252. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ed9b909._.js +1 -1
  253. package/web/.next/server/chunks/ssr/[root-of-the-server]__563e4faf._.js +4 -0
  254. package/web/.next/server/chunks/ssr/[root-of-the-server]__563e4faf._.js.map +1 -0
  255. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js +1 -1
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js.map +1 -1
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__7562afc6._.js +2 -2
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__7562afc6._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/[root-of-the-server]__821a11c1._.js +4 -0
  260. package/web/.next/server/chunks/ssr/[root-of-the-server]__821a11c1._.js.map +1 -0
  261. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
  262. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js.map +1 -1
  263. package/web/.next/server/chunks/ssr/[root-of-the-server]__98740ee4._.js +4 -0
  264. package/web/.next/server/chunks/ssr/[root-of-the-server]__98740ee4._.js.map +1 -0
  265. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  266. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  267. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba9f9e11._.js +4 -0
  268. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba9f9e11._.js.map +1 -0
  269. package/web/.next/server/chunks/ssr/[root-of-the-server]__c1262d08._.js +1 -1
  270. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js +1 -1
  271. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js.map +1 -1
  272. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js +1 -1
  273. package/web/.next/server/chunks/ssr/[root-of-the-server]__dffa13c5._.js.map +1 -1
  274. package/web/.next/server/chunks/ssr/_02e01240._.js +1 -1
  275. package/web/.next/server/chunks/ssr/_02e01240._.js.map +1 -1
  276. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  277. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  278. package/web/.next/server/chunks/ssr/_0727935d._.js +1 -1
  279. package/web/.next/server/chunks/ssr/_0727935d._.js.map +1 -1
  280. package/web/.next/server/chunks/ssr/_0dc06d07._.js +1 -1
  281. package/web/.next/server/chunks/ssr/_0dc06d07._.js.map +1 -1
  282. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  283. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  284. package/web/.next/server/chunks/ssr/_18886033._.js +1 -1
  285. package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -1
  286. package/web/.next/server/chunks/ssr/_22e00a14._.js +1 -1
  287. package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -1
  288. package/web/.next/server/chunks/ssr/_4d49a312._.js +3 -0
  289. package/web/.next/server/chunks/ssr/_4d49a312._.js.map +1 -0
  290. package/web/.next/server/chunks/ssr/_506a3bc3._.js +9 -0
  291. package/web/.next/server/chunks/ssr/_506a3bc3._.js.map +1 -0
  292. package/web/.next/server/chunks/ssr/_5119a3df._.js +1 -1
  293. package/web/.next/server/chunks/ssr/_5119a3df._.js.map +1 -1
  294. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  295. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  296. package/web/.next/server/chunks/ssr/_9215e9ec._.js +3 -0
  297. package/web/.next/server/chunks/ssr/_9215e9ec._.js.map +1 -0
  298. package/web/.next/server/chunks/ssr/_9d8d649c._.js +3 -0
  299. package/web/.next/server/chunks/ssr/_9d8d649c._.js.map +1 -0
  300. package/web/.next/server/chunks/ssr/_a5a5901d._.js +1 -1
  301. package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -1
  302. package/web/.next/server/chunks/ssr/_ad09f271._.js +1 -1
  303. package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -1
  304. package/web/.next/server/chunks/ssr/_c3f595c6._.js +1 -1
  305. package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -1
  306. package/web/.next/server/chunks/ssr/{_40c4d64e._.js → _c552776f._.js} +2 -2
  307. package/web/.next/server/chunks/ssr/_c552776f._.js.map +1 -0
  308. package/web/.next/server/chunks/ssr/_ea9e1556._.js +1 -1
  309. package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/_f1ba9be6._.js +2 -2
  311. package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -1
  312. package/web/.next/server/chunks/ssr/_f33cd07e._.js +2 -2
  313. package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -1
  314. package/web/.next/server/chunks/ssr/_f8b45233._.js +1 -1
  315. package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -1
  316. package/web/.next/server/chunks/ssr/{_52567223._.js → _f92c664f._.js} +2 -2
  317. package/web/.next/server/chunks/ssr/{_52567223._.js.map → _f92c664f._.js.map} +1 -1
  318. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  319. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  320. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  321. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  322. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +3 -0
  323. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +1 -0
  324. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  325. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -1
  326. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  327. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  328. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  329. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  330. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  331. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  332. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  333. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  334. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  335. package/web/.next/server/pages/500.html +2 -2
  336. package/web/.next/server/server-reference-manifest.js +1 -1
  337. package/web/.next/server/server-reference-manifest.json +195 -303
  338. package/web/.next/static/chunks/{81a9fa188d0bef95.js → 13acc1496333d248.js} +1 -1
  339. package/web/.next/static/chunks/1e6609edc3367244.css +1 -0
  340. package/web/.next/static/chunks/2b6dde8371c56840.js +1 -0
  341. package/web/.next/static/chunks/37e0c4a5491c430b.js +1 -0
  342. package/web/.next/static/chunks/{b2b1a749ec72f3a3.js → 4a33664239c920a4.js} +3 -3
  343. package/web/.next/static/chunks/{b810ab3e01ffa9cb.js → 58089b67c924f50d.js} +1 -1
  344. package/web/.next/static/chunks/{19e7ce7a45b9aba5.js → 594ebd426b1f107c.js} +1 -1
  345. package/web/.next/static/chunks/{517f9f7b52421b78.js → 5f27ad48b0d09dd9.js} +1 -1
  346. package/web/.next/static/chunks/{884fceb3e6a67215.js → 65440524d7ee7d13.js} +1 -1
  347. package/web/.next/static/chunks/{8aa61c1b439f38d6.js → 7480e93a8ab0fc19.js} +1 -1
  348. package/web/.next/static/chunks/{ed6f26a65c6e7da9.js → 7bdecf3df9b313ae.js} +1 -1
  349. package/web/.next/static/chunks/7ea9ac36bfba7858.js +1 -0
  350. package/web/.next/static/chunks/9b0aacedbcc8b705.js +5 -0
  351. package/web/.next/static/chunks/c0e13e7d1601bc5d.js +1 -0
  352. package/web/.next/static/chunks/{333b1f2c897337c9.js → ccabcd38a63a6e50.js} +2 -2
  353. package/web/.next/static/chunks/{2a9af061f4fbe7f5.js → d5366257d6b9f855.js} +1 -1
  354. package/web/.next/static/chunks/{785d6f99b66ca637.js → e94bdf59bcc28aa9.js} +1 -1
  355. package/web/public/icons/agents/copilot.svg +12 -0
  356. package/apis/json-schema/FeatureMode.yaml +0 -8
  357. package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.d.ts +0 -40
  358. package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.d.ts.map +0 -1
  359. package/dist/packages/core/src/application/use-cases/features/promote/promote-exploration.use-case.js +0 -125
  360. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.d.ts +0 -19
  361. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.d.ts.map +0 -1
  362. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/051-replace-fast-with-mode.js +0 -46
  363. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.d.ts +0 -17
  364. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.d.ts.map +0 -1
  365. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/052-replace-default-fast-mode-with-default-mode.js +0 -37
  366. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.d.ts +0 -12
  367. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.d.ts.map +0 -1
  368. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/053-add-exploration-max-iterations.js +0 -17
  369. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.d.ts +0 -362
  370. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.d.ts.map +0 -1
  371. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/exploration-agent-graph.js +0 -72
  372. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.d.ts +0 -18
  373. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.d.ts.map +0 -1
  374. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/apply-feedback.node.js +0 -52
  375. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.d.ts +0 -24
  376. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.d.ts.map +0 -1
  377. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/apply-feedback.prompt.js +0 -38
  378. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.d.ts +0 -31
  379. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.d.ts.map +0 -1
  380. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/prototype-generate.prompt.js +0 -240
  381. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.d.ts +0 -21
  382. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.d.ts.map +0 -1
  383. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prototype-generate.node.js +0 -134
  384. package/dist/src/presentation/cli/commands/feat/feedback.command.d.ts +0 -12
  385. package/dist/src/presentation/cli/commands/feat/feedback.command.d.ts.map +0 -1
  386. package/dist/src/presentation/cli/commands/feat/feedback.command.js +0 -64
  387. package/dist/src/presentation/cli/commands/feat/promote.command.d.ts +0 -13
  388. package/dist/src/presentation/cli/commands/feat/promote.command.d.ts.map +0 -1
  389. package/dist/src/presentation/cli/commands/feat/promote.command.js +0 -41
  390. package/dist/src/presentation/web/app/actions/discard-exploration.d.ts +0 -9
  391. package/dist/src/presentation/web/app/actions/discard-exploration.d.ts.map +0 -1
  392. package/dist/src/presentation/web/app/actions/discard-exploration.js +0 -29
  393. package/dist/src/presentation/web/app/actions/promote-exploration.d.ts +0 -11
  394. package/dist/src/presentation/web/app/actions/promote-exploration.d.ts.map +0 -1
  395. package/dist/src/presentation/web/app/actions/promote-exploration.js +0 -21
  396. package/dist/src/presentation/web/app/actions/submit-exploration-feedback.d.ts +0 -12
  397. package/dist/src/presentation/web/app/actions/submit-exploration-feedback.d.ts.map +0 -1
  398. package/dist/src/presentation/web/app/actions/submit-exploration-feedback.js +0 -40
  399. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.d.ts +0 -8
  400. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.d.ts.map +0 -1
  401. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.js +0 -33
  402. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.d.ts +0 -10
  403. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.d.ts.map +0 -1
  404. package/dist/src/presentation/web/components/common/feature-create-drawer/mode-selector.stories.js +0 -33
  405. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.d.ts +0 -11
  406. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.d.ts.map +0 -1
  407. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.js +0 -34
  408. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.d.ts +0 -16
  409. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.d.ts.map +0 -1
  410. package/dist/src/presentation/web/components/common/feature-drawer-tabs/prototype-tab.stories.js +0 -70
  411. package/dist/src/presentation/web/components/ui/toggle-group.d.ts +0 -10
  412. package/dist/src/presentation/web/components/ui/toggle-group.d.ts.map +0 -1
  413. package/dist/src/presentation/web/components/ui/toggle-group.js +0 -22
  414. package/dist/src/presentation/web/components/ui/toggle.d.ts +0 -10
  415. package/dist/src/presentation/web/components/ui/toggle.d.ts.map +0 -1
  416. package/dist/src/presentation/web/components/ui/toggle.js +0 -26
  417. package/web/.next/server/chunks/ssr/[root-of-the-server]__58a5b819._.js +0 -4
  418. package/web/.next/server/chunks/ssr/[root-of-the-server]__58a5b819._.js.map +0 -1
  419. package/web/.next/server/chunks/ssr/[root-of-the-server]__67a193c8._.js +0 -4
  420. package/web/.next/server/chunks/ssr/[root-of-the-server]__67a193c8._.js.map +0 -1
  421. package/web/.next/server/chunks/ssr/[root-of-the-server]__754fb18e._.js +0 -4
  422. package/web/.next/server/chunks/ssr/[root-of-the-server]__754fb18e._.js.map +0 -1
  423. package/web/.next/server/chunks/ssr/[root-of-the-server]__96ba046b._.js +0 -4
  424. package/web/.next/server/chunks/ssr/[root-of-the-server]__96ba046b._.js.map +0 -1
  425. package/web/.next/server/chunks/ssr/_12c98a3d._.js +0 -3
  426. package/web/.next/server/chunks/ssr/_12c98a3d._.js.map +0 -1
  427. package/web/.next/server/chunks/ssr/_40c4d64e._.js.map +0 -1
  428. package/web/.next/server/chunks/ssr/_5eb460b1._.js +0 -3
  429. package/web/.next/server/chunks/ssr/_5eb460b1._.js.map +0 -1
  430. package/web/.next/server/chunks/ssr/_997b560b._.js +0 -3
  431. package/web/.next/server/chunks/ssr/_997b560b._.js.map +0 -1
  432. package/web/.next/server/chunks/ssr/_acc5e43e._.js +0 -9
  433. package/web/.next/server/chunks/ssr/_acc5e43e._.js.map +0 -1
  434. package/web/.next/server/chunks/ssr/_b0efd563._.js +0 -3
  435. package/web/.next/server/chunks/ssr/_b0efd563._.js.map +0 -1
  436. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +0 -3
  437. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js.map +0 -1
  438. package/web/.next/static/chunks/04636196914be502.js +0 -1
  439. package/web/.next/static/chunks/2ceebcc839ee0d4b.js +0 -1
  440. package/web/.next/static/chunks/51f2de96879281ea.js +0 -1
  441. package/web/.next/static/chunks/85c9f8d4601354cd.js +0 -1
  442. package/web/.next/static/chunks/904f10ee1f7ed44f.js +0 -5
  443. package/web/.next/static/chunks/985b80ac9fd25d02.css +0 -1
  444. package/web/.next/static/chunks/b474396c44f62500.js +0 -1
  445. /package/web/.next/static/{POB2JchXPeEvMtK9zhjns → r3FoPi_SX8oY8g4WhyvrZ}/_buildManifest.js +0 -0
  446. /package/web/.next/static/{POB2JchXPeEvMtK9zhjns → r3FoPi_SX8oY8g4WhyvrZ}/_clientMiddlewareManifest.json +0 -0
  447. /package/web/.next/static/{POB2JchXPeEvMtK9zhjns → r3FoPi_SX8oY8g4WhyvrZ}/_ssgManifest.js +0 -0
@@ -4,6 +4,7 @@ type: string
4
4
  enum:
5
5
  - claude-code
6
6
  - codex-cli
7
+ - copilot-cli
7
8
  - gemini-cli
8
9
  - aider
9
10
  - continue
@@ -45,10 +45,10 @@ properties:
45
45
  repositoryId:
46
46
  $ref: UUID.yaml
47
47
  description: ID of the Repository entity this feature belongs to
48
- mode:
49
- $ref: FeatureMode.yaml
50
- default: Regular
51
- description: "Execution mode determining the workflow: Regular (full SDLC), Fast (direct implementation), or Exploration (iterative prototyping)"
48
+ fast:
49
+ type: boolean
50
+ default: false
51
+ description: When true, SDLC phases were skipped and the feature was implemented directly from the prompt
52
52
  push:
53
53
  type: boolean
54
54
  default: false
@@ -83,17 +83,6 @@ properties:
83
83
  worktreePath:
84
84
  type: string
85
85
  description: Absolute path to the git worktree for this feature
86
- iterationCount:
87
- type: integer
88
- minimum: -2147483648
89
- maximum: 2147483647
90
- default: 0
91
- description: Current feedback iteration count in exploration mode (0 when not exploring)
92
- maxIterations:
93
- type: integer
94
- minimum: -2147483648
95
- maximum: 2147483647
96
- description: Maximum allowed iterations for exploration mode (only set when mode is Exploration)
97
86
  pr:
98
87
  $ref: PullRequest.yaml
99
88
  description: Pull request data (null until PR created)
@@ -118,7 +107,7 @@ required:
118
107
  - lifecycle
119
108
  - messages
120
109
  - relatedArtifacts
121
- - mode
110
+ - fast
122
111
  - push
123
112
  - openPr
124
113
  - forkAndPr
@@ -127,7 +116,6 @@ required:
127
116
  - enableEvidence
128
117
  - commitEvidence
129
118
  - approvalGates
130
- - iterationCount
131
119
  allOf:
132
120
  - $ref: SoftDeletableEntity.yaml
133
121
  description: Central entity tracking a piece of work through the SDLC lifecycle (Aggregate Root)
@@ -12,7 +12,6 @@ enum:
12
12
  - Maintain
13
13
  - Blocked
14
14
  - Pending
15
- - Exploring
16
15
  - Deleting
17
16
  - AwaitingUpstream
18
17
  - Archived
@@ -55,15 +55,10 @@ properties:
55
55
  hideCiStatus:
56
56
  type: boolean
57
57
  description: "Hide CI status badges from UI (default: true)"
58
- defaultMode:
59
- type: string
60
- default: Fast
61
- description: "Default feature mode for new features: 'Regular', 'Fast', or 'Exploration' (default: 'Fast')"
62
- explorationMaxIterations:
63
- type: integer
64
- minimum: -2147483648
65
- maximum: 2147483647
66
- description: "Maximum exploration feedback iterations (default: 10, 0 = unlimited)"
58
+ defaultFastMode:
59
+ type: boolean
60
+ default: true
61
+ description: "Default new features to fast mode (default: true)"
67
62
  autoArchiveDelayMinutes:
68
63
  type: integer
69
64
  minimum: -2147483648
@@ -75,5 +70,5 @@ required:
75
70
  - ciWatchEnabled
76
71
  - enableEvidence
77
72
  - commitEvidence
78
- - defaultMode
73
+ - defaultFastMode
79
74
  description: Global workflow configuration defaults
@@ -9,7 +9,7 @@
9
9
  * - Application layer depends on this interface
10
10
  * - Infrastructure layer provides concrete implementation
11
11
  */
12
- import type { ApprovalGates, AgentType, FeatureMode } from '../../../../domain/generated/output.js';
12
+ import type { ApprovalGates, AgentType } from '../../../../domain/generated/output.js';
13
13
  /**
14
14
  * Service interface for feature agent background process management.
15
15
  */
@@ -37,7 +37,7 @@ export interface IFeatureAgentProcessService {
37
37
  commitEvidence?: boolean;
38
38
  resumePayload?: string;
39
39
  agentType?: AgentType;
40
- mode?: FeatureMode;
40
+ fast?: boolean;
41
41
  model?: string;
42
42
  resumeReason?: string;
43
43
  }): number;
@@ -1 +1 @@
1
- {"version":3,"file":"feature-agent-process.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/feature-agent-process.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAEpG;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;OAQG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACA,MAAM,CAAC;IAEV;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD"}
1
+ {"version":3,"file":"feature-agent-process.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/feature-agent-process.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;OAQG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACA,MAAM,CAAC;IAEV;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD"}
@@ -22,16 +22,15 @@ export interface ISpecInitializerService {
22
22
  * - tasks.yaml
23
23
  * - feature.yaml
24
24
  *
25
- * When mode is 'fast', only feature.yaml and spec.yaml are created.
26
- * When mode is 'exploration', only feature.yaml is created.
25
+ * When mode is 'fast', only feature.yaml is created (no spec/research/plan/tasks).
27
26
  *
28
27
  * @param basePath - Directory to create specs/ in (typically the worktree path)
29
28
  * @param slug - Feature slug (kebab-case, e.g., "user-authentication")
30
29
  * @param featureNumber - Sequential feature number (will be zero-padded to 3 digits)
31
30
  * @param description - Feature description for template substitution
32
- * @param mode - Optional mode; controls which template files are created
31
+ * @param mode - Optional mode; when 'fast', only feature.yaml is created
33
32
  * @returns The spec directory path and feature number used
34
33
  */
35
- initialize(basePath: string, slug: string, featureNumber: number, description: string, mode?: 'fast' | 'exploration'): Promise<SpecInitializerResult>;
34
+ initialize(basePath: string, slug: string, featureNumber: number, description: string, mode?: 'fast'): Promise<SpecInitializerResult>;
36
35
  }
37
36
  //# sourceMappingURL=spec-initializer.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec-initializer.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/spec-initializer.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"spec-initializer.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/spec-initializer.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC"}
@@ -22,7 +22,7 @@ import { injectable, inject } from 'tsyringe';
22
22
  import yaml from 'js-yaml';
23
23
  import { readFileSync } from 'node:fs';
24
24
  import { join } from 'node:path';
25
- import { AgentRunStatus, FeatureMode } from '../../../domain/generated/output.js';
25
+ import { AgentRunStatus } from '../../../domain/generated/output.js';
26
26
  import { writeSpecFileAtomic, safeYamlDump, } from '../../../infrastructure/services/agents/feature-agent/nodes/node-helpers.js';
27
27
  import { computeWorktreePath } from '../../../infrastructure/services/ide-launchers/compute-worktree-path.js';
28
28
  let ApproveAgentRunUseCase = class ApproveAgentRunUseCase {
@@ -119,7 +119,7 @@ let ApproveAgentRunUseCase = class ApproveAgentRunUseCase {
119
119
  ...(payload ? { resumePayload: JSON.stringify(payload) } : {}),
120
120
  agentType: run.agentType,
121
121
  ...(run.modelId ? { model: run.modelId } : {}),
122
- ...(feature?.mode && feature.mode !== FeatureMode.Regular ? { mode: feature.mode } : {}),
122
+ ...(feature?.fast ? { fast: true } : {}),
123
123
  });
124
124
  return { approved: true, reason: 'Approved and resumed' };
125
125
  }
@@ -21,7 +21,7 @@ import { injectable, inject } from 'tsyringe';
21
21
  import yaml from 'js-yaml';
22
22
  import { readFileSync } from 'node:fs';
23
23
  import { join } from 'node:path';
24
- import { AgentRunStatus, FeatureMode } from '../../../domain/generated/output.js';
24
+ import { AgentRunStatus } from '../../../domain/generated/output.js';
25
25
  import { writeSpecFileAtomic, safeYamlDump, } from '../../../infrastructure/services/agents/feature-agent/nodes/node-helpers.js';
26
26
  import { recordLifecycleEvent } from '../../../infrastructure/services/agents/feature-agent/phase-timing-context.js';
27
27
  import { computeWorktreePath } from '../../../infrastructure/services/ide-launchers/compute-worktree-path.js';
@@ -135,7 +135,7 @@ let RejectAgentRunUseCase = class RejectAgentRunUseCase {
135
135
  resumePayload: JSON.stringify(rejectionPayload),
136
136
  agentType: run.agentType,
137
137
  ...(run.modelId ? { model: run.modelId } : {}),
138
- ...(feature.mode !== FeatureMode.Regular ? { mode: feature.mode } : {}),
138
+ ...(feature.fast ? { fast: true } : {}),
139
139
  });
140
140
  return {
141
141
  rejected: true,
@@ -1 +1 @@
1
- {"version":3,"file":"adopt-branch.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/adopt-branch.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,qCAAqC,CAAC;AAEhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAG7F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAKD,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBANZ,WAAW,EAAE,kBAAkB,EAE/B,cAAc,EAAE,qBAAqB,EAErC,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,aAAa;IAGxC,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+FlE;;;;OAIG;YACW,gBAAgB;IAiB9B;;;;OAIG;YACW,iBAAiB;IA4B/B;;;OAGG;YACW,iBAAiB;CAuBhC"}
1
+ {"version":3,"file":"adopt-branch.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/adopt-branch.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,qCAAqC,CAAC;AAEhF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAG7F,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAKD,qBACa,kBAAkB;IAG3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBANZ,WAAW,EAAE,kBAAkB,EAE/B,cAAc,EAAE,qBAAqB,EAErC,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,aAAa;IAGxC,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8FlE;;;;OAIG;YACW,gBAAgB;IAiB9B;;;;OAIG;YACW,iBAAiB;IA4B/B;;;OAGG;YACW,iBAAiB;CAuBhC"}
@@ -23,7 +23,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
23
23
  };
24
24
  import { injectable, inject } from 'tsyringe';
25
25
  import { randomUUID } from 'node:crypto';
26
- import { SdlcLifecycle, PrStatus, FeatureMode } from '../../../domain/generated/output.js';
26
+ import { SdlcLifecycle, PrStatus } from '../../../domain/generated/output.js';
27
27
  import { deriveName, deriveSlug } from './branch-name-utils.js';
28
28
  /** Branches that must not be adopted as features. */
29
29
  const PROTECTED_BRANCHES = new Set(['main', 'master']);
@@ -89,8 +89,7 @@ let AdoptBranchUseCase = class AdoptBranchUseCase {
89
89
  lifecycle,
90
90
  messages: [],
91
91
  relatedArtifacts: [],
92
- mode: FeatureMode.Regular,
93
- iterationCount: 0,
92
+ fast: false,
94
93
  push: false,
95
94
  openPr: hasOpenPr,
96
95
  forkAndPr: false,
@@ -27,7 +27,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
27
27
  return function (target, key) { decorator(target, key, paramIndex); }
28
28
  };
29
29
  import { injectable, inject } from 'tsyringe';
30
- import { SdlcLifecycle, FeatureMode } from '../../../domain/generated/output.js';
30
+ import { SdlcLifecycle } from '../../../domain/generated/output.js';
31
31
  import { POST_IMPLEMENTATION } from '../../../domain/lifecycle-gates.js';
32
32
  let CheckAndUnblockFeaturesUseCase = class CheckAndUnblockFeaturesUseCase {
33
33
  featureRepo;
@@ -69,7 +69,7 @@ let CheckAndUnblockFeaturesUseCase = class CheckAndUnblockFeaturesUseCase {
69
69
  ciWatchEnabled: child.ciWatchEnabled,
70
70
  enableEvidence: child.enableEvidence,
71
71
  commitEvidence: child.commitEvidence,
72
- ...(child.mode !== FeatureMode.Regular ? { mode: child.mode } : {}),
72
+ ...(child.fast ? { fast: true } : {}),
73
73
  });
74
74
  }
75
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/create-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAOtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AACrG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AAGjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9F,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBApBd,WAAW,EAAE,kBAAkB,EAE/B,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,2BAA2B,EAEzC,aAAa,EAAE,mBAAmB,EAElC,eAAe,EAAE,uBAAuB,EAExC,iBAAiB,EAAE,iBAAiB,EAEpC,YAAY,EAAE,YAAY,EAE1B,cAAc,EAAE,qBAAqB,EAErC,YAAY,EAAE,aAAa,EAE3B,iBAAiB,EAAE,wBAAwB,EAE3C,cAAc,EAAE,eAAe;IAGlD;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMtE;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgJ1E;;;OAGG;IACG,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;CAuJ1D"}
1
+ {"version":3,"file":"create-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/create-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAMtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AACrG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2DAA2D,CAAC;AAGjG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9F,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBApBd,WAAW,EAAE,kBAAkB,EAE/B,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,2BAA2B,EAEzC,aAAa,EAAE,mBAAmB,EAElC,eAAe,EAAE,uBAAuB,EAExC,iBAAiB,EAAE,iBAAiB,EAEpC,YAAY,EAAE,YAAY,EAE1B,cAAc,EAAE,qBAAqB,EAErC,YAAY,EAAE,aAAa,EAE3B,iBAAiB,EAAE,wBAAwB,EAE3C,cAAc,EAAE,eAAe;IAGlD;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMtE;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwI1E;;;OAGG;IACG,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;CAmJ1D"}
@@ -29,7 +29,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
29
29
  };
30
30
  import { injectable, inject } from 'tsyringe';
31
31
  import { randomUUID } from 'node:crypto';
32
- import { SdlcLifecycle, AgentRunStatus, FeatureMode, } from '../../../../domain/generated/output.js';
32
+ import { SdlcLifecycle, AgentRunStatus, } from '../../../../domain/generated/output.js';
33
33
  import { getSettings } from '../../../../infrastructure/services/settings.service.js';
34
34
  import { POST_IMPLEMENTATION } from '../../../../domain/lifecycle-gates.js';
35
35
  import { AttachmentStorageService } from '../../../../infrastructure/services/attachment-storage.service.js';
@@ -75,12 +75,9 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
75
75
  * No AI calls, no git operations — just DB writes.
76
76
  */
77
77
  async createRecord(input) {
78
- const effectiveMode = input.mode ?? FeatureMode.Regular;
79
- let initialLifecycle = effectiveMode === FeatureMode.Exploration
80
- ? SdlcLifecycle.Exploring
81
- : effectiveMode === FeatureMode.Fast
82
- ? SdlcLifecycle.Implementation
83
- : SdlcLifecycle.Requirements;
78
+ let initialLifecycle = input.fast
79
+ ? SdlcLifecycle.Implementation
80
+ : SdlcLifecycle.Requirements;
84
81
  let shouldSpawn = true;
85
82
  let effectiveRepoPath = input.repositoryPath.replace(/\\/g, '/');
86
83
  // Pending flag takes precedence — user explicitly defers agent execution.
@@ -153,7 +150,7 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
153
150
  lifecycle: initialLifecycle,
154
151
  messages: [],
155
152
  relatedArtifacts: [],
156
- mode: effectiveMode,
153
+ fast: input.fast ?? false,
157
154
  push: input.push ?? false,
158
155
  openPr: input.openPr ?? false,
159
156
  forkAndPr: input.forkAndPr ?? false,
@@ -166,10 +163,6 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
166
163
  allowPlan: false,
167
164
  allowMerge: false,
168
165
  },
169
- iterationCount: 0,
170
- ...(effectiveMode === FeatureMode.Exploration && {
171
- maxIterations: getSettings().workflow.explorationMaxIterations ?? 10,
172
- }),
173
166
  agentRunId: runId,
174
167
  specPath: '',
175
168
  repositoryId: repository.id,
@@ -234,11 +227,7 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
234
227
  const worktreePath = this.worktreeService.getWorktreePath(effectiveRepoPath, branch);
235
228
  await this.worktreeService.create(effectiveRepoPath, branch, worktreePath, defaultBranch);
236
229
  // Initialize spec directory — full user input goes into spec.yaml as-is
237
- const { specDir } = await this.specInitializer.initialize(worktreePath, slug, featureNumber, input.userInput, feature.mode === FeatureMode.Fast
238
- ? 'fast'
239
- : feature.mode === FeatureMode.Exploration
240
- ? 'exploration'
241
- : undefined);
230
+ const { specDir } = await this.specInitializer.initialize(worktreePath, slug, featureNumber, input.userInput, input.fast ? 'fast' : undefined);
242
231
  // Commit pending attachments if sessionId was provided (web UI flow)
243
232
  let committedAttachments = input.attachments;
244
233
  if (input.sessionId) {
@@ -316,7 +305,7 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
316
305
  ciWatchEnabled: input.ciWatchEnabled ?? true,
317
306
  enableEvidence: input.enableEvidence ?? false,
318
307
  commitEvidence: input.commitEvidence ?? false,
319
- ...(feature.mode !== FeatureMode.Regular ? { mode: feature.mode } : {}),
308
+ ...(input.fast ? { fast: true } : {}),
320
309
  ...(input.agentType ? { agentType: input.agentType } : {}),
321
310
  ...(input.model ? { model: input.model } : {}),
322
311
  });
@@ -1,5 +1,4 @@
1
1
  import type { ApprovalGates, Attachment, Feature } from '../../../../domain/generated/output.js';
2
- import { type FeatureMode } from '../../../../domain/generated/output.js';
3
2
  export interface CreateFeatureInput {
4
3
  userInput: string;
5
4
  repositoryPath: string;
@@ -12,8 +11,8 @@ export interface CreateFeatureInput {
12
11
  name?: string;
13
12
  /** Pre-supplied description (skips AI metadata extraction for description). */
14
13
  description?: string;
15
- /** Execution mode: Regular (full SDLC), Fast (direct implementation), or Exploration (iterative prototyping). */
16
- mode?: FeatureMode;
14
+ /** When true, skip SDLC phases and implement directly from the user prompt. */
15
+ fast?: boolean;
17
16
  /** Fork repo and create PR to upstream at merge time (default: false). */
18
17
  forkAndPr?: boolean;
19
18
  /** Commit specs/evidences into the repo (default: true, auto-false when forkAndPr). */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iHAAiH;IACjH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAEjG,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uFAAuF;IACvF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/delete-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAE7F,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBACa,oBAAoB;IAEC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAE5D,OAAO,CAAC,QAAQ,CAAC,cAAc;IACA,OAAO,CAAC,QAAQ,CAAC,OAAO;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBALP,WAAW,EAAE,kBAAkB,EACjC,eAAe,EAAE,gBAAgB,EAE7D,cAAc,EAAE,2BAA2B,EACZ,OAAO,EAAE,mBAAmB,EAClC,YAAY,EAAE,aAAa;IAGjE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BlF,oGAAoG;YACtF,gBAAgB;IAW9B,0DAA0D;YAC5C,iBAAiB;IAQ/B,6DAA6D;YAC/C,yBAAyB;IAevC,sDAAsD;YACxC,sBAAsB;IAYpC,6EAA6E;YAC/D,oBAAoB;CAyFnC"}
1
+ {"version":3,"file":"delete-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/delete-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAE7F,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBACa,oBAAoB;IAEC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAE5D,OAAO,CAAC,QAAQ,CAAC,cAAc;IACA,OAAO,CAAC,QAAQ,CAAC,OAAO;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBALP,WAAW,EAAE,kBAAkB,EACjC,eAAe,EAAE,gBAAgB,EAE7D,cAAc,EAAE,2BAA2B,EACZ,OAAO,EAAE,mBAAmB,EAClC,YAAY,EAAE,aAAa;IAGjE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IA8BlF,oGAAoG;YACtF,gBAAgB;IAW9B,0DAA0D;YAC5C,iBAAiB;IAQ/B,6DAA6D;YAC/C,yBAAyB;IAevC,sDAAsD;YACxC,sBAAsB;IAYpC,6EAA6E;YAC/D,oBAAoB;CA+EnC"}
@@ -25,9 +25,6 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
25
25
  return function (target, key) { decorator(target, key, paramIndex); }
26
26
  };
27
27
  import { injectable, inject } from 'tsyringe';
28
- import { homedir } from 'node:os';
29
- import { join } from 'node:path';
30
- import { unlink } from 'node:fs/promises';
31
28
  import { AgentRunStatus, PrStatus, SdlcLifecycle } from '../../../domain/generated/output.js';
32
29
  let DeleteFeatureUseCase = class DeleteFeatureUseCase {
33
30
  featureRepo;
@@ -126,16 +123,6 @@ let DeleteFeatureUseCase = class DeleteFeatureUseCase {
126
123
  }
127
124
  await this.runRepo.updateStatus(run.id, AgentRunStatus.cancelled);
128
125
  }
129
- // Clean up checkpoint database file (used by LangGraph for state persistence)
130
- if (run?.threadId) {
131
- const checkpointPath = join(homedir(), '.shep', 'checkpoints', `${run.threadId}.db`);
132
- try {
133
- await unlink(checkpointPath);
134
- }
135
- catch {
136
- // Checkpoint file may not exist or already be removed
137
- }
138
- }
139
126
  }
140
127
  // Cleanup worktree and branches directly using the feature data we already
141
128
  // have (CleanupFeatureWorktreeUseCase.execute() would fail because
@@ -18,7 +18,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
18
18
  };
19
19
  import { injectable, inject } from 'tsyringe';
20
20
  import { randomUUID } from 'node:crypto';
21
- import { AgentRunStatus, FeatureMode } from '../../../domain/generated/output.js';
21
+ import { AgentRunStatus } from '../../../domain/generated/output.js';
22
22
  const RESUMABLE_STATUSES = new Set([
23
23
  AgentRunStatus.interrupted,
24
24
  AgentRunStatus.failed,
@@ -115,7 +115,7 @@ let ResumeFeatureUseCase = class ResumeFeatureUseCase {
115
115
  enableEvidence: feature.enableEvidence,
116
116
  commitEvidence: feature.commitEvidence,
117
117
  agentType: lastRun.agentType,
118
- ...(feature.mode !== FeatureMode.Regular ? { mode: feature.mode } : {}),
118
+ ...(feature.fast ? { fast: true } : {}),
119
119
  ...(lastRun.modelId ? { model: lastRun.modelId } : {}),
120
120
  resumeReason: lastRun.status,
121
121
  });
@@ -1 +1 @@
1
- {"version":3,"file":"start-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/start-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAGlG,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBACa,mBAAmB;IAG5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBANf,WAAW,EAAE,kBAAkB,EAE/B,OAAO,EAAE,mBAAmB,EAE5B,cAAc,EAAE,2BAA2B,EAE3C,eAAe,EAAE,gBAAgB;IAG9C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA4G9D"}
1
+ {"version":3,"file":"start-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/start-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8DAA8D,CAAC;AAChH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAGlG,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBACa,mBAAmB;IAG5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBANf,WAAW,EAAE,kBAAkB,EAE/B,OAAO,EAAE,mBAAmB,EAE5B,cAAc,EAAE,2BAA2B,EAE3C,eAAe,EAAE,gBAAgB;IAG9C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAyG9D"}
@@ -18,7 +18,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
18
18
  return function (target, key) { decorator(target, key, paramIndex); }
19
19
  };
20
20
  import { injectable, inject } from 'tsyringe';
21
- import { SdlcLifecycle, FeatureMode } from '../../../domain/generated/output.js';
21
+ import { SdlcLifecycle } from '../../../domain/generated/output.js';
22
22
  import { POST_IMPLEMENTATION } from '../../../domain/lifecycle-gates.js';
23
23
  let StartFeatureUseCase = class StartFeatureUseCase {
24
24
  featureRepo;
@@ -71,9 +71,7 @@ let StartFeatureUseCase = class StartFeatureUseCase {
71
71
  }
72
72
  }
73
73
  // Check parent gate if feature has a parent
74
- let targetLifecycle = resolved.mode === FeatureMode.Fast
75
- ? SdlcLifecycle.Implementation
76
- : SdlcLifecycle.Requirements;
74
+ let targetLifecycle = resolved.fast ? SdlcLifecycle.Implementation : SdlcLifecycle.Requirements;
77
75
  let shouldSpawn = true;
78
76
  if (resolved.parentId) {
79
77
  const parent = await this.featureRepo.findById(resolved.parentId);
@@ -105,7 +103,7 @@ let StartFeatureUseCase = class StartFeatureUseCase {
105
103
  enableEvidence: resolved.enableEvidence,
106
104
  commitEvidence: resolved.commitEvidence,
107
105
  agentType: agentRun.agentType,
108
- ...(resolved.mode !== FeatureMode.Regular ? { mode: resolved.mode } : {}),
106
+ ...(resolved.fast ? { fast: true } : {}),
109
107
  ...(agentRun.modelId ? { model: agentRun.modelId } : {}),
110
108
  });
111
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settings-defaults.factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/factories/settings-defaults.factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,QAAQ,EAUT,MAAM,qBAAqB,CAAC;AA6C7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CAuFhD"}
1
+ {"version":3,"file":"settings-defaults.factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/domain/factories/settings-defaults.factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,QAAQ,EAUT,MAAM,qBAAqB,CAAC;AA6C7B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CAsFhD"}
@@ -118,8 +118,7 @@ export function createDefaultSettings() {
118
118
  ciWatchEnabled: true,
119
119
  enableEvidence: false,
120
120
  commitEvidence: false,
121
- defaultMode: 'Fast',
122
- explorationMaxIterations: 10,
121
+ defaultFastMode: true,
123
122
  autoArchiveDelayMinutes: 10,
124
123
  };
125
124
  const featureFlags = {
@@ -436,13 +436,9 @@ export type WorkflowConfig = {
436
436
  */
437
437
  hideCiStatus?: boolean;
438
438
  /**
439
- * Default feature mode for new features: 'Regular', 'Fast', or 'Exploration' (default: 'Fast')
439
+ * Default new features to fast mode (default: true)
440
440
  */
441
- defaultMode: string;
442
- /**
443
- * Maximum exploration feedback iterations (default: 10, 0 = unlimited)
444
- */
445
- explorationMaxIterations?: number;
441
+ defaultFastMode: boolean;
446
442
  /**
447
443
  * Minutes after completion before auto-archiving a feature (default: 10, 0 = disabled)
448
444
  */
@@ -451,6 +447,7 @@ export type WorkflowConfig = {
451
447
  export declare enum AgentType {
452
448
  ClaudeCode = "claude-code",
453
449
  CodexCli = "codex-cli",
450
+ CopilotCli = "copilot-cli",
454
451
  GeminiCli = "gemini-cli",
455
452
  Aider = "aider",
456
453
  Continue = "continue",
@@ -808,16 +805,10 @@ export declare enum SdlcLifecycle {
808
805
  Maintain = "Maintain",
809
806
  Blocked = "Blocked",
810
807
  Pending = "Pending",
811
- Exploring = "Exploring",
812
808
  Deleting = "Deleting",
813
809
  AwaitingUpstream = "AwaitingUpstream",
814
810
  Archived = "Archived"
815
811
  }
816
- export declare enum FeatureMode {
817
- Regular = "Regular",
818
- Fast = "Fast",
819
- Exploration = "Exploration"
820
- }
821
812
  /**
822
813
  * Configuration for human-in-the-loop approval gates
823
814
  */
@@ -1005,9 +996,9 @@ export type Feature = SoftDeletableEntity & {
1005
996
  */
1006
997
  repositoryId?: UUID;
1007
998
  /**
1008
- * Execution mode determining the workflow: Regular (full SDLC), Fast (direct implementation), or Exploration (iterative prototyping)
999
+ * When true, SDLC phases were skipped and the feature was implemented directly from the prompt
1009
1000
  */
1010
- mode: FeatureMode;
1001
+ fast: boolean;
1011
1002
  /**
1012
1003
  * Push branch to remote after implementation (default: false)
1013
1004
  */
@@ -1044,14 +1035,6 @@ export type Feature = SoftDeletableEntity & {
1044
1035
  * Absolute path to the git worktree for this feature
1045
1036
  */
1046
1037
  worktreePath?: string;
1047
- /**
1048
- * Current feedback iteration count in exploration mode (0 when not exploring)
1049
- */
1050
- iterationCount: number;
1051
- /**
1052
- * Maximum allowed iterations for exploration mode (only set when mode is Exploration)
1053
- */
1054
- maxIterations?: number;
1055
1038
  /**
1056
1039
  * Pull request data (null until PR created)
1057
1040
  */