agentic-dev 0.2.10 → 0.2.12

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 (603) hide show
  1. package/README.md +50 -29
  2. package/bin/agentic-dev.mjs +656 -124
  3. package/lib/scaffold.mjs +109 -6
  4. package/package.json +8 -22
  5. package/.agent/prd.json +0 -29
  6. package/.agent/progress.txt +0 -1
  7. package/.agent/prompt.md +0 -21
  8. package/.agent/ralph-loop-state.json +0 -13
  9. package/.agent/ralph-supervisor-state.json +0 -12
  10. package/.agent/ralph-supervisor.sh +0 -238
  11. package/.agent/ralph.sh +0 -305
  12. package/.agent/runs/README.md +0 -7
  13. package/.agent/sdd-build-ast-audit.json +0 -13
  14. package/.claude/CLAUDE.md +0 -44
  15. package/.claude/agentic-dev.json +0 -3
  16. package/.claude/agents/ai-dev.md +0 -27
  17. package/.claude/agents/backend-dev.md +0 -26
  18. package/.claude/agents/db-dev.md +0 -26
  19. package/.claude/agents/devops.md +0 -27
  20. package/.claude/agents/frontend-dev.md +0 -25
  21. package/.claude/agents/github-ops.md +0 -25
  22. package/.claude/agents/test-dev.md +0 -26
  23. package/.claude/agents/uiux-designer.md +0 -25
  24. package/.claude/settings.json +0 -49
  25. package/.claude/settings.local.json +0 -8
  26. package/.claude/skills/sdd/SKILL.md +0 -189
  27. package/.claude/skills/sdd/agents/openai.yaml +0 -4
  28. package/.claude/skills/sdd/references/section-map.md +0 -67
  29. package/.claude/workspace-config.json +0 -3
  30. package/.codex/agentic-dev.json +0 -3
  31. package/.codex/agents/README.md +0 -22
  32. package/.codex/agents/api.toml +0 -11
  33. package/.codex/agents/architecture.toml +0 -11
  34. package/.codex/agents/ci.toml +0 -11
  35. package/.codex/agents/gitops.toml +0 -11
  36. package/.codex/agents/orchestrator.toml +0 -11
  37. package/.codex/agents/quality.toml +0 -11
  38. package/.codex/agents/runtime.toml +0 -11
  39. package/.codex/agents/security.toml +0 -11
  40. package/.codex/agents/specs.toml +0 -11
  41. package/.codex/agents/ui.toml +0 -11
  42. package/.codex/config.toml +0 -46
  43. package/.codex/skills/SKILL.md +0 -13
  44. package/.codex/skills/sdd/SKILL.md +0 -189
  45. package/.codex/skills/sdd/agents/openai.yaml +0 -4
  46. package/.codex/skills/sdd/references/section-map.md +0 -67
  47. package/.dockerignore +0 -8
  48. package/.env.example +0 -50
  49. package/.gitignore +0 -16
  50. package/AGENTS.md +0 -86
  51. package/SDD_SKILL.md +0 -589
  52. package/client/admin/.dockerignore +0 -3
  53. package/client/admin/.env.example +0 -1
  54. package/client/admin/Dockerfile +0 -16
  55. package/client/admin/Dockerfile.dev +0 -18
  56. package/client/admin/README.md +0 -20
  57. package/client/admin/index.html +0 -12
  58. package/client/admin/package.json +0 -41
  59. package/client/admin/postcss.config.js +0 -6
  60. package/client/admin/scripts/ui-parity-admin-adapter.mjs +0 -65
  61. package/client/admin/src/api/alerts.ts +0 -33
  62. package/client/admin/src/api/client.ts +0 -71
  63. package/client/admin/src/api/orders.ts +0 -33
  64. package/client/admin/src/api/support.ts +0 -11
  65. package/client/admin/src/app/App.tsx +0 -23
  66. package/client/admin/src/auth/AuthProvider.tsx +0 -122
  67. package/client/admin/src/auth/ProtectedRoute.tsx +0 -22
  68. package/client/admin/src/auth/auth-client.ts +0 -38
  69. package/client/admin/src/auth/types.ts +0 -18
  70. package/client/admin/src/components/AdminNotificationsDrawer.tsx +0 -162
  71. package/client/admin/src/components/AdminShell.tsx +0 -76
  72. package/client/admin/src/components/ui/button.tsx +0 -34
  73. package/client/admin/src/components/ui/input.tsx +0 -21
  74. package/client/admin/src/lib/cn.ts +0 -6
  75. package/client/admin/src/lib/specRouteCatalog.json +0 -30
  76. package/client/admin/src/lib/specScreens.json +0 -22
  77. package/client/admin/src/main.tsx +0 -17
  78. package/client/admin/src/pages/AdminDashboardPage.tsx +0 -171
  79. package/client/admin/src/pages/AdminLoginPage.tsx +0 -75
  80. package/client/admin/src/pages/AdminQueuePage.tsx +0 -107
  81. package/client/admin/src/pages/AdminSupportPage.tsx +0 -61
  82. package/client/admin/src/styles/globals.css +0 -17
  83. package/client/admin/src/theme-vars.ts +0 -18
  84. package/client/admin/src/theme.ts +0 -25
  85. package/client/admin/src/vite-env.d.ts +0 -1
  86. package/client/admin/tailwind.config.js +0 -8
  87. package/client/admin/tsconfig.json +0 -25
  88. package/client/admin/vite.config.ts +0 -12
  89. package/client/landing/.dockerignore +0 -3
  90. package/client/landing/.env.example +0 -1
  91. package/client/landing/Dockerfile +0 -16
  92. package/client/landing/Dockerfile.dev +0 -18
  93. package/client/landing/README.md +0 -18
  94. package/client/landing/index.html +0 -12
  95. package/client/landing/package.json +0 -41
  96. package/client/landing/postcss.config.js +0 -6
  97. package/client/landing/scripts/ui-parity-landing-adapter.mjs +0 -65
  98. package/client/landing/src/App.tsx +0 -21
  99. package/client/landing/src/api/catalog.ts +0 -30
  100. package/client/landing/src/api/client.ts +0 -30
  101. package/client/landing/src/auth/AuthProvider.tsx +0 -122
  102. package/client/landing/src/auth/ProtectedRoute.tsx +0 -22
  103. package/client/landing/src/auth/auth-client.ts +0 -38
  104. package/client/landing/src/auth/types.ts +0 -18
  105. package/client/landing/src/components/LandingShell.tsx +0 -34
  106. package/client/landing/src/lib/specRouteCatalog.json +0 -23
  107. package/client/landing/src/lib/specScreens.json +0 -17
  108. package/client/landing/src/main.tsx +0 -17
  109. package/client/landing/src/pages/LandingHomePage.tsx +0 -215
  110. package/client/landing/src/pages/LandingLoginPage.tsx +0 -90
  111. package/client/landing/src/pages/LandingWorkspacePage.tsx +0 -126
  112. package/client/landing/src/styles/globals.css +0 -17
  113. package/client/landing/src/theme-vars.ts +0 -16
  114. package/client/landing/src/theme.ts +0 -21
  115. package/client/landing/src/vite-env.d.ts +0 -1
  116. package/client/landing/tailwind.config.js +0 -8
  117. package/client/landing/tsconfig.json +0 -25
  118. package/client/landing/vite.config.ts +0 -12
  119. package/client/mobile/.dockerignore +0 -2
  120. package/client/mobile/.env.example +0 -1
  121. package/client/mobile/Dockerfile +0 -16
  122. package/client/mobile/Dockerfile.dev +0 -18
  123. package/client/mobile/README.md +0 -19
  124. package/client/mobile/index.html +0 -12
  125. package/client/mobile/package.json +0 -42
  126. package/client/mobile/postcss.config.js +0 -6
  127. package/client/mobile/scripts/ui-parity-mobile-adapter.mjs +0 -67
  128. package/client/mobile/src/App.tsx +0 -1
  129. package/client/mobile/src/api/client.ts +0 -62
  130. package/client/mobile/src/api/fulfillment.ts +0 -55
  131. package/client/mobile/src/api/shipping.ts +0 -56
  132. package/client/mobile/src/app/App.tsx +0 -23
  133. package/client/mobile/src/auth/AuthProvider.tsx +0 -122
  134. package/client/mobile/src/auth/ProtectedRoute.tsx +0 -27
  135. package/client/mobile/src/auth/auth-client.ts +0 -38
  136. package/client/mobile/src/auth/types.ts +0 -18
  137. package/client/mobile/src/components/InShell.tsx +0 -74
  138. package/client/mobile/src/components/ui/button.tsx +0 -35
  139. package/client/mobile/src/components/ui/card.tsx +0 -15
  140. package/client/mobile/src/components/ui/input.tsx +0 -21
  141. package/client/mobile/src/lib/cn.ts +0 -6
  142. package/client/mobile/src/lib/specRouteCatalog.json +0 -26
  143. package/client/mobile/src/lib/specScreens.json +0 -22
  144. package/client/mobile/src/lib/useSpeechRecognitionInput.ts +0 -271
  145. package/client/mobile/src/main.tsx +0 -17
  146. package/client/mobile/src/pages/DashboardPage.tsx +0 -172
  147. package/client/mobile/src/pages/FulfillmentPage.tsx +0 -138
  148. package/client/mobile/src/pages/LoginPage.tsx +0 -74
  149. package/client/mobile/src/pages/ShippingPage.tsx +0 -338
  150. package/client/mobile/src/styles/globals.css +0 -23
  151. package/client/mobile/src/theme-vars.ts +0 -16
  152. package/client/mobile/src/theme.ts +0 -21
  153. package/client/mobile/src/vite-env.d.ts +0 -1
  154. package/client/mobile/tailwind.config.js +0 -8
  155. package/client/mobile/tsconfig.json +0 -25
  156. package/client/mobile/vite.config.ts +0 -12
  157. package/client/web/.dockerignore +0 -3
  158. package/client/web/.env.example +0 -1
  159. package/client/web/Dockerfile +0 -16
  160. package/client/web/Dockerfile.dev +0 -18
  161. package/client/web/README.md +0 -47
  162. package/client/web/index.html +0 -12
  163. package/client/web/package.json +0 -42
  164. package/client/web/postcss.config.js +0 -6
  165. package/client/web/scripts/ui-parity-web-adapter.mjs +0 -66
  166. package/client/web/src/api/client.ts +0 -30
  167. package/client/web/src/api/orders.ts +0 -42
  168. package/client/web/src/app/App.tsx +0 -21
  169. package/client/web/src/auth/AuthProvider.tsx +0 -122
  170. package/client/web/src/auth/ProtectedRoute.tsx +0 -22
  171. package/client/web/src/auth/auth-client.ts +0 -38
  172. package/client/web/src/auth/types.ts +0 -18
  173. package/client/web/src/components/AppShell.tsx +0 -59
  174. package/client/web/src/components/ui/button.tsx +0 -35
  175. package/client/web/src/components/ui/card.tsx +0 -7
  176. package/client/web/src/components/ui/input.tsx +0 -21
  177. package/client/web/src/lib/cn.ts +0 -6
  178. package/client/web/src/lib/specRouteCatalog.json +0 -23
  179. package/client/web/src/lib/specScreens.json +0 -17
  180. package/client/web/src/main.tsx +0 -17
  181. package/client/web/src/pages/DashboardPage.tsx +0 -158
  182. package/client/web/src/pages/LoginPage.tsx +0 -72
  183. package/client/web/src/pages/OrdersPage.tsx +0 -123
  184. package/client/web/src/styles/globals.css +0 -17
  185. package/client/web/src/theme-vars.ts +0 -18
  186. package/client/web/src/theme.ts +0 -25
  187. package/client/web/src/vite-env.d.ts +0 -1
  188. package/client/web/tailwind.config.js +0 -8
  189. package/client/web/tsconfig.json +0 -25
  190. package/client/web/vite.config.ts +0 -12
  191. package/compose.yml +0 -206
  192. package/infra/compose/.env.dev.example +0 -28
  193. package/infra/compose/.env.prod.example +0 -29
  194. package/infra/compose/README.md +0 -35
  195. package/infra/compose/dev.yml +0 -125
  196. package/infra/compose/prod.yml +0 -126
  197. package/infra/terraform/README.md +0 -34
  198. package/infra/terraform/aws/data/.terraform.lock.hcl +0 -25
  199. package/infra/terraform/aws/data/README.md +0 -18
  200. package/infra/terraform/aws/data/main.tf +0 -147
  201. package/infra/terraform/aws/data/outputs.tf +0 -14
  202. package/infra/terraform/aws/data/variables.tf +0 -57
  203. package/infra/terraform/aws/data/versions.tf +0 -10
  204. package/infra/terraform/aws/domain/.terraform.lock.hcl +0 -25
  205. package/infra/terraform/aws/domain/README.md +0 -20
  206. package/infra/terraform/aws/domain/env/dev.tfvars.example +0 -6
  207. package/infra/terraform/aws/domain/env/prod.tfvars.example +0 -7
  208. package/infra/terraform/aws/domain/main.tf +0 -149
  209. package/infra/terraform/aws/domain/outputs.tf +0 -29
  210. package/infra/terraform/aws/domain/variables.tf +0 -58
  211. package/infra/terraform/aws/domain/versions.tf +0 -10
  212. package/infra/terraform/openstack/README.md +0 -38
  213. package/infra/terraform/openstack/dev/.terraform.lock.hcl +0 -24
  214. package/infra/terraform/openstack/dev/README.md +0 -18
  215. package/infra/terraform/openstack/dev/main.tf +0 -49
  216. package/infra/terraform/openstack/dev/providers.tf +0 -15
  217. package/infra/terraform/openstack/dev/terraform.tfvars.example +0 -54
  218. package/infra/terraform/openstack/dev/variables.tf +0 -210
  219. package/infra/terraform/openstack/dev/versions.tf +0 -10
  220. package/infra/terraform/openstack/modules/environment_host/main.tf +0 -143
  221. package/infra/terraform/openstack/modules/environment_host/outputs.tf +0 -25
  222. package/infra/terraform/openstack/modules/environment_host/templates/docker-host-user-data.sh.tftpl +0 -40
  223. package/infra/terraform/openstack/modules/environment_host/variables.tf +0 -145
  224. package/infra/terraform/openstack/modules/environment_host/versions.tf +0 -7
  225. package/infra/terraform/openstack/prod/.terraform.lock.hcl +0 -24
  226. package/infra/terraform/openstack/prod/README.md +0 -18
  227. package/infra/terraform/openstack/prod/main.tf +0 -49
  228. package/infra/terraform/openstack/prod/providers.tf +0 -15
  229. package/infra/terraform/openstack/prod/terraform.tfvars.example +0 -55
  230. package/infra/terraform/openstack/prod/variables.tf +0 -210
  231. package/infra/terraform/openstack/prod/versions.tf +0 -10
  232. package/infra/terraform/openstack/server/.terraform.lock.hcl +0 -45
  233. package/infra/terraform/openstack/server/README.md +0 -47
  234. package/infra/terraform/openstack/server/main.tf +0 -161
  235. package/infra/terraform/openstack/server/outputs.tf +0 -30
  236. package/infra/terraform/openstack/server/providers.tf +0 -30
  237. package/infra/terraform/openstack/server/templates/server-user-data.sh.tftpl +0 -50
  238. package/infra/terraform/openstack/server/variables.tf +0 -233
  239. package/infra/terraform/openstack/server/zz_aspace.auto.tfvars.example.json +0 -29
  240. package/pnpm-workspace.yaml +0 -2
  241. package/scripts/dev/audit_sdd_build_ast.py +0 -277
  242. package/sdd/01_planning/01_feature/INDEX.md +0 -16
  243. package/sdd/01_planning/01_feature/README.md +0 -76
  244. package/sdd/01_planning/01_feature/alerts_feature_spec.md +0 -55
  245. package/sdd/01_planning/01_feature/auth_feature_spec.md +0 -57
  246. package/sdd/01_planning/01_feature/catalog_feature_spec.md +0 -61
  247. package/sdd/01_planning/01_feature/fulfillment_feature_spec.md +0 -58
  248. package/sdd/01_planning/01_feature/health_feature_spec.md +0 -52
  249. package/sdd/01_planning/01_feature/inventory_feature_spec.md +0 -60
  250. package/sdd/01_planning/01_feature/order_feature_spec.md +0 -63
  251. package/sdd/01_planning/01_feature/shipping_feature_spec.md +0 -55
  252. package/sdd/01_planning/01_feature/support_feature_spec.md +0 -53
  253. package/sdd/01_planning/01_feature/user_feature_spec.md +0 -54
  254. package/sdd/01_planning/02_screen/INDEX.md +0 -13
  255. package/sdd/01_planning/02_screen/README.md +0 -41
  256. package/sdd/01_planning/02_screen/admin_screen_spec.pdf +0 -0
  257. package/sdd/01_planning/02_screen/assets/README.md +0 -16
  258. package/sdd/01_planning/02_screen/assets/example/README.md +0 -13
  259. package/sdd/01_planning/02_screen/landing_screen_spec.pdf +0 -0
  260. package/sdd/01_planning/02_screen/mobile_screen_spec.pdf +0 -0
  261. package/sdd/01_planning/02_screen/web_screen_spec.pdf +0 -0
  262. package/sdd/01_planning/03_architecture/INDEX.md +0 -9
  263. package/sdd/01_planning/03_architecture/README.md +0 -25
  264. package/sdd/01_planning/03_architecture/architecture_document_structure.md +0 -77
  265. package/sdd/01_planning/03_architecture/backend/README.md +0 -10
  266. package/sdd/01_planning/03_architecture/frontend/README.md +0 -12
  267. package/sdd/01_planning/03_architecture/infra/README.md +0 -10
  268. package/sdd/01_planning/03_architecture/tech-research/README.md +0 -4
  269. package/sdd/01_planning/03_architecture/templates_system_architecture.md +0 -84
  270. package/sdd/01_planning/04_data/INDEX.md +0 -4
  271. package/sdd/01_planning/04_data/README.md +0 -10
  272. package/sdd/01_planning/04_data/templates_data_modeling.md +0 -119
  273. package/sdd/01_planning/05_api/README.md +0 -12
  274. package/sdd/01_planning/05_api/templates_api_contract.md +0 -90
  275. package/sdd/01_planning/06_iac/README.md +0 -11
  276. package/sdd/01_planning/06_iac/templates_runtime_and_cicd_baseline.md +0 -46
  277. package/sdd/01_planning/07_integration/README.md +0 -11
  278. package/sdd/01_planning/07_integration/templates_frontend_api_integration.md +0 -46
  279. package/sdd/01_planning/08_nonfunctional/README.md +0 -7
  280. package/sdd/01_planning/09_security/README.md +0 -7
  281. package/sdd/01_planning/10_test/README.md +0 -12
  282. package/sdd/01_planning/10_test/templates_test_strategy.md +0 -60
  283. package/sdd/01_planning/INDEX.md +0 -19
  284. package/sdd/01_planning/README.md +0 -17
  285. package/sdd/02_plan/01_feature/README.md +0 -34
  286. package/sdd/02_plan/01_feature/_feature_todo_template.md +0 -29
  287. package/sdd/02_plan/02_screen/INDEX.md +0 -19
  288. package/sdd/02_plan/02_screen/README.md +0 -39
  289. package/sdd/02_plan/02_screen/_screen_todo_template.md +0 -60
  290. package/sdd/02_plan/03_architecture/README.md +0 -23
  291. package/sdd/02_plan/03_architecture/architecture_document_governance.md +0 -40
  292. package/sdd/02_plan/03_architecture/build_ast_runtime_tree_governance.md +0 -53
  293. package/sdd/02_plan/03_architecture/repository_governance.md +0 -39
  294. package/sdd/02_plan/03_architecture/runtime_and_structure_governance.md +0 -38
  295. package/sdd/02_plan/03_architecture/templates-hexagonal-template-architecture.md +0 -9
  296. package/sdd/02_plan/03_architecture/toolchain_governance.md +0 -98
  297. package/sdd/02_plan/04_data/README.md +0 -5
  298. package/sdd/02_plan/05_api/README.md +0 -5
  299. package/sdd/02_plan/06_iac/README.md +0 -11
  300. package/sdd/02_plan/06_iac/dev_runtime_delivery.md +0 -36
  301. package/sdd/02_plan/06_iac/template_runtime_delivery.md +0 -50
  302. package/sdd/02_plan/07_integration/README.md +0 -5
  303. package/sdd/02_plan/07_integration/frontend_live_integration.md +0 -31
  304. package/sdd/02_plan/08_nonfunctional/README.md +0 -5
  305. package/sdd/02_plan/08_nonfunctional/repository_hygiene.md +0 -26
  306. package/sdd/02_plan/09_security/README.md +0 -5
  307. package/sdd/02_plan/10_test/README.md +0 -11
  308. package/sdd/02_plan/10_test/regression_verification.md +0 -39
  309. package/sdd/02_plan/10_test/templates/README.md +0 -8
  310. package/sdd/02_plan/10_test/templates/ui_parity_web_contract.template.yaml +0 -23
  311. package/sdd/02_plan/10_test/verification_strategy.md +0 -43
  312. package/sdd/02_plan/99_generated/from_planning/ui_parity/.gitkeep +0 -1
  313. package/sdd/02_plan/README.md +0 -40
  314. package/sdd/03_build/01_feature/README.md +0 -20
  315. package/sdd/03_build/01_feature/domain/README.md +0 -3
  316. package/sdd/03_build/01_feature/domain/account_and_access.md +0 -20
  317. package/sdd/03_build/01_feature/domain/catalog_and_inventory.md +0 -20
  318. package/sdd/03_build/01_feature/domain/ordering_and_fulfillment.md +0 -21
  319. package/sdd/03_build/01_feature/domain/support_and_observability.md +0 -21
  320. package/sdd/03_build/01_feature/domain_surfaces.md +0 -28
  321. package/sdd/03_build/01_feature/service/README.md +0 -3
  322. package/sdd/03_build/01_feature/service/admin_surface.md +0 -15
  323. package/sdd/03_build/01_feature/service/landing_surface.md +0 -13
  324. package/sdd/03_build/01_feature/service/mobile_surface.md +0 -14
  325. package/sdd/03_build/01_feature/service/web_surface.md +0 -14
  326. package/sdd/03_build/02_screen/README.md +0 -25
  327. package/sdd/03_build/02_screen/_screen_build_template.md +0 -26
  328. package/sdd/03_build/02_screen/admin/README.md +0 -5
  329. package/sdd/03_build/02_screen/landing/README.md +0 -5
  330. package/sdd/03_build/02_screen/mobile/README.md +0 -5
  331. package/sdd/03_build/02_screen/web/README.md +0 -5
  332. package/sdd/03_build/03_architecture/README.md +0 -10
  333. package/sdd/03_build/03_architecture/architecture_document_governance.md +0 -30
  334. package/sdd/03_build/03_architecture/build_ast_runtime_tree_governance.md +0 -24
  335. package/sdd/03_build/03_architecture/repository_governance.md +0 -18
  336. package/sdd/03_build/03_architecture/toolchain_governance.md +0 -36
  337. package/sdd/03_build/06_iac/README.md +0 -3
  338. package/sdd/03_build/06_iac/dev_runtime_delivery.md +0 -10
  339. package/sdd/03_build/06_iac/template_runtime_delivery.md +0 -49
  340. package/sdd/03_build/07_integration/README.md +0 -3
  341. package/sdd/03_build/07_integration/frontend_live_integration.md +0 -11
  342. package/sdd/03_build/08_nonfunctional/README.md +0 -3
  343. package/sdd/03_build/08_nonfunctional/repository_hygiene.md +0 -10
  344. package/sdd/03_build/10_test/README.md +0 -9
  345. package/sdd/03_build/10_test/regression_verification.md +0 -16
  346. package/sdd/03_build/10_test/verification_harness.md +0 -11
  347. package/sdd/03_build/README.md +0 -35
  348. package/sdd/03_verify/01_feature/README.md +0 -5
  349. package/sdd/03_verify/01_feature/domain_verification.md +0 -14
  350. package/sdd/03_verify/01_feature/service_verification.md +0 -22
  351. package/sdd/03_verify/02_screen/README.md +0 -6
  352. package/sdd/03_verify/02_screen/_screen_verify_template.md +0 -20
  353. package/sdd/03_verify/02_screen/admin/README.md +0 -4
  354. package/sdd/03_verify/02_screen/landing/README.md +0 -4
  355. package/sdd/03_verify/02_screen/mobile/README.md +0 -4
  356. package/sdd/03_verify/02_screen/web/README.md +0 -4
  357. package/sdd/03_verify/03_architecture/README.md +0 -10
  358. package/sdd/03_verify/03_architecture/architecture_document_governance.md +0 -15
  359. package/sdd/03_verify/03_architecture/build_ast_runtime_tree_governance.md +0 -28
  360. package/sdd/03_verify/03_architecture/repository_governance.md +0 -16
  361. package/sdd/03_verify/03_architecture/toolchain_governance.md +0 -58
  362. package/sdd/03_verify/06_iac/README.md +0 -3
  363. package/sdd/03_verify/06_iac/dev_runtime_delivery.md +0 -10
  364. package/sdd/03_verify/06_iac/template_runtime_delivery.md +0 -42
  365. package/sdd/03_verify/07_integration/README.md +0 -3
  366. package/sdd/03_verify/07_integration/frontend_live_integration.md +0 -16
  367. package/sdd/03_verify/08_nonfunctional/README.md +0 -3
  368. package/sdd/03_verify/08_nonfunctional/repository_hygiene.md +0 -14
  369. package/sdd/03_verify/10_test/README.md +0 -9
  370. package/sdd/03_verify/10_test/regression_verification.md +0 -16
  371. package/sdd/03_verify/10_test/ui_parity/README.md +0 -4
  372. package/sdd/03_verify/10_test/ui_parity/loop_runs/.gitkeep +0 -0
  373. package/sdd/03_verify/10_test/ui_parity/reference/.gitkeep +0 -0
  374. package/sdd/03_verify/10_test/ui_parity/staged_runs/.gitkeep +0 -0
  375. package/sdd/03_verify/10_test/verification_harness.md +0 -17
  376. package/sdd/03_verify/README.md +0 -22
  377. package/sdd/05_operate/01_runbooks/.gitkeep +0 -1
  378. package/sdd/05_operate/01_runbooks/README.md +0 -4
  379. package/sdd/05_operate/02_delivery_status/README.md +0 -4
  380. package/sdd/05_operate/02_delivery_status/service_status.md +0 -16
  381. package/sdd/05_operate/README.md +0 -12
  382. package/sdd/99_toolchain/01_automation/.gitkeep +0 -1
  383. package/sdd/99_toolchain/01_automation/README.md +0 -76
  384. package/sdd/99_toolchain/01_automation/agentic-dev/analyze_proof_results.py +0 -132
  385. package/sdd/99_toolchain/01_automation/agentic-dev/analyze_route_gap.py +0 -85
  386. package/sdd/99_toolchain/01_automation/agentic-dev/assets/repo-contract.template.json +0 -75
  387. package/sdd/99_toolchain/01_automation/agentic-dev/bootstrap_frontend_parity.sh +0 -84
  388. package/sdd/99_toolchain/01_automation/agentic-dev/init_frontend_parity.sh +0 -33
  389. package/sdd/99_toolchain/01_automation/agentic-dev/init_repo_contract.sh +0 -51
  390. package/sdd/99_toolchain/01_automation/agentic-dev/repo-contract.json +0 -76
  391. package/sdd/99_toolchain/01_automation/agentic-dev/resolve_frontend_target.py +0 -52
  392. package/sdd/99_toolchain/01_automation/agentic-dev/resolve_repo_contract.py +0 -56
  393. package/sdd/99_toolchain/01_automation/agentic-dev/run_frontend_target.sh +0 -100
  394. package/sdd/99_toolchain/01_automation/agentic-dev/run_repo_phase.sh +0 -140
  395. package/sdd/99_toolchain/01_automation/agentic-dev/validate_json_schema.py +0 -39
  396. package/sdd/99_toolchain/01_automation/agentic-parity-harness-design.md +0 -291
  397. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/dashboard.png +0 -0
  398. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/login.png +0 -0
  399. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/queue.png +0 -0
  400. package/sdd/99_toolchain/01_automation/assets/admin_screen_capture/support.png +0 -0
  401. package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/home.png +0 -0
  402. package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/login.png +0 -0
  403. package/sdd/99_toolchain/01_automation/assets/landing_screen_capture/workspace.png +0 -0
  404. package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/dashboard.png +0 -0
  405. package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/fulfillment.png +0 -0
  406. package/sdd/99_toolchain/01_automation/assets/mobile_screen_capture/login.png +0 -0
  407. package/sdd/99_toolchain/01_automation/assets/web_screen_capture/dashboard.png +0 -0
  408. package/sdd/99_toolchain/01_automation/assets/web_screen_capture/login.png +0 -0
  409. package/sdd/99_toolchain/01_automation/assets/web_screen_capture/orders.png +0 -0
  410. package/sdd/99_toolchain/01_automation/build_asset_recipes.py +0 -10
  411. package/sdd/99_toolchain/01_automation/build_screen_spec_pdf.py +0 -427
  412. package/sdd/99_toolchain/01_automation/capture_screen_assets.mjs +0 -148
  413. package/sdd/99_toolchain/01_automation/harness-layout.md +0 -34
  414. package/sdd/99_toolchain/01_automation/parity-execution-tooling-design.md +0 -319
  415. package/sdd/99_toolchain/01_automation/playwright_exactness_manifest.py +0 -21
  416. package/sdd/99_toolchain/01_automation/run_playwright_exactness.py +0 -87
  417. package/sdd/99_toolchain/01_automation/screen_spec_manifest.py +0 -321
  418. package/sdd/99_toolchain/01_automation/spec_asset_builder.py +0 -274
  419. package/sdd/99_toolchain/01_automation/ui-contract-projection.md +0 -79
  420. package/sdd/99_toolchain/01_automation/ui-parity/README.md +0 -60
  421. package/sdd/99_toolchain/01_automation/ui-parity/cli/extract-reference-pages.mjs +0 -2
  422. package/sdd/99_toolchain/01_automation/ui-parity/cli/materialize-reference-assets.mjs +0 -58
  423. package/sdd/99_toolchain/01_automation/ui-parity/cli/normalize-reference-assets.mjs +0 -2
  424. package/sdd/99_toolchain/01_automation/ui-parity/cli/route-gap-report.mjs +0 -187
  425. package/sdd/99_toolchain/01_automation/ui-parity/cli/run-proof.mjs +0 -50
  426. package/sdd/99_toolchain/01_automation/ui-parity/cli/scaffold-contract.mjs +0 -62
  427. package/sdd/99_toolchain/01_automation/ui-parity/cli/upload-parity1.mjs +0 -2
  428. package/sdd/99_toolchain/01_automation/ui-parity/contracts/collector-metadata.schema.json +0 -33
  429. package/sdd/99_toolchain/01_automation/ui-parity/contracts/proof-result.schema.json +0 -76
  430. package/sdd/99_toolchain/01_automation/ui-parity/contracts/route-gap-report.schema.json +0 -95
  431. package/sdd/99_toolchain/01_automation/ui-parity/core/capture-runner.mjs +0 -55
  432. package/sdd/99_toolchain/01_automation/ui-parity/core/load-adapter.mjs +0 -25
  433. package/sdd/99_toolchain/01_automation/ui-parity/core/load-contract.mjs +0 -81
  434. package/sdd/99_toolchain/01_automation/ui-parity/core/paths.mjs +0 -23
  435. package/sdd/99_toolchain/01_automation/ui-parity/core/proof-runner.mjs +0 -255
  436. package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-artifact-layout.md +0 -23
  437. package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-proof-interface.md +0 -60
  438. package/sdd/99_toolchain/01_automation/ui-parity/interfaces/ui-parity-route-gap-interface.md +0 -82
  439. package/sdd/99_toolchain/01_automation/ui-parity/runtime/playwright-runtime.mjs +0 -16
  440. package/sdd/99_toolchain/01_automation/ui-parity/runtime/static-runtime.mjs +0 -6
  441. package/sdd/99_toolchain/02_policies/.gitkeep +0 -1
  442. package/sdd/99_toolchain/02_policies/build-ast-governance-policy.md +0 -22
  443. package/sdd/99_toolchain/02_policies/compose-runtime-baseline-policy.md +0 -24
  444. package/sdd/99_toolchain/02_policies/convention-storage-policy.md +0 -26
  445. package/sdd/99_toolchain/02_policies/main-push-before-dev-deploy-policy.md +0 -27
  446. package/sdd/99_toolchain/02_policies/regression-verification-policy.md +0 -22
  447. package/sdd/99_toolchain/03_templates/.gitkeep +0 -1
  448. package/sdd/99_toolchain/03_templates/asset_recipe_manifest.example.py +0 -38
  449. package/sdd/99_toolchain/03_templates/generated_assets/README.md +0 -11
  450. package/sdd/99_toolchain/03_templates/generated_assets/example-brand-lockup.svg +0 -3
  451. package/sdd/99_toolchain/03_templates/generated_assets/example-brand-mark.svg +0 -3
  452. package/sdd/99_toolchain/03_templates/generated_assets/example-brand-wordmark.svg +0 -3
  453. package/sdd/99_toolchain/03_templates/playwright_exactness_manifest.example.py +0 -21
  454. package/sdd/99_toolchain/README.md +0 -23
  455. package/sdd/README.md +0 -21
  456. package/server/.dockerignore +0 -4
  457. package/server/.env.example +0 -19
  458. package/server/Dockerfile +0 -22
  459. package/server/Dockerfile.dev +0 -19
  460. package/server/README.md +0 -33
  461. package/server/__init__.py +0 -0
  462. package/server/api/__init__.py +0 -1
  463. package/server/api/http/__init__.py +0 -4
  464. package/server/api/http/app.py +0 -53
  465. package/server/api/http/router.py +0 -24
  466. package/server/config.py +0 -52
  467. package/server/contexts/__init__.py +0 -12
  468. package/server/contexts/alerts/__init__.py +0 -1
  469. package/server/contexts/alerts/application/__init__.py +0 -13
  470. package/server/contexts/alerts/application/services.py +0 -41
  471. package/server/contexts/alerts/contracts/__init__.py +0 -3
  472. package/server/contexts/alerts/contracts/http/__init__.py +0 -3
  473. package/server/contexts/alerts/contracts/http/router.py +0 -37
  474. package/server/contexts/alerts/domain/__init__.py +0 -15
  475. package/server/contexts/alerts/domain/models.py +0 -29
  476. package/server/contexts/alerts/infrastructure/__init__.py +0 -11
  477. package/server/contexts/alerts/infrastructure/repository.py +0 -41
  478. package/server/contexts/auth/__init__.py +0 -1
  479. package/server/contexts/auth/application/__init__.py +0 -3
  480. package/server/contexts/auth/application/ports.py +0 -10
  481. package/server/contexts/auth/application/services.py +0 -64
  482. package/server/contexts/auth/contracts/__init__.py +0 -4
  483. package/server/contexts/auth/contracts/http/__init__.py +0 -4
  484. package/server/contexts/auth/contracts/http/dependencies.py +0 -37
  485. package/server/contexts/auth/contracts/http/router.py +0 -19
  486. package/server/contexts/auth/domain/__init__.py +0 -3
  487. package/server/contexts/auth/domain/models.py +0 -24
  488. package/server/contexts/auth/infrastructure/__init__.py +0 -4
  489. package/server/contexts/auth/infrastructure/adapters/memory.py +0 -19
  490. package/server/contexts/auth/infrastructure/adapters/mongodb.py +0 -24
  491. package/server/contexts/auth/infrastructure/adapters/sqlalchemy.py +0 -74
  492. package/server/contexts/auth/infrastructure/repository.py +0 -28
  493. package/server/contexts/catalog/__init__.py +0 -1
  494. package/server/contexts/catalog/application/__init__.py +0 -28
  495. package/server/contexts/catalog/application/ports.py +0 -15
  496. package/server/contexts/catalog/application/services.py +0 -154
  497. package/server/contexts/catalog/contracts/__init__.py +0 -3
  498. package/server/contexts/catalog/contracts/http/__init__.py +0 -3
  499. package/server/contexts/catalog/contracts/http/router.py +0 -60
  500. package/server/contexts/catalog/domain/__init__.py +0 -45
  501. package/server/contexts/catalog/domain/models.py +0 -113
  502. package/server/contexts/catalog/infrastructure/__init__.py +0 -4
  503. package/server/contexts/catalog/infrastructure/adapters/memory.py +0 -62
  504. package/server/contexts/catalog/infrastructure/repository.py +0 -8
  505. package/server/contexts/fulfillment/__init__.py +0 -1
  506. package/server/contexts/fulfillment/application/__init__.py +0 -13
  507. package/server/contexts/fulfillment/application/ports.py +0 -20
  508. package/server/contexts/fulfillment/application/services.py +0 -85
  509. package/server/contexts/fulfillment/contracts/__init__.py +0 -3
  510. package/server/contexts/fulfillment/contracts/http/__init__.py +0 -3
  511. package/server/contexts/fulfillment/contracts/http/router.py +0 -40
  512. package/server/contexts/fulfillment/domain/__init__.py +0 -25
  513. package/server/contexts/fulfillment/domain/models.py +0 -73
  514. package/server/contexts/fulfillment/infrastructure/__init__.py +0 -13
  515. package/server/contexts/fulfillment/infrastructure/adapters/memory.py +0 -43
  516. package/server/contexts/fulfillment/infrastructure/repository.py +0 -97
  517. package/server/contexts/health/__init__.py +0 -1
  518. package/server/contexts/health/application/__init__.py +0 -3
  519. package/server/contexts/health/application/services.py +0 -2
  520. package/server/contexts/health/contracts/__init__.py +0 -3
  521. package/server/contexts/health/contracts/http/__init__.py +0 -3
  522. package/server/contexts/health/contracts/http/router.py +0 -10
  523. package/server/contexts/inventory/__init__.py +0 -1
  524. package/server/contexts/inventory/application/__init__.py +0 -28
  525. package/server/contexts/inventory/application/ports.py +0 -11
  526. package/server/contexts/inventory/application/services.py +0 -214
  527. package/server/contexts/inventory/contracts/__init__.py +0 -3
  528. package/server/contexts/inventory/contracts/http/__init__.py +0 -3
  529. package/server/contexts/inventory/contracts/http/router.py +0 -82
  530. package/server/contexts/inventory/domain/__init__.py +0 -33
  531. package/server/contexts/inventory/domain/models.py +0 -93
  532. package/server/contexts/inventory/infrastructure/__init__.py +0 -4
  533. package/server/contexts/inventory/infrastructure/adapters/memory.py +0 -24
  534. package/server/contexts/inventory/infrastructure/repository.py +0 -8
  535. package/server/contexts/orders/__init__.py +0 -1
  536. package/server/contexts/orders/application/__init__.py +0 -19
  537. package/server/contexts/orders/application/services.py +0 -127
  538. package/server/contexts/orders/contracts/__init__.py +0 -3
  539. package/server/contexts/orders/contracts/http/__init__.py +0 -3
  540. package/server/contexts/orders/contracts/http/router.py +0 -82
  541. package/server/contexts/orders/domain/__init__.py +0 -29
  542. package/server/contexts/orders/domain/models.py +0 -95
  543. package/server/contexts/orders/infrastructure/__init__.py +0 -7
  544. package/server/contexts/orders/infrastructure/repository.py +0 -104
  545. package/server/contexts/shipping/__init__.py +0 -1
  546. package/server/contexts/shipping/application/__init__.py +0 -13
  547. package/server/contexts/shipping/application/services.py +0 -92
  548. package/server/contexts/shipping/contracts/__init__.py +0 -3
  549. package/server/contexts/shipping/contracts/http/__init__.py +0 -3
  550. package/server/contexts/shipping/contracts/http/router.py +0 -40
  551. package/server/contexts/shipping/domain/__init__.py +0 -19
  552. package/server/contexts/shipping/domain/models.py +0 -48
  553. package/server/contexts/shipping/infrastructure/__init__.py +0 -9
  554. package/server/contexts/shipping/infrastructure/repository.py +0 -50
  555. package/server/contexts/support/__init__.py +0 -1
  556. package/server/contexts/support/application/__init__.py +0 -13
  557. package/server/contexts/support/application/services.py +0 -29
  558. package/server/contexts/support/contracts/__init__.py +0 -3
  559. package/server/contexts/support/contracts/http/__init__.py +0 -3
  560. package/server/contexts/support/contracts/http/router.py +0 -40
  561. package/server/contexts/support/domain/__init__.py +0 -13
  562. package/server/contexts/support/domain/models.py +0 -27
  563. package/server/contexts/support/infrastructure/__init__.py +0 -11
  564. package/server/contexts/support/infrastructure/repository.py +0 -70
  565. package/server/contexts/user/__init__.py +0 -1
  566. package/server/contexts/user/application/__init__.py +0 -3
  567. package/server/contexts/user/application/ports.py +0 -11
  568. package/server/contexts/user/application/services.py +0 -44
  569. package/server/contexts/user/contracts/__init__.py +0 -3
  570. package/server/contexts/user/contracts/http/__init__.py +0 -3
  571. package/server/contexts/user/contracts/http/router.py +0 -26
  572. package/server/contexts/user/domain/__init__.py +0 -3
  573. package/server/contexts/user/domain/models.py +0 -22
  574. package/server/contexts/user/infrastructure/__init__.py +0 -3
  575. package/server/contexts/user/infrastructure/adapters/memory.py +0 -27
  576. package/server/contexts/user/infrastructure/adapters/mongodb.py +0 -41
  577. package/server/contexts/user/infrastructure/adapters/sqlalchemy.py +0 -94
  578. package/server/contexts/user/infrastructure/factory.py +0 -28
  579. package/server/data/README.md +0 -24
  580. package/server/data/bootstrap/alerts.json +0 -38
  581. package/server/data/bootstrap/auth_accounts.json +0 -18
  582. package/server/data/bootstrap/catalog_products.json +0 -179
  583. package/server/data/bootstrap/fulfillment_events.json +0 -5
  584. package/server/data/bootstrap/fulfillment_notes.json +0 -5
  585. package/server/data/bootstrap/fulfillment_tasks.json +0 -50
  586. package/server/data/bootstrap/inventory_levels.json +0 -80
  587. package/server/data/bootstrap/orders.json +0 -62
  588. package/server/data/bootstrap/shipping_shipments.json +0 -50
  589. package/server/data/bootstrap/support_faqs.json +0 -26
  590. package/server/data/bootstrap/users.json +0 -20
  591. package/server/data/bootstrap_loader.py +0 -15
  592. package/server/docker-entrypoint.sh +0 -56
  593. package/server/main.py +0 -3
  594. package/server/pyproject.toml +0 -36
  595. package/server/shared/__init__.py +0 -1
  596. package/server/shared/application/__init__.py +0 -3
  597. package/server/shared/application/health.py +0 -2
  598. package/server/shared/infrastructure/__init__.py +0 -10
  599. package/server/shared/infrastructure/runtime.py +0 -6
  600. package/server/shared/infrastructure/security.py +0 -33
  601. package/server/tests/e2e/test_domain_feature_flows.py +0 -483
  602. package/server/tests/test_health.py +0 -49
  603. package/server/uv.lock +0 -1169
@@ -1,25 +0,0 @@
1
- # Architecture Planning
2
-
3
- - 범위: 서비스별 세부 화면보다 시스템 공통 구조와 구현 선택을 우선 기록한다.
4
- - architecture 문서는 공통/일반화된 기준을 먼저 두고, 필요할 때만 특화 문서를 추가한다.
5
- - 주요 축:
6
- - frontend architecture
7
- - backend architecture
8
- - infra architecture
9
- - auth/session
10
- - deployment topology
11
- - migration
12
- - frontend architecture 문서는 모듈화, 컴포넌트, store/state, domain/use case, UI/UX, storage, API adapter 패턴을 다룬다.
13
- - backend architecture 문서는 DDD context 구조, context 내부 계층, 3-layer, hexagonal, monolithic, EDA, MSA, CQRS와 실제 구현체 선택을 다룬다.
14
- - infra architecture 문서는 container, orchestration, database, network, redundancy, multi-region 같은 서비스 기반 구조를 다룬다.
15
- - 데이터 모델링은 architecture 범위에 포함하지 않고 `sdd/01_planning/04_data/`에서 다룬다.
16
-
17
- ## Canonical Docs
18
-
19
- - [INDEX.md](./INDEX.md)
20
- - [architecture_document_structure.md](./architecture_document_structure.md)
21
- - [templates_system_architecture.md](./templates_system_architecture.md)
22
- - [frontend/README.md](./frontend/README.md)
23
- - [backend/README.md](./backend/README.md)
24
- - [infra/README.md](./infra/README.md)
25
- - [tech-research/README.md](./tech-research/README.md)
@@ -1,77 +0,0 @@
1
- # Architecture Document Structure
2
-
3
- ## 1. Purpose
4
-
5
- - `sdd/01_planning/03_architecture`는 프론트엔드, 백엔드, 인프라를 아우르는 공통 구조와 구현 선택을 기록한다.
6
- - architecture 문서는 주로 일반화/공통화된 기준을 설명한다.
7
- - 특정 기술, 인증, 배포, 런타임처럼 개별 주제가 독립 가치가 있으면 특화 문서를 함께 둔다.
8
-
9
- ## 2. Boundary
10
-
11
- ### Included In Architecture
12
-
13
- - frontend architecture
14
- - module composition
15
- - component structure
16
- - store/state management
17
- - domain / use case / adapter structure
18
- - UI/UX patterns
19
- - local storage / session storage / cache
20
- - API client / facade / contract adapter
21
- - backend architecture
22
- - DDD bounded context structure
23
- - domain / application / infrastructure / contracts layers
24
- - structural choices such as 3-layer, hexagonal, monolithic
25
- - pattern adoption such as EDA, MSA, CQRS and the selected implementation
26
- - runtime composition and service boundaries
27
- - infra architecture
28
- - container runtime
29
- - orchestration
30
- - database runtime
31
- - network / domain / routing
32
- - redundancy / HA
33
- - multi-region / deployment topology
34
-
35
- ### Excluded From Architecture
36
-
37
- - entity, schema, relationship, key policy 같은 데이터 모델링 상세
38
- - table/column 수준 ERD 정의
39
- - above items belong to [`sdd/01_planning/04_data/README.md`](../04_data/README.md)
40
-
41
- ## 3. Document Structure
42
-
43
- ### Root
44
-
45
- - 공통/횡단 아키텍처 문서를 둔다.
46
- - 예:
47
- - structure principle
48
- - document boundary
49
- - migration guide
50
- - runtime alignment rule
51
-
52
- ### frontend/
53
-
54
- - 프런트엔드 특화 아키텍처 문서를 둔다.
55
- - 특정 surface에 종속되더라도 재사용 가능한 구조 원칙이면 여기에 둔다.
56
-
57
- ### backend/
58
-
59
- - 백엔드 특화 아키텍처 문서를 둔다.
60
- - context structure, layering, pattern, runtime composition을 기록한다.
61
-
62
- ### infra/
63
-
64
- - 인프라 특화 아키텍처 문서를 둔다.
65
- - deployment topology, networking, orchestration, runtime platform을 기록한다.
66
-
67
- ### tech-research/
68
-
69
- - 인증, 외부 provider, 실험 기술 같은 특정 주제 리서치를 둔다.
70
- - research는 architecture 하위에 두되 공통 구조 문서와 분리한다.
71
-
72
- ## 4. Writing Rule
73
-
74
- - 공통 문서를 먼저 작성하고, 특화 문서는 필요할 때만 추가한다.
75
- - 이론 자체보다 현재 repo가 어떤 구조와 구현체를 채택했는지를 우선 기록한다.
76
- - 여러 대안이 있을 때는 후보 나열로 끝내지 않고 현재 권장안과 이유를 적는다.
77
- - feature, screen, data 문서가 맡아야 할 내용을 architecture에 중복 기록하지 않는다.
@@ -1,10 +0,0 @@
1
- # Backend Architecture Planning
2
-
3
- - 범위: 백엔드의 공통 구조와 구현 패턴
4
- - 주요 축:
5
- - DDD bounded context
6
- - domain/application/infrastructure/contracts layering
7
- - 3-layer / hexagonal / monolithic structure
8
- - adoption of patterns such as EDA, MSA, CQRS
9
- - actual runtime composition and implementation choices
10
- - entity/schema/relationship 정의는 `04_data`에서 다룬다.
@@ -1,12 +0,0 @@
1
- # Frontend Architecture Planning
2
-
3
- - 범위: 프런트엔드의 공통 구조와 구현 패턴
4
- - 주요 축:
5
- - 모듈화
6
- - 컴포넌트 구조
7
- - store/state
8
- - domain/use case
9
- - UI/UX 패턴
10
- - storage/session/cache
11
- - API client / facade / adapter
12
- - 화면별 route/CTA/전이는 `02_screen`에서 다루고, 기능별 business rule은 `01_feature`에서 다룬다.
@@ -1,10 +0,0 @@
1
- # Infra Architecture Planning
2
-
3
- - 범위: 프런트엔드, 백엔드, supporting service를 올리는 기반 구조
4
- - 주요 축:
5
- - docker / compose / kubernetes
6
- - container runtime / orchestration
7
- - database / storage / secret / network
8
- - redundancy / HA / multi-region
9
- - deployment topology / runtime boundary
10
- - 운영 절차 자체는 필요 시 `05_operate` runbook과 분리해 기록한다.
@@ -1,4 +0,0 @@
1
- # Tech Research
2
-
3
- - 이 폴더는 architecture 하위의 주제별 기술 리서치를 둔다.
4
- - 인증, 외부 provider, 실험 기술처럼 공통 구조 문서와 분리할 가치가 있는 주제만 둔다.
@@ -1,84 +0,0 @@
1
- # templates system architecture
2
-
3
- - 작성 버전: 1.0.0
4
-
5
- ## Purpose
6
-
7
- `templates` 레포의 현재 runtime 구조와 bounded context 경계를 구현 기준으로 정리한다.
8
-
9
- ## Document Boundary
10
-
11
- - frontend, backend, infra 공통 구조와 구현 선택을 이 문서에서 다룬다.
12
- - entity/schema/relationship/key policy 같은 데이터 모델링 상세는 `sdd/01_planning/04_data/`에서 다룬다.
13
-
14
- ## 1. Runtime Topology
15
-
16
- | Layer | Owner | Responsibility |
17
- | --- | --- | --- |
18
- | `server` | HTTP backend | auth, user, catalog, inventory, orders, fulfillment, shipping, alerts, support, health를 HTTP API surface로 제공 |
19
- | `client/web` | React + Vite frontend | 보호된 web shell과 dashboard/orders surface |
20
- | `client/admin` | React + Vite frontend | 보호된 관리자 shell과 overview/queue/support surface |
21
- | `client/mobile` | React + Vite frontend | 보호된 모바일 shell과 dashboard/fulfillment surface |
22
- | `client/landing` | React + Vite frontend | public landing + protected workspace surface |
23
- | `infra/compose` | container runtime | root compose baseline + dedicated DEV(개발계)/PROD overlay 레이아웃 |
24
-
25
- ## 2. Transport Topology
26
-
27
- | Surface | Module | Responsibility |
28
- | --- | --- | --- |
29
- | HTTP | `server/api/http` | FastAPI app, router aggregation, `/health`, `/api/v1/*` 제공 |
30
-
31
- ## 3. Backend Context Map
32
-
33
- | Bounded Context | Module | Role |
34
- | --- | --- | --- |
35
- | Authentication & Session | `server/contexts/auth` | login, bearer token 해석, 인증 계정 저장 |
36
- | User Directory | `server/contexts/user` | 사용자 profile 목록/상세/상태 관리 |
37
- | Product Catalog | `server/contexts/catalog` | public catalog read와 admin catalog write |
38
- | Inventory Availability | `server/contexts/inventory` | SKU/거점 재고 조회와 운영 mutation |
39
- | Order Operations | `server/contexts/orders` | web/admin 주문 overview, 목록, 생성, 상태 전이 |
40
- | Fulfillment Operations | `server/contexts/fulfillment` | mobile overview, board, task 상태 전이 |
41
- | Shipping Operations | `server/contexts/shipping` | mobile 배송 overview, shipment 목록, 배송 상태 전이 |
42
- | Alert Center | `server/contexts/alerts` | admin 운영 알람 feed, 읽음 처리 |
43
- | Support Content | `server/contexts/support` | 관리자 FAQ 목록/작성/노출 상태 변경 |
44
- | Health | `server/contexts/health` | technical health/status contract |
45
-
46
- ## 4. Context Relationship
47
-
48
- - `auth`는 `user`와 분리된 인증 계정 bootstrap을 사용한다.
49
- - `user`는 profile directory만 소유하고 credential hash를 저장하지 않는다.
50
- - `catalog`는 landing/public read와 admin write surface를 함께 소유한다.
51
- - `inventory`는 현재 admin 운영 surface를 통해 직접 조정되고, `orders`와 `fulfillment`의 참조 도메인으로 연결된다.
52
- - `orders`는 web read model과 admin read model을 동시에 노출한다.
53
- - `fulfillment`는 mobile 서비스의 canonical backend surface다.
54
- - `shipping`은 `fulfillment`의 downstream delivery 상태를 분리해 mobile/operator surface에 제공한다.
55
- - `alerts`는 admin이 소비하는 운영 알람 표현과 읽음 상태를 별도 context로 소유한다.
56
-
57
- ## 5. Layering Rule
58
-
59
- - context 외부 진입점은 `contexts/*/contracts/http`에 둔다.
60
- - application layer는 use case orchestration만 담당한다.
61
- - domain layer는 request/response model과 aggregate/read model을 가진다.
62
- - infrastructure layer는 adapter, repository factory, shared gateway binding을 담당한다.
63
- - shared logic는 `shared/application`, `shared/infrastructure`에 두되, 특정 domain 소유물이 되면 context 내부로 이동한다.
64
- - transport wiring은 `api/http`에 두고 domain 로직은 `contexts/*`에만 둔다.
65
-
66
- ## 6. Runtime Component Baseline
67
-
68
- | Component | Current Baseline | Next Step |
69
- | --- | --- | --- |
70
- | HTTP server | `FastAPI + Uvicorn` | authz, rate limit, observability middleware 추가 |
71
- | Persistence | bootstrap JSON + selectable DB adapter | transaction boundary와 repository parity 강화 |
72
- | Frontend runtime | `React 18 + Vite 5 + pnpm workspace` | contract-driven env injection 자동화 |
73
-
74
- ## 7. Current Known Gaps
75
-
76
- - persistence baseline은 여전히 bootstrap JSON + in-memory mutation 중심이다.
77
- - order 생성과 fulfillment/shipping 전이가 inventory 자동 연동까지는 아직 확장되지 않았다.
78
- - support는 FAQ 관리 중심이고 ticket/workflow 도메인까지는 아직 포함하지 않는다.
79
-
80
- ## 8. Next Refactoring Direction
81
-
82
- - catalog/inventory/order/fulfillment/shipping 간의 orchestration을 application service 수준으로 확장한다.
83
- - auth account와 user profile 사이의 provisioning 흐름을 별도 domain service로 일반화한다.
84
- - admin surface에서 alerts/support/catalog/inventory command를 직접 소비하도록 frontend scope를 넓힌다.
@@ -1,4 +0,0 @@
1
- # Data Planning
2
-
3
- - [README.md](./README.md)
4
- - [templates_data_modeling.md](./templates_data_modeling.md)
@@ -1,10 +0,0 @@
1
- # Data Planning
2
-
3
- - 범위: 공통 데이터 모델과 엔티티 관계 정의
4
- - architecture 문서에서 다루지 않는 entity/schema/relationship/key policy는 이 루트에서 다룬다.
5
- - 데이터 모델링은 current canonical 기준만 남기고, 구조 문서와 중복 기록하지 않는다.
6
-
7
- ## Canonical Docs
8
-
9
- - [INDEX.md](./INDEX.md)
10
- - [templates_data_modeling.md](./templates_data_modeling.md)
@@ -1,119 +0,0 @@
1
- # templates data modeling
2
-
3
- - 작성 버전: 1.0.0
4
-
5
- ## Purpose
6
-
7
- 현재 구현된 backend domain model과 저장 관점을 entity 수준으로 요약한다.
8
-
9
- ## 1. Auth Account
10
-
11
- | Field | Type | Meaning |
12
- | --- | --- | --- |
13
- | `id` | `str` | 인증 계정 식별자 |
14
- | `name` | `str` | 표시 이름 |
15
- | `email` | `EmailStr` | 로그인 이메일 |
16
- | `role` | `str` | `admin`, `operator` 등 인증 역할 |
17
- | `status` | `str` | 인증 가능 상태 |
18
- | `password_hash` | `str` | credential hash |
19
-
20
- ## 2. User Profile
21
-
22
- | Field | Type | Meaning |
23
- | --- | --- | --- |
24
- | `id` | `str` | 사용자 식별자 |
25
- | `name` | `str` | 사용자 이름 |
26
- | `email` | `EmailStr` | 연락/표시 이메일 |
27
- | `role` | `str` | 운영 역할 |
28
- | `status` | `str` | 활성 상태 |
29
- | `timezone` | `str` | 지역/표시용 timezone |
30
- | `last_login_at` | `str` | 최근 로그인 시각 |
31
-
32
- ## 3. Catalog Product
33
-
34
- | Field | Type | Meaning |
35
- | --- | --- | --- |
36
- | `id` | `str` | 상품 식별자 |
37
- | `slug` | `str` | URL/업무용 유니크 slug |
38
- | `name` | `str` | 상품명 |
39
- | `brand` | `str` | 브랜드명 |
40
- | `category` | `str` | 카테고리 |
41
- | `status` | `draft|active|archived` | 카탈로그 노출 상태 |
42
- | `short_description` | `str` | 카드용 요약 문구 |
43
- | `description` | `str` | 상세 설명 |
44
- | `hero_image` | `MediaAsset` | 대표 이미지 |
45
- | `gallery` | `list[MediaAsset]` | 추가 이미지 |
46
- | `price` | `Money` | 판매가 |
47
- | `compare_at_price` | `Money?` | 비교가 |
48
- | `tags` | `list[str]` | 태그 |
49
- | `attributes` | `list[ProductAttribute]` | 속성 리스트 |
50
- | `variants` | `list[ProductVariant]` | SKU variant 리스트 |
51
- | `created_at` | `str` | 생성 시각 |
52
- | `updated_at` | `str` | 수정 시각 |
53
-
54
- ## 4. Inventory Level
55
-
56
- | Field | Type | Meaning |
57
- | --- | --- | --- |
58
- | `sku` | `str` | 재고 식별 단위 |
59
- | `product_id` | `str` | catalog product 참조 |
60
- | `product_name` | `str` | 표시용 상품명 |
61
- | `variant_name` | `str` | variant 이름 |
62
- | `location_id` | `str` | 물류 거점 식별자 |
63
- | `location_name` | `str` | 거점 이름 |
64
- | `on_hand` | `int` | 실재고 |
65
- | `reserved` | `int` | 선점 재고 |
66
- | `safety_stock` | `int` | 안전 재고 |
67
- | `reorder_point` | `int` | 재주문 기준점 |
68
- | `updated_at` | `str` | 수정 시각 |
69
-
70
- ## 5. Order
71
-
72
- | Field | Type | Meaning |
73
- | --- | --- | --- |
74
- | `id` | `str` | 주문 식별자 |
75
- | `product_id` | `str` | 상품 참조 |
76
- | `product_name` | `str` | 표시용 상품명 |
77
- | `customer_name` | `str` | 고객명 |
78
- | `seller_name` | `str` | 판매자/셀러명 |
79
- | `status` | `str` | 결제/주문 상태 |
80
- | `fulfillment_status` | `str` | 이행 상태 |
81
- | `created_at` | `str` | 생성 시각 |
82
- | `amount_krw` | `int` | 주문 금액 |
83
- | `risk` | `str` | 운영 위험도 |
84
- | `stage` | `str` | 운영 단계 |
85
- | `sla` | `str` | SLA 표시 |
86
- | `is_new_today` | `bool` | 당일 신규 여부 |
87
-
88
- ## 6. Fulfillment Task
89
-
90
- | Field | Type | Meaning |
91
- | --- | --- | --- |
92
- | `id` | `str` | task 식별자 |
93
- | `order_id` | `str` | 주문 참조 |
94
- | `title` | `str` | 작업 제목 |
95
- | `assignee` | `str` | 담당자 |
96
- | `stage` | `str` | 이행 단계 |
97
- | `status` | `str` | task 상태 |
98
- | `priority` | `str` | 우선순위 |
99
- | `channel` | `str` | 유입 채널 |
100
- | `sla_minutes` | `int` | SLA 분 단위 |
101
- | `units` | `int` | 처리 수량 |
102
-
103
- ## 7. Support FAQ
104
-
105
- | Field | Type | Meaning |
106
- | --- | --- | --- |
107
- | `id` | `str` | FAQ 식별자 |
108
- | `question` | `str` | 질문 |
109
- | `answer` | `str` | 답변 |
110
- | `category` | `str` | FAQ 카테고리 |
111
- | `visibility` | `str` | 노출 여부 |
112
- | `updated_at` | `str` | 수정 시각 |
113
-
114
- ## 8. Key Policy
115
-
116
- - 현재 템플릿은 string id를 사용한다.
117
- - 실제 서비스 구현 시 time-ordered UUID v7을 기본 식별자로 채택한다.
118
- - legacy numeric id는 새 이커머스 baseline에서 사용하지 않는다.
119
- - `auth`와 `user`는 같은 사람을 표현하더라도 저장 목적이 다르므로 독립 레코드로 유지한다.
@@ -1,12 +0,0 @@
1
- # 05 API
2
-
3
- API 원천 계약을 둔다.
4
-
5
- - `/api/v1/auth/login`
6
- - `/api/v1/auth/me`
7
- - `/api/v1/users`
8
- - template example endpoint
9
-
10
- ## Canonical Docs
11
-
12
- - [templates_api_contract.md](./templates_api_contract.md)
@@ -1,90 +0,0 @@
1
- # templates server contract
2
-
3
- - 작성 버전: 1.0.0
4
-
5
- ## Purpose
6
-
7
- 현재 server runtime이 제공하는 HTTP contract를 구현 기준으로 정리한다.
8
-
9
- ## 1. HTTP Endpoint Matrix
10
-
11
- | Method | Path | Domain | Purpose | Response |
12
- | --- | --- | --- | --- | --- |
13
- | `GET` | `/health` | health | root health probe | `{"status":"ok"}` |
14
- | `GET` | `/api/v1/status` | health | API health/status probe | `{"service":"template-server","status":"healthy"}` |
15
- | `POST` | `/api/v1/auth/login` | auth | credential 로그인과 token 발급 | `AuthToken` |
16
- | `GET` | `/api/v1/auth/me` | auth | bearer token 기반 현재 사용자 조회 | `AuthenticatedUser` |
17
- | `GET` | `/api/v1/users` | user | 사용자 summary 목록 조회 | `list[UserSummary]` |
18
- | `GET` | `/api/v1/users/{user_id}` | user | 단일 사용자 상세 조회 | `UserDetail` |
19
- | `PATCH` | `/api/v1/users/{user_id}/status` | user | 사용자 상태 변경 | `UserDetail` |
20
- | `GET` | `/api/v1/catalog/products` | catalog | 공개/운영 상품 목록 조회 | `list[ProductSummary]` |
21
- | `GET` | `/api/v1/catalog/products/{product_id}` | catalog | 단일 상품 상세 조회 | `ProductDetail` |
22
- | `POST` | `/api/v1/catalog/products` | catalog | 상품 생성 | `ProductDetail` |
23
- | `PUT` | `/api/v1/catalog/products/{product_id}` | catalog | 상품 수정 | `ProductDetail` |
24
- | `PATCH` | `/api/v1/catalog/products/{product_id}/status` | catalog | 상품 상태 변경 | `ProductDetail` |
25
- | `GET` | `/api/v1/inventory/levels` | inventory | 재고 레벨 목록 조회 | `list[InventoryLevel]` |
26
- | `GET` | `/api/v1/inventory/levels/{sku}/{location_id}` | inventory | 단일 재고 레벨 조회 | `InventoryLevel` |
27
- | `POST` | `/api/v1/inventory/levels/{sku}/{location_id}/adjustments` | inventory | 재고 증감 조정 | `InventoryMutationReceipt` |
28
- | `POST` | `/api/v1/inventory/levels/{sku}/{location_id}/reservations` | inventory | 재고 선점 | `InventoryMutationReceipt` |
29
- | `POST` | `/api/v1/inventory/levels/{sku}/{location_id}/releases` | inventory | 재고 선점 해제 | `InventoryMutationReceipt` |
30
- | `PUT` | `/api/v1/inventory/levels/{sku}/{location_id}` | inventory | 재고 절대값 재설정 | `InventoryMutationReceipt` |
31
- | `GET` | `/api/v1/orders/overview` | orders | web dashboard overview 조회 | `OrderOverview` |
32
- | `GET` | `/api/v1/orders` | orders | web order table row 조회 | `list[OrderSummary]` |
33
- | `POST` | `/api/v1/orders` | orders | 주문 생성 | `OrderRecord` |
34
- | `PATCH` | `/api/v1/orders/{order_id}/status` | orders | 주문 상태 전이 | `OrderStatusTransition` |
35
- | `GET` | `/api/v1/orders/admin/overview` | orders | admin dashboard 운영 overview 조회 | `AdminOrderOverview` |
36
- | `GET` | `/api/v1/orders/admin/queue` | orders | admin queue table row 조회 | `list[AdminQueueItem]` |
37
- | `GET` | `/api/v1/shipping/overview` | shipping | mobile 배송 overview 조회 | `ShippingOverview` |
38
- | `GET` | `/api/v1/shipping/shipments` | shipping | shipment 목록 조회 | `list[ShipmentSummary]` |
39
- | `PATCH` | `/api/v1/shipping/shipments/{shipment_id}/status` | shipping | 배송 상태 전이 | `ShipmentStatusTransition` |
40
- | `GET` | `/api/v1/alerts` | alerts | admin 운영 알람 feed 조회 | `AlertsPayload` |
41
- | `POST` | `/api/v1/alerts/{alert_id}/read` | alerts | 운영 알람 1건 읽음 처리 | `AlertReadResult` |
42
- | `POST` | `/api/v1/alerts/read-all` | alerts | 운영 알람 전체 읽음 처리 | `AlertsReadAllResult` |
43
- | `GET` | `/api/v1/support/faqs` | support | admin FAQ 목록 조회 | `list[SupportFaq]` |
44
- | `POST` | `/api/v1/support/faqs` | support | FAQ 생성 | `SupportFaqRecord` |
45
- | `PATCH` | `/api/v1/support/faqs/{faq_id}/visibility` | support | FAQ visibility 변경 | `SupportFaqRecord` |
46
- | `GET` | `/api/v1/fulfillment/overview` | fulfillment | mobile dashboard 운영 overview 조회 | `FulfillmentOverview` |
47
- | `GET` | `/api/v1/fulfillment/board` | fulfillment | mobile fulfillment board 조회 | `FulfillmentBoardPayload` |
48
- | `PATCH` | `/api/v1/fulfillment/tasks/{task_id}/status` | fulfillment | fulfillment task 상태 전이 | `FulfillmentTaskStatusTransition` |
49
-
50
- ## 2. Auth Contract
51
-
52
- - 인증 방식: `Authorization: Bearer <token>`
53
- - login 입력: `email`, `password`
54
- - login 성공 시 `access_token`, `token_type`, `user_id` 반환
55
- - `auth/me`는 유효 token subject를 `AuthenticatedUser`로 해석
56
- - `users`, `catalog` command, `inventory`, `orders`, `shipping`, `alerts`, `support`, `fulfillment`는 보호된 contract다
57
-
58
- ## 3. Error Baseline
59
-
60
- - invalid credential: `401 Invalid credentials`
61
- - invalid token: `401 Invalid token`
62
- - forbidden role: `403 Forbidden`
63
- - missing resource:
64
- - HTTP: `404 ... not found`
65
- - conflict:
66
- - duplicate catalog slug: `409 Catalog product slug already exists`
67
- - invalid inventory mutation: `409 ...`
68
-
69
- ## 4. Frontend Binding Notes
70
-
71
- - `client/web`
72
- - `/`는 `GET /api/v1/orders/overview`를 소비한다.
73
- - `/orders`는 `GET /api/v1/orders`를 소비한다.
74
- - `client/admin`
75
- - `/`는 `GET /api/v1/orders/admin/overview`를 소비한다.
76
- - admin shell과 dashboard는 `GET /api/v1/alerts`를 운영 알람 source로 사용한다.
77
- - `/queue`는 `GET /api/v1/orders/admin/queue`를 소비한다.
78
- - `/support`는 `GET /api/v1/support/faqs`를 소비한다.
79
- - `client/mobile`
80
- - `/`는 `GET /api/v1/fulfillment/overview`를 소비한다.
81
- - `/fulfillment`는 `GET /api/v1/fulfillment/board`를 소비한다.
82
- - `/shipping`은 `GET /api/v1/shipping/overview`, `GET /api/v1/shipping/shipments`를 소비한다.
83
- - `client/landing`
84
- - `/`와 `/workspace`는 `GET /api/v1/catalog/products`를 live catalog surface로 사용한다.
85
- - auth flow는 네 app 모두 `POST /api/v1/auth/login`과 `GET /api/v1/auth/me`를 유지한다.
86
-
87
- ## 5. Stack Notes
88
-
89
- - HTTP: `FastAPI 0.116.x + Uvicorn 0.35.x`
90
- - Compose runtime: `server`
@@ -1,11 +0,0 @@
1
- # 06 IaC
2
-
3
- 템플릿 런타임 부팅 원천 자료를 둔다.
4
-
5
- - Dockerfile
6
- - compose
7
- - env contracts
8
-
9
- ## Canonical Docs
10
-
11
- - [templates_runtime_and_cicd_baseline.md](./templates_runtime_and_cicd_baseline.md)
@@ -1,46 +0,0 @@
1
- # templates runtime and cicd baseline
2
-
3
- - 작성 버전: 1.0.0
4
-
5
- ## Purpose
6
-
7
- 템플릿 저장소의 root compose runtime baseline과 CI baseline을 정리한다.
8
-
9
- ## 1. Compose Runtime Baseline
10
-
11
- | Surface | Default Port |
12
- | --- | --- |
13
- | landing | `3000` |
14
- | web | `3001` |
15
- | mobile | `3002` |
16
- | admin | `4000` |
17
- | api | `8000` |
18
-
19
- ## 2. Compose Rule
20
-
21
- - root `compose.yml`이 canonical dev-focused runtime baseline이다.
22
- - dedicated host용 DEV(개발계)/PROD overlay는 `infra/compose/dev.yml`, `infra/compose/prod.yml`을 사용한다.
23
- - 환경변수 contract는 `.env.example`을 source-of-truth로 유지한다.
24
-
25
- ## 3. CI/CD Rule
26
-
27
- - 이 레포는 템플릿 저장소이므로 실제 배포를 수행하지 않는다.
28
- - `.github/workflows`는 다음만 책임진다.
29
- - root compose/overlay config validation
30
- - backend test
31
- - frontend build matrix
32
- - AST build audit와 parity target resolution
33
- - canonical Terraform skeleton validate
34
-
35
- ## 4. Delivery Note
36
-
37
- - 실제 서비스 레포로 clone된 뒤 DEV/PROD deploy workflow를 추가한다.
38
- - template repo의 workflow는 `검증용 CI`만 유지한다.
39
-
40
- ## 5. Remote Infra Template Layout
41
-
42
- - canonical Terraform split은 `infra/terraform/aws/data`, `infra/terraform/aws/domain`, `infra/terraform/openstack/server`다.
43
- - `infra/terraform/openstack/dev`, `infra/terraform/openstack/prod`는 lower-level starter root로 유지한다.
44
- - 공통 OpenStack host/network/security group 로직은 `infra/terraform/openstack/modules/environment_host`에 둔다.
45
- - DEV(개발계)와 PROD는 별도 Terraform state를 사용한다.
46
- - cloud-init compose 자동 기동은 각 환경 root의 `compose_env_content`와 `deploy_compose_on_boot`로 제어한다.
@@ -1,11 +0,0 @@
1
- # 07 Integration
2
-
3
- 프론트와 `api`의 통합 원천 시나리오를 둔다.
4
-
5
- - login flow
6
- - token persistence
7
- - adapter selection
8
-
9
- ## Canonical Docs
10
-
11
- - [templates_frontend_api_integration.md](./templates_frontend_api_integration.md)
@@ -1,46 +0,0 @@
1
- # templates frontend api integration
2
-
3
- - 작성 버전: 1.0.0
4
-
5
- ## Purpose
6
-
7
- 현재 frontend와 backend의 실제 연결 지점을 정리한다.
8
-
9
- ## 1. Shared Integration Rule
10
-
11
- - 네 개의 frontend 모두 공통 `auth` contract를 사용한다.
12
- - `POST /api/v1/auth/login`으로 access token을 발급받고 로컬 storage에 저장한다.
13
- - `GET /api/v1/auth/me`로 초기 세션을 복원한다.
14
-
15
- ## 2. Service Coupling Summary
16
-
17
- | Service | Real Backend Coupling | Note |
18
- | --- | --- | --- |
19
- | web | `auth`, `orders` | dashboard overview와 orders table을 live contract에 연결 |
20
- | admin | `auth`, `orders`, `alerts`, `support` | overview/queue/support surface와 alerts drawer를 live contract에 연결 |
21
- | mobile | `auth`, `fulfillment`, `shipping` | dashboard overview와 fulfillment/shipping surface를 live contract에 연결 |
22
- | landing | `auth`, `catalog` | home/workspace에서 catalog products를 읽어 public/protected surface를 구성 |
23
-
24
- ## 3. Coupling Detail
25
-
26
- - web
27
- - bearer session은 기존 `AuthProvider`가 유지한다.
28
- - page load 시 `orders/overview`, `orders`를 fetch하고 search는 client-side filter로 처리한다.
29
- - admin
30
- - protected route는 그대로 유지한다.
31
- - dashboard는 `orders/admin/overview`와 `alerts`를 병렬 fetch한다.
32
- - queue, support, alerts drawer는 개별 page-level effect로 fetch한다.
33
- - mobile
34
- - overview와 board payload는 mobile shell 진입 후 fetch한다.
35
- - status/tone badge는 response의 string field를 frontend palette에 매핑한다.
36
- - board route는 `/fulfillment`다.
37
- - shipping route는 `/shipping`이고 shipment status feed를 별도 fetch한다.
38
- - landing
39
- - public home에서도 `catalog/products`를 읽어 live catalog proof를 보여준다.
40
- - protected workspace는 auth user summary와 catalog product grid를 함께 노출한다.
41
-
42
- ## 4. Known Gaps
43
-
44
- - web/admin은 아직 catalog/inventory command surface를 직접 소비하지 않는다.
45
- - order 생성, fulfillment 전이, shipping 전이, support create/update, alerts read는 backend contract로 존재하지만 frontend action UI는 baseline 최소 액션 중심이다.
46
- - landing은 catalog read를 public/protected दोनों surface에 재사용하지만 category/detail 분해까지는 아직 없다.
@@ -1,7 +0,0 @@
1
- # 08 Nonfunctional
2
-
3
- 비기능 요구 원천 자료를 둔다.
4
-
5
- - build reproducibility
6
- - template startup speed
7
- - DX requirements
@@ -1,7 +0,0 @@
1
- # 09 Security
2
-
3
- 보안 원천 자료를 둔다.
4
-
5
- - bootstrap credential handling
6
- - JWT secret rules
7
- - CORS baseline
@@ -1,12 +0,0 @@
1
- # 10 Test
2
-
3
- 테스트 원천 목록을 둔다.
4
-
5
- - frontend build matrix
6
- - api pytest matrix
7
- - auth runtime smoke
8
- - compose validation
9
-
10
- ## Canonical Docs
11
-
12
- - [templates_test_strategy.md](./templates_test_strategy.md)