@scemoon/cdh 1.0.5 → 1.0.7

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 (551) hide show
  1. package/package.json +2 -2
  2. package/run.js +68 -14
  3. package/ai-dlc-skill/SKILL.md +0 -77
  4. package/ai-dlc-skill/agents/deliver-agent.md +0 -24
  5. package/ai-dlc-skill/agents/master.md +0 -50
  6. package/ai-dlc-skill/agents/plan-agent.md +0 -23
  7. package/ai-dlc-skill/agents/understand-agent.md +0 -23
  8. package/ai-dlc-skill/agents/verify-agent.md +0 -27
  9. package/ai-dlc-skill/architecture/project-structure.md +0 -78
  10. package/ai-dlc-skill/brownfield/README.md +0 -30
  11. package/ai-dlc-skill/brownfield/generate-context.sh +0 -64
  12. package/ai-dlc-skill/brownfield/scripts/deps.sh +0 -27
  13. package/ai-dlc-skill/brownfield/scripts/discover.sh +0 -34
  14. package/ai-dlc-skill/brownfield/scripts/extract-api.sh +0 -45
  15. package/ai-dlc-skill/components/backend.md +0 -34
  16. package/ai-dlc-skill/components/desktop.md +0 -30
  17. package/ai-dlc-skill/components/mya.md +0 -29
  18. package/ai-dlc-skill/components/native.md +0 -30
  19. package/ai-dlc-skill/components/tta.md +0 -29
  20. package/ai-dlc-skill/components/web.md +0 -31
  21. package/ai-dlc-skill/components/wxa.md +0 -29
  22. package/ai-dlc-skill/contracts/README.md +0 -25
  23. package/ai-dlc-skill/core/adaptive-flow.md +0 -36
  24. package/ai-dlc-skill/core/security.md +0 -29
  25. package/ai-dlc-skill/cross-tool/cline/export.sh +0 -31
  26. package/ai-dlc-skill/cross-tool/copilot/export.sh +0 -47
  27. package/ai-dlc-skill/cross-tool/cursor/export.sh +0 -32
  28. package/ai-dlc-skill/cross-tool/export.sh +0 -22
  29. package/ai-dlc-skill/cross-tool/onecode/config.yaml.tpl +0 -17
  30. package/ai-dlc-skill/cross-tool/onecode/export-skills.sh +0 -35
  31. package/ai-dlc-skill/cross-tool/onecode/export.sh +0 -54
  32. package/ai-dlc-skill/phases/deliver/entry.md +0 -26
  33. package/ai-dlc-skill/phases/deliver/lifecycle.md +0 -185
  34. package/ai-dlc-skill/phases/deliver/prompt.md +0 -40
  35. package/ai-dlc-skill/phases/deliver/rules.md +0 -61
  36. package/ai-dlc-skill/phases/plan/entry.md +0 -25
  37. package/ai-dlc-skill/phases/plan/lifecycle.md +0 -204
  38. package/ai-dlc-skill/phases/plan/prompt.md +0 -38
  39. package/ai-dlc-skill/phases/plan/rules.md +0 -25
  40. package/ai-dlc-skill/phases/understand/entry.md +0 -26
  41. package/ai-dlc-skill/phases/understand/lifecycle.md +0 -184
  42. package/ai-dlc-skill/phases/understand/prompt.md +0 -41
  43. package/ai-dlc-skill/phases/understand/rules.md +0 -37
  44. package/ai-dlc-skill/phases/verify/entry.md +0 -26
  45. package/ai-dlc-skill/phases/verify/lifecycle.md +0 -192
  46. package/ai-dlc-skill/phases/verify/prompt.md +0 -43
  47. package/ai-dlc-skill/phases/verify/rules.md +0 -73
  48. package/ai-dlc-skill/practices/bdd.md +0 -91
  49. package/ai-dlc-skill/practices/sdd.md +0 -84
  50. package/ai-dlc-skill/practices/tdd.md +0 -95
  51. package/ai-dlc-skill/providers/README.md +0 -114
  52. package/ai-dlc-skill/providers/aliyun/deployment.yaml +0 -66
  53. package/ai-dlc-skill/providers/aliyun/preview.yaml +0 -84
  54. package/ai-dlc-skill/providers/aliyun/provider.yaml +0 -160
  55. package/ai-dlc-skill/providers/tcb/deployment.yaml +0 -69
  56. package/ai-dlc-skill/providers/tcb/preview.yaml +0 -83
  57. package/ai-dlc-skill/providers/tcb/provider.yaml +0 -172
  58. package/ai-dlc-skill/requirements.md +0 -140
  59. package/ai-dlc-skill/skill.yaml +0 -147
  60. package/ai-dlc-skill/templates/integration/CHANGELOG.md +0 -41
  61. package/ai-dlc-skill/templates/integration/asyncapi.yaml +0 -43
  62. package/ai-dlc-skill/templates/integration/contract-diff.md +0 -63
  63. package/ai-dlc-skill/templates/integration/contract-spec.md +0 -49
  64. package/ai-dlc-skill/templates/integration/openapi.yaml +0 -18
  65. package/ai-dlc-skill/templates/integration/runtime-contract.yaml +0 -36
  66. package/ai-dlc-skill/templates/plan/design.md +0 -49
  67. package/ai-dlc-skill/templates/plan/task-list.md +0 -32
  68. package/ai-dlc-skill/templates/project/README.md +0 -126
  69. package/ai-dlc-skill/templates/project/template.md +0 -119
  70. package/ai-dlc-skill/templates/understand/feature.feature +0 -23
  71. package/ai-dlc-skill/templates/understand/intent.md +0 -29
  72. package/ai-dlc-skill/templates/understand/spec-delta.md +0 -47
  73. package/ai-dlc-skill/templates/verify/test-unit.py +0 -27
  74. package/ai-dlc-skill/walkthrough/collect.sh +0 -50
  75. package/ai-dlc-skill/walkthrough/template.md +0 -54
  76. package/ai-dlc-skill/workflows/ai-dlc.yaml +0 -110
  77. package/ai-dlc-skill/workflows/deployment.yaml +0 -199
  78. package/cdh/__init__.py +0 -0
  79. package/cdh/__main__.py +0 -4
  80. package/cdh/__pycache__/__init__.cpython-314.pyc +0 -0
  81. package/cdh/__pycache__/cdh_mcp_injector.cpython-314.pyc +0 -0
  82. package/cdh/__pycache__/cdh_mcp_loader.cpython-314.pyc +0 -0
  83. package/cdh/__pycache__/cdh_mcp_manager.cpython-314.pyc +0 -0
  84. package/cdh/__pycache__/cdh_session_aggregator.cpython-314.pyc +0 -0
  85. package/cdh/__pycache__/cdh_skill_loader.cpython-314.pyc +0 -0
  86. package/cdh/__pycache__/cdh_skill_manager.cpython-314.pyc +0 -0
  87. package/cdh/__pycache__/cli.cpython-313.pyc +0 -0
  88. package/cdh/__pycache__/cli.cpython-314.pyc +0 -0
  89. package/cdh/__pycache__/scaffold.cpython-314.pyc +0 -0
  90. package/cdh/cdh_mcp_injector.py +0 -115
  91. package/cdh/cdh_mcp_loader.py +0 -67
  92. package/cdh/cdh_mcp_manager.py +0 -73
  93. package/cdh/cdh_session_aggregator.py +0 -258
  94. package/cdh/cdh_skill_manager.py +0 -105
  95. package/cdh/cli.py +0 -758
  96. package/cdh/scaffold.py +0 -728
  97. package/onecode/__init__.py +0 -1
  98. package/onecode/__main__.py +0 -4
  99. package/onecode/__pycache__/__init__.cpython-314.pyc +0 -0
  100. package/onecode/__pycache__/cli.cpython-314.pyc +0 -0
  101. package/onecode/__pycache__/commands.cpython-314.pyc +0 -0
  102. package/onecode/__pycache__/config.cpython-314.pyc +0 -0
  103. package/onecode/__pycache__/config_screen.cpython-314.pyc +0 -0
  104. package/onecode/__pycache__/migrate.cpython-314.pyc +0 -0
  105. package/onecode/agent/__init__.py +0 -0
  106. package/onecode/agent/__pycache__/__init__.cpython-314.pyc +0 -0
  107. package/onecode/agent/__pycache__/cdh_loader.cpython-314.pyc +0 -0
  108. package/onecode/agent/__pycache__/context.cpython-314.pyc +0 -0
  109. package/onecode/agent/__pycache__/engine.cpython-314.pyc +0 -0
  110. package/onecode/agent/__pycache__/hooks.cpython-314.pyc +0 -0
  111. package/onecode/agent/__pycache__/onecode_agent_acp.cpython-314.pyc +0 -0
  112. package/onecode/agent/__pycache__/permissions.cpython-314.pyc +0 -0
  113. package/onecode/agent/__pycache__/permissions_store.cpython-314.pyc +0 -0
  114. package/onecode/agent/__pycache__/project_doc.cpython-314.pyc +0 -0
  115. package/onecode/agent/__pycache__/session.cpython-314.pyc +0 -0
  116. package/onecode/agent/agents/__init__.py +0 -29
  117. package/onecode/agent/agents/__pycache__/__init__.cpython-314.pyc +0 -0
  118. package/onecode/agent/agents/__pycache__/types.cpython-314.pyc +0 -0
  119. package/onecode/agent/agents/types.py +0 -589
  120. package/onecode/agent/attachments.py +0 -112
  121. package/onecode/agent/cdh_loader.py +0 -267
  122. package/onecode/agent/context.py +0 -343
  123. package/onecode/agent/engine.py +0 -2700
  124. package/onecode/agent/hooks.py +0 -86
  125. package/onecode/agent/onecode_agent_acp.py +0 -2743
  126. package/onecode/agent/onecode_agent_acp.py.bak +0 -2447
  127. package/onecode/agent/permissions.py +0 -150
  128. package/onecode/agent/permissions_store.py +0 -62
  129. package/onecode/agent/project_doc.py +0 -19
  130. package/onecode/agent/session.py +0 -195
  131. package/onecode/agent/snapshot.py +0 -144
  132. package/onecode/agent/tools/__init__.py +0 -17
  133. package/onecode/agent/tools/__pycache__/__init__.cpython-314.pyc +0 -0
  134. package/onecode/agent/tools/__pycache__/agent_tools.cpython-314.pyc +0 -0
  135. package/onecode/agent/tools/__pycache__/apply_patch_tool.cpython-314.pyc +0 -0
  136. package/onecode/agent/tools/__pycache__/bash_tool.cpython-314.pyc +0 -0
  137. package/onecode/agent/tools/__pycache__/communication_tools.cpython-314.pyc +0 -0
  138. package/onecode/agent/tools/__pycache__/config_tool.cpython-314.pyc +0 -0
  139. package/onecode/agent/tools/__pycache__/cron_tools.cpython-314.pyc +0 -0
  140. package/onecode/agent/tools/__pycache__/errors.cpython-314.pyc +0 -0
  141. package/onecode/agent/tools/__pycache__/file_ops.cpython-314.pyc +0 -0
  142. package/onecode/agent/tools/__pycache__/file_tools.cpython-314.pyc +0 -0
  143. package/onecode/agent/tools/__pycache__/git_tools.cpython-314.pyc +0 -0
  144. package/onecode/agent/tools/__pycache__/lsp_tools.cpython-314.pyc +0 -0
  145. package/onecode/agent/tools/__pycache__/mcp_tools.cpython-314.pyc +0 -0
  146. package/onecode/agent/tools/__pycache__/permission_handler.cpython-314.pyc +0 -0
  147. package/onecode/agent/tools/__pycache__/permissions.cpython-314.pyc +0 -0
  148. package/onecode/agent/tools/__pycache__/protocol.cpython-314.pyc +0 -0
  149. package/onecode/agent/tools/__pycache__/registry.cpython-314.pyc +0 -0
  150. package/onecode/agent/tools/__pycache__/sandbox.cpython-314.pyc +0 -0
  151. package/onecode/agent/tools/__pycache__/schema_validation.cpython-314.pyc +0 -0
  152. package/onecode/agent/tools/__pycache__/skill_tools.cpython-314.pyc +0 -0
  153. package/onecode/agent/tools/__pycache__/todo_tools.cpython-314.pyc +0 -0
  154. package/onecode/agent/tools/__pycache__/web_tools.cpython-314.pyc +0 -0
  155. package/onecode/agent/tools/agent_tools.py +0 -132
  156. package/onecode/agent/tools/apply_patch_tool.py +0 -138
  157. package/onecode/agent/tools/bash_tool.py +0 -111
  158. package/onecode/agent/tools/communication_tools.py +0 -148
  159. package/onecode/agent/tools/config_tool.py +0 -130
  160. package/onecode/agent/tools/cron_tools.py +0 -178
  161. package/onecode/agent/tools/errors.py +0 -17
  162. package/onecode/agent/tools/file_ops.py +0 -221
  163. package/onecode/agent/tools/file_tools.py +0 -225
  164. package/onecode/agent/tools/git_tools.py +0 -88
  165. package/onecode/agent/tools/lsp_tools.py +0 -404
  166. package/onecode/agent/tools/mcp_tools.py +0 -127
  167. package/onecode/agent/tools/permission_handler.py +0 -46
  168. package/onecode/agent/tools/permissions.py +0 -77
  169. package/onecode/agent/tools/protocol.py +0 -20
  170. package/onecode/agent/tools/registry.py +0 -201
  171. package/onecode/agent/tools/sandbox.py +0 -358
  172. package/onecode/agent/tools/schema_validation.py +0 -100
  173. package/onecode/agent/tools/skill_tools.py +0 -52
  174. package/onecode/agent/tools/todo_tools.py +0 -207
  175. package/onecode/agent/tools/web_tools.py +0 -169
  176. package/onecode/builtin_skills/agent-browser/SKILL.md +0 -212
  177. package/onecode/builtin_skills/agent-browser/skill.yaml +0 -8
  178. package/onecode/builtin_skills/git/SKILL.md +0 -64
  179. package/onecode/builtin_skills/git/skill.yaml +0 -7
  180. package/onecode/builtin_skills/shell/SKILL.md +0 -58
  181. package/onecode/builtin_skills/shell/skill.yaml +0 -8
  182. package/onecode/builtin_skills/skill-creator/SKILL.md +0 -106
  183. package/onecode/builtin_skills/skill-creator/skill.yaml +0 -8
  184. package/onecode/cli.py +0 -935
  185. package/onecode/cloud/__init__.py +0 -0
  186. package/onecode/cloud/base.py +0 -20
  187. package/onecode/codebase/__init__.py +0 -69
  188. package/onecode/codebase/__pycache__/__init__.cpython-314.pyc +0 -0
  189. package/onecode/codebase/__pycache__/chunker.cpython-314.pyc +0 -0
  190. package/onecode/codebase/__pycache__/indexer.cpython-314.pyc +0 -0
  191. package/onecode/codebase/__pycache__/retriever.cpython-314.pyc +0 -0
  192. package/onecode/codebase/__pycache__/storage.cpython-314.pyc +0 -0
  193. package/onecode/codebase/__pycache__/tools.cpython-314.pyc +0 -0
  194. package/onecode/codebase/chunker.py +0 -125
  195. package/onecode/codebase/indexer.py +0 -149
  196. package/onecode/codebase/retriever.py +0 -203
  197. package/onecode/codebase/storage.py +0 -131
  198. package/onecode/codebase/tools.py +0 -59
  199. package/onecode/commands.py +0 -596
  200. package/onecode/config.py +0 -314
  201. package/onecode/config_screen.py +0 -600
  202. package/onecode/cron/__init__.py +0 -3
  203. package/onecode/lsp/__init__.py +0 -3
  204. package/onecode/mcp/__init__.py +0 -4
  205. package/onecode/mcp/__pycache__/__init__.cpython-314.pyc +0 -0
  206. package/onecode/mcp/__pycache__/client.cpython-314.pyc +0 -0
  207. package/onecode/mcp/__pycache__/manager.cpython-314.pyc +0 -0
  208. package/onecode/mcp/client.py +0 -193
  209. package/onecode/mcp/manager.py +0 -190
  210. package/onecode/memory/__init__.py +0 -49
  211. package/onecode/memory/__pycache__/__init__.cpython-314.pyc +0 -0
  212. package/onecode/memory/__pycache__/backend.cpython-314.pyc +0 -0
  213. package/onecode/memory/__pycache__/offload.cpython-314.pyc +0 -0
  214. package/onecode/memory/__pycache__/pyramid.cpython-314.pyc +0 -0
  215. package/onecode/memory/__pycache__/recall.cpython-314.pyc +0 -0
  216. package/onecode/memory/__pycache__/symbolic.cpython-314.pyc +0 -0
  217. package/onecode/memory/backend.py +0 -159
  218. package/onecode/memory/pyramid.py +0 -133
  219. package/onecode/memory/recall.py +0 -203
  220. package/onecode/migrate.py +0 -122
  221. package/onecode/models/__init__.py +0 -4
  222. package/onecode/models/__pycache__/__init__.cpython-314.pyc +0 -0
  223. package/onecode/models/__pycache__/errors.cpython-314.pyc +0 -0
  224. package/onecode/models/__pycache__/messages.cpython-314.pyc +0 -0
  225. package/onecode/models/__pycache__/provider.cpython-314.pyc +0 -0
  226. package/onecode/models/__pycache__/registry.cpython-314.pyc +0 -0
  227. package/onecode/models/errors.py +0 -104
  228. package/onecode/models/messages.py +0 -739
  229. package/onecode/models/provider.py +0 -699
  230. package/onecode/models/providers/__init__.py +0 -17
  231. package/onecode/models/providers/__pycache__/__init__.cpython-314.pyc +0 -0
  232. package/onecode/models/providers/__pycache__/anthropic_provider.cpython-314.pyc +0 -0
  233. package/onecode/models/providers/__pycache__/deepseek_provider.cpython-314.pyc +0 -0
  234. package/onecode/models/providers/__pycache__/glm_provider.cpython-314.pyc +0 -0
  235. package/onecode/models/providers/__pycache__/minimax_provider.cpython-314.pyc +0 -0
  236. package/onecode/models/providers/__pycache__/minimaxi_provider.cpython-314.pyc +0 -0
  237. package/onecode/models/providers/__pycache__/ollama_provider.cpython-314.pyc +0 -0
  238. package/onecode/models/providers/__pycache__/openai_provider.cpython-314.pyc +0 -0
  239. package/onecode/models/providers/anthropic_provider.py +0 -273
  240. package/onecode/models/providers/deepseek_provider.py +0 -212
  241. package/onecode/models/providers/glm_provider.py +0 -195
  242. package/onecode/models/providers/minimax_provider.py +0 -158
  243. package/onecode/models/providers/minimaxi_provider.py +0 -417
  244. package/onecode/models/providers/ollama_provider.py +0 -100
  245. package/onecode/models/providers/openai_provider.py +0 -237
  246. package/onecode/models/registry.py +0 -212
  247. package/onecode/server/__init__.py +0 -3
  248. package/onecode/server/app.py +0 -224
  249. package/onecode/skills/__init__.py +0 -11
  250. package/onecode/skills/__pycache__/__init__.cpython-314.pyc +0 -0
  251. package/onecode/skills/__pycache__/argument_substitution.cpython-314.pyc +0 -0
  252. package/onecode/skills/__pycache__/bootstrap.cpython-314.pyc +0 -0
  253. package/onecode/skills/__pycache__/create.cpython-314.pyc +0 -0
  254. package/onecode/skills/__pycache__/frontmatter.cpython-314.pyc +0 -0
  255. package/onecode/skills/__pycache__/loader.cpython-314.pyc +0 -0
  256. package/onecode/skills/__pycache__/manager.cpython-314.pyc +0 -0
  257. package/onecode/skills/__pycache__/model.cpython-314.pyc +0 -0
  258. package/onecode/skills/argument_substitution.py +0 -38
  259. package/onecode/skills/bootstrap.py +0 -124
  260. package/onecode/skills/create.py +0 -56
  261. package/onecode/skills/frontmatter.py +0 -33
  262. package/onecode/skills/loader.py +0 -139
  263. package/onecode/skills/manager.py +0 -75
  264. package/onecode/skills/model.py +0 -43
  265. package/onecode/storage/__init__.py +0 -0
  266. package/onecode/storage/activity.py +0 -63
  267. package/onecode/storage/project.py +0 -54
  268. package/onecode/storage/session.py +0 -112
  269. package/onecode/tasks/__init__.py +0 -26
  270. package/onecode/tasks/manager.py +0 -232
  271. package/onecode/tasks/models.py +0 -240
  272. package/onecode/trace/__init__.py +0 -0
  273. package/onecode/trace/tracer.py +0 -173
  274. package/onecode/utils/__init__.py +0 -0
  275. package/onecode/utils/helpers.py +0 -20
  276. package/pyproject.toml +0 -74
  277. package/tui/__init__.py +0 -46
  278. package/tui/__main__.py +0 -4
  279. package/tui/__pycache__/__init__.cpython-314.pyc +0 -0
  280. package/tui/__pycache__/_loop.cpython-314.pyc +0 -0
  281. package/tui/__pycache__/_path_fuzzy_search.cpython-314.pyc +0 -0
  282. package/tui/__pycache__/_path_match.cpython-314.pyc +0 -0
  283. package/tui/__pycache__/about.cpython-314.pyc +0 -0
  284. package/tui/__pycache__/agent.cpython-314.pyc +0 -0
  285. package/tui/__pycache__/agent_schema.cpython-314.pyc +0 -0
  286. package/tui/__pycache__/agents.cpython-314.pyc +0 -0
  287. package/tui/__pycache__/answer.cpython-314.pyc +0 -0
  288. package/tui/__pycache__/app.cpython-313.pyc +0 -0
  289. package/tui/__pycache__/app.cpython-314.pyc +0 -0
  290. package/tui/__pycache__/atomic.cpython-314.pyc +0 -0
  291. package/tui/__pycache__/complete.cpython-314.pyc +0 -0
  292. package/tui/__pycache__/constants.cpython-314.pyc +0 -0
  293. package/tui/__pycache__/conversation_markdown.cpython-314.pyc +0 -0
  294. package/tui/__pycache__/danger.cpython-314.pyc +0 -0
  295. package/tui/__pycache__/db.cpython-314.pyc +0 -0
  296. package/tui/__pycache__/dec.cpython-314.pyc +0 -0
  297. package/tui/__pycache__/directory.cpython-314.pyc +0 -0
  298. package/tui/__pycache__/directory_suggester.cpython-314.pyc +0 -0
  299. package/tui/__pycache__/directory_watcher.cpython-314.pyc +0 -0
  300. package/tui/__pycache__/format_path.cpython-314.pyc +0 -0
  301. package/tui/__pycache__/fuzzy.cpython-314.pyc +0 -0
  302. package/tui/__pycache__/fuzzy_index.cpython-314.pyc +0 -0
  303. package/tui/__pycache__/history.cpython-314.pyc +0 -0
  304. package/tui/__pycache__/jsonrpc.cpython-314.pyc +0 -0
  305. package/tui/__pycache__/menus.cpython-314.pyc +0 -0
  306. package/tui/__pycache__/message_log.cpython-314.pyc +0 -0
  307. package/tui/__pycache__/messages.cpython-314.pyc +0 -0
  308. package/tui/__pycache__/path_complete.cpython-314.pyc +0 -0
  309. package/tui/__pycache__/path_filter.cpython-314.pyc +0 -0
  310. package/tui/__pycache__/paths.cpython-314.pyc +0 -0
  311. package/tui/__pycache__/pill.cpython-314.pyc +0 -0
  312. package/tui/__pycache__/platform_commands.cpython-314.pyc +0 -0
  313. package/tui/__pycache__/protocol.cpython-314.pyc +0 -0
  314. package/tui/__pycache__/session_tracker.cpython-314.pyc +0 -0
  315. package/tui/__pycache__/settings.cpython-314.pyc +0 -0
  316. package/tui/__pycache__/settings_schema.cpython-314.pyc +0 -0
  317. package/tui/__pycache__/shell.cpython-314.pyc +0 -0
  318. package/tui/__pycache__/shell_read.cpython-314.pyc +0 -0
  319. package/tui/__pycache__/slash_command.cpython-314.pyc +0 -0
  320. package/tui/__pycache__/version.cpython-314.pyc +0 -0
  321. package/tui/_loop.py +0 -86
  322. package/tui/_path_fuzzy_search.py +0 -48
  323. package/tui/_path_match.py +0 -141
  324. package/tui/about.py +0 -95
  325. package/tui/acp/__pycache__/agent.cpython-314.pyc +0 -0
  326. package/tui/acp/__pycache__/api.cpython-314.pyc +0 -0
  327. package/tui/acp/__pycache__/encode_tool_call_id.cpython-314.pyc +0 -0
  328. package/tui/acp/__pycache__/messages.cpython-314.pyc +0 -0
  329. package/tui/acp/__pycache__/prompt.cpython-314.pyc +0 -0
  330. package/tui/acp/__pycache__/protocol.cpython-314.pyc +0 -0
  331. package/tui/acp/agent.py +0 -1002
  332. package/tui/acp/api.py +0 -73
  333. package/tui/acp/encode_tool_call_id.py +0 -12
  334. package/tui/acp/messages.py +0 -203
  335. package/tui/acp/prompt.py +0 -53
  336. package/tui/acp/protocol.py +0 -499
  337. package/tui/agent.py +0 -70
  338. package/tui/agent_schema.py +0 -76
  339. package/tui/agents.py +0 -46
  340. package/tui/ansi/__init__.py +0 -1
  341. package/tui/ansi/__pycache__/__init__.cpython-314.pyc +0 -0
  342. package/tui/ansi/__pycache__/_ansi.cpython-314.pyc +0 -0
  343. package/tui/ansi/__pycache__/_ansi_colors.cpython-314.pyc +0 -0
  344. package/tui/ansi/__pycache__/_control_codes.cpython-314.pyc +0 -0
  345. package/tui/ansi/__pycache__/_keys.cpython-314.pyc +0 -0
  346. package/tui/ansi/__pycache__/_sgr_styles.cpython-314.pyc +0 -0
  347. package/tui/ansi/__pycache__/_stream_parser.cpython-314.pyc +0 -0
  348. package/tui/ansi/_ansi.py +0 -1689
  349. package/tui/ansi/_ansi_colors.py +0 -264
  350. package/tui/ansi/_control_codes.py +0 -37
  351. package/tui/ansi/_keys.py +0 -251
  352. package/tui/ansi/_sgr_styles.py +0 -64
  353. package/tui/ansi/_stream_parser.py +0 -418
  354. package/tui/answer.py +0 -12
  355. package/tui/app.py +0 -1266
  356. package/tui/atomic.py +0 -37
  357. package/tui/cli.py +0 -313
  358. package/tui/code_analyze.py +0 -27
  359. package/tui/complete.py +0 -38
  360. package/tui/constants.py +0 -61
  361. package/tui/conversation_markdown.py +0 -30
  362. package/tui/danger.py +0 -372
  363. package/tui/data/agents/ampcode.com.toml +0 -52
  364. package/tui/data/agents/augmentcode.com.toml +0 -41
  365. package/tui/data/agents/cdh.cloud-dev-harness.toml +0 -23
  366. package/tui/data/agents/claude.com.toml +0 -41
  367. package/tui/data/agents/copilot.github.com.toml +0 -29
  368. package/tui/data/agents/crowai.dev.toml +0 -36
  369. package/tui/data/agents/cursor.com.toml +0 -38
  370. package/tui/data/agents/deepagents.langchain.com +0 -34
  371. package/tui/data/agents/docker.com.toml +0 -60
  372. package/tui/data/agents/geminicli.com.toml +0 -28
  373. package/tui/data/agents/goose.ai.toml +0 -52
  374. package/tui/data/agents/inference.huggingface.co.toml +0 -41
  375. package/tui/data/agents/kimi.com.toml +0 -35
  376. package/tui/data/agents/kiro.dev.toml +0 -43
  377. package/tui/data/agents/onecode.dev.toml +0 -22
  378. package/tui/data/agents/openai.com.toml +0 -53
  379. package/tui/data/agents/openclaw.ai.toml +0 -37
  380. package/tui/data/agents/opencode.ai.toml +0 -39
  381. package/tui/data/agents/openhands.dev.toml +0 -46
  382. package/tui/data/agents/stakpak.dev.toml +0 -62
  383. package/tui/data/agents/vibe.mistral.ai.toml +0 -31
  384. package/tui/data/agents/vtcode.dev.toml +0 -63
  385. package/tui/data/images/frog.png +0 -0
  386. package/tui/data/sounds/question.wav +0 -0
  387. package/tui/data/sounds/turn-over.wav +0 -0
  388. package/tui/db.py +0 -213
  389. package/tui/dec.py +0 -332
  390. package/tui/directory.py +0 -234
  391. package/tui/directory_suggester.py +0 -93
  392. package/tui/directory_watcher.py +0 -231
  393. package/tui/format_path.py +0 -25
  394. package/tui/fuzzy.py +0 -140
  395. package/tui/fuzzy_index.py +0 -275
  396. package/tui/gist.py +0 -33
  397. package/tui/history.py +0 -138
  398. package/tui/jsonrpc.py +0 -578
  399. package/tui/menus.py +0 -14
  400. package/tui/message_log.py +0 -69
  401. package/tui/messages.py +0 -144
  402. package/tui/option_content.py +0 -51
  403. package/tui/os.py +0 -0
  404. package/tui/path_complete.py +0 -217
  405. package/tui/path_filter.py +0 -124
  406. package/tui/paths.py +0 -87
  407. package/tui/pill.py +0 -23
  408. package/tui/platform_commands.py +0 -52
  409. package/tui/prompt/__pycache__/extract.cpython-314.pyc +0 -0
  410. package/tui/prompt/__pycache__/resource.cpython-314.pyc +0 -0
  411. package/tui/prompt/extract.py +0 -19
  412. package/tui/prompt/resource.py +0 -68
  413. package/tui/protocol.py +0 -28
  414. package/tui/screens/__init__.py +0 -0
  415. package/tui/screens/__pycache__/__init__.cpython-314.pyc +0 -0
  416. package/tui/screens/__pycache__/agent_modal.cpython-314.pyc +0 -0
  417. package/tui/screens/__pycache__/component_picker.cpython-314.pyc +0 -0
  418. package/tui/screens/__pycache__/diff_screen.cpython-314.pyc +0 -0
  419. package/tui/screens/__pycache__/log.cpython-314.pyc +0 -0
  420. package/tui/screens/__pycache__/main.cpython-313.pyc +0 -0
  421. package/tui/screens/__pycache__/main.cpython-314.pyc +0 -0
  422. package/tui/screens/__pycache__/permissions.cpython-314.pyc +0 -0
  423. package/tui/screens/__pycache__/projects_app.cpython-314.pyc +0 -0
  424. package/tui/screens/__pycache__/projects_screen.cpython-314.pyc +0 -0
  425. package/tui/screens/__pycache__/sessions.cpython-314.pyc +0 -0
  426. package/tui/screens/__pycache__/store.cpython-314.pyc +0 -0
  427. package/tui/screens/__pycache__/tool_content_screen.cpython-314.pyc +0 -0
  428. package/tui/screens/action_modal.py +0 -94
  429. package/tui/screens/agent_modal.py +0 -175
  430. package/tui/screens/command_edit_modal.py +0 -74
  431. package/tui/screens/component_picker.py +0 -168
  432. package/tui/screens/diff_screen.py +0 -84
  433. package/tui/screens/log.py +0 -553
  434. package/tui/screens/main.py +0 -385
  435. package/tui/screens/main.tcss +0 -655
  436. package/tui/screens/permissions.py +0 -404
  437. package/tui/screens/permissions.tcss +0 -72
  438. package/tui/screens/projects.tcss +0 -80
  439. package/tui/screens/projects_app.py +0 -347
  440. package/tui/screens/projects_screen.py +0 -284
  441. package/tui/screens/session_resume_modal.py +0 -172
  442. package/tui/screens/session_resume_modal.tcss +0 -35
  443. package/tui/screens/sessions.py +0 -164
  444. package/tui/screens/sessions.tcss +0 -119
  445. package/tui/screens/settings.py +0 -254
  446. package/tui/screens/settings.tcss +0 -101
  447. package/tui/screens/store.py +0 -500
  448. package/tui/screens/store.tcss +0 -274
  449. package/tui/screens/tool_content_screen.py +0 -59
  450. package/tui/session_tracker.py +0 -123
  451. package/tui/settings.py +0 -353
  452. package/tui/settings_schema.py +0 -431
  453. package/tui/shell.py +0 -304
  454. package/tui/shell_read.py +0 -42
  455. package/tui/slash_command.py +0 -34
  456. package/tui/tui.tcss +0 -246
  457. package/tui/twitter.py +0 -38
  458. package/tui/version.py +0 -80
  459. package/tui/visuals/__init__.py +0 -0
  460. package/tui/visuals/__pycache__/__init__.cpython-314.pyc +0 -0
  461. package/tui/visuals/__pycache__/columns.cpython-314.pyc +0 -0
  462. package/tui/visuals/columns.py +0 -272
  463. package/tui/widgets/__init__.py +0 -0
  464. package/tui/widgets/__pycache__/__init__.cpython-314.pyc +0 -0
  465. package/tui/widgets/__pycache__/acp_content.cpython-314.pyc +0 -0
  466. package/tui/widgets/__pycache__/agent_response.cpython-314.pyc +0 -0
  467. package/tui/widgets/__pycache__/agent_thought.cpython-314.pyc +0 -0
  468. package/tui/widgets/__pycache__/ask_user.cpython-314.pyc +0 -0
  469. package/tui/widgets/__pycache__/condensed_path.cpython-314.pyc +0 -0
  470. package/tui/widgets/__pycache__/context_stats.cpython-314.pyc +0 -0
  471. package/tui/widgets/__pycache__/conversation.cpython-314.pyc +0 -0
  472. package/tui/widgets/__pycache__/diff_view.cpython-314.pyc +0 -0
  473. package/tui/widgets/__pycache__/directory_input.cpython-314.pyc +0 -0
  474. package/tui/widgets/__pycache__/flash.cpython-314.pyc +0 -0
  475. package/tui/widgets/__pycache__/future_text.cpython-314.pyc +0 -0
  476. package/tui/widgets/__pycache__/grid_select.cpython-314.pyc +0 -0
  477. package/tui/widgets/__pycache__/highlighted_textarea.cpython-314.pyc +0 -0
  478. package/tui/widgets/__pycache__/load_more.cpython-314.pyc +0 -0
  479. package/tui/widgets/__pycache__/mandelbrot.cpython-314.pyc +0 -0
  480. package/tui/widgets/__pycache__/markdown_note.cpython-314.pyc +0 -0
  481. package/tui/widgets/__pycache__/menu.cpython-314.pyc +0 -0
  482. package/tui/widgets/__pycache__/modified_files.cpython-314.pyc +0 -0
  483. package/tui/widgets/__pycache__/non_selectable_label.cpython-314.pyc +0 -0
  484. package/tui/widgets/__pycache__/note.cpython-314.pyc +0 -0
  485. package/tui/widgets/__pycache__/path_search.cpython-314.pyc +0 -0
  486. package/tui/widgets/__pycache__/plan.cpython-314.pyc +0 -0
  487. package/tui/widgets/__pycache__/project_directory_tree.cpython-314.pyc +0 -0
  488. package/tui/widgets/__pycache__/project_grid_select.cpython-314.pyc +0 -0
  489. package/tui/widgets/__pycache__/project_summary.cpython-314.pyc +0 -0
  490. package/tui/widgets/__pycache__/prompt.cpython-314.pyc +0 -0
  491. package/tui/widgets/__pycache__/question.cpython-314.pyc +0 -0
  492. package/tui/widgets/__pycache__/session_grid_select.cpython-314.pyc +0 -0
  493. package/tui/widgets/__pycache__/session_summary.cpython-314.pyc +0 -0
  494. package/tui/widgets/__pycache__/session_tabs.cpython-314.pyc +0 -0
  495. package/tui/widgets/__pycache__/shell_result.cpython-314.pyc +0 -0
  496. package/tui/widgets/__pycache__/shell_terminal.cpython-314.pyc +0 -0
  497. package/tui/widgets/__pycache__/side_bar.cpython-314.pyc +0 -0
  498. package/tui/widgets/__pycache__/slash_complete.cpython-314.pyc +0 -0
  499. package/tui/widgets/__pycache__/strike_text.cpython-314.pyc +0 -0
  500. package/tui/widgets/__pycache__/subagent.cpython-314.pyc +0 -0
  501. package/tui/widgets/__pycache__/subagent_screen.cpython-314.pyc +0 -0
  502. package/tui/widgets/__pycache__/terminal.cpython-314.pyc +0 -0
  503. package/tui/widgets/__pycache__/throbber.cpython-314.pyc +0 -0
  504. package/tui/widgets/__pycache__/tool_call.cpython-314.pyc +0 -0
  505. package/tui/widgets/__pycache__/user_input.cpython-314.pyc +0 -0
  506. package/tui/widgets/acp_content.py +0 -70
  507. package/tui/widgets/agent_response.py +0 -76
  508. package/tui/widgets/agent_thought.py +0 -167
  509. package/tui/widgets/ask_user.py +0 -264
  510. package/tui/widgets/command_pane.py +0 -223
  511. package/tui/widgets/condensed_path.py +0 -115
  512. package/tui/widgets/context_stats.py +0 -66
  513. package/tui/widgets/conversation.py +0 -2641
  514. package/tui/widgets/danger_warning.py +0 -65
  515. package/tui/widgets/diff_view.py +0 -69
  516. package/tui/widgets/directory_input.py +0 -8
  517. package/tui/widgets/flash.py +0 -81
  518. package/tui/widgets/future_text.py +0 -126
  519. package/tui/widgets/grid_select.py +0 -234
  520. package/tui/widgets/highlighted_textarea.py +0 -180
  521. package/tui/widgets/load_more.py +0 -24
  522. package/tui/widgets/mandelbrot.py +0 -294
  523. package/tui/widgets/markdown_note.py +0 -13
  524. package/tui/widgets/menu.py +0 -147
  525. package/tui/widgets/modified_files.py +0 -306
  526. package/tui/widgets/non_selectable_label.py +0 -5
  527. package/tui/widgets/note.py +0 -18
  528. package/tui/widgets/path_search.py +0 -492
  529. package/tui/widgets/plan.py +0 -285
  530. package/tui/widgets/project_directory_tree.py +0 -102
  531. package/tui/widgets/project_grid_select.py +0 -64
  532. package/tui/widgets/project_summary.py +0 -33
  533. package/tui/widgets/prompt.py +0 -795
  534. package/tui/widgets/question.py +0 -360
  535. package/tui/widgets/session_grid_select.py +0 -230
  536. package/tui/widgets/session_summary.py +0 -115
  537. package/tui/widgets/session_tabs.py +0 -188
  538. package/tui/widgets/shell_result.py +0 -35
  539. package/tui/widgets/shell_terminal.py +0 -40
  540. package/tui/widgets/side_bar.py +0 -124
  541. package/tui/widgets/slash_complete.py +0 -235
  542. package/tui/widgets/strike_text.py +0 -70
  543. package/tui/widgets/subagent.py +0 -287
  544. package/tui/widgets/subagent_screen.py +0 -709
  545. package/tui/widgets/terminal.py +0 -576
  546. package/tui/widgets/terminal_tool.py +0 -360
  547. package/tui/widgets/throbber.py +0 -100
  548. package/tui/widgets/tool_call.py +0 -398
  549. package/tui/widgets/user_input.py +0 -23
  550. package/tui/widgets/version.py +0 -5
  551. package/tui/widgets/welcome.py +0 -31
@@ -1,185 +0,0 @@
1
- # AI-DLC Phase 4: Deliver (交付)
2
-
3
- Deploy the **full stack** together, verify per-component and cross-stack e2e against the unified preview, release with stack-level BVT.
4
-
5
- ## Goal
6
-
7
- Deliver verified code to production as a coherent stack with full confidence — preview environment, per-component e2e, cross-stack e2e, stack-level BVT, and rollback at the stack level.
8
-
9
- ## Flow
10
-
11
- ```
12
- All Verify gates passed (per-component + contract + cross-stack)
13
-
14
-
15
- Unified Stack Preview Deploy (dynamic URL from cloud provider)
16
- - backend (functions + DB migrate)
17
- - web (hosting build with BACKEND_URL)
18
- - native (build with BACKEND_URL; package + upload)
19
- - desktop (build with BACKEND_URL; package + upload)
20
- - wxa / mya / tta (build with BACKEND_URL; upload to mini-program platform)
21
-
22
-
23
- Per-component BDD e2e (against component preview URL or stack URL)
24
-
25
-
26
- Cross-stack e2e (full app ↔ web ↔ backend against unified stack URL)
27
-
28
-
29
- Staging Stack Deploy + Smoke
30
-
31
-
32
- Human Approval Gate
33
-
34
-
35
- Production Stack Deploy (whole stack as one unit)
36
-
37
-
38
- Stack BVT (Build Verification Test) — backend /health, app launch probe, web smoke, DB
39
-
40
-
41
- Archive: contract-diff.md + e2e reports + BVT report
42
-
43
-
44
- Gate: BVT pass → done | BVT fail → stack rollback
45
- ```
46
-
47
- ## Unified Stack Preview Deploy
48
-
49
- The whole stack is deployed as one unit. The preview URL is the **backend gateway**; all client components (`web`, `native`, `desktop`, `wxa`, `mya`, `tta`) receive it as a build-time or runtime config.
50
-
51
- ```bash
52
- # TCB (default)
53
- deploy_stack --preview
54
- # → backend: tcb fn deploy --env preview
55
- # → backend: tcb db migrate --env preview
56
- # → web: tcb hosting deploy --env preview --build-env BACKEND_URL=${STACK_URL}
57
- # → native: build with BACKEND_URL=${STACK_URL}, upload to internal distribution
58
- # → desktop: build with BACKEND_URL=${STACK_URL}, upload to internal distribution
59
- # → wxa: build with BACKEND_URL=${STACK_URL}, upload to mini-program platform
60
- # → mya: build with BACKEND_URL=${STACK_URL}, upload to mini-program platform
61
- # → tta: build with BACKEND_URL=${STACK_URL}, upload to mini-program platform
62
- # → STACK_URL = https://{env-id}.tcb-preview.com
63
-
64
- # Aliyun
65
- deploy_stack --preview
66
- # → backend: fun deploy --env preview
67
- # → web: oss + cdn deploy with build env
68
- # → native: build with BACKEND_URL, package
69
- # → desktop: build with BACKEND_URL, package
70
- # → wxa: build with BACKEND_URL, upload to mini-program platform
71
- # → mya: build with BACKEND_URL, upload to mini-program platform
72
- # → tta: build with BACKEND_URL, upload to mini-program platform
73
- # → STACK_URL = https://{gateway}.{region}.fc.devs.com
74
- ```
75
-
76
- The `deploy_stack` tool resolves the preview URL dynamically per platform and exports it as `STACK_URL` (or `BACKEND_URL` for components to consume).
77
-
78
- ## Per-Component BDD E2E
79
-
80
- ```bash
81
- export STACK_URL=$(deploy_stack --preview --output url)
82
- export BACKEND_URL=$STACK_URL
83
-
84
- # Backend
85
- pytest apps/backend/tests/e2e/ --base-url $BACKEND_URL
86
-
87
- # Web (against web hosting URL; uses BACKEND_URL as API root)
88
- export WEB_URL=$(deploy_stack --preview --output web_url)
89
- pytest apps/web/tests/e2e/ --base-url $WEB_URL --api-url $BACKEND_URL
90
-
91
- # Native (against installed package or emulator; uses BACKEND_URL)
92
- pytest apps/native/tests/e2e/ --backend-url $BACKEND_URL
93
-
94
- # Desktop (against installed package or emulator; uses BACKEND_URL)
95
- pytest apps/desktop/tests/e2e/ --backend-url $BACKEND_URL
96
-
97
- # Mini-programs (wxa, mya, tta) (against emulator or device; uses BACKEND_URL)
98
- pytest apps/wxa/tests/e2e/ --backend-url $BACKEND_URL
99
- pytest apps/mya/tests/e2e/ --backend-url $BACKEND_URL
100
- pytest apps/tta/tests/e2e/ --backend-url $BACKEND_URL
101
- ```
102
-
103
- ## Cross-Stack E2E
104
-
105
- ```bash
106
- pytest aidlc/tests/cross-stack/ --stack-url $STACK_URL --verbose
107
- # Runs the full multi-client ↔ backend flow defined in aidlc/features/cross-stack/
108
- ```
109
-
110
- **Rule STK-001:** All `cross-stack` scenarios must pass before staging or production.
111
-
112
- ## Staging
113
-
114
- ```bash
115
- deploy_stack --env staging
116
- export STAGING_URL=$(deploy_stack --env staging --output url)
117
- pytest aidlc/tests/cross-stack/ --stack-url $STAGING_URL
118
- smoke-test $STAGING_URL
119
- ```
120
-
121
- ## Human Approval
122
-
123
- Production deployment requires explicit human approval. Approval is a **stack** decision — the reviewer sees the per-component e2e results, the cross-stack e2e results, the staging smoke, and the `contract-diff.md`.
124
-
125
- ## Production Stack Deploy
126
-
127
- ```bash
128
- deploy_stack --env production
129
- # → Same as preview/staging but with prod env IDs and production secrets
130
- ```
131
-
132
- ## Stack BVT (Build Verification Test)
133
-
134
- Automated health and functionality checks against the **production stack**:
135
-
136
- ```bash
137
- bvt ${PRODUCTION_URL}
138
- # Checks:
139
- # 1. backend /health returns 200
140
- # 2. web home page returns 200 (SSR) or shell loads (SPA)
141
- # 3. native/desktop/mini-program launch probe (deep link resolves against BACKEND_URL)
142
- # 4. Core end-to-end flow (login) succeeds
143
- # 5. Database connectivity (probe query)
144
- # 6. No error rate spikes (5xx < 0.1%, p99 < 500ms)
145
- ```
146
-
147
- **Rule DLV-003:** BVT must pass. If BVT fails, automatic **stack** rollback to the previous stable stack version.
148
-
149
- ## Stack Rollback
150
-
151
- Rollback is at the stack level — all components revert together so the stack stays internally consistent.
152
-
153
- ```bash
154
- # Automatic on BVT failure
155
- deploy_stack --rollback ${LAST_STABLE_STACK_VERSION}
156
-
157
- # Manual on demand
158
- deploy_stack --rollback --stack-version v1.2.3
159
- ```
160
-
161
- The previous stable stack version is identified by the `aidlc/contracts/CHANGELOG.md` version at the time of the last green BVT.
162
-
163
- ## Artifacts
164
-
165
- | Artifact | Purpose |
166
- |----------|---------|
167
- | `STACK_URL` / `BACKEND_URL` | Dynamic, per-platform, per-env |
168
- | Per-component e2e report | Scenario pass/fail per component |
169
- | Cross-stack e2e report | Full flow pass/fail |
170
- | `aidlc/openspec/changes/{id}/contract-diff.md` | Final contract change record |
171
- | BVT report | Stack-level health check results |
172
- | Deploy log | Stack version, timestamp, component versions |
173
-
174
- ## Gate
175
-
176
- **Before marking complete:**
177
- - [ ] Unified stack preview deploy succeeded; `STACK_URL` and `BACKEND_URL` resolved
178
- - [ ] All per-component BDD e2e tests pass against their preview URLs
179
- - [ ] All cross-stack e2e tests pass against the unified stack URL
180
- - [ ] Staging smoke tests pass
181
- - [ ] Human approval received (covers per-component + cross-stack + staging + contract diff)
182
- - [ ] Production stack deploy succeeded
183
- - [ ] Stack BVT passed
184
- - [ ] (If BVT failed) Stack rollback executed and confirmed
185
- - [ ] `aidlc/openspec/changes/{id}/contract-diff.md` archived
@@ -1,40 +0,0 @@
1
- # Deliver Phase Agent Prompt
2
-
3
- 你是一个 AI-DLC Deliver Phase Agent。
4
- 由 Master Agent 委派处理部署交付。
5
-
6
- ## 输入
7
- - `aidlc/openspec/changes/{id}/contract-diff.md`
8
- - 所有 e2e 测试报告
9
-
10
- ## 任务
11
-
12
- 1. **Unified Stack Preview**
13
- - `deploy_stack --preview --provider {tcb|aliyun} [--compute-mode {fc|sae}]`
14
- - 输出 STACK_URL + per-component URLs
15
-
16
- 2. **Per-Component e2e**
17
- - 对每个 affected component 运行 e2e 测试
18
- - 使用动态解析的 URL
19
-
20
- 3. **Cross-Stack e2e**
21
- - `pytest aidlc/tests/cross-stack/ --stack-url ${STACK_URL}`
22
-
23
- 4. **Staging Deploy + Smoke**
24
- - `deploy_stack --env staging`
25
- - 运行 smoke-test + health-check
26
-
27
- 5. **Production Gate + Deploy**
28
- - 等待 Human Approval
29
- - `deploy_stack --env production`
30
- - BVT 验证 + 自动回滚
31
-
32
- ## 输出产物
33
- - 动态 URLs(STACK_URL / BACKEND_URL / WEB_URL)
34
- - e2e 测试报告(per-component + cross-stack)
35
- - BVT 报告
36
- - 部署日志
37
-
38
- ## 约束
39
- - 遵守 DLV-001 到 DLV-004
40
- - 遵守 STK-004 到 STK-006(统一部署 + 构建配置注入 + stack 级回滚)
@@ -1,61 +0,0 @@
1
- # Deliver Rules (DLV-*) + Stack Rules (STK-*)
2
-
3
- ## DLV-001: Unified Stack Preview Before Production
4
- **Severity:** MUST
5
- **Description:** Every release MUST deploy as unified stack preview with per-component e2e + cross-stack e2e passing before production.
6
- **Valid:** `deploy_stack --preview` → `pytest aidlc/tests/cross-stack/ --stack-url $STACK_URL`.
7
- **Invalid:** Deploying only one component to preview.
8
-
9
- ## DLV-002: Production Approval Gate
10
- **Severity:** MUST
11
- **Description:** Production deployment requires explicit human approval reviewing per-component e2e, cross-stack e2e, staging smoke, and contract-diff.md.
12
- **Valid:** Human reviews all reports and explicitly approves.
13
- **Invalid:** Automated production deployment triggered solely by test pass.
14
-
15
- ## DLV-003: Stack BVT Validation
16
- **Severity:** MUST
17
- **Description:** After production deploy, BVT MUST run against the stack. Failure triggers automatic stack rollback.
18
- **Valid:** `bvt ${PRODUCTION_URL}` → fail → `deploy_stack --rollback`.
19
- **Invalid:** BVT skip or success with errors.
20
-
21
- ## DLV-004: Per-Component Preview URL Isolation
22
- **Severity:** MUST
23
- **Description:** e2e tests run against dynamic preview URLs, never hardcoded production URLs.
24
- **Valid:** `pytest apps/web/tests/e2e/ --preview-url $WEB_URL`.
25
- **Invalid:** Hardcoded `https://prod.example.com` in tests.
26
-
27
- ## STK-001: Component Scope Declaration
28
- **Severity:** MUST
29
- **Description:** Every spec delta, design doc, task list MUST declare `affects:`.
30
- **Valid:** `affects: [web, backend, contracts]`.
31
- **Invalid:** Missing `affects` declaration.
32
-
33
- ## STK-002: Cross-Component Tasks Have Edges
34
- **Severity:** MUST
35
- **Description:** Tasks consuming a contract MUST have explicit `depends_on` edge to producing task.
36
- **Valid:** `depends_on: [int-contract-auth-login, be-login-endpoint]`.
37
- **Invalid:** Implicit dependency with no DAG edge.
38
-
39
- ## STK-003: Cross-Stack E2E Mandatory for ≥2 Components
40
- **Severity:** MUST
41
- **Description:** Changes affecting ≥2 components MUST have cross-stack e2e testing real flow between components.
42
- **Valid:** Real web client against real backend preview.
43
- **Invalid:** Cross-stack test that mocks the other component.
44
-
45
- ## STK-004: Unified Stack Deploy
46
- **Severity:** MUST
47
- **Description:** Shared environments MUST use `deploy_stack` orchestrator, not per-component ad-hoc deploys.
48
- **Valid:** `deploy_stack --preview` deploys all components.
49
- **Invalid:** Ad-hoc per-component deploy to shared preview.
50
-
51
- ## STK-005: Cross-Component Build Config Injection
52
- **Severity:** MUST
53
- **Description:** All client builds receive `BACKEND_URL` as build-time env var, never hardcoded.
54
- **Valid:** `pnpm --filter web build --env BACKEND_URL=$BACKEND_URL`.
55
- **Invalid:** Hardcoded URLs in `.env.production`.
56
-
57
- ## STK-006: Stack-Level Rollback
58
- **Severity:** MUST
59
- **Description:** Rollback is stack operation. Entire previous stable version reverts together.
60
- **Valid:** `deploy_stack --rollback v1.2.3` reverts all components.
61
- **Invalid:** Rolling back only backend while leaving clients on new version.
@@ -1,25 +0,0 @@
1
- ---
2
- name: ai-dlc-plan
3
- description: "Plan Phase: Design Doc → Task DAG → Test Plan"
4
- triggers:
5
- - plan
6
- - design
7
- - task-list
8
- ---
9
-
10
- # Plan Phase (规划)
11
-
12
- Convert approved spec into technical design and task decomposition.
13
-
14
- ## Entry
15
-
16
- See `lifecycle.md` for the full phase flow.
17
- See `rules.md` for enforceable rules (PLN-001 to PLN-004).
18
- See `prompt.md` for the sub-agent delegation prompt template.
19
-
20
- ## 当被委派时
21
-
22
- 1. 读取 spec-delta 和 feature 文件
23
- 2. 生成设计文档(per-component + integration)
24
- 3. 分解为带 DAG 依赖的任务单元
25
- 4. 编写测试计划(每层)
@@ -1,204 +0,0 @@
1
- # AI-DLC Phase 2: Plan (规划)
2
-
3
- Design the solution and decompose work into tracked, dependency-ordered units, including cross-component edges.
4
-
5
- ## Goal
6
-
7
- Translate approved specifications into a concrete technical plan that can be executed unit by unit, with explicit cross-component dependencies and contract references.
8
-
9
- ## Flow
10
-
11
- ```
12
- Approved Spec + BDD Features (per-component + cross-stack)
13
-
14
-
15
- SDD: Design Doc
16
- - architecture (per component)
17
- - data model
18
- - API contract (references INT-FR-*)
19
- - state machine
20
- - integration section (cross-component flow)
21
-
22
-
23
- SDD: Task Decomposition (units with DAG, including cross-component edges)
24
-
25
-
26
- TDD: Test Plan (per scenario, written before implementation)
27
- - unit / integration / e2e / cross-stack layer
28
-
29
-
30
- INT: Contract plan (which contracts change, version impact)
31
-
32
-
33
- Gate: Human review → approved or revise
34
- ```
35
-
36
- ## SDD — Design Document (multi-component aware)
37
-
38
- A multi-component design doc is organized by **component sections** plus an **integration section**.
39
-
40
- ```markdown
41
- ## Design — CHG-{{id}}
42
-
43
- **Affects:** [{{components}}]
44
- **Contracts touched:** {{list or "none"}}
45
-
46
- ### Component: backend (BE-FR-*)
47
- - Architecture: {{serverless / container / ...}}
48
- - Data model: {{tables / collections}}
49
- - API surface: {{references INT-FR-* contract}}
50
- - State machine: {{...}}
51
-
52
- ### Component: web (WEB-FR-*)
53
- - Architecture: {{SPA / SSR}}
54
- - Routes: {{...}}
55
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-001}}
56
-
57
- ### Component: native (NATIVE-FR-*)
58
- - Architecture: {{native architecture}}
59
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
60
-
61
- ### Component: desktop (DESKTOP-FR-*)
62
- - Architecture: {{desktop architecture}}
63
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
64
-
65
- ### Component: wxa (WXA-FR-*)
66
- - Architecture: {{WeChat Mini Program}}
67
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
68
-
69
- ### Component: mya (MYA-FR-*)
70
- - Architecture: {{Mini Program}}
71
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
72
-
73
- ### Component: tta (TTA-FR-*)
74
- - Architecture: {{TikTok Mini Program}}
75
- - Data flow: {{uses aidlc/packages/shared generated from INT-FR-*}}
76
-
77
- ### Integration
78
- - Flow: {{web → backend → DB; or app → backend → event → ...}}
79
- - Contract refs: INT-FR-001, INT-FR-002
80
- - Failure modes: {{timeout, retry, fallback}}
81
- - Backward compat: {{additive / breaking → migration}}
82
- ```
83
-
84
- ### Data Model
85
-
86
- | Field | Type | Constraints |
87
- |-------|------|-------------|
88
- | id | UUID | PK |
89
- | email | string | UNIQUE, NOT NULL |
90
- | password_hash | string | NOT NULL |
91
-
92
- ### API Contract
93
-
94
- | Method | Path | INT FR | Provider | Consumer |
95
- |--------|------|--------|----------|----------|
96
- | POST | /auth/login | INT-FR-001 | BE-FR-001 | WEB-FR-001, NATIVE-FR-001, DESKTOP-FR-001, WXA-FR-001, MYA-FR-001, TTA-FR-001 |
97
-
98
- ### State Machine
99
-
100
- ```
101
- ANONYMOUS → LOGGED_IN → SESSION_EXPIRED
102
-
103
- LOGGED_OUT
104
- ```
105
-
106
- ## SDD — Task Decomposition with DAG (multi-component)
107
-
108
- Tasks MUST include cross-component edges. A task that produces or consumes a contract depends on the corresponding `INT-FR-*` task.
109
-
110
- ```mermaid
111
- graph TD
112
- INT1[INT-FR-001: define /auth/login contract]
113
- BE1[BE-FR-001 unit-1: DB schema + models]
114
- BE2[BE-FR-001 unit-2: login endpoint]
115
- WEB1[WEB-FR-001 unit-1: login form + API client]
116
- WEB2[WEB-FR-001 unit-2: token storage + redirect]
117
- CS1[INT-FR-001 cross-stack: e2e login flow]
118
-
119
- INT1 --> BE2
120
- INT1 --> WEB1
121
- BE1 --> BE2
122
- BE2 --> CS1
123
- WEB1 --> CS1
124
- WEB2 --> CS1
125
- ```
126
-
127
- ```yaml
128
- units:
129
- - id: int-contract-1
130
- fr: INT-FR-001
131
- affects: [contracts]
132
- depends_on: []
133
- deliverables: [aidlc/contracts/api/auth.yaml]
134
- - id: be-unit-1
135
- fr: BE-FR-001
136
- affects: [backend]
137
- depends_on: []
138
- scenarios: []
139
- - id: be-unit-2
140
- fr: BE-FR-001
141
- affects: [backend]
142
- depends_on: [int-contract-1, be-unit-1]
143
- scenarios: ["BE-FR-001 @positive", "BE-FR-001 @negative"]
144
- - id: web-unit-1
145
- fr: WEB-FR-001
146
- affects: [web]
147
- depends_on: [int-contract-1]
148
- scenarios: ["WEB-FR-001 @positive", "WEB-FR-001 @negative"]
149
- - id: cross-stack-1
150
- fr: INT-FR-001
151
- affects: [web, backend]
152
- depends_on: [be-unit-2, web-unit-1]
153
- layer: cross-stack
154
- scenarios: ["INT-FR-001 @positive", "INT-FR-001 @negative", "INT-FR-001 @edge"]
155
- ```
156
-
157
- ## TDD — Test Plan (per scenario, per layer)
158
-
159
- Each scenario gets a test plan that names the **layer** it runs at.
160
-
161
- ```markdown
162
- ## BE-FR-001 @positive: Login API success
163
- Layer: integration
164
- Test cases:
165
- 1. test_login_valid_credentials_returns_jwt
166
- 2. test_login_sets_expiry_3600
167
-
168
- ## WEB-FR-001 @positive: Login form happy path
169
- Layer: e2e
170
- Test cases:
171
- 1. test_login_form_submits_and_redirects
172
-
173
- ## INT-FR-001 @positive: Full web→backend login flow
174
- Layer: cross-stack
175
- Test cases:
176
- 1. test_web_login_e2e_against_preview_url
177
- ```
178
-
179
- ## INT — Contract Plan
180
-
181
- For each contract change, list:
182
- - Old version, new version
183
- - Breaking? (yes / no) → if yes, plan migration in `aidlc/contracts/CHANGELOG.md`
184
- - Consumers affected (which components will pull the new shared types)
185
- - Backward-compat strategy (additive vs. deprecate-then-remove)
186
-
187
- ## Artifacts
188
-
189
- | Artifact | Location | Purpose |
190
- |----------|----------|---------|
191
- | Design doc | `aidlc/openspec/changes/{id}/design.md` | Per-component + integration |
192
- | Task list | `aidlc/openspec/changes/{id}/task-list.md` | DAG with cross-component edges |
193
- | Test plan | Embedded in task-list or separate | Per-scenario, per-layer |
194
- | Contract plan | `aidlc/openspec/changes/{id}/contract-diff.md` placeholder | Filled in Verify |
195
-
196
- ## Gate
197
-
198
- **Before advancing to Verify phase:**
199
- - [ ] Design doc has per-component sections + integration section
200
- - [ ] Tasks decomposed with explicit dependency DAG (including cross-component edges)
201
- - [ ] `INT-FR-*` tasks precede the consuming per-component tasks
202
- - [ ] Test plans name the layer (`unit` / `integration` / `e2e` / `cross-stack`) per scenario
203
- - [ ] Contract plan identifies breaking vs. additive
204
- - [ ] Human reviewed and approved
@@ -1,38 +0,0 @@
1
- # Plan Phase Agent Prompt
2
-
3
- 你是一个 AI-DLC Plan Phase Agent。
4
- 由 Master Agent 委派处理方案设计。
5
-
6
- ## 输入
7
- - `aidlc/openspec/changes/{id}/spec-delta.md`
8
- - BDD feature 文件
9
-
10
- ## 任务
11
-
12
- 1. **SDD: Design Doc**
13
- - 在 `aidlc/openspec/changes/{id}/design.md` 输出
14
- - 包含:架构图(Mermaid)、数据模型、API 表、状态机
15
- - 每组件独立 section + 集成 section
16
-
17
- 2. **SDD: Task Decomposition**
18
- - 在 `aidlc/openspec/changes/{id}/task-list.md` 输出
19
- - YAML 格式,unit 带 `depends_on` DAG
20
- - 跨组件 task 显示声明 `depends_on` 关系
21
-
22
- 3. **TDD: Test Plan**
23
- - 每个 BDD scenario 对应最少一个测试 case
24
- - 标注 layer: unit / integration / e2e / cross-stack / contract
25
-
26
- 4. **Contract Plan**
27
- - 标注版本影响:additive / breaking
28
- - 如需 breaking change 标记为 human-approval 阻塞
29
-
30
- ## 输出产物
31
- - `aidlc/openspec/changes/{id}/design.md`
32
- - `aidlc/openspec/changes/{id}/task-list.md`
33
- - `aidlc/openspec/changes/{id}/contract-diff.md`(占位)
34
-
35
- ## 约束
36
- - 遵守 `rules.md` 中的 PLN-001 到 PLN-004
37
- - 遵守 STK-001, STK-002(affects 声明 + cross-component 依赖)
38
- - 完成前必须通过 Human Gate 审查
@@ -1,25 +0,0 @@
1
- # Plan Rules (PLN-*)
2
-
3
- ## PLN-001: Design Documentation
4
- **Severity:** MUST
5
- **Description:** Each feature MUST have a design document covering architecture, data model, API contracts, and state machine. For multi-component features, MUST have per-component sections and an integration section.
6
- **Valid:** `aidlc/openspec/changes/{id}/design.md` with `## Component: backend`, `## Component: web`, `## Integration`.
7
- **Invalid:** A single flat architecture section with no per-component concerns.
8
-
9
- ## PLN-002: Dependency DAG
10
- **Severity:** MUST
11
- **Description:** Units MUST be decomposed with explicit dependency DAG including cross-component edges. A task producing/consuming a contract MUST depend on the corresponding `INT-FR-*` task.
12
- **Valid:** `depends_on: [int-contract-1, be-unit-1]` for a web task consuming the contract.
13
- **Invalid:** Per-component task lists with no cross-component edges.
14
-
15
- ## PLN-003: Test Plan Before Implementation
16
- **Severity:** MUST
17
- **Description:** Test plans for each scenario MUST be written before implementation and MUST name the test layer (`unit`, `integration`, `e2e`, `cross-stack`, `contract`).
18
- **Valid:** `BE-FR-001 @positive → layer: integration → test_login_valid_credentials`
19
- **Invalid:** A test plan with no layer designation.
20
-
21
- ## PLN-004: Contract Plan
22
- **Severity:** MUST
23
- **Description:** For each contract change, the design doc MUST identify version impact (additive vs. breaking), consumers affected, and backward-compat strategy.
24
- **Valid:** `INT-FR-001 change: additive, MINOR bump; no consumer migration needed`
25
- **Invalid:** Contract change with no version impact noted.
@@ -1,26 +0,0 @@
1
- ---
2
- name: ai-dlc-understand
3
- description: "Understand Phase: Intent → Spec Delta → BDD Feature Files"
4
- triggers:
5
- - understand
6
- - spec-delta
7
- - EARS
8
- - feature file
9
- ---
10
-
11
- # Understand Phase (理解)
12
-
13
- Transform business intent into formal specification and behavior scenarios.
14
-
15
- ## Entry
16
-
17
- See `lifecycle.md` for the full phase flow.
18
- See `rules.md` for enforceable rules (UND-001 to UND-006).
19
- See `prompt.md` for the sub-agent delegation prompt template.
20
-
21
- ## 当被委派时
22
-
23
- 1. 读取 intent 输入
24
- 2. 按 SDD 方法生成 spec-delta(EARS 格式)
25
- 3. 为每个 FR 写 BDD feature 文件(≥3 scenarios: positive, negative, edge)
26
- 4. 输出到 `aidlc/openspec/changes/{id}/`