From codeforge
6 permanent + 3+1 CONDITIONAL deputy mandate matrix. §3/§7/§11/§13 sub별 ownership (SecurityArch·InfraOperationalArch·TestContractArch·DataArch·ModuleArch·APIContractArch + CONDITIONAL LiveOps·LiveOrdering·ProductionEvidence + ModuleArch aggregate-level applicability P2). ArchitectAnalyst = 4-tuple sub-tuple (deputy 아님). 설계 lane ArchitectPLAgent deputy spawn 결정 전 Orchestrator 호출 의무. CFP-1086 / ADR-042-agent-model-selection-policy Amendment 8 — BackendArchEpic Phase 2 design lane 7+3+1 roster 재편. CFP-1126 / ADR-042-agent-model-selection-policy Amendment 10 + ADR-091 Amendment 1 — AggregateArch deprecated + ModuleArch boundary axis unified (7+3+1 → 6+3+1), RACI matrix 4-way → 3-way 전면 재편 (CFP-1168 realized).
How this skill is triggered — by the user, by Claude, or both
Slash command
/codeforge:deputy-mandateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> 참조 테이블 skill — deputy spawn 결정 + §3/§7/§11/§13 책임 분담에 적용. normative SSOT = ADR-014(+Amd 4) · ADR-042(+Amd 7/8/10) · ADR-068(+Amd 2) · ADR-086 · ADR-091(+Amd 1) · ADR-72 · ADR-088.
참조 테이블 skill — deputy spawn 결정 + §3/§7/§11/§13 책임 분담에 적용. normative SSOT = ADR-014(+Amd 4) · ADR-042(+Amd 7/8/10) · ADR-068(+Amd 2) · ADR-086 · ADR-091(+Amd 1) · ADR-72 · ADR-088.
deputy column 아님 — flat spawn 논리적 그룹핑 (물리적 spawn 계층(nested) 아님 — "4-level nested spawn" 오해 차단). 4-tuple = ArchitectAgent (chief author, Opus — multi-source synthesizer) + CodebaseMapper (Sonnet, existing codebase fact) + Refactor (Sonnet, decoupling/pattern advocacy) + ArchitectAnalyst (Sonnet, 기존 설계 분석 단일 축).
docs/architecture/<plugin>.md + fallback Confluence (CFP-1428, divergence 시 PMO retro F8 emit).ADR-014 (+ Amendment 4) + ADR-012 §3 4번째 SSOT 예외 + ADR-72 + ADR-086 (Deputy 신설 결정 framework). design lane deputy 가 §3/§7/§11/§13 sub별 owning 범위 명시 — H17 책임 분쟁 차단.
roster 재편 연혁 (요약 — 상세 = 각 ADR Amendment SSOT):
project.yaml aggregate_arch.applicable: bool (key 보존, consumer overlay backward-compat) — non-applicable consumer (frontend-only / API-only / external-managed RDB) 는 aggregate-level 영역만 conditional, module-level 은 무조건 applicable. aggregate_arch.migration_tool 9-enum override (default alembic) 동반. RACI 4-way → 3-way 재편 = CFP-1168 realized.| Change Plan sub-section | owner deputy (primary R) | model |
|---|---|---|
| §2 현재 구조 (변경 전 기존 설계 컨텍스트) | CodebaseMapperAgent + ArchitectAnalystAgent (4-tuple sub-tuple) | Sonnet |
| §3 code module-level (module boundary + dependency direction + layered/hexagonal/clean module-level + DDD bounded context module placement) | ModuleArchitectAgent (CFP-1086 — CodeArch rename + mandate 정정) | Sonnet |
| §3 aggregate (RDB OLTP — aggregate invariant + 트랜잭션 경계 + persistence-bound) | ModuleArchitectAgent (CFP-1126 — boundary axis unified, AggregateArch carry-over; CONDITIONAL aggregate_arch.applicable) | Sonnet |
| §3 API contract (transport + versioning + DTO + OpenAPI/GraphQL) | APIContractArchitectAgent (CFP-1086 신설, skeleton S1 / body 심화 S2) | Sonnet |
| §3 빅데이터 OLAP (Parquet / 객체저장소 / DuckDB / streaming / 백필 / 시계열 집계) | DataArchitectAgent (CFP-1086 mandate 축소 — RDB OLTP 영역 제거) | Opus |
| §3 도입할 설계 (refactor 시각) + §6 리팩토링 선행 | RefactorAgent (4-tuple sub-tuple) | Sonnet |
| §7.1-§7.3 / §7.5-§7.6 보안 | SecurityArchitectAgent | Opus |
| §7.4 운영 리스크 (DR / disconnect / clock / rate / env / container) + §11.6 idempotency consult (ModuleArch aggregate-level primary) | InfraOperationalArchitectAgent (CFP-1026 rename) | Opus |
| §8 Test Contract (커버리지 + 경계 + invariant + §8.5/§8.6 + discriminating fixture mandate / RED→GREEN proof — CFP-1334) | TestContractArchitectAgent | Opus |
| §8.6 contract testing (Pact / Spring Cloud Contract — API consumer-provider) | APIContractArchitectAgent primary + TestContractArchitectAgent consult | Sonnet (APIContract) |
| §11.1-§11.6 RDB OLTP (schema 변경 / migration / rollback / integrity / backfill / idempotency primary) + Alembic 정책 7 원칙 | ModuleArchitectAgent (CFP-1126 — boundary axis unified primary, AggregateArch carry-over) | Sonnet |
| §11 OLAP schema 진화 (Parquet schema / partition / column evolution) | DataArchitectAgent (CFP-1086 OLAP only) | Opus |
| §11 ELT/ETL/CDC cross-layer boundary (deferred — sibling Epic 산출 후 carrier 결정) | DataArchitectAgent + ModuleArchitectAgent (aggregate-level) co-author | (deferred) |
| §13 Live Operational Discipline (CONDITIONAL Live touching) | LiveOpsDeputy | Opus |
| §11 ledger reconcile + §8.5 order replay + §11.6 idempotency (order side, CONDITIONAL Live touching) | LiveOrderingDeputy | Opus |
| Production evidence quad + EPIC CLOSED gate + post-cutover wiring + Family 7 canary pin (CONDITIONAL production cutover) | ProductionEvidenceDeputy | Opus inherit |
axis disjoint 검증 (ADR-086 §결정 1 정합 — CFP-1126 통합 후 boundary axis 단일 advocate):
⚠ AggregateArch deprecated footnote (CFP-1126 / ADR-042 Amd 10 + ADR-091 Amd 1, CFP-1168 realized): mandate carry-over to ModuleArch (boundary axis unified) 완료 — 본 matrix owner + axis disjoint 4 영역 + RACI 3-way 9-cell 모두 재편 완료 상태. agent file 실 deprecate = Wave 2 별 CFP carrier.
superseded (CFP-1086 / CFP-1126) — historical 5+3 matrix 본문은 git history (pre-CFP-2234 본 파일) + ADR-042 Amendment 7 참조. 현행 lookup = 위 6+3+1 primary axis matrix 단일.
production_cutover_touching: true 선언 또는 §13 Live Operational Discipline 본문 보유). wrapper-self-app N/A (ADR-72 §결정 6 — ADR-005 plugin-meta-na). Ownership 이관 (CFP-1059 / ADR-088 §결정 3): codeforge-design CONDITIONAL → codeforge-deploy-review 정식 이관 — mandate body 보존 (ADR-72 §결정 1-7 그대로), ownership 만 이전. 이관 후 = codeforge-deploy-review 의 정규 deputy.InfraOperationalArch ↔ ProductionEvidence disjoint axis (ADR-72 §결정 4 / ADR-014 Amendment 4 §결정 3): policy SSOT (InfraOperationalArch §7.4 invariant 정의 — design-time) vs evidence SSOT (ProductionEvidence production grounding 실측 명시 — runtime). consumer production cutover Story 에서 dual-spawn 가능 (영역 disjoint). wrapper-self-app 시 ProductionEvidence N/A.
§7.4 schema 자체는 codeforge-design plugin SSOT. wrapper는 본 매트릭스만 SSOT 보유 (ADR-014 + Amendment 4 / ADR-72 / ADR-042 Amendment 7).
ArchitectLane agent ↔ DDD role Hybrid mapping. Published Language SSOT =
docs/glossary.md. 단일 DDD 패턴 전 agent 강제 = false precision → 거부 (3 role 만 — ADR-091 §결정 1 rationale).
Layer A (metaphor only) ↔ Layer B (real consistency boundary) explicit separate = 동음이의 (governance BC ↔ application BC) 충돌 차단 의무 (ADR-091 §결정 3). consumer application BC 의 DDD Aggregate = 별 BC —
docs/glossary.md3 distinct semantics entry 분리.
다음 = Domain Service — "specialized judgment contributor — BC Owner 아님 (Story 가 multiple BC 가로지를 수 있음 → advisory expertise ≠ contextual authority)":
| Agent | Domain Service 영역 |
|---|---|
| SecurityArchitectAgent | 보안 설계 (§7.1-§7.3 / §7.5-§7.6) |
| InfraOperationalArchitectAgent | 운영 리스크 (§7.4 DR / disconnect / clock / rate / env / container) |
| TestContractArchitectAgent | §8 Test Contract |
| APIContractArchitectAgent | transport (REST/GraphQL/gRPC/WebSocket) + API versioning + §8.6 contract testing |
| ModuleArchitectAgent (boundary axis unified) | module-level boundary + aggregate-level boundary 통합 (layered / hexagonal / clean / DDD bounded context module placement + module boundary + dependency direction + RDB OLTP aggregate invariant + 트랜잭션 경계 + persistence-bound + Alembic 정책 7 원칙 — AggregateArch carry-over per CFP-1126) |
| DataArchitectAgent | 빅데이터 OLAP (Parquet / 객체저장소 / DuckDB / streaming / 백필 / 시계열 집계) |
| CodebaseMapperAgent (sub-tuple) | fact source 변호자 — file structure / API surface / dependency graph 만 인용 |
| RefactorAgent (sub-tuple) | refactoring 옹호자 — decoupling / pattern / interface 분리 |
| ArchitectAnalystAgent (sub-tuple) | prior art / industry pattern analyst |
sub-tuple 3 = Domain Service role 이지만 deputy column 아님 (4-tuple flat spawn 논리적 그룹핑).
bounded_context: codeforge-governance,ddd_pattern: Domain Service(ADR-091 §결정 5 frontmatter field).
3+1 CONDITIONAL deputy = Subdomain Specialist. ADR-091 §결정 2 spawn rationale 어휘 transition: "perspective-contributor" → "which subdomain under threat" (subdomain decision is at risk → Subdomain Specialist spawn).
| Deputy | spawn rationale 어휘 (ArchitectPL spawn 결정 input) | spawn trigger (실 영향) |
|---|---|---|
| LiveOpsDeputy | "which subdomain under threat = live ops" | Live touching Story (real funds / live exchange API / production credential / live order placement 중 1+) — live ops subdomain decision at risk 시 spawn |
| LiveOrderingDeputy | "which subdomain under threat = live ordering" | Live touching Story 의 order side (ledger reconcile / partial fill / fee invariant / order idempotency) — live ordering subdomain decision at risk 시 spawn |
| ProductionEvidenceDeputy | "which subdomain under threat = production evidence" | production cutover 영향 Story (Change Plan §13 production_cutover_touching: true 또는 §13 Live Operational Discipline 본문 보유) — production evidence subdomain decision at risk 시 spawn. ownership = codeforge-deploy-review (ADR-088 §결정 3 이관 declarative) |
vocabulary theater 차단 (INV-5 — ADR-091 §결정 7): 본 "which subdomain under threat" 어휘는 단순 nominal 명칭이 아니라 ArchitectPL 의 CONDITIONAL spawn 결정 input 에 실제 반영된다. ArchitectPL 이 CONDITIONAL spawn 결정 (Backtest/Paper-only: 미spawn / Live touching: LiveOps + LiveOrdering / Production cutover: + ProductionEvidence) 시, 어느 subdomain decision 이 risk 에 처했는가 (live ops / live ordering / production evidence) 를 판정해 그 enum 어휘를 spawn rationale 로 명시 출력해야 한다. 어휘 emit ↔ spawn decision 결합 = forcing function. Deputy = contributor 유지 (BC Owner 아님 — deputy = BC Owner = overreach 거부, ADR-091 §결정 2 rationale).
연혁 주석 (각 1줄 — 상세 = git history + ADR Amendment):
chief tie-break ladder (ADR-068 Amendment 2) 1단계 (RACI matrix lookup) 입력 SSOT — 3-way overlap zone 의 명시적 R/A/C/I 4-column row 형식 (CFP-1086 Story-3 body + CFP-1168 재편).
primary single-axis 결정은 §primary axis matrix lookup, 다축 overlap 영역만 본 RACI lookup 으로 처리. (CFP-1168: 구 4-way 12-cell 의 Aggregate cross-axis column 을 ModuleArch aggregate-level 로 흡수.)
| Sub-axis ↓ \ Cross-axis → | Data (빅데이터 OLAP) | Module (boundary + dependency + aggregate-level RDB OLTP, unified) | APIContract (transport + DTO) |
|---|---|---|---|
| Security (PII / 권한 / audit log / threat) | Cell 1.1 | Cell 1.2 | Cell 1.3 |
| InfraOp (DR / clock / rate / env / container) | Cell 2.1 | Cell 2.2 | Cell 2.3 |
| TestContract (커버리지 / 경계 / invariant / §8.5/§8.6) | Cell 3.1 | Cell 3.2 | Cell 3.3 |
| Role | Deputy | 책임 |
|---|---|---|
| R | SecurityArchitectAgent | OLAP PII 정책 (익명화 알고리즘 + 보존 기간 + GDPR/CCPA 정합 + downstream re-identification 차단) |
| A | ArchitectAgent | chief tie-break ladder 3단계 — RACI lookup PASS 영역 |
| C | DataArchitectAgent | Parquet column 마스킹 / partition pruning / OLAP query plan PII 영역 격리 (how realized in OLAP) |
| I | TestContractArchitectAgent | §8 OLAP PII 통합 테스트 fixture redaction 인지 |
CFP-1168 흡수 — 구 Security × Aggregate cell 통합 (ModuleArch aggregate-level).
| Role | Deputy | 책임 |
|---|---|---|
| R | SecurityArchitectAgent | trust boundary 정의 + threat model — 어디서 외부 입력이 들어오는가, 누가 무엇을 신뢰하는가 + PII 분류 정책 + 권한 모델 + audit log invariant (what / who / why) |
| A | ArchitectAgent | chief tie-break ladder 3단계 |
| C | ModuleArchitectAgent (boundary axis unified) | (module-level) trust boundary 가 module / package 경계와 정합인지 + dependency direction (untrusted → trusted 일방향) 보장 / (aggregate-level RDB OLTP) PII column type / encryption-at-rest schema co-author + Alembic migration 정합 (how stored) |
| I | InfraOperationalArchitectAgent | §7.4.1 trust boundary 의 runtime container / network mode 영역 인지 + (TestContract cross-ref) §8 PII redaction test / audit log 커버리지 인지 |
| Role | Deputy | 책임 |
|---|---|---|
| R | SecurityArchitectAgent | §7.3 auth/authz 정책 + §7.6 위협↔완화 매핑 (OWASP API Security Top 10) + token / session / scope 정의 |
| A | ArchitectAgent | chief tie-break ladder 3단계 |
| C | APIContractArchitectAgent | API endpoint 별 auth scheme (OAuth2 / JWT / mTLS) + rate limit header 표준 (RFC 6585 + X-RateLimit-*) + input validation schema (OpenAPI / JSON Schema) co-author |
| I | InfraOperationalArchitectAgent | §7.4.4 rate limit runtime enforcement (transport-level retry / circuit breaker) 인지 |
| Role | Deputy | 책임 |
|---|---|---|
| R | InfraOperationalArchitectAgent | OLAP 운영 파라미터 — scan timeout / streaming backpressure / batch window 정책 / 백필 rate (DR + 7.4.4 rate 영역) |
| A | ArchitectAgent | chief tie-break ladder 3단계 |
| C | DataArchitectAgent | OLAP query plan / partition strategy / streaming pipeline lineage 가 운영 파라미터와 정합인지 |
| I | TestContractArchitectAgent | §8.5 streaming replay / backfill idempotency test 인지 |
CFP-1168 흡수 — 구 InfraOp × Aggregate cell 통합 (ModuleArch aggregate-level).
| Role | Deputy | 책임 |
|---|---|---|
| R | InfraOperationalArchitectAgent | runtime container 분리 (§7.4.6 container) + hot reload 정책 + module 단위 process boundary + §7.4 운영 파라미터 (connection pool size / replica failover / DB advisory lock timeout / restart policy — DR 영역) |
| A | ArchitectAgent | chief tie-break ladder 3단계 |
| C | ModuleArchitectAgent (boundary axis unified) | (module-level) module / package boundary 가 runtime process boundary 와 정합인지 + dependency direction 이 deploy 단위 정합인지 / (aggregate-level) 트랜잭션 경계 / isolation level / aggregate boundary 가 pool / replica / lock 정책과 정합인지 (semantics 영역) |
| I | SecurityArchitectAgent | runtime container secret mount / image layer 누설 영역 (§7.5) 인지 + (TestContract cross-ref) §8.5 stateful test (restart invariant + replica failover scenario) 인지 |
| Role | Deputy | 책임 |
|---|---|---|
| R | InfraOperationalArchitectAgent | §7.4.2 disconnect / §7.4.4 rate limit — transport retry policy (exponential backoff + jitter) + circuit breaker 임계 + connection timeout + cancel-on-disconnect 정합 |
| A | ArchitectAgent | chief tie-break ladder 3단계 |
| C | APIContractArchitectAgent | API contract level retry-safety (idempotent verb 정합 + retry header + 5xx vs 4xx mapping + GraphQL persisted query retry semantics) co-author |
| I | TestContractArchitectAgent | §8.5 stateful test (cancel-on-disconnect + circuit breaker open/close transition) 인지 |
| Role | Deputy | 책임 |
|---|---|---|
| R | TestContractArchitectAgent | §8 OLAP test contract — Parquet fixture seed + streaming replay scenario + lineage test invariant + 백필 idempotency 커버리지 |
| A | ArchitectAgent | chief tie-break ladder 3단계 |
| C | DataArchitectAgent | OLAP schema 진화 test (Parquet schema evolution + partition pruning + column rename) + streaming pipeline replay seed |
| I | SecurityArchitectAgent | OLAP fixture PII redaction (Cell 1.1 cross-ref) 인지 |
CFP-1168 흡수 — 구 TestContract × Aggregate cell 통합 (ModuleArch aggregate-level).
| Role | Deputy | 책임 |
|---|---|---|
| R | TestContractArchitectAgent | §8 module boundary test — dependency direction assertion (ArchUnit / depcheck / dependency-cruiser) + module public API surface 커버리지 + (aggregate-level) migration forward + reverse + idempotency 커버리지 / invariant assertion / §11.6 idempotency test scope |
| A | ArchitectAgent | chief tie-break ladder 3단계 |
| C | ModuleArchitectAgent (boundary axis unified) | (module-level) module / package boundary 정의 + dependency direction 정합 (layered/hexagonal/clean module-level) test seed 제공 / (aggregate-level) Alembic 정책 7 원칙 정합 test seed (양방향 호환 / 확장-정리 분리 / reverse / smoke / cross-repo / 백업 / hard limit) + test fixture 의 aggregate boundary 정합 |
| I | APIContractArchitectAgent | module public API ↔ transport contract 정합 (Cell 3.3 cross-ref) 인지 + (InfraOp cross-ref) §8.5 stateful migration restart scenario 인지 |
| Role | Deputy | 책임 |
|---|---|---|
| R | APIContractArchitectAgent | §8.6 contract testing primary (6+3+1 primary axis matrix row 정합) — Pact consumer-driven / Spring Cloud Contract provider-driven / Schemathesis schema-based 3 paradigm |
| A | ArchitectAgent | chief tie-break ladder 3단계 |
| C | TestContractArchitectAgent | §8.6 통합 테스트 CI placement + orchestration 책임 (contract format ≠ CI placement disjoint axis) |
| I | InfraOperationalArchitectAgent | Pact broker 운영 + contract testing CI 인프라 인지 |
Cross-ref (1줄): ladder 3 단계 = ADR-068 Amendment 2 / 6+3+1 재편 = ADR-042 Amendment 10 + ADR-091 Amendment 1 / Deputy 신설 framework = ADR-086 / review-verdict boundary_completeness_self_check_passed = CFP-1086 carrier / codeforge-design CLAUDE.md = 본 단락 mirror (wrapper skill canonical).
npx claudepluginhub mclayer/marketplace --plugin codeforgeProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.