agentic-dev 0.1.0 → 0.2.1

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 (677) hide show
  1. package/.agent/prd.json +29 -0
  2. package/.agent/progress.txt +1 -0
  3. package/.agent/prompt.md +21 -0
  4. package/.agent/ralph-loop-state.json +13 -0
  5. package/.agent/ralph-supervisor-state.json +12 -0
  6. package/.agent/ralph-supervisor.sh +238 -0
  7. package/.agent/ralph.sh +305 -0
  8. package/.agent/runs/README.md +7 -0
  9. package/.agent/sdd-build-ast-audit.json +13 -0
  10. package/.claude/CLAUDE.md +44 -0
  11. package/.claude/agentic-dev.json +3 -0
  12. package/.claude/agents/ai-dev.md +27 -0
  13. package/.claude/agents/backend-dev.md +26 -0
  14. package/.claude/agents/db-dev.md +26 -0
  15. package/.claude/agents/devops.md +27 -0
  16. package/.claude/agents/frontend-dev.md +25 -0
  17. package/.claude/agents/github-ops.md +25 -0
  18. package/.claude/agents/test-dev.md +26 -0
  19. package/.claude/agents/uiux-designer.md +25 -0
  20. package/.claude/settings.json +49 -0
  21. package/.claude/settings.local.json +8 -0
  22. package/.claude/skills/commit/SKILL.md +37 -0
  23. package/.claude/skills/dev-browser/SKILL.md +30 -0
  24. package/.claude/skills/otro/SKILL.md +43 -0
  25. package/.claude/skills/planning-with-files/SKILL.md +37 -0
  26. package/.claude/skills/prd/SKILL.md +27 -0
  27. package/.claude/skills/ralph-loop/SKILL.md +42 -0
  28. package/.claude/skills/sdd/SKILL.md +13 -0
  29. package/.claude/skills/sdd-dev/SKILL.md +71 -0
  30. package/.claude/skills/sdd-development/SKILL.md +13 -0
  31. package/.claude/workspace-config.json +3 -0
  32. package/.codex/agentic-dev.json +3 -0
  33. package/.codex/agents/README.md +22 -0
  34. package/.codex/agents/api.toml +11 -0
  35. package/.codex/agents/architecture.toml +11 -0
  36. package/.codex/agents/ci.toml +11 -0
  37. package/.codex/agents/gitops.toml +11 -0
  38. package/.codex/agents/orchestrator.toml +11 -0
  39. package/.codex/agents/quality.toml +11 -0
  40. package/.codex/agents/runtime.toml +11 -0
  41. package/.codex/agents/security.toml +11 -0
  42. package/.codex/agents/specs.toml +11 -0
  43. package/.codex/agents/ui.toml +11 -0
  44. package/.codex/config.toml +46 -0
  45. package/.codex/skills/SKILL.md +13 -0
  46. package/.codex/skills/agents/openai.yaml +4 -0
  47. package/.codex/skills/commit/SKILL.md +219 -0
  48. package/.codex/skills/commit/references/commit_examples.md +292 -0
  49. package/.codex/skills/dev-browser/SKILL.md +211 -0
  50. package/.codex/skills/dev-browser/bun.lock +443 -0
  51. package/.codex/skills/dev-browser/package-lock.json +2988 -0
  52. package/.codex/skills/dev-browser/package.json +31 -0
  53. package/.codex/skills/dev-browser/references/scraping.md +155 -0
  54. package/.codex/skills/dev-browser/scripts/start-relay.ts +32 -0
  55. package/.codex/skills/dev-browser/scripts/start-server.ts +117 -0
  56. package/.codex/skills/dev-browser/server.sh +24 -0
  57. package/.codex/skills/dev-browser/src/client.ts +474 -0
  58. package/.codex/skills/dev-browser/src/index.ts +287 -0
  59. package/.codex/skills/dev-browser/src/relay.ts +731 -0
  60. package/.codex/skills/dev-browser/src/snapshot/__tests__/snapshot.test.ts +223 -0
  61. package/.codex/skills/dev-browser/src/snapshot/browser-script.ts +877 -0
  62. package/.codex/skills/dev-browser/src/snapshot/index.ts +14 -0
  63. package/.codex/skills/dev-browser/src/snapshot/inject.ts +13 -0
  64. package/.codex/skills/dev-browser/src/types.ts +34 -0
  65. package/.codex/skills/dev-browser/tsconfig.json +36 -0
  66. package/.codex/skills/dev-browser/vitest.config.ts +12 -0
  67. package/.codex/skills/otro/SKILL.md +74 -0
  68. package/.codex/skills/otro/agents/openai.yaml +4 -0
  69. package/.codex/skills/otro/references/agent-prompts.md +61 -0
  70. package/.codex/skills/otro/references/contracts.md +146 -0
  71. package/.codex/skills/otro/references/orchestration-loop.md +51 -0
  72. package/.codex/skills/otro/references/runtime.md +79 -0
  73. package/.codex/skills/otro/runs/README.md +11 -0
  74. package/.codex/skills/otro/schemas/step_plan.schema.json +289 -0
  75. package/.codex/skills/otro/schemas/task_result.schema.json +142 -0
  76. package/.codex/skills/otro/schemas/wave_plan.schema.json +4 -0
  77. package/.codex/skills/otro/scripts/README.md +38 -0
  78. package/.codex/skills/otro/scripts/bump_validation_header.py +179 -0
  79. package/.codex/skills/otro/scripts/check_validation_header.py +84 -0
  80. package/.codex/skills/otro/scripts/common.py +303 -0
  81. package/.codex/skills/otro/scripts/init_run.sh +68 -0
  82. package/.codex/skills/otro/scripts/plan_loop.py +8 -0
  83. package/.codex/skills/otro/scripts/plan_step.py +367 -0
  84. package/.codex/skills/otro/scripts/plan_wave.py +8 -0
  85. package/.codex/skills/otro/scripts/reconcile_loop.py +8 -0
  86. package/.codex/skills/otro/scripts/reconcile_step.py +37 -0
  87. package/.codex/skills/otro/scripts/reconcile_wave.py +8 -0
  88. package/.codex/skills/otro/scripts/run_loop.py +300 -0
  89. package/.codex/skills/otro/scripts/run_loop_step.py +8 -0
  90. package/.codex/skills/otro/scripts/run_step.py +246 -0
  91. package/.codex/skills/otro/scripts/run_wave.py +8 -0
  92. package/.codex/skills/otro/validation/validation.md +15 -0
  93. package/.codex/skills/planning-with-files/SKILL.md +42 -0
  94. package/.codex/skills/planning-with-files/agents/openai.yaml +4 -0
  95. package/.codex/skills/planning-with-files/assets/plan-template.md +37 -0
  96. package/.codex/skills/planning-with-files/references/plan-rules.md +35 -0
  97. package/.codex/skills/planning-with-files/scripts/new_plan.sh +65 -0
  98. package/.codex/skills/prd/SKILL.md +235 -0
  99. package/.codex/skills/ralph-loop/SKILL.md +46 -0
  100. package/.codex/skills/ralph-loop/agents/openai.yaml +4 -0
  101. package/.codex/skills/ralph-loop/references/failure-triage.md +32 -0
  102. package/.codex/skills/ralph-loop/scripts/loop_until_success.sh +97 -0
  103. package/.codex/skills/sdd/SKILL.md +184 -0
  104. package/.codex/skills/sdd/agents/openai.yaml +4 -0
  105. package/.codex/skills/sdd/references/section-map.md +67 -0
  106. package/.dockerignore +8 -0
  107. package/.env.example +50 -0
  108. package/.gitignore +16 -0
  109. package/AGENTS.md +78 -0
  110. package/README.md +83 -47
  111. package/SDD_SKILL.md +589 -0
  112. package/bin/agentic-dev.mjs +97 -0
  113. package/client/admin/.dockerignore +3 -0
  114. package/client/admin/.env.example +1 -0
  115. package/client/admin/Dockerfile +16 -0
  116. package/client/admin/Dockerfile.dev +18 -0
  117. package/client/admin/README.md +20 -0
  118. package/client/admin/index.html +12 -0
  119. package/client/admin/package.json +41 -0
  120. package/client/admin/postcss.config.js +6 -0
  121. package/client/admin/scripts/ui-parity-admin-adapter.mjs +65 -0
  122. package/client/admin/src/api/alerts.ts +33 -0
  123. package/client/admin/src/api/client.ts +71 -0
  124. package/client/admin/src/api/orders.ts +33 -0
  125. package/client/admin/src/api/support.ts +11 -0
  126. package/client/admin/src/app/App.tsx +23 -0
  127. package/client/admin/src/auth/AuthProvider.tsx +122 -0
  128. package/client/admin/src/auth/ProtectedRoute.tsx +22 -0
  129. package/client/admin/src/auth/auth-client.ts +38 -0
  130. package/client/admin/src/auth/types.ts +18 -0
  131. package/client/admin/src/components/AdminNotificationsDrawer.tsx +162 -0
  132. package/client/admin/src/components/AdminShell.tsx +76 -0
  133. package/client/admin/src/components/ui/button.tsx +34 -0
  134. package/client/admin/src/components/ui/input.tsx +21 -0
  135. package/client/admin/src/lib/cn.ts +6 -0
  136. package/client/admin/src/lib/specRouteCatalog.json +30 -0
  137. package/client/admin/src/lib/specScreens.json +22 -0
  138. package/client/admin/src/main.tsx +17 -0
  139. package/client/admin/src/pages/AdminDashboardPage.tsx +171 -0
  140. package/client/admin/src/pages/AdminLoginPage.tsx +75 -0
  141. package/client/admin/src/pages/AdminQueuePage.tsx +107 -0
  142. package/client/admin/src/pages/AdminSupportPage.tsx +61 -0
  143. package/client/admin/src/styles/globals.css +17 -0
  144. package/client/admin/src/theme-vars.ts +18 -0
  145. package/client/admin/src/theme.ts +25 -0
  146. package/client/admin/src/vite-env.d.ts +1 -0
  147. package/client/admin/tailwind.config.js +8 -0
  148. package/client/admin/tsconfig.json +25 -0
  149. package/client/admin/vite.config.ts +12 -0
  150. package/client/landing/.dockerignore +3 -0
  151. package/client/landing/.env.example +1 -0
  152. package/client/landing/Dockerfile +16 -0
  153. package/client/landing/Dockerfile.dev +18 -0
  154. package/client/landing/README.md +18 -0
  155. package/client/landing/index.html +12 -0
  156. package/client/landing/package.json +41 -0
  157. package/client/landing/postcss.config.js +6 -0
  158. package/client/landing/scripts/ui-parity-landing-adapter.mjs +65 -0
  159. package/client/landing/src/App.tsx +21 -0
  160. package/client/landing/src/api/catalog.ts +30 -0
  161. package/client/landing/src/api/client.ts +30 -0
  162. package/client/landing/src/auth/AuthProvider.tsx +122 -0
  163. package/client/landing/src/auth/ProtectedRoute.tsx +22 -0
  164. package/client/landing/src/auth/auth-client.ts +38 -0
  165. package/client/landing/src/auth/types.ts +18 -0
  166. package/client/landing/src/components/LandingShell.tsx +34 -0
  167. package/client/landing/src/lib/specRouteCatalog.json +23 -0
  168. package/client/landing/src/lib/specScreens.json +17 -0
  169. package/client/landing/src/main.tsx +17 -0
  170. package/client/landing/src/pages/LandingHomePage.tsx +215 -0
  171. package/client/landing/src/pages/LandingLoginPage.tsx +90 -0
  172. package/client/landing/src/pages/LandingWorkspacePage.tsx +126 -0
  173. package/client/landing/src/styles/globals.css +17 -0
  174. package/client/landing/src/theme-vars.ts +16 -0
  175. package/client/landing/src/theme.ts +21 -0
  176. package/client/landing/src/vite-env.d.ts +1 -0
  177. package/client/landing/tailwind.config.js +8 -0
  178. package/client/landing/tsconfig.json +25 -0
  179. package/client/landing/vite.config.ts +12 -0
  180. package/client/mobile/.dockerignore +2 -0
  181. package/client/mobile/.env.example +1 -0
  182. package/client/mobile/Dockerfile +16 -0
  183. package/client/mobile/Dockerfile.dev +18 -0
  184. package/client/mobile/README.md +19 -0
  185. package/client/mobile/index.html +12 -0
  186. package/client/mobile/package.json +42 -0
  187. package/client/mobile/postcss.config.js +6 -0
  188. package/client/mobile/scripts/ui-parity-mobile-adapter.mjs +67 -0
  189. package/client/mobile/src/App.tsx +1 -0
  190. package/client/mobile/src/api/client.ts +62 -0
  191. package/client/mobile/src/api/fulfillment.ts +55 -0
  192. package/client/mobile/src/api/shipping.ts +56 -0
  193. package/client/mobile/src/app/App.tsx +23 -0
  194. package/client/mobile/src/auth/AuthProvider.tsx +122 -0
  195. package/client/mobile/src/auth/ProtectedRoute.tsx +27 -0
  196. package/client/mobile/src/auth/auth-client.ts +38 -0
  197. package/client/mobile/src/auth/types.ts +18 -0
  198. package/client/mobile/src/components/InShell.tsx +74 -0
  199. package/client/mobile/src/components/ui/button.tsx +35 -0
  200. package/client/mobile/src/components/ui/card.tsx +15 -0
  201. package/client/mobile/src/components/ui/input.tsx +21 -0
  202. package/client/mobile/src/lib/cn.ts +6 -0
  203. package/client/mobile/src/lib/specRouteCatalog.json +26 -0
  204. package/client/mobile/src/lib/specScreens.json +22 -0
  205. package/client/mobile/src/lib/useSpeechRecognitionInput.ts +271 -0
  206. package/client/mobile/src/main.tsx +17 -0
  207. package/client/mobile/src/pages/DashboardPage.tsx +172 -0
  208. package/client/mobile/src/pages/FulfillmentPage.tsx +138 -0
  209. package/client/mobile/src/pages/LoginPage.tsx +74 -0
  210. package/client/mobile/src/pages/ShippingPage.tsx +338 -0
  211. package/client/mobile/src/styles/globals.css +23 -0
  212. package/client/mobile/src/theme-vars.ts +16 -0
  213. package/client/mobile/src/theme.ts +21 -0
  214. package/client/mobile/src/vite-env.d.ts +1 -0
  215. package/client/mobile/tailwind.config.js +8 -0
  216. package/client/mobile/tsconfig.json +25 -0
  217. package/client/mobile/vite.config.ts +12 -0
  218. package/client/platform/.dockerignore +3 -0
  219. package/client/platform/.env.example +1 -0
  220. package/client/platform/Dockerfile +16 -0
  221. package/client/platform/Dockerfile.dev +18 -0
  222. package/client/platform/README.md +47 -0
  223. package/client/platform/index.html +12 -0
  224. package/client/platform/package.json +42 -0
  225. package/client/platform/postcss.config.js +6 -0
  226. package/client/platform/scripts/ui-parity-platform-adapter.mjs +66 -0
  227. package/client/platform/src/api/client.ts +30 -0
  228. package/client/platform/src/api/orders.ts +42 -0
  229. package/client/platform/src/app/App.tsx +21 -0
  230. package/client/platform/src/auth/AuthProvider.tsx +122 -0
  231. package/client/platform/src/auth/ProtectedRoute.tsx +22 -0
  232. package/client/platform/src/auth/auth-client.ts +38 -0
  233. package/client/platform/src/auth/types.ts +18 -0
  234. package/client/platform/src/components/AppShell.tsx +59 -0
  235. package/client/platform/src/components/ui/button.tsx +35 -0
  236. package/client/platform/src/components/ui/card.tsx +7 -0
  237. package/client/platform/src/components/ui/input.tsx +21 -0
  238. package/client/platform/src/lib/cn.ts +6 -0
  239. package/client/platform/src/lib/specRouteCatalog.json +23 -0
  240. package/client/platform/src/lib/specScreens.json +17 -0
  241. package/client/platform/src/main.tsx +17 -0
  242. package/client/platform/src/pages/DashboardPage.tsx +158 -0
  243. package/client/platform/src/pages/LoginPage.tsx +72 -0
  244. package/client/platform/src/pages/OrdersPage.tsx +123 -0
  245. package/client/platform/src/styles/globals.css +17 -0
  246. package/client/platform/src/theme-vars.ts +18 -0
  247. package/client/platform/src/theme.ts +25 -0
  248. package/client/platform/src/vite-env.d.ts +1 -0
  249. package/client/platform/tailwind.config.js +8 -0
  250. package/client/platform/tsconfig.json +25 -0
  251. package/client/platform/vite.config.ts +12 -0
  252. package/compose.yml +206 -0
  253. package/infra/compose/.env.dev.example +28 -0
  254. package/infra/compose/.env.prod.example +29 -0
  255. package/infra/compose/README.md +35 -0
  256. package/infra/compose/dev.yml +125 -0
  257. package/infra/compose/prod.yml +126 -0
  258. package/infra/terraform/README.md +34 -0
  259. package/infra/terraform/aws/data/.terraform.lock.hcl +25 -0
  260. package/infra/terraform/aws/data/README.md +18 -0
  261. package/infra/terraform/aws/data/main.tf +147 -0
  262. package/infra/terraform/aws/data/outputs.tf +14 -0
  263. package/infra/terraform/aws/data/variables.tf +57 -0
  264. package/infra/terraform/aws/data/versions.tf +10 -0
  265. package/infra/terraform/aws/domain/.terraform.lock.hcl +25 -0
  266. package/infra/terraform/aws/domain/README.md +20 -0
  267. package/infra/terraform/aws/domain/env/dev.tfvars.example +6 -0
  268. package/infra/terraform/aws/domain/env/prod.tfvars.example +7 -0
  269. package/infra/terraform/aws/domain/main.tf +149 -0
  270. package/infra/terraform/aws/domain/outputs.tf +29 -0
  271. package/infra/terraform/aws/domain/variables.tf +58 -0
  272. package/infra/terraform/aws/domain/versions.tf +10 -0
  273. package/infra/terraform/openstack/README.md +38 -0
  274. package/infra/terraform/openstack/dev/.terraform.lock.hcl +24 -0
  275. package/infra/terraform/openstack/dev/README.md +18 -0
  276. package/infra/terraform/openstack/dev/main.tf +49 -0
  277. package/infra/terraform/openstack/dev/providers.tf +15 -0
  278. package/infra/terraform/openstack/dev/terraform.tfvars.example +54 -0
  279. package/infra/terraform/openstack/dev/variables.tf +210 -0
  280. package/infra/terraform/openstack/dev/versions.tf +10 -0
  281. package/infra/terraform/openstack/modules/environment_host/main.tf +143 -0
  282. package/infra/terraform/openstack/modules/environment_host/outputs.tf +25 -0
  283. package/infra/terraform/openstack/modules/environment_host/templates/docker-host-user-data.sh.tftpl +40 -0
  284. package/infra/terraform/openstack/modules/environment_host/variables.tf +145 -0
  285. package/infra/terraform/openstack/modules/environment_host/versions.tf +7 -0
  286. package/infra/terraform/openstack/prod/.terraform.lock.hcl +24 -0
  287. package/infra/terraform/openstack/prod/README.md +18 -0
  288. package/infra/terraform/openstack/prod/main.tf +49 -0
  289. package/infra/terraform/openstack/prod/providers.tf +15 -0
  290. package/infra/terraform/openstack/prod/terraform.tfvars.example +55 -0
  291. package/infra/terraform/openstack/prod/variables.tf +210 -0
  292. package/infra/terraform/openstack/prod/versions.tf +10 -0
  293. package/infra/terraform/openstack/server/.terraform.lock.hcl +45 -0
  294. package/infra/terraform/openstack/server/README.md +47 -0
  295. package/infra/terraform/openstack/server/main.tf +161 -0
  296. package/infra/terraform/openstack/server/outputs.tf +30 -0
  297. package/infra/terraform/openstack/server/providers.tf +30 -0
  298. package/infra/terraform/openstack/server/templates/server-user-data.sh.tftpl +50 -0
  299. package/infra/terraform/openstack/server/variables.tf +233 -0
  300. package/infra/terraform/openstack/server/zz_aspace.auto.tfvars.example.json +29 -0
  301. package/lib/scaffold.mjs +379 -0
  302. package/package.json +33 -12
  303. package/pnpm-workspace.yaml +2 -0
  304. package/scripts/dev/audit_sdd_build_ast.py +277 -0
  305. package/sdd/01_planning/01_feature/INDEX.md +16 -0
  306. package/sdd/01_planning/01_feature/README.md +76 -0
  307. package/sdd/01_planning/01_feature/alerts_feature_spec.md +55 -0
  308. package/sdd/01_planning/01_feature/auth_feature_spec.md +57 -0
  309. package/sdd/01_planning/01_feature/catalog_feature_spec.md +61 -0
  310. package/sdd/01_planning/01_feature/fulfillment_feature_spec.md +58 -0
  311. package/sdd/01_planning/01_feature/health_feature_spec.md +52 -0
  312. package/sdd/01_planning/01_feature/inventory_feature_spec.md +60 -0
  313. package/sdd/01_planning/01_feature/order_feature_spec.md +63 -0
  314. package/sdd/01_planning/01_feature/shipping_feature_spec.md +55 -0
  315. package/sdd/01_planning/01_feature/support_feature_spec.md +53 -0
  316. package/sdd/01_planning/01_feature/user_feature_spec.md +54 -0
  317. package/sdd/01_planning/02_screen/INDEX.md +13 -0
  318. package/sdd/01_planning/02_screen/README.md +41 -0
  319. package/sdd/01_planning/02_screen/admin_screen_spec.pdf +0 -0
  320. package/sdd/01_planning/02_screen/assets/README.md +16 -0
  321. package/sdd/01_planning/02_screen/assets/example/README.md +13 -0
  322. package/sdd/01_planning/02_screen/landing_screen_spec.pdf +0 -0
  323. package/sdd/01_planning/02_screen/mobile_screen_spec.pdf +0 -0
  324. package/sdd/01_planning/02_screen/platform_screen_spec.pdf +0 -0
  325. package/sdd/01_planning/03_architecture/INDEX.md +9 -0
  326. package/sdd/01_planning/03_architecture/README.md +25 -0
  327. package/sdd/01_planning/03_architecture/architecture_document_structure.md +77 -0
  328. package/sdd/01_planning/03_architecture/backend/README.md +10 -0
  329. package/sdd/01_planning/03_architecture/frontend/README.md +12 -0
  330. package/sdd/01_planning/03_architecture/infra/README.md +10 -0
  331. package/sdd/01_planning/03_architecture/tech-research/README.md +4 -0
  332. package/sdd/01_planning/03_architecture/templates_system_architecture.md +84 -0
  333. package/sdd/01_planning/04_data/INDEX.md +4 -0
  334. package/sdd/01_planning/04_data/README.md +10 -0
  335. package/sdd/01_planning/04_data/templates_data_modeling.md +119 -0
  336. package/sdd/01_planning/05_api/README.md +12 -0
  337. package/sdd/01_planning/05_api/templates_api_contract.md +90 -0
  338. package/sdd/01_planning/06_iac/README.md +11 -0
  339. package/sdd/01_planning/06_iac/templates_runtime_and_cicd_baseline.md +46 -0
  340. package/sdd/01_planning/07_integration/README.md +11 -0
  341. package/sdd/01_planning/07_integration/templates_frontend_api_integration.md +46 -0
  342. package/sdd/01_planning/08_nonfunctional/README.md +7 -0
  343. package/sdd/01_planning/09_security/README.md +7 -0
  344. package/sdd/01_planning/10_test/README.md +12 -0
  345. package/sdd/01_planning/10_test/templates_test_strategy.md +60 -0
  346. package/sdd/01_planning/INDEX.md +19 -0
  347. package/sdd/01_planning/README.md +17 -0
  348. package/sdd/02_plan/01_feature/README.md +34 -0
  349. package/sdd/02_plan/01_feature/_feature_todo_template.md +29 -0
  350. package/sdd/02_plan/02_screen/INDEX.md +19 -0
  351. package/sdd/02_plan/02_screen/README.md +39 -0
  352. package/sdd/02_plan/02_screen/_screen_todo_template.md +60 -0
  353. package/sdd/02_plan/03_architecture/README.md +23 -0
  354. package/sdd/02_plan/03_architecture/architecture_document_governance.md +40 -0
  355. package/sdd/02_plan/03_architecture/build_ast_runtime_tree_governance.md +53 -0
  356. package/sdd/02_plan/03_architecture/repository_governance.md +39 -0
  357. package/sdd/02_plan/03_architecture/runtime_and_structure_governance.md +38 -0
  358. package/sdd/02_plan/03_architecture/templates-hexagonal-template-architecture.md +9 -0
  359. package/sdd/02_plan/03_architecture/toolchain_governance.md +98 -0
  360. package/sdd/02_plan/04_data/README.md +5 -0
  361. package/sdd/02_plan/05_api/README.md +5 -0
  362. package/sdd/02_plan/06_iac/README.md +11 -0
  363. package/sdd/02_plan/06_iac/dev_runtime_delivery.md +36 -0
  364. package/sdd/02_plan/06_iac/template_runtime_delivery.md +50 -0
  365. package/sdd/02_plan/07_integration/README.md +5 -0
  366. package/sdd/02_plan/07_integration/frontend_live_integration.md +31 -0
  367. package/sdd/02_plan/08_nonfunctional/README.md +5 -0
  368. package/sdd/02_plan/08_nonfunctional/repository_hygiene.md +26 -0
  369. package/sdd/02_plan/09_security/README.md +5 -0
  370. package/sdd/02_plan/10_test/README.md +11 -0
  371. package/sdd/02_plan/10_test/regression_verification.md +39 -0
  372. package/sdd/02_plan/10_test/templates/README.md +8 -0
  373. package/sdd/02_plan/10_test/templates/ui_parity_platform_contract.template.yaml +23 -0
  374. package/sdd/02_plan/10_test/verification_strategy.md +43 -0
  375. package/sdd/02_plan/99_generated/from_planning/ui_parity/.gitkeep +1 -0
  376. package/sdd/02_plan/README.md +40 -0
  377. package/sdd/03_build/01_feature/README.md +20 -0
  378. package/sdd/03_build/01_feature/domain/README.md +3 -0
  379. package/sdd/03_build/01_feature/domain/account_and_access.md +20 -0
  380. package/sdd/03_build/01_feature/domain/catalog_and_inventory.md +20 -0
  381. package/sdd/03_build/01_feature/domain/ordering_and_fulfillment.md +21 -0
  382. package/sdd/03_build/01_feature/domain/support_and_observability.md +21 -0
  383. package/sdd/03_build/01_feature/domain_surfaces.md +28 -0
  384. package/sdd/03_build/01_feature/service/README.md +3 -0
  385. package/sdd/03_build/01_feature/service/admin_surface.md +15 -0
  386. package/sdd/03_build/01_feature/service/landing_surface.md +13 -0
  387. package/sdd/03_build/01_feature/service/mobile_surface.md +14 -0
  388. package/sdd/03_build/01_feature/service/platform_surface.md +14 -0
  389. package/sdd/03_build/02_screen/README.md +25 -0
  390. package/sdd/03_build/02_screen/_screen_build_template.md +26 -0
  391. package/sdd/03_build/02_screen/admin/README.md +5 -0
  392. package/sdd/03_build/02_screen/landing/README.md +5 -0
  393. package/sdd/03_build/02_screen/mobile/README.md +5 -0
  394. package/sdd/03_build/02_screen/platform/README.md +5 -0
  395. package/sdd/03_build/03_architecture/README.md +10 -0
  396. package/sdd/03_build/03_architecture/architecture_document_governance.md +30 -0
  397. package/sdd/03_build/03_architecture/build_ast_runtime_tree_governance.md +24 -0
  398. package/sdd/03_build/03_architecture/repository_governance.md +18 -0
  399. package/sdd/03_build/03_architecture/toolchain_governance.md +36 -0
  400. package/sdd/03_build/06_iac/README.md +3 -0
  401. package/sdd/03_build/06_iac/dev_runtime_delivery.md +10 -0
  402. package/sdd/03_build/06_iac/template_runtime_delivery.md +49 -0
  403. package/sdd/03_build/07_integration/README.md +3 -0
  404. package/sdd/03_build/07_integration/frontend_live_integration.md +11 -0
  405. package/sdd/03_build/08_nonfunctional/README.md +3 -0
  406. package/sdd/03_build/08_nonfunctional/repository_hygiene.md +10 -0
  407. package/sdd/03_build/10_test/README.md +9 -0
  408. package/sdd/03_build/10_test/regression_verification.md +16 -0
  409. package/sdd/03_build/10_test/verification_harness.md +11 -0
  410. package/sdd/03_build/README.md +35 -0
  411. package/sdd/04_verify/01_feature/README.md +5 -0
  412. package/sdd/04_verify/01_feature/domain_verification.md +14 -0
  413. package/sdd/04_verify/01_feature/service_verification.md +22 -0
  414. package/sdd/04_verify/02_screen/README.md +6 -0
  415. package/sdd/04_verify/02_screen/_screen_verify_template.md +20 -0
  416. package/sdd/04_verify/02_screen/admin/README.md +4 -0
  417. package/sdd/04_verify/02_screen/landing/README.md +4 -0
  418. package/sdd/04_verify/02_screen/mobile/README.md +4 -0
  419. package/sdd/04_verify/02_screen/platform/README.md +4 -0
  420. package/sdd/04_verify/03_architecture/README.md +10 -0
  421. package/sdd/04_verify/03_architecture/architecture_document_governance.md +15 -0
  422. package/sdd/04_verify/03_architecture/build_ast_runtime_tree_governance.md +28 -0
  423. package/sdd/04_verify/03_architecture/repository_governance.md +16 -0
  424. package/sdd/04_verify/03_architecture/toolchain_governance.md +58 -0
  425. package/sdd/04_verify/06_iac/README.md +3 -0
  426. package/sdd/04_verify/06_iac/dev_runtime_delivery.md +10 -0
  427. package/sdd/04_verify/06_iac/template_runtime_delivery.md +42 -0
  428. package/sdd/04_verify/07_integration/README.md +3 -0
  429. package/sdd/04_verify/07_integration/frontend_live_integration.md +16 -0
  430. package/sdd/04_verify/08_nonfunctional/README.md +3 -0
  431. package/sdd/04_verify/08_nonfunctional/repository_hygiene.md +14 -0
  432. package/sdd/04_verify/10_test/README.md +9 -0
  433. package/sdd/04_verify/10_test/regression_verification.md +16 -0
  434. package/sdd/04_verify/10_test/ui_parity/README.md +4 -0
  435. package/sdd/04_verify/10_test/ui_parity/loop_runs/.gitkeep +0 -0
  436. package/sdd/04_verify/10_test/ui_parity/reference/.gitkeep +0 -0
  437. package/sdd/04_verify/10_test/ui_parity/staged_runs/.gitkeep +0 -0
  438. package/sdd/04_verify/10_test/verification_harness.md +17 -0
  439. package/sdd/04_verify/README.md +22 -0
  440. package/sdd/05_operate/01_runbooks/.gitkeep +1 -0
  441. package/sdd/05_operate/01_runbooks/README.md +4 -0
  442. package/sdd/05_operate/02_delivery_status/README.md +4 -0
  443. package/sdd/05_operate/02_delivery_status/service_status.md +16 -0
  444. package/sdd/05_operate/README.md +12 -0
  445. package/sdd/99_toolchain/01_automation/.gitkeep +1 -0
  446. package/sdd/99_toolchain/01_automation/README.md +76 -0
  447. package/sdd/99_toolchain/01_automation/agentic-dev/analyze_proof_results.py +132 -0
  448. package/sdd/99_toolchain/01_automation/agentic-dev/analyze_route_gap.py +85 -0
  449. package/sdd/99_toolchain/01_automation/agentic-dev/assets/repo-contract.template.json +75 -0
  450. package/sdd/99_toolchain/01_automation/agentic-dev/bootstrap_frontend_parity.sh +84 -0
  451. package/sdd/99_toolchain/01_automation/agentic-dev/init_frontend_parity.sh +33 -0
  452. package/sdd/99_toolchain/01_automation/agentic-dev/init_repo_contract.sh +51 -0
  453. package/sdd/99_toolchain/01_automation/agentic-dev/repo-contract.json +76 -0
  454. package/sdd/99_toolchain/01_automation/agentic-dev/resolve_frontend_target.py +52 -0
  455. package/sdd/99_toolchain/01_automation/agentic-dev/resolve_repo_contract.py +56 -0
  456. package/sdd/99_toolchain/01_automation/agentic-dev/run_frontend_target.sh +100 -0
  457. package/sdd/99_toolchain/01_automation/agentic-dev/run_repo_phase.sh +140 -0
  458. package/sdd/99_toolchain/01_automation/agentic-dev/validate_json_schema.py +39 -0
  459. package/sdd/99_toolchain/01_automation/agentic-parity-harness-design.md +291 -0
  460. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/dashboard.png +0 -0
  461. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/login.png +0 -0
  462. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/queue.png +0 -0
  463. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/support.png +0 -0
  464. package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/home.png +0 -0
  465. package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/login.png +0 -0
  466. package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/workspace.png +0 -0
  467. package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/dashboard.png +0 -0
  468. package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/fulfillment.png +0 -0
  469. package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/login.png +0 -0
  470. package/sdd/99_toolchain/01_automation/assets/platform_screen_capture/dashboard.png +0 -0
  471. package/sdd/99_toolchain/01_automation/assets/platform_screen_capture/login.png +0 -0
  472. package/sdd/99_toolchain/01_automation/assets/platform_screen_capture/orders.png +0 -0
  473. package/sdd/99_toolchain/01_automation/build_asset_recipes.py +10 -0
  474. package/sdd/99_toolchain/01_automation/build_screen_spec_pdf.py +427 -0
  475. package/sdd/99_toolchain/01_automation/capture_screen_assets.mjs +148 -0
  476. package/sdd/99_toolchain/01_automation/harness-layout.md +34 -0
  477. package/sdd/99_toolchain/01_automation/parity-execution-tooling-design.md +319 -0
  478. package/sdd/99_toolchain/01_automation/playwright_exactness_manifest.py +21 -0
  479. package/sdd/99_toolchain/01_automation/run_playwright_exactness.py +87 -0
  480. package/sdd/99_toolchain/01_automation/screen_spec_manifest.py +321 -0
  481. package/sdd/99_toolchain/01_automation/spec_asset_builder.py +274 -0
  482. package/sdd/99_toolchain/01_automation/ui-contract-projection.md +79 -0
  483. package/sdd/99_toolchain/01_automation/ui-parity/README.md +60 -0
  484. package/sdd/99_toolchain/01_automation/ui-parity/cli/extract-reference-pages.mjs +2 -0
  485. package/sdd/99_toolchain/01_automation/ui-parity/cli/materialize-reference-assets.mjs +58 -0
  486. package/sdd/99_toolchain/01_automation/ui-parity/cli/normalize-reference-assets.mjs +2 -0
  487. package/sdd/99_toolchain/01_automation/ui-parity/cli/route-gap-report.mjs +187 -0
  488. package/sdd/99_toolchain/01_automation/ui-parity/cli/run-proof.mjs +50 -0
  489. package/sdd/99_toolchain/01_automation/ui-parity/cli/scaffold-contract.mjs +62 -0
  490. package/sdd/99_toolchain/01_automation/ui-parity/cli/upload-parity1.mjs +2 -0
  491. package/sdd/99_toolchain/01_automation/ui-parity/contracts/collector-metadata.schema.json +33 -0
  492. package/sdd/99_toolchain/01_automation/ui-parity/contracts/proof-result.schema.json +76 -0
  493. package/sdd/99_toolchain/01_automation/ui-parity/contracts/route-gap-report.schema.json +95 -0
  494. package/sdd/99_toolchain/01_automation/ui-parity/core/capture-runner.mjs +55 -0
  495. package/sdd/99_toolchain/01_automation/ui-parity/core/load-adapter.mjs +25 -0
  496. package/sdd/99_toolchain/01_automation/ui-parity/core/load-contract.mjs +81 -0
  497. package/sdd/99_toolchain/01_automation/ui-parity/core/paths.mjs +23 -0
  498. package/sdd/99_toolchain/01_automation/ui-parity/core/proof-runner.mjs +255 -0
  499. package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-artifact-layout.md +23 -0
  500. package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-proof-interface.md +60 -0
  501. package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-route-gap-interface.md +82 -0
  502. package/sdd/99_toolchain/01_automation/ui-parity/runtime/playwright-runtime.mjs +16 -0
  503. package/sdd/99_toolchain/01_automation/ui-parity/runtime/static-runtime.mjs +6 -0
  504. package/sdd/99_toolchain/02_policies/.gitkeep +1 -0
  505. package/sdd/99_toolchain/02_policies/build-ast-governance-policy.md +22 -0
  506. package/sdd/99_toolchain/02_policies/compose-runtime-baseline-policy.md +24 -0
  507. package/sdd/99_toolchain/02_policies/convention-storage-policy.md +26 -0
  508. package/sdd/99_toolchain/02_policies/main-push-before-dev-deploy-policy.md +27 -0
  509. package/sdd/99_toolchain/02_policies/otro-orchestration-policy.md +30 -0
  510. package/sdd/99_toolchain/02_policies/regression-verification-policy.md +22 -0
  511. package/sdd/99_toolchain/03_templates/.gitkeep +1 -0
  512. package/sdd/99_toolchain/03_templates/asset_recipe_manifest.example.py +38 -0
  513. package/sdd/99_toolchain/03_templates/generated_assets/README.md +11 -0
  514. package/sdd/99_toolchain/03_templates/generated_assets/example-brand-lockup.svg +3 -0
  515. package/sdd/99_toolchain/03_templates/generated_assets/example-brand-mark.svg +3 -0
  516. package/sdd/99_toolchain/03_templates/generated_assets/example-brand-wordmark.svg +3 -0
  517. package/sdd/99_toolchain/03_templates/playwright_exactness_manifest.example.py +21 -0
  518. package/sdd/99_toolchain/README.md +23 -0
  519. package/sdd/README.md +21 -0
  520. package/server/.dockerignore +4 -0
  521. package/server/.env.example +19 -0
  522. package/server/Dockerfile +22 -0
  523. package/server/Dockerfile.dev +19 -0
  524. package/server/README.md +33 -0
  525. package/server/__init__.py +0 -0
  526. package/server/api/__init__.py +1 -0
  527. package/server/api/http/__init__.py +4 -0
  528. package/server/api/http/app.py +53 -0
  529. package/server/api/http/router.py +24 -0
  530. package/server/config.py +52 -0
  531. package/server/contexts/__init__.py +12 -0
  532. package/server/contexts/alerts/__init__.py +1 -0
  533. package/server/contexts/alerts/application/__init__.py +13 -0
  534. package/server/contexts/alerts/application/services.py +41 -0
  535. package/server/contexts/alerts/contracts/__init__.py +3 -0
  536. package/server/contexts/alerts/contracts/http/__init__.py +3 -0
  537. package/server/contexts/alerts/contracts/http/router.py +37 -0
  538. package/server/contexts/alerts/domain/__init__.py +15 -0
  539. package/server/contexts/alerts/domain/models.py +29 -0
  540. package/server/contexts/alerts/infrastructure/__init__.py +11 -0
  541. package/server/contexts/alerts/infrastructure/repository.py +41 -0
  542. package/server/contexts/auth/__init__.py +1 -0
  543. package/server/contexts/auth/application/__init__.py +3 -0
  544. package/server/contexts/auth/application/ports.py +10 -0
  545. package/server/contexts/auth/application/services.py +64 -0
  546. package/server/contexts/auth/contracts/__init__.py +4 -0
  547. package/server/contexts/auth/contracts/http/__init__.py +4 -0
  548. package/server/contexts/auth/contracts/http/dependencies.py +37 -0
  549. package/server/contexts/auth/contracts/http/router.py +19 -0
  550. package/server/contexts/auth/domain/__init__.py +3 -0
  551. package/server/contexts/auth/domain/models.py +24 -0
  552. package/server/contexts/auth/infrastructure/__init__.py +4 -0
  553. package/server/contexts/auth/infrastructure/adapters/memory.py +19 -0
  554. package/server/contexts/auth/infrastructure/adapters/mongodb.py +24 -0
  555. package/server/contexts/auth/infrastructure/adapters/sqlalchemy.py +74 -0
  556. package/server/contexts/auth/infrastructure/repository.py +28 -0
  557. package/server/contexts/catalog/__init__.py +1 -0
  558. package/server/contexts/catalog/application/__init__.py +28 -0
  559. package/server/contexts/catalog/application/ports.py +15 -0
  560. package/server/contexts/catalog/application/services.py +154 -0
  561. package/server/contexts/catalog/contracts/__init__.py +3 -0
  562. package/server/contexts/catalog/contracts/http/__init__.py +3 -0
  563. package/server/contexts/catalog/contracts/http/router.py +60 -0
  564. package/server/contexts/catalog/domain/__init__.py +45 -0
  565. package/server/contexts/catalog/domain/models.py +113 -0
  566. package/server/contexts/catalog/infrastructure/__init__.py +4 -0
  567. package/server/contexts/catalog/infrastructure/adapters/memory.py +62 -0
  568. package/server/contexts/catalog/infrastructure/repository.py +8 -0
  569. package/server/contexts/fulfillment/__init__.py +1 -0
  570. package/server/contexts/fulfillment/application/__init__.py +13 -0
  571. package/server/contexts/fulfillment/application/ports.py +20 -0
  572. package/server/contexts/fulfillment/application/services.py +85 -0
  573. package/server/contexts/fulfillment/contracts/__init__.py +3 -0
  574. package/server/contexts/fulfillment/contracts/http/__init__.py +3 -0
  575. package/server/contexts/fulfillment/contracts/http/router.py +40 -0
  576. package/server/contexts/fulfillment/domain/__init__.py +25 -0
  577. package/server/contexts/fulfillment/domain/models.py +73 -0
  578. package/server/contexts/fulfillment/infrastructure/__init__.py +13 -0
  579. package/server/contexts/fulfillment/infrastructure/adapters/memory.py +43 -0
  580. package/server/contexts/fulfillment/infrastructure/repository.py +97 -0
  581. package/server/contexts/health/__init__.py +1 -0
  582. package/server/contexts/health/application/__init__.py +3 -0
  583. package/server/contexts/health/application/services.py +2 -0
  584. package/server/contexts/health/contracts/__init__.py +3 -0
  585. package/server/contexts/health/contracts/http/__init__.py +3 -0
  586. package/server/contexts/health/contracts/http/router.py +10 -0
  587. package/server/contexts/inventory/__init__.py +1 -0
  588. package/server/contexts/inventory/application/__init__.py +28 -0
  589. package/server/contexts/inventory/application/ports.py +11 -0
  590. package/server/contexts/inventory/application/services.py +214 -0
  591. package/server/contexts/inventory/contracts/__init__.py +3 -0
  592. package/server/contexts/inventory/contracts/http/__init__.py +3 -0
  593. package/server/contexts/inventory/contracts/http/router.py +82 -0
  594. package/server/contexts/inventory/domain/__init__.py +33 -0
  595. package/server/contexts/inventory/domain/models.py +93 -0
  596. package/server/contexts/inventory/infrastructure/__init__.py +4 -0
  597. package/server/contexts/inventory/infrastructure/adapters/memory.py +24 -0
  598. package/server/contexts/inventory/infrastructure/repository.py +8 -0
  599. package/server/contexts/orders/__init__.py +1 -0
  600. package/server/contexts/orders/application/__init__.py +19 -0
  601. package/server/contexts/orders/application/services.py +127 -0
  602. package/server/contexts/orders/contracts/__init__.py +3 -0
  603. package/server/contexts/orders/contracts/http/__init__.py +3 -0
  604. package/server/contexts/orders/contracts/http/router.py +82 -0
  605. package/server/contexts/orders/domain/__init__.py +29 -0
  606. package/server/contexts/orders/domain/models.py +95 -0
  607. package/server/contexts/orders/infrastructure/__init__.py +7 -0
  608. package/server/contexts/orders/infrastructure/repository.py +104 -0
  609. package/server/contexts/shipping/__init__.py +1 -0
  610. package/server/contexts/shipping/application/__init__.py +13 -0
  611. package/server/contexts/shipping/application/services.py +92 -0
  612. package/server/contexts/shipping/contracts/__init__.py +3 -0
  613. package/server/contexts/shipping/contracts/http/__init__.py +3 -0
  614. package/server/contexts/shipping/contracts/http/router.py +40 -0
  615. package/server/contexts/shipping/domain/__init__.py +19 -0
  616. package/server/contexts/shipping/domain/models.py +48 -0
  617. package/server/contexts/shipping/infrastructure/__init__.py +9 -0
  618. package/server/contexts/shipping/infrastructure/repository.py +50 -0
  619. package/server/contexts/support/__init__.py +1 -0
  620. package/server/contexts/support/application/__init__.py +13 -0
  621. package/server/contexts/support/application/services.py +29 -0
  622. package/server/contexts/support/contracts/__init__.py +3 -0
  623. package/server/contexts/support/contracts/http/__init__.py +3 -0
  624. package/server/contexts/support/contracts/http/router.py +40 -0
  625. package/server/contexts/support/domain/__init__.py +13 -0
  626. package/server/contexts/support/domain/models.py +27 -0
  627. package/server/contexts/support/infrastructure/__init__.py +11 -0
  628. package/server/contexts/support/infrastructure/repository.py +70 -0
  629. package/server/contexts/user/__init__.py +1 -0
  630. package/server/contexts/user/application/__init__.py +3 -0
  631. package/server/contexts/user/application/ports.py +11 -0
  632. package/server/contexts/user/application/services.py +44 -0
  633. package/server/contexts/user/contracts/__init__.py +3 -0
  634. package/server/contexts/user/contracts/http/__init__.py +3 -0
  635. package/server/contexts/user/contracts/http/router.py +26 -0
  636. package/server/contexts/user/domain/__init__.py +3 -0
  637. package/server/contexts/user/domain/models.py +22 -0
  638. package/server/contexts/user/infrastructure/__init__.py +3 -0
  639. package/server/contexts/user/infrastructure/adapters/memory.py +27 -0
  640. package/server/contexts/user/infrastructure/adapters/mongodb.py +41 -0
  641. package/server/contexts/user/infrastructure/adapters/sqlalchemy.py +94 -0
  642. package/server/contexts/user/infrastructure/factory.py +28 -0
  643. package/server/data/README.md +24 -0
  644. package/server/data/bootstrap/alerts.json +38 -0
  645. package/server/data/bootstrap/auth_accounts.json +18 -0
  646. package/server/data/bootstrap/catalog_products.json +179 -0
  647. package/server/data/bootstrap/fulfillment_events.json +5 -0
  648. package/server/data/bootstrap/fulfillment_notes.json +5 -0
  649. package/server/data/bootstrap/fulfillment_tasks.json +50 -0
  650. package/server/data/bootstrap/inventory_levels.json +80 -0
  651. package/server/data/bootstrap/orders.json +62 -0
  652. package/server/data/bootstrap/shipping_shipments.json +50 -0
  653. package/server/data/bootstrap/support_faqs.json +26 -0
  654. package/server/data/bootstrap/users.json +20 -0
  655. package/server/data/bootstrap_loader.py +15 -0
  656. package/server/docker-entrypoint.sh +56 -0
  657. package/server/main.py +3 -0
  658. package/server/pyproject.toml +36 -0
  659. package/server/shared/__init__.py +1 -0
  660. package/server/shared/application/__init__.py +3 -0
  661. package/server/shared/application/health.py +2 -0
  662. package/server/shared/infrastructure/__init__.py +10 -0
  663. package/server/shared/infrastructure/runtime.py +6 -0
  664. package/server/shared/infrastructure/security.py +33 -0
  665. package/server/tests/e2e/test_domain_feature_flows.py +483 -0
  666. package/server/tests/test_health.py +49 -0
  667. package/server/uv.lock +1169 -0
  668. package/bin/agentic-dev.js +0 -9
  669. package/src/cli.js +0 -37
  670. package/src/init-command.js +0 -230
  671. package/src/lib/command.js +0 -14
  672. package/src/lib/fs.js +0 -92
  673. package/src/lib/git.js +0 -57
  674. package/src/lib/github.js +0 -77
  675. package/src/lib/prompt.js +0 -52
  676. package/src/lib/system.js +0 -15
  677. package/src/lib/template.js +0 -143
@@ -0,0 +1,23 @@
1
+ # Architecture Planning
2
+
3
+ - 이 폴더는 `sdd/02_plan` 아래에서 에이전트의 현재 개발 계획을 관리한다.
4
+ - 이 폴더는 구조, 리포지토리 거버넌스, 런타임 정렬, 툴체인 규칙 같은 횡단 계획을 durable 문서로 유지한다.
5
+ - 날짜 기반 작업 메모는 남기지 않고, 현재 적용돼야 하는 규칙과 backlog만 덮어쓴다.
6
+
7
+ ## Plan Rule
8
+
9
+ - 다른 `02_plan` 폴더와 동일하게 `README.md + durable 문서`만 유지하고, dated plan history는 두지 않는다.
10
+ - `sdd/02_plan`은 현재 실행해야 할 기준만 남기고, 과거 계획 히스토리는 보관하지 않는다.
11
+ - 개발계가 있는 대상은 `구현 -> build -> main push -> DEV(개발계) 배포 -> DEV 검수 -> 문서 갱신`을 기본 루틴으로 본다.
12
+ - feature는 domain TODO 파일 안에서 기능코드 기준으로 관리한다.
13
+ - screen은 service TODO 파일 안에서 화면코드 기준으로 관리한다.
14
+ - architecture, IAC, test도 dated memo 대신 section README와 durable governance 문서에서 현재 규칙만 유지한다.
15
+ - `02_plan` section 구조와 README 규칙은 final-only 기준으로 유지한다.
16
+
17
+ ## Current Documents
18
+
19
+ - [architecture_document_governance.md](architecture_document_governance.md)
20
+ - [repository_governance.md](repository_governance.md)
21
+ - [runtime_and_structure_governance.md](runtime_and_structure_governance.md)
22
+ - [toolchain_governance.md](toolchain_governance.md)
23
+ - [templates-hexagonal-template-architecture.md](templates-hexagonal-template-architecture.md)
@@ -0,0 +1,40 @@
1
+ # architecture document governance
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - `sdd/01_planning/03_architecture` 문서 구조와 경계를 공통 규칙으로 정의한다.
10
+ - 아키텍처 planning 문서는 공통/일반화된 구조를 우선 기록하되, 필요 시 `frontend`, `backend`, `infra`, `tech-research`로 특화 문서를 둔다.
11
+ - 프런트엔드, 백엔드, 인프라의 구조/패턴/구현 선택을 architecture 범위로 유지한다.
12
+ - 데이터 모델링 경계는 `sdd/01_planning/04_data`로 분리한다.
13
+ - Out of scope:
14
+ - feature별 business rule 상세
15
+ - screen별 route/CTA/전이 상세
16
+ - entity/schema/ERD 수준의 데이터 모델링 상세
17
+
18
+ ## Acceptance Criteria
19
+
20
+ - [ ] `03_architecture`는 공통 아키텍처 문서와 특화 아키텍처 문서를 함께 수용하는 구조로 설명된다.
21
+ - [ ] frontend/backend/infra가 architecture 범위에 포함된다는 점이 planning 문서에 명시된다.
22
+ - [ ] data modeling은 `04_data` 경계로 분리된다는 점이 planning 문서에 명시된다.
23
+
24
+ ## Current Notes
25
+
26
+ - architecture 문서는 우선 공통 구조를 설명하고, 세부 구현 논점이 필요할 때만 영역별 문서로 내려간다.
27
+ - frontend architecture는 모듈화, 컴포넌트, store/state, domain/use case, UI/UX, storage, API adapter 패턴을 다룬다.
28
+ - backend architecture는 DDD context 구조, context 내부 계층, 3-layer, hexagonal, monolith/MSA/EDA/CQRS 같은 패턴과 실제 구현체 선택을 다룬다.
29
+ - infra architecture는 컨테이너, 오케스트레이션, 데이터베이스, 네트워크, 이중화, 멀티리전 같은 서비스 기반 구조를 다룬다.
30
+
31
+ ## Validation
32
+
33
+ - current references:
34
+ - `sdd/01_planning/03_architecture/README.md`
35
+ - `sdd/01_planning/03_architecture/INDEX.md`
36
+ - `sdd/01_planning/03_architecture/architecture_document_structure.md`
37
+ - `sdd/01_planning/03_architecture/frontend/README.md`
38
+ - `sdd/01_planning/03_architecture/backend/README.md`
39
+ - `sdd/01_planning/03_architecture/infra/README.md`
40
+ - `sdd/01_planning/04_data/README.md`
@@ -0,0 +1,53 @@
1
+ # build ast runtime tree governance
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - `sdd/03_build` service summary를 실제 템플릿 runtime assembly 기준으로 재정렬한다.
10
+ - Claude/Codex/Ralph 하네스가 동일한 current-state build reading 규칙을 따르도록 canonical policy를 추가한다.
11
+ - `scripts/dev/audit_sdd_build_ast.py`를 템플릿 정본 gate로 유지한다.
12
+ - provider-first infra baseline과 build/runtime/toolchain 문서 간의 current-state drift를 줄인다.
13
+ - Out of scope:
14
+ - 템플릿 앱/서버의 기능 요구사항 자체 변경
15
+ - 제품별 downstream branding이나 credential 값 추가
16
+
17
+ ## Assumptions
18
+
19
+ - template repo의 `sdd/03_build`는 clone 이후 downstream repo가 그대로 이어받는 current-state 설명 문서다.
20
+ - AST-style build 문서는 모든 관계를 하나의 트리에 과적재하지 않고, 주 runtime chain과 cross-cutting contract를 분리해 설명한다.
21
+ - agentic harness는 repo-local path와 generic scaffold만 포함하고 실제 run 산출물은 commit 대상이 아니다.
22
+
23
+ ## Acceptance Criteria
24
+
25
+ - [x] `scripts/dev/audit_sdd_build_ast.py`가 `ast_similarity=10`, `implementation_traceability=10`, `human_agent_readability=10`을 반환한다.
26
+ - [x] `mobile`, `platform`, `admin`, `landing` service summary가 실제 `main.tsx -> AuthProvider -> BrowserRouter -> App -> ProtectedRoute/shell -> route leaf` 체인을 반영한다.
27
+ - [x] `README`, `AGENTS`, `CLAUDE`, toolchain policy가 `.agent`, role agent, skill alias, AST current-state 규칙을 같이 설명한다.
28
+ - [x] template infra 문서는 provider-first baseline(`aws/data`, `aws/domain`, `openstack/server`)을 current canonical split으로 설명한다.
29
+
30
+ ## Execution Checklist
31
+
32
+ - [x] 기존 템플릿의 agentic/toolchain/AST 누락 축을 정리한다.
33
+ - [x] `.agent` Ralph scaffold와 Claude/Codex alias/role surface를 추가한다.
34
+ - [x] AST audit script와 plan/build/verify current-state 문서를 추가한다.
35
+ - [x] service build summary를 runtime tree 기준으로 재작성한다.
36
+ - [x] infra current-state 문서를 provider-first baseline으로 갱신한다.
37
+ - [x] root compose baseline을 provider-first runtime split까지 더 일반화할 추가 필요 여부를 follow-up으로 평가한다.
38
+
39
+ ## Work Log
40
+
41
+ - 2026-03-19: `templates`가 starter scaffold로는 충분하지만 `passv`/`palcar`에서 검증된 agentic harness, AST build governance, provider-first infra split이 빠져 있어 canonical repo로 승격이 필요하다고 정리했다.
42
+ - 2026-03-19: `.agent` Ralph scaffold, Claude role agent surface, Codex alias skill, OTRO validation helper 문서를 정본에 추가하기로 결정했다.
43
+ - 2026-03-19: `sdd/03_build/01_feature/service/*.md`를 실제 템플릿 runtime composition 기준으로 다시 쓰고 AST gate로 검증하는 흐름을 고정했다.
44
+ - 2026-03-19: infra current-state는 기존 `openstack/dev|prod` 설명에 더해 `aws/data`, `aws/domain`, `openstack/server` provider-first split을 canonical baseline으로 반영했다.
45
+ - 2026-03-19: AST gate와 `terraform validate` 3종이 모두 통과해 canonical template upgrade의 구조적 baseline을 고정했다.
46
+
47
+ ## Validation
48
+
49
+ - `python3 scripts/dev/audit_sdd_build_ast.py --write .agent/sdd-build-ast-audit.json`
50
+ - `rg -n "Ralph|iteration|Current Build Note|2026-" sdd/03_build -g '*.md'`
51
+ - `terraform -chdir=infra/terraform/aws/data init -backend=false && terraform -chdir=infra/terraform/aws/data validate`
52
+ - `terraform -chdir=infra/terraform/aws/domain init -backend=false && terraform -chdir=infra/terraform/aws/domain validate`
53
+ - `terraform -chdir=infra/terraform/openstack/server init -backend=false && terraform -chdir=infra/terraform/openstack/server validate`
@@ -0,0 +1,39 @@
1
+ # repository governance
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - `main` canonical branch 운영
10
+ - repo path와 주요 문서 구조 정합성 유지
11
+ - SDD final-only 원칙 유지
12
+ - Out of scope:
13
+ - 서비스별 feature/screen 상세 TODO
14
+
15
+ ## Acceptance Criteria
16
+
17
+ - [x] `main`을 정본 브랜치로 유지한다.
18
+ - [x] repo 경로와 주요 문서는 현재 `client/*`, `server/*`, `sdd/*` 구조를 기준으로 설명한다.
19
+ - [x] plan/build/verify/operate는 dated history 없이 durable 문서만 유지한다.
20
+
21
+ ## Execution Checklist
22
+
23
+ - [x] branch 운영 원칙을 현재 방식으로 고정한다.
24
+ - [x] repo 주요 경로 기준을 `client/*`, `server/*`, `sdd/*` 구조로 고정한다.
25
+ - [x] SDD final-only 원칙을 반영한다.
26
+
27
+ ## Current Notes
28
+
29
+ - `main`을 canonical branch로 유지하는 규칙을 사용한다.
30
+ - 템플릿 frontend 경로는 `client/platform`, `client/admin`, `client/mobile`, `client/landing` 기준이다.
31
+ - SDD는 최종 일관성 문서만 유지하고, raw 운영 로그는 runtime logging system에 남긴다.
32
+ - data modeling 계획 루트는 `sdd/01_planning/04_data`와 `sdd/02_plan/04_data`를 기준으로 유지한다.
33
+
34
+ ## Validation
35
+
36
+ - current references:
37
+ - `AGENTS.md`
38
+ - `sdd/03_build/03_architecture/repository_governance.md`
39
+ - `sdd/04_verify/03_architecture/repository_governance.md`
@@ -0,0 +1,38 @@
1
+ # runtime and structure governance
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - template repo의 `server/*`, `client/*`, `infra/*` current 구조 기준 유지
10
+ - screen PDF, toolchain, runtime entrypoint 같은 현재 구조 설명
11
+ - Out of scope:
12
+ - 서비스별 구현 상세
13
+
14
+ ## Acceptance Criteria
15
+
16
+ - [x] repo structure 설명은 현재 폴더 구조를 기준으로 유지한다.
17
+ - [x] runtime path와 screen planning path는 현재 canonical 위치만 가리킨다.
18
+ - [x] dated refactor memo 없이 current structure만 남긴다.
19
+
20
+ ## Execution Checklist
21
+
22
+ - [x] repo structure 기준 경로를 다시 점검한다.
23
+ - [x] stale path reference를 current path로 교체한다.
24
+ - [x] runtime/structure 설명을 durable 문서로 유지한다.
25
+
26
+ ## Current Notes
27
+
28
+ - backend는 `server/contexts/*`, frontend는 `client/*`, 인프라는 `infra/*` current structure를 기준으로 설명한다.
29
+ - screen planning은 `sdd/01_planning/02_screen/*.pdf`를 canonical source로 유지한다.
30
+ - architecture planning은 root common docs + `frontend/`, `backend/`, `infra/`, `tech-research/` split을 기준으로 유지한다.
31
+ - 저장소 구조 정렬 결과는 현재 디렉터리 기준만 남긴다.
32
+
33
+ ## Validation
34
+
35
+ - current references:
36
+ - `sdd/01_planning/README.md`
37
+ - `sdd/03_build/03_architecture/repository_governance.md`
38
+ - `sdd/04_verify/03_architecture/repository_governance.md`
@@ -0,0 +1,9 @@
1
+ # Templates Hexagonal Template Architecture
2
+
3
+ 현재 템플릿 레포의 기본 아키텍처 원칙:
4
+
5
+ - 프론트는 `React + Tailwind + CSS token surface`
6
+ - 백엔드는 `hexagonal + DDD`
7
+ - 컨텍스트 외부 진입점은 `contracts`
8
+ - adapter는 교환 가능해야 하며 application/domain은 저장소 세부사항을 직접 알지 않는다
9
+ - 데이터 모델링 상세는 architecture가 아니라 `04_data`에서 다룬다
@@ -0,0 +1,98 @@
1
+ # toolchain governance
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - `sdd/99_toolchain` 아래 자동화 도구와 policy 문서의 current rule 유지
10
+ - Playwright exactness runner/manifest를 local screen regression의 canonical gate로 유지
11
+ - skill/tooling path와 proof artifact path 정렬
12
+ - local Claude/Codex `sdd` skill의 canonical path와 실제 저장소 구조 정렬
13
+ - `sdd` skill의 rollout gate를 explicit deployment scope 기준으로 제한
14
+ - 존재하지 않는 template builder file을 required canonical path처럼 안내하지 않도록 정리
15
+ - 프로젝트 루트에서 `sdd` skill을 설명하는 단일 entrypoint 문서 유지
16
+ - 루트 `SDD_SKILL.md`가 workflow, `sdd/` 구조, flow별 설명까지 포함하도록 확장
17
+ - 루트 `SDD_SKILL.md`가 toolchain, visual fidelity, exactness, functional alignment 구조까지 설명하도록 확장
18
+ - 루트 `SDD_SKILL.md`가 `sdd` 스킬의 trigger, non-use case, governance, section map, schema parity, regression, rollout, completion gate까지 포함하도록 확장
19
+ - ignored 상태였던 durable local scaffold/config를 template-tracked asset으로 승격
20
+ - Out of scope:
21
+ - 개별 서비스 구현
22
+
23
+ ## Acceptance Criteria
24
+
25
+ - [x] skill/tooling 관련 경로가 current SDD 구조를 가리킨다.
26
+ - [x] proof artifact 예시도 final-only verify structure를 따른다.
27
+ - [x] toolchain 설명은 현재 workflow rule만 남긴다.
28
+ - [x] 화면명세 기반 정적 자산은 canonical `스펙에셋빌더` 선행 추출 rule을 current workflow로 유지한다.
29
+ - [x] 회귀 검수 범위 선택 rule이 policy, toolchain, skill, SDD test 문서에 공통 반영된다.
30
+ - [x] `.claude/skills/sdd-dev/SKILL.md`의 Codex canonical path가 실제 `.codex/skills/sdd/` 구조를 가리킨다.
31
+ - [x] `sdd` skill은 rollout이 explicit scope일 때만 DEV/PROD/rollback gate를 completion bar로 해석한다.
32
+ - [x] 디자인 가이드 builder 안내는 현재 저장소에 실제로 존재하는 automation inventory 기준으로만 적는다.
33
+ - [x] 프로젝트 루트에서 `sdd` skill 용도와 canonical path를 빠르게 확인할 수 있는 단일 markdown entrypoint가 있다.
34
+ - [x] `SDD_SKILL.md`는 요약 수준을 넘어서 workflow, folder structure, flow별 역할을 명확하게 설명한다.
35
+ - [x] `SDD_SKILL.md`는 toolchain 역할과 visual fidelity / exactness / 기능 정합성 구조를 명확하게 설명한다.
36
+ - [x] `SDD_SKILL.md`는 `sdd` 스킬의 거의 전체 해설서 수준으로 trigger, artifact rule, rollout gate, completion gate까지 설명한다.
37
+ - [x] durable local scaffold/config 파일은 tracked asset으로 승격되고, generated/cache artifact는 계속 ignore된다.
38
+ - [x] Playwright screen exactness는 ad-hoc CLI가 아니라 `sdd/99_toolchain/01_automation/` wrapper/manifest 기준으로 실행한다.
39
+
40
+ ## Execution Checklist
41
+
42
+ - [x] stale verify/build path를 current path로 교체한다.
43
+ - [x] toolchain README와 design note를 current governance와 정렬한다.
44
+ - [x] reusable template path를 final-only 구조에 맞춘다.
45
+ - [x] screen-spec static asset extraction rule을 skill과 toolchain 문서에 공통 반영한다.
46
+ - [x] regression verification rule을 policy, skill, toolchain, test planning에 공통 반영한다.
47
+ - [x] Claude `sdd-dev` alias가 stale `.codex/skills/sdd-dev/` 경로를 참조하지 않도록 정리한다.
48
+ - [x] Codex/Claude `sdd` skill에서 rollout gate를 explicit deployment scope 조건으로 정리한다.
49
+ - [x] 존재하지 않는 `screen_design_guide_builder.py`를 template canonical file처럼 적지 않도록 수정한다.
50
+ - [x] 루트에 `sdd` skill 요약 문서를 추가하고 canonical source를 명시한다.
51
+ - [x] 루트 `SDD_SKILL.md`에 workflow 단계, section 역할, flow별 상세 설명을 보강한다.
52
+ - [x] 루트 `SDD_SKILL.md`에 toolchain, parity/proof, exactness, functional alignment 설명을 추가한다.
53
+ - [x] 루트 `SDD_SKILL.md`에 trigger rule, non-use case, governance, section routing, schema parity, regression, completion gate 설명을 추가한다.
54
+ - [x] `.claude/settings.local.json`, `.agent/sdd-build-ast-audit.json`, `.agent/runs/README.md`를 tracked asset으로 승격한다.
55
+ - [x] `node_modules`, `dist`, `.venv`, `.terraform`, cache 계열은 generated/local artifact로 계속 제외한다.
56
+ - [x] Playwright exactness suite registry와 runner를 toolchain canonical entrypoint로 편입한다.
57
+ - [x] screen template가 suite id와 canonical runner command를 기본 항목으로 가진다.
58
+
59
+ ## Current Notes
60
+
61
+ - toolchain은 `sdd/99_toolchain/01_automation`, `02_policies`, `03_templates` current split을 따른다.
62
+ - Playwright local exactness는 `run_playwright_exactness.py`와 `playwright_exactness_manifest.py`를 canonical entrypoint로 사용한다.
63
+ - screen 작업은 가능하면 `npx playwright test ...`를 직접 쓰지 않고 toolchain runner를 통해 suite id 기준으로 실행한다.
64
+ - proof artifact는 `sdd/04_verify/10_test/ui_parity/` current path를 기준으로 관리한다.
65
+ - toolchain 정책 문서의 정본은 `sdd/99_toolchain/02_policies`에 둔다.
66
+ - skill/tooling 사용 여부는 개별 dated memo가 아니라 현재 workflow rule로만 유지한다.
67
+ - 화면명세서의 icon/image/logo 등 재사용 가능한 정적 자산은 `spec_asset_builder.py` 또는 wrapper를 먼저 사용해 추출하고, 수동 재작성은 builder가 표현하지 못하는 경우에만 예외로 허용한다.
68
+ - reusable asset planning root는 `sdd/01_planning/02_screen/assets/`이고, local Codex/Claude `sdd` skill도 같은 경로 기준으로 유지한다.
69
+ - 회귀 검수는 direct target-only 확인으로 끝내지 않고, `sdd/02_plan/10_test/regression_verification.md` 기준으로 selected surface를 retained current-state로 남긴다.
70
+ - Claude `sdd-dev` canonical asset reference는 현재 저장소의 `.codex/skills/sdd/` path를 기준으로 맞춘다.
71
+ - rollout, DEV/PROD gate, rollback rule은 사용자가 배포를 요청했거나 저장소의 current policy/plan이 rollout을 completion bar로 올린 경우에만 강제한다.
72
+ - 디자인 가이드 builder reference는 실제 존재하는 automation inventory를 기준으로 적고, 없는 file path를 canonical prerequisite처럼 고정하지 않는다.
73
+ - 루트 `SDD_SKILL.md`는 단순 요약이 아니라 입문용 설명 문서로 유지하되, canonical rule은 local skill 원문과 toolchain policy에 둔다.
74
+ - 루트 `SDD_SKILL.md`는 builder/harness/policy가 visual fidelity, exactness, 기능 정합성을 어떻게 연결하는지까지 설명한다.
75
+ - 루트 `SDD_SKILL.md`는 skill 원문을 읽기 전에 전체 mental model을 잡는 해설서 역할을 하도록 유지한다.
76
+ - `.claude/settings.local.json`은 local permission preset이지만 현재 템플릿이 재사용하는 scaffold로 승격한다.
77
+ - `.agent/sdd-build-ast-audit.json`과 `.agent/runs/README.md`는 Ralph/AST scaffold의 durable template asset으로 승격한다.
78
+ - generated output인 `dist`, `node_modules`, `.venv`, `.terraform`, cache, runtime run output은 계속 template commit 대상에서 제외한다.
79
+
80
+ ## Validation
81
+
82
+ - current references:
83
+ - `AGENTS.md`
84
+ - `.codex/skills/sdd/SKILL.md`
85
+ - `.claude/skills/sdd/SKILL.md`
86
+ - `.claude/skills/sdd-dev/SKILL.md`
87
+ - `.claude/settings.local.json`
88
+ - `.agent/sdd-build-ast-audit.json`
89
+ - `.agent/runs/README.md`
90
+ - `SDD_SKILL.md`
91
+ - `sdd/01_planning/02_screen/assets/README.md`
92
+ - `sdd/99_toolchain/01_automation/README.md`
93
+ - `sdd/99_toolchain/01_automation/playwright_exactness_manifest.py`
94
+ - `sdd/99_toolchain/01_automation/run_playwright_exactness.py`
95
+ - `sdd/02_plan/10_test/verification_strategy.md`
96
+ - `sdd/04_verify/10_test/verification_harness.md`
97
+ - `sdd/99_toolchain/02_policies/regression-verification-policy.md`
98
+ - `sdd/02_plan/10_test/regression_verification.md`
@@ -0,0 +1,5 @@
1
+ # Data Planning
2
+
3
+ - 이 폴더는 `sdd/02_plan` 아래에서 에이전트의 현재 개발 계획을 관리한다.
4
+ - 데이터 모델, 관계, 키 정책 정렬 계획을 현재형 durable 문서로 유지한다.
5
+ - dated data planning memo를 쌓지 않는다.
@@ -0,0 +1,5 @@
1
+ # API Planning
2
+
3
+ - 이 폴더는 `sdd/02_plan` 아래에서 에이전트의 현재 개발 계획을 관리한다.
4
+ - API contract, request/response, transport rule 정렬 계획을 현재형 durable 문서로 유지한다.
5
+ - dated API planning memo를 쌓지 않는다.
@@ -0,0 +1,11 @@
1
+ # IaC Planning
2
+
3
+ - 이 폴더는 `sdd/02_plan` 아래에서 에이전트의 현재 개발 계획을 관리한다.
4
+ - 이 폴더는 배포, 런타임, 데이터베이스 운영 계획을 durable 문서로 유지한다.
5
+ - dated deploy plan은 남기지 않고, 현재 유효한 delivery/runtime 계획만 갱신한다.
6
+
7
+ ## Common Rule
8
+
9
+ - 다른 `02_plan` 폴더와 동일하게 `README.md + durable 문서`만 유지한다.
10
+ - 실제 계획은 대상 문서를 직접 갱신하는 방식으로 관리하고, 날짜 기반 임시 plan 파일은 두지 않는다.
11
+ - 개발계가 있는 대상은 `build -> main push -> DEV(개발계) 배포 -> DEV(개발계) 검수`를 delivery 기본 루틴으로 포함한다.
@@ -0,0 +1,36 @@
1
+ # dev runtime delivery
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - template repo의 DEV runtime/delivery baseline
10
+ - screen spec capture, frontend build, backend/root compose runtime 확인 기준
11
+ - Out of scope:
12
+ - 특정 서비스의 release timeline
13
+
14
+ ## Acceptance Criteria
15
+
16
+ - [x] DEV 검수 시 visible surface와 current build artifact 확인 기준을 명시한다.
17
+ - [x] runtime bootstrap과 delivery path는 current structure만 설명한다.
18
+ - [x] delivery plan도 final-only 문서로 유지한다.
19
+
20
+ ## Execution Checklist
21
+
22
+ - [x] current delivery path를 정리한다.
23
+ - [x] build artifact와 runtime health 확인 기준을 정리한다.
24
+ - [x] dated deploy memo를 제거하고 durable 기준으로 대체한다.
25
+
26
+ ## Current Notes
27
+
28
+ - template repo는 service별 frontend build와 backend test/boot path를 current runtime baseline으로 둔다.
29
+ - screen spec capture/PDF generation도 current toolchain path를 기준으로 유지한다.
30
+ - visible build artifact 확인과 targeted test/build 조합을 delivery 검수 기본으로 사용한다.
31
+
32
+ ## Validation
33
+
34
+ - current references:
35
+ - `sdd/03_build/06_iac/dev_runtime_delivery.md`
36
+ - `sdd/04_verify/06_iac/dev_runtime_delivery.md`
@@ -0,0 +1,50 @@
1
+ # template runtime delivery
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - root compose dev-focused runtime baseline
10
+ - dedicated host compose overlay positioning
11
+ - provider-first Terraform baseline
12
+ - workflow와 runtime 환경의 현재 연결 규칙
13
+ - Out of scope:
14
+ - dated deploy memo
15
+ - service별 release timeline
16
+
17
+ ## Acceptance Criteria
18
+
19
+ - [x] root `compose.yml`이 canonical dev-focused template runtime baseline으로 문서화된다.
20
+ - [x] `infra/compose/dev.yml`, `infra/compose/prod.yml`이 dedicated DEV(개발계)/PROD overlay로 문서화된다.
21
+ - [x] provider-first Terraform split(`aws/data`, `aws/domain`, `openstack/server`)이 current runtime baseline으로 문서화된다.
22
+
23
+ ## Execution Checklist
24
+
25
+ - [x] root compose/service graph positioning을 README와 IaC 문서에 반영한다.
26
+ - [x] dedicated host overlay 역할을 current compose baseline과 구분해 정리한다.
27
+ - [x] toolchain policy reference와 IAC current-state 문서를 같은 runtime split으로 맞춘다.
28
+
29
+ ## Current Notes
30
+
31
+ - current template runtime baseline은 passv-style split을 따라 root `compose.yml`을 dev-focused graph entrypoint로 둔다.
32
+ - root `compose.yml`은 4개 frontend surface, `server`, 기본 `postgres`, optional DB profile을 함께 기동한다.
33
+ - `infra/compose/dev.yml`, `infra/compose/prod.yml`은 dedicated host나 분리된 runtime delivery가 필요할 때 쓰는 overlay/example set이다.
34
+ - infrastructure baseline은 `infra/terraform/README.md`를 기준으로 유지한다.
35
+ - current canonical delivery split은 `AWS edge/domain -> OpenStack backend compute -> AWS data plane`이다.
36
+ - CI baseline은 `.github/workflows/ci.yml`, `.github/workflows/frontend-parity.yml`를 사용한다.
37
+
38
+ ## Validation
39
+
40
+ - current references:
41
+ - `README.md`
42
+ - `infra/compose/README.md`
43
+ - `sdd/99_toolchain/README.md`
44
+ - `sdd/99_toolchain/02_policies/compose-runtime-baseline-policy.md`
45
+ - `infra/terraform/README.md`
46
+ - `infra/terraform/aws/data/README.md`
47
+ - `infra/terraform/aws/domain/README.md`
48
+ - `infra/terraform/openstack/server/README.md`
49
+ - `.github/workflows/ci.yml`
50
+ - `.github/workflows/frontend-parity.yml`
@@ -0,0 +1,5 @@
1
+ # Integration Planning
2
+
3
+ - 이 폴더는 `sdd/02_plan` 아래에서 에이전트의 현재 개발 계획을 관리한다.
4
+ - 내부/외부 연동 계약 정렬 계획을 현재형 durable 문서로 유지한다.
5
+ - dated integration memo를 쌓지 않는다.
@@ -0,0 +1,31 @@
1
+ # frontend live integration
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - platform/admin/mobile/landing과 backend domain contract 연결 기준
10
+ - typed API helper와 current live wiring baseline
11
+
12
+ ## Acceptance Criteria
13
+
14
+ - [x] frontend service split과 backend domain owner 매핑이 current baseline으로 정리된다.
15
+ - [x] integration 계획은 service별 live fetch wiring을 현재형으로 설명한다.
16
+
17
+ ## Current Notes
18
+
19
+ - `platform`은 catalog/orders/support 중심 operator surface를 사용한다.
20
+ - `admin`은 alerts, catalog, orders 관리 surface를 사용한다.
21
+ - `mobile`은 fulfillment, shipping 중심 surface를 사용한다.
22
+ - `landing`은 catalog/public read surface를 사용한다.
23
+ - `client/mobile/src/lib/useSpeechRecognitionInput.ts`를 template shared utility로 유지해, 화면/입력 컴포저의 browser speech-to-text affordance를 공통 모듈로 시작할 수 있게 한다.
24
+
25
+ ## Validation
26
+
27
+ - current references:
28
+ - `client/platform/src`
29
+ - `client/admin/src`
30
+ - `client/mobile/src`
31
+ - `client/landing/src`
@@ -0,0 +1,5 @@
1
+ # Nonfunctional Planning
2
+
3
+ - 이 폴더는 `sdd/02_plan` 아래에서 에이전트의 현재 개발 계획을 관리한다.
4
+ - 성능, 가용성, 확장성, 관측성 같은 비기능 요구 정렬 계획을 현재형 durable 문서로 유지한다.
5
+ - dated cleanup memo를 쌓지 않는다.
@@ -0,0 +1,26 @@
1
+ # repository hygiene
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - cache artifact, generated garbage, repository hygiene baseline
10
+ - lint/build/test를 방해하지 않는 저장소 청결 기준
11
+
12
+ ## Acceptance Criteria
13
+
14
+ - [x] `*.pyc`, `__pycache__`, build garbage는 committed artifact로 남지 않는다.
15
+ - [x] SDD는 current-state 문서만 유지한다.
16
+
17
+ ## Current Notes
18
+
19
+ - Python cache artifact와 empty cache directory는 저장소에 남기지 않는다.
20
+ - SDD는 generated history log를 남기지 않고 current-state 문서만 유지한다.
21
+
22
+ ## Validation
23
+
24
+ - current references:
25
+ - `.gitignore`
26
+ - `sdd/README.md`
@@ -0,0 +1,5 @@
1
+ # Security Planning
2
+
3
+ - 이 폴더는 `sdd/02_plan` 아래에서 에이전트의 현재 개발 계획을 관리한다.
4
+ - 인증, 인가, 비밀 관리, 감사 기준 정렬 계획을 현재형 durable 문서로 유지한다.
5
+ - dated security memo를 쌓지 않는다.
@@ -0,0 +1,11 @@
1
+ # Test Planning
2
+
3
+ - 이 폴더는 `sdd/02_plan` 아래에서 에이전트의 현재 개발 계획을 관리한다.
4
+ - 이 폴더는 반복적으로 유지해야 하는 검증 전략과 테스트 계획을 durable 문서로 관리한다.
5
+ - 날짜별 테스트 계획 메모는 두지 않고, 현재 유지해야 하는 전략과 matrix만 갱신한다.
6
+
7
+ ## Common Rule
8
+
9
+ - 다른 `02_plan` 폴더와 동일하게 `README.md + durable 문서`만 유지한다.
10
+ - 실제 계획은 검증 전략 문서를 직접 갱신하는 방식으로 관리하고, 날짜 기반 임시 plan 파일은 두지 않는다.
11
+ - 검증 전략과 회귀 검수 범위 선택은 각각 durable 문서로 유지하고, direct target-only 검수로 축약하지 않는다.
@@ -0,0 +1,39 @@
1
+ # regression verification
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - direct target 외에 upstream, downstream, shared surface까지 포함한 회귀 검수 범위 선정
10
+ - shared route, shell, auth/session, component, contract, generated asset, builder output 변경 시 adjacent consumer 포함 규칙
11
+ - 자동화가 없는 회귀 surface의 manual verification / residual risk 기록 기준
12
+ - Out of scope:
13
+ - 개별 날짜별 test run history 보관
14
+
15
+ ## Acceptance Criteria
16
+
17
+ - [x] 회귀 검수는 direct target-only로 끝내지 않는다.
18
+ - [x] selected regression surface는 `sdd/02_plan`, `sdd/03_build`, `sdd/04_verify`에 current-state로 이어진다.
19
+ - [x] automation gap은 scope 축소가 아니라 residual risk로 기록한다.
20
+
21
+ ## Execution Checklist
22
+
23
+ - [x] regression surface 분류 기준을 direct, upstream, downstream, shared로 정리한다.
24
+ - [x] shared change에서 adjacent consumer 검수 rule을 명시한다.
25
+ - [x] manual verification과 residual risk 기록 rule을 current workflow에 반영한다.
26
+
27
+ ## Current Notes
28
+
29
+ - 기본 최소 검수 범위는 direct target이지만, completion 판단은 selected regression surface 전체 기준으로 한다.
30
+ - shared route, shell, auth/session, component, contract, generated asset, builder output 변경은 인접 consumer와 공용 surface까지 회귀 범위를 넓힌다.
31
+ - 전용 automation이 아직 없으면 build, parity harness, targeted test, manual walk-through를 조합하고 미구현 automation은 residual risk로 남긴다.
32
+
33
+ ## Validation
34
+
35
+ - current references:
36
+ - `AGENTS.md`
37
+ - `.codex/skills/sdd/SKILL.md`
38
+ - `sdd/99_toolchain/01_automation/README.md`
39
+ - `sdd/04_verify/10_test/verification_harness.md`
@@ -0,0 +1,8 @@
1
+ # Templates Test Plan
2
+
3
+ 현재 템플릿 세트의 기본 검증 계약을 둔다.
4
+
5
+ - `pnpm -r build`
6
+ - `pytest`
7
+ - auth runtime smoke
8
+ - compose config validation
@@ -0,0 +1,23 @@
1
+ kind: ui-parity
2
+ metadata:
3
+ service: templates
4
+ owner: replace-me
5
+ generated_by: sdd/99_toolchain/01_automation/ui-parity/cli/scaffold-contract.mjs
6
+ spec:
7
+ target_base_url: http://127.0.0.1:4301
8
+ adapter_path: client/platform/scripts/ui-parity-platform-adapter.mjs
9
+ screens:
10
+ - id: TMP_001
11
+ route: /
12
+ reference_image: sdd/04_verify/10_test/ui_parity/reference/TMP_001.png
13
+ max_diff_ratio: 0
14
+ allow_resize: false
15
+ pixelmatch_threshold: 0.1
16
+ include_aa: true
17
+ capture_full_page: false
18
+ viewport:
19
+ width: 1440
20
+ height: 1024
21
+ mask_rects: []
22
+ notes:
23
+ - Replace screen ids, routes, and reference assets for the cloned service.
@@ -0,0 +1,43 @@
1
+ # verification strategy
2
+
3
+ - Owner: Codex
4
+ - Status: active
5
+
6
+ ## Scope
7
+
8
+ - In scope:
9
+ - feature/screen 구현 시 기본 검증 전략
10
+ - backend/frontend/build/proof 확인 조합
11
+ - Out of scope:
12
+ - 개별 test run timeline 보관
13
+
14
+ ## Acceptance Criteria
15
+
16
+ - [x] feature 변경은 최소한 관련 integration 또는 targeted verification surface를 남긴다.
17
+ - [x] screen 변경은 build + proof 또는 targeted verification을 기본으로 한다.
18
+ - [x] SDD verify는 durable current-summary만 유지한다.
19
+ - [x] 회귀 검수 범위는 direct, upstream, downstream, shared surface까지 retained current-state로 선택한다.
20
+
21
+ ## Execution Checklist
22
+
23
+ - [x] backend, frontend, proof verification 조합을 current strategy로 정리한다.
24
+ - [x] UI parity 같은 proof harness 경로를 current structure로 맞춘다.
25
+ - [x] verification plan도 dated memo가 아니라 durable 문서로 유지한다.
26
+ - [x] regression surface selection baseline을 별도 durable 문서로 유지한다.
27
+
28
+ ## Current Notes
29
+
30
+ - backend는 `pytest` targeted suite, frontend는 build, proof는 ui parity harness와 Playwright exactness runner를 기본 전략으로 둔다.
31
+ - screen local exactness의 canonical entrypoint는 `python3 sdd/99_toolchain/01_automation/run_playwright_exactness.py --suite <suite-id> --base-url <url>`이다.
32
+ - direct `npx playwright test ...` 호출은 디버깅 예외로만 쓰고, retained verification command는 toolchain wrapper 기준으로 남긴다.
33
+ - screen spec/PDF generator와 parity harness는 current toolchain path를 기준으로 검증한다.
34
+ - verify는 날짜별 memo 대신 현재 retained checks와 residual risk만 남긴다.
35
+ - 회귀 검수는 `sdd/02_plan/10_test/regression_verification.md`를 기준으로 direct target과 upstream/downstream/shared surface를 함께 선택한다.
36
+ - build, parity, targeted test는 selected regression surface를 채우는 수단이지 scope 자체를 대체하지 않는다.
37
+
38
+ ## Validation
39
+
40
+ - current references:
41
+ - `sdd/04_verify/README.md`
42
+ - `sdd/04_verify/10_test/verification_harness.md`
43
+ - `sdd/02_plan/10_test/regression_verification.md`