Skip to content

Latest commit

ย 

History

History
200 lines (159 loc) ยท 7.69 KB

File metadata and controls

200 lines (159 loc) ยท 7.69 KB

CLEVER MSA Platform Workspace

์ด ์›Œํฌ์ŠคํŽ˜์ด์Šค๋Š” CLEVER ์•ˆ์˜ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์™€ ๋ถ„๋ฆฌ๋œ MSA ์ „ํ™˜ ํ”Œ๋žซํผ ์…ธ์ด๋‹ค.

๋ชฉ์ ์€ ๋‘ ๊ฐ€์ง€๋‹ค.

  • ์„ค๊ณ„์™€ ๋งคํ•‘์˜ ์ •๋ณธ์„ docs/์— ๊ณ ์ •ํ•œ๋‹ค.
  • ์‹ค์ œ ๊ตฌํ˜„์€ development/ ์•„๋ž˜์˜ root-tracked source slice๋กœ ํ†ตํ•ฉ ๊ด€๋ฆฌํ•œ๋‹ค.

์ด ๋ฃจํŠธ๋Š” ํ”Œ๋žซํผ monorepo umbrella๋‹ค. ์„œ๋น„์Šค ๊ตฌํ˜„ ์ฝ”๋“œ๋Š” development/* ์•„๋ž˜์—์„œ root repo๊ฐ€ ์ง์ ‘ ์ถ”์ ํ•œ๋‹ค.

AGENTS.md์™€ ๊ฐ repo์˜ README.md๋Š” ์šด์˜ ์•ˆ๋‚ด ๋ฌธ์„œ๋‹ค. ์ •๋ณธ์€ docs/์™€ root mapping ๋ฌธ์„œ์—๋งŒ ๋‘”๋‹ค.

Top-Level Structure

clever-msa-platform/
โ”œโ”€โ”€ WORKSPACE.md
โ”œโ”€โ”€ repo-map.md
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ goals/
โ”‚   โ”œโ”€โ”€ boundaries/
โ”‚   โ”œโ”€โ”€ mappings/
โ”‚   โ”œโ”€โ”€ contracts/
โ”‚   โ”œโ”€โ”€ decisions/
โ”‚   โ”œโ”€โ”€ rollout/
โ”‚   โ””โ”€โ”€ archive/
โ”‚       โ”œโ”€โ”€ superseded/
โ”‚       โ”œโ”€โ”€ historical/
โ”‚       โ””โ”€โ”€ rejected/
โ””โ”€โ”€ development/

What docs/ Owns

docs/๋Š” ์ด ํ”Œ๋žซํผ์˜ ๋ฌธ์„œ ์ •๋ณธ์ด๋‹ค.

  • goals/
    • ํ”Œ๋žซํผ์˜ ๋ชฉํ‘œ ์ƒํƒœ์™€ ์ƒ์œ„ ๋ฐฉํ–ฅ
  • boundaries/
    • ์„œ๋น„์Šค ๊ฒฝ๊ณ„, ์†Œ์œ  ๋ฐ์ดํ„ฐ, join risk
  • mappings/
    • ํ˜„์žฌ ๊ตฌ์กฐ์—์„œ ๋ชฉํ‘œ ๊ตฌ์กฐ๋กœ ๊ฐ€๋Š” ์ด๋™ํ‘œ, legacy cut map, source index, current runtime inventory
  • contracts/
    • ID, ์ƒํƒœ, read model contract, integration rule
  • decisions/
    • ์™œ ์ด๋Ÿฐ ๊ฒฝ๊ณ„๋ฅผ ํƒํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ฒฐ์ • ๊ธฐ๋ก๊ณผ spec
  • rollout/
    • living rollout docs์™€ active plan only ์˜์—ญ
  • archive/
    • ๋” ์ด์ƒ ์ •๋ณธ์ด ์•„๋‹Œ ๋ฌธ์„œ๋งŒ ๋ณด๊ด€, completed rollout artifact ํฌํ•จ

docs/์—๋Š” ์‹คํ–‰ ์ฝ”๋“œ, compose, env, seed script๋ฅผ ๋‘์ง€ ์•Š๋Š”๋‹ค.

What development/ Owns

development/ ์•„๋ž˜๋Š” ์‹ค์ œ ๊ตฌํ˜„ source slice ๋ฌถ์Œ์ด๋‹ค.

์›์น™:

  • ๊ฐ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋…๋ฆฝ ๋ฐฐํฌ/์†Œ์œ  ๊ฒฝ๊ณ„๋ฅผ ๊ฐ€์ง„ source slice๋‹ค.
  • root repo๊ฐ€ whitelist์— ํฌํ•จ๋œ development/* ํŒŒ์ผ์„ ์ง์ ‘ ์ถ”์ ํ•œ๋‹ค.
  • ์„œ๋น„์Šค๋Š” ๋‹ค๋ฅธ ์„œ๋น„์Šค ๋‚ด๋ถ€ ๊ตฌํ˜„์„ importํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๊ณต์œ  ์ฝ”๋“œ๋Š” ๊ธฐ๋ณธ ๊ธˆ์ง€๋‹ค.
  • cross-service ์—ฐ๊ฒฐ์€ ๊ณ„์•ฝ ๋ฌธ์„œ์™€ API ๊ธฐ์ค€์œผ๋กœ๋งŒ ๊ด€๋ฆฌํ•œ๋‹ค.

๋กœ์ปฌ clone/update ๊ทœ์น™:

  • ๋ฃจํŠธ๋ฅผ ์ƒˆ๋กœ cloneํ•˜๋ฉด development/* ๊ตฌํ˜„ ์ฝ”๋“œ๊ฐ€ root checkout์— ๊ฐ™์ด ํฌํ•จ๋œ๋‹ค.
  • root pull ์ดํ›„ ๋ณ„๋„ git submodule update ์ ˆ์ฐจ๋Š” ์—†๋‹ค.
  • ๊ตฌํ˜„ ์ฝ”๋“œ๋Š” root worktree์˜ ํ•ด๋‹น development/* slice์—์„œ ์ˆ˜์ •ํ•œ๋‹ค.
  • root๋Š” platform docs์™€ runtime source๋ฅผ ํ•จ๊ป˜ ์ถ”์ ํ•˜์ง€๋งŒ, ์„œ๋น„์Šค ๊ฒฝ๊ณ„๋Š” docs/contracts ๊ธฐ์ค€์œผ๋กœ ์œ ์ง€ํ•œ๋‹ค.

ํ˜„์žฌ ๋ชฉํ‘œ repo ์ด๋ฆ„ ๊ทœ์น™:

  • integration-*
    • ๋กœ์ปฌ ํ†ตํ•ฉ ์‹คํ–‰ ์…ธ
  • infra-*
    • ํŠน์ • runtime slice์˜ ALB, ECS, Route53, CDK deploy๋ฅผ ์†Œ์œ ํ•˜๋Š” ์ „์šฉ infra repo
  • runtime-*
    • production runtime release control plane ๋˜๋Š” runtime shape owner
  • edge-*
    • gateway, edge routing
  • front-*
    • ์‚ฌ์šฉ์ž UI
  • service-*
    • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค

์—ญํ•  suffix ๊ทœ์น™:

  • access
  • profile
  • registry
  • assignment
  • operations-view
  • hub
  • listener
  • dead-letter

Root Development Slice Whitelist

ํ˜„์žฌ root monorepo์™€ development/ tree์—์„œ ์œ ์ง€ํ•˜๋Š” ํ•„์ˆ˜ source slice๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • runtime-prod-release
  • runtime-prod-platform
  • edge-api-gateway
  • front-web-console
  • front-driver-app
  • service-organization-registry
  • service-account-access
  • service-driver-profile
  • service-personnel-document-registry
  • service-attendance-registry
  • service-delivery-record
  • service-dispatch-registry
  • service-dispatch-operations-view
  • service-region-registry
  • service-region-analytics
  • service-announcement-registry
  • service-support-registry
  • service-notification-hub
  • service-vehicle-registry
  • service-vehicle-assignment
  • service-vehicle-operations-view
  • service-driver-operations-view
  • service-terminal-registry
  • service-telemetry-hub
  • service-telemetry-listener
  • service-telemetry-dead-letter
  • service-settlement-registry
  • service-settlement-payroll
  • service-settlement-operations-view
  • service-settlement-inquiry

์•„๋ž˜ repo๋“ค์€ root development/ whitelist ๋ฐ”๊นฅ์œผ๋กœ ๋‘”๋‹ค.

  • local stack support repo
  • legacy infra repo
  • bridge lane / historical support repo

Active Platform Runtime Repo Names

ํ˜„์žฌ application repo์™€ ๋ณ„๋„๋กœ, production runtime cutover๋ฅผ ์œ„ํ•ด ์•„๋ž˜ runtime repo ์ด๋ฆ„์„ active target์œผ๋กœ ์œ ์ง€ํ•œ๋‹ค.

  • runtime-prod-release
  • runtime-prod-platform

์ด ์ด๋ฆ„๋“ค์˜ ์˜๋ฏธ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • runtime-prod-release
    • production rollout control plane
    • release intent, rollout plan, SSM dispatch, smoke, rollback evidence owner
  • runtime-prod-platform
    • production EC2 runtime shape and canonical inventory owner
  • plain root-tracked source slice๋กœ ๋“ฑ๋ก๋œ ๋Œ€์ƒ

Repo Retention Rule

root development/ whitelist ๋ณ€๊ฒฝ์€ ์•„๋ž˜ ๋‘ ๋ฌธ์„œ์—์„œ ๋จผ์ € ์ •๋ณธ์„ ๋ฐ”๊พผ ๋’ค์—๋งŒ ํ•œ๋‹ค.

  • repo-map.md
  • docs/mappings/current-runtime-inventory.md

WORKSPACE.md์˜ ๋ถ€๋ถ„ ๋ชฉ๋ก๋งŒ ๋ณด๊ณ  source slice๋ฅผ ์ง€์šฐ์ง€ ์•Š๋Š”๋‹ค. root source visibility๋Š” whitelist ๊ธฐ์ค€์œผ๋กœ๋งŒ ์œ ์ง€ํ•˜๊ณ , support/legacy repo๋Š” root ๋ฐ”๊นฅ์œผ๋กœ ๋‘”๋‹ค.

Working Rules

  1. ์ƒˆ๋กœ์šด ์„œ๋น„์Šค๋‚˜ ๊ตฌ์กฐ ๋ณ€๊ฒฝ์€ ๋จผ์ € docs/์— ๋ฐ˜์˜ํ•œ๋‹ค.
  2. development/ slice ์•ˆ์˜ README๋Š” slice ์‚ฌ์šฉ๋ฒ•๊ณผ ์šด์˜ ๋ฉ”๋ชจ๋งŒ ๋‹ด๊ณ , ์•„ํ‚คํ…์ฒ˜/๊ฒฝ๊ณ„/๋Ÿฐํƒ€์ž„ ์ •๋ณธ์€ docs/๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.
  3. ๋กœ์ปฌ ํ†ตํ•ฉ ์‹คํ–‰ ์ž์‚ฐ์€ root development/ whitelist ๋ฐ”๊นฅ์˜ ๋ณ„๋„ integration repo๊ฐ€ ์†Œ์œ ํ•œ๋‹ค.
  4. settlement์ฒ˜๋Ÿผ ์•„์ง ๋œ ๋ถ„ํ•ด๋œ ์˜์—ญ์€ ๊ธฐ์กด ํด๋”๋ฅผ ๊ทธ๋Œ€๋กœ ์Šน๊ฒฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  5. ํ˜„์žฌ runtime naming, compose service, gateway prefix๋Š” docs/mappings/current-runtime-inventory.md๋ฅผ ๋จผ์ € ๋ณธ๋‹ค.
  6. docs/rollout/plans/๋Š” active plan only๋‹ค. ์™„๋ฃŒ๋œ rollout artifact๋Š” docs/archive/historical/rollout/๋กœ ์ด๋™ํ•œ๋‹ค.
  7. archive๋Š” ๋ฌธ์„œ ์ „์šฉ์ด๋‹ค. ์ฝ”๋“œ์™€ runtime ์ž์‚ฐ์€ archive๋กœ ๋ณด๋‚ด์ง€ ์•Š๋Š”๋‹ค.
  8. slice-local AGENTS.md๋Š” ์˜ˆ์™ธ ๊ทœ์น™์ด ๋งŽ์€ slice์—๋งŒ ๋‘”๋‹ค. ํ˜„์žฌ ํ—ˆ์šฉ ๋ฒ”์œ„๋Š” ํ”Œ๋žซํผ ๋ฃจํŠธ์™€ development/edge-api-gateway/๊นŒ์ง€๋‹ค.
  9. development/infra-* slice๋Š” platform-specific runtime infra๋งŒ ์†Œ์œ ํ•œ๋‹ค. app code, shared library, cross-domain catch-all infra slice๋กœ ํ‚ค์šฐ์ง€ ์•Š๋Š”๋‹ค.

Current Workspace State

ํ˜„์žฌ ์‹œ์ ์€ true monorepo umbrella migration in progress ์ƒํƒœ๋‹ค.

  • docs/๋Š” platform source of truth๋‹ค.
  • root whitelist์— ํฌํ•จ๋œ development/* slice๋Š” root-tracked source๋กœ ์ „ํ™˜ํ•œ๋‹ค.
  • ๋ฃจํŠธ๋Š” whitelist ๋Œ€์ƒ source slice๋ฅผ ์ง์ ‘ ์ถ”์ ํ•œ๋‹ค.
  • active implementation source๋Š” root monorepo ์•ˆ์˜ development/*๋‹ค.
  • old MSA-Server/services์—๋Š” direct runtime source๊ฐ€ ๋” ์ด์ƒ ๋‚จ์•„ ์žˆ์ง€ ์•Š๋‹ค.

Out Of Scope For This Root

์ด ๋ฃจํŠธ๋Š” ์•„๋ž˜๋ฅผ ์ง์ ‘ ์†Œ์œ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • ๊ณต์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • root development/ whitelist ๋ฐ– support/legacy runtime
  • build artifact
  • node_modules, venv, generated runtime output

Workspace Governance Update (2026-04-09)

Workspace Governance Update (2026-04-27)

  • The active clever-msa-platform root is the true monorepo umbrella for platform docs, contracts, rollout, and the whitelisted development/* source slices.
  • Runtime implementation code under development/ is owned and tracked by the root repo.
  • The root GitHub view must expose only the approved whitelist: front-web-console, front-driver-app, edge-api-gateway, runtime-prod-release, runtime-prod-platform, and active service-* slices.
  • Slice implementation ownership stays with the slice boundary even though Git ownership is now root-level.
  • New root-visible development/* source slices must be added to the whitelist and tracked by the root repo from day one.