Introducing PreviewDD · v8.0 Final

PreviewDD → SpecDD → TestDD

TDD는 코드를 테스트로 주도했다. SpecDD는 코드를 스펙으로 주도했다. 우리는 그 앞에 PreviewDD를 놓는다. 26개의 다양한 시각 mockup이 스펙을 쓰기 전에 방향을 주도하여, 잘못된 것을 정확히 짓는 함정을 피한다. Claude Code plugin, 143 Opus 4.7 에이전트가 3개의 Driven-Development 사이클을 연쇄 실행. 인간은 사이클 사이 2 gate에만 개입.

v8.0 Final — 3-DD Methodology PreviewDD · SpecDD · TestDD All-Opus 4.7 (143/143) Claude Design + 내장 Studio Zero 제3자 의존 Claude Code Plugin + Marketplace 1M context · Adaptive · xhigh Cache 1h + Context editing + Compaction Memory + Reflexion + LESSONS Apache-2.0
작성일
2026-04-22 (KST)
제출 마감
2026-04-26 20:00 EST
배포 채널
GitHub Plugin Marketplace
라이선스
Apache-2.0

목차

  1. TL;DR — 30초 요약
  2. 제품 비전
  3. Marketplace 저장소 구조 + Plugin 배포
  4. 아키텍처 개요 + 엔지니어링 조직도 + Blackboard
  5. 3-DD Cycles (PreviewDD · SpecDD · TestDD) + H1/H2 Gates
  6. 에이전트 카탈로그 (143 agents) + Memory · AskUser · Replay
  7. 기술 스택 + Opus 4.7 사용 매트릭스
  8. 설치 + 데모 워크플로우
  9. 4일 실행 일정
  10. 심사 루브릭 매핑
  11. 운영 리스크 및 미티게이션
  12. 베스트 프랙티스 체크리스트
  13. 출처 및 참고문헌

§0TL;DR — 30초 안에 잡아야 할 것

방법론 (핵심) 3-DD Cycles: PreviewDD (26 mockup이 방향 주도, Stages 1–3) → SpecDD (OpenAPI lock이 구현 주도, Stages 4–5) → TestDD (테스트·점수가 freeze 주도, Stages 6–7). 각 사이클은 전 사이클 산출물을 잠금으로 받아 전진. 인간은 사이클 사이 2개 gate(H1/H2)에서만 개입. PreviewDD는 본 프로젝트가 신설한 개념 — SpecDD 앞에 다양성 발산 단계를 놓아 "잘못된 것을 정확히 짓는" 함정 제거
배포 Claude Code Plugin, marketplace 호스팅은 Two-Weeks-Team/PreviewForgeForClaudeCode 저장소 자체. 사용자는 /plugin marketplace add/plugin install preview-forge@two-weeks-team 두 줄로 설치
무엇을 만드는가 한 줄 아이디어 → 143명 가상 엔지니어링 조직이 OpenAPI-first로 풀스택 앱을 freeze까지 자율 빌드 → 인간은 디자인·배포 2회 클릭만
조직 규모 143 agents · 6-tier + Blackboard: Meta(3) · Ideation(29) · 4-Panel+MD(45) · Spec(9) · 5 Eng Teams(25) · QA(14) · SCC(5) · Judges(5) · Auditors(5) · Docs(3). 보고선은 위계, 정보 공유는 SQLite Blackboard 실시간
실수반복 방지 4-layer Memory: LESSONS.md(실패 카탈로그) + PROGRESS.md(run 인덱스) + CLAUDE.md(세션 룰) + Anthropic Memory Tool(memory_20250818) + 각 agent의 Reflexion. M1 Run Supervisor가 새 run 시작 전 LESSONS를 모든 lead에 프리로드. Auto-retro critic이 run 종료 시 LESSONS 자동 append
Layer-0 정책 AskUserQuestion 강제: 사용자에게 묻는 모든 케이스는 AskUserQuestion 필수(2–4지 구조화 옵션 + 설명 + 권장 1순위). 자유형 텍스트 질문은 PostToolUse 훅이 차단. production_deploy / DROP DATABASE / force-push 등 destructive 패턴은 PreToolUse 훅이 차단
디자인 통합 (Anthropic-native only) Stage 2에서 26 advocate가 각자 self-contained mockup.html(inline CSS, 외부 CDN/폰트/이미지 0) 1장씩 생성. Gate H1은 Claude Design (2026-04-17 출시, Pro/Max 기본 포함) 메인 플로우 + 내장 Design Studio fallback. chosen preview를 Claude Design prompt로 패키징 → 사용자가 tweaks · edit으로 조정 → "Send to Claude Code" 번들로 Stage 5 scaffold-builder 소비. Pro/Max 미사용 또는 offline 시 내장 Studio(native HTML5 tweak panel)로 자동 대체. 제3자 서비스(Figma 등) 0
해카톤 부상 매핑 Most Creative Opus 4.7 ($5k) — Opus 4.7을 143개 페르소나로 동시 운용 + Mitigation Designer + 자가학습 LESSONS
Best Managed Agents ($5k) — 25명 Engineering Team이 Managed Agents 세션에서 long-running 빌드·테스트·자기수정
Keep Thinking ($5k)PreviewDD를 신설(SpecDD · TDD 앞에 위치). "첫 아이디어에 멈추지 않음"을 방법론 수준에서 강제
Top 1–3 — 143-노드 swarm live 시각화 데모 (89/100 자기평가)
주요 산출물 ① Marketplace repo(.claude-plugin/marketplace.json) ② Plugin(plugins/preview-forge/) ③ 143 subagent 정의 ④ 13 slash commands(/pf:*) ⑤ 3개 hook(askuser-enforcement · factory-policy · auto-retro-trigger) ⑥ Memory 시스템 ⑦ Blackboard SQLite schema ⑧ trace.jsonl replay ⑨ Next.js 143-노드 live 시각화 ⑩ Seed idea bank 10개
비용 정책 Soft cap — Cost Monitor가 추적·경고만 하고 차단 안 함. e2e 1회 약 $25–40, $500 크레딧으로 12–20회 e2e + 데모 시연 마진
타임라인 4/22(수) PM ~ 4/26(일) 20:00 EST — 실질 4.5일, Day 2 시작
주요 리스크 대응 143-agent 오케스트레이션 복잡도 → M1 Run Supervisor kill switch + lead 단위 retry. Managed Agents 세션 중단 → 세션 resume API 활용, 진행률 영속화. API 비용 → M2 Cost Monitor가 임계 경보만

§1제품 비전

1.0 방법론 정체성 — 3-DD Cycles

TDD는 코드를 테스트로 주도했다.
SpecDD는 코드를 스펙으로 주도했다.
우리는 그 앞에 PreviewDD를 놓는다.

본 프로젝트는 PreviewDD → SpecDD → TestDD 3개 cycle이 스테이지 게이트로 연쇄되는 방법론을 구현합니다. 각 DD는 병렬 발산(다양성) → 집계(결정) → 잠금(산출물 해시) 3단계를 따르며, 인간은 cycle 사이 H1/H2 두 gate에만 개입합니다.

1.1 한 문장 정의

"Claude Code 사용자가 한 줄을 입력하면, 본인은 디자인 OK / 배포 OK 두 번만 누르고 production-ready 풀스택 앱이 freeze된 상태로 손에 떨어지는 도구."

1.2 해결하는 통증

1.3 두 해카톤 문제 테마와의 매핑

조준 테마: Build For What's Next (1순위) — "an interface that doesn't have a name yet. A workflow from a few years out."

사람이 의사결정에서 빠지고 다양성·검증·자기수정만 강제하는 파이프라인은 아직 이름이 없는 워크플로우입니다. 보조 테마는 Build From What You Know — 우리 자신(개발자)이 매일 쓰는 "AI한테 앱 시켜보기"의 통증을 정확히 알기 때문.

§2Marketplace 저장소 구조 + Plugin 배포

배포 표준은 OpenAI의 openai/codex-plugin-cc 레이아웃을 따릅니다 — 저장소 루트는 marketplace, plugins/ 하위가 실제 plugin. 하나의 repo가 marketplace 역할을 겸하여 사용자는 /plugin marketplace add <owner>/<repo> 한 줄로 접근 가능합니다.

2.1 저장소 최상위 구조

Two-Weeks-Team/PreviewForgeForClaudeCode/
├── .claude-plugin/
│   └── marketplace.json           ← marketplace 매니페스트
├── plugins/
│   └── preview-forge/             ← 실제 plugin (다음 §2.3 참조)
├── scripts/
│   ├── install-check.sh           ← 설치 전 환경 점검
│   └── release.sh                 ← 버전 태깅 + changelog 자동화
├── tests/
│   ├── plugin-manifest.test.ts    ← 매니페스트 schema 검증
│   ├── hooks.test.ts              ← hooks.json round-trip
│   └── smoke/                     ← e2e smoke test (mock API)
├── docs/
│   ├── plugin-demo.webm           ← README에 임베드할 데모 영상
│   ├── architecture.svg           ← 143-agent 조직도 그림
│   └── screenshots/               ← 대시보드 스크린샷
├── .github/
│   ├── workflows/
│   │   ├── ci.yml                 ← lint + test + manifest 검증
│   │   ├── release.yml            ← 태그 push → GitHub Release
│   │   └── marketplace-validate.yml
│   └── ISSUE_TEMPLATE/
├── .gitignore
├── LICENSE                        ← Apache-2.0
├── NOTICE                         ← 라이선스 고지
├── CHANGELOG.md
├── README.md                      ← codex-plugin-cc 스타일
└── package.json                   ← monorepo 루트 (tests/scripts용)

2.2 Marketplace manifest — .claude-plugin/marketplace.json

{
  "name": "two-weeks-team",
  "owner": {
    "name": "Two-Weeks-Team"
  },
  "metadata": {
    "description": "Preview Forge: 143-agent engineering swarm that builds frozen full-stack apps from a single idea.",
    "version": "1.0.0"
  },
  "plugins": [
    {
      "name": "preview-forge",
      "description": "한 줄 아이디어 → OpenAPI 잠금 → 풀스택 freeze. Claude Code에서 /pf:new 한 줄로 실행.",
      "version": "1.0.0",
      "author": {
        "name": "Two-Weeks-Team"
      },
      "source": "./plugins/preview-forge"
    }
  ]
}

2.3 Plugin 내부 구조 — plugins/preview-forge/

plugins/preview-forge/
├── .claude-plugin/
│   └── plugin.json                ← plugin 매니페스트 (§2.4)
├── agents/                        ← 143 Subagent 정의
│   ├── meta/{run-supervisor,cost-monitor,chief-engineer-pm}.md
│   ├── ideation/
│   │   ├── {ideation-lead,idea-clarifier,diversity-validator}.md
│   │   └── advocates/P01-P26.md
│   ├── panels/
│   │   ├── {tp,bp,up,rp}/{lead,01-10}.md   # 4 패널 × 11명 = 44
│   │   └── mitigation-designer.md
│   ├── spec/{lead,author,sc1-sc7}.md
│   ├── engineering/
│   │   ├── backend/{lead,controller,dto,service,repository,auth}.md
│   │   ├── frontend/{lead,app-router,component,state,tailwind,a11y}.md
│   │   ├── database/{lead,schema,migration,seed,query-opt}.md
│   │   ├── devops/{lead,docker,caddy,cicd,env}.md
│   │   └── sdk/{lead,nestia-gen,ts-client}.md
│   ├── qa/
│   │   ├── functional/{lead,unit,e2e,property,holdout}.md
│   │   ├── security/{lead,sast,secret-scan}.md
│   │   ├── performance/{lead,bundle,load}.md
│   │   └── a11y/{lead,axe,color-sr}.md
│   ├── scc/{lead,backend,frontend,type,dep}.md
│   ├── judges/{j1-j5}.md
│   ├── auditors/{au1-au5}.md
│   └── docs/{readme,changelog,demo-script}.md
├── skills/                        ← model-invoked
│   ├── run-bootstrap/SKILL.md
│   ├── scaffold/SKILL.md
│   └── mitigation-design/SKILL.md
├── commands/                      ← user-invoked slash commands (14개)
│   ├── pf:new.md · pf:status.md · pf:replay.md · pf:lessons.md
│   ├── pf:panel.md · pf:freeze.md · pf:gallery.md · pf:export.md
│   ├── pf:budget.md · pf:retry.md · pf:seed.md · pf:bootstrap.md
│   ├── pf:design.md               ← Gate H1 내장 Design Studio 오픈
│   └── pf:help.md
├── design-studio/                 ← Gate H1 내장 리뷰 UI (Next.js route)
│   ├── index.tsx                  ← 26 mockup grid + chosen tweak panel
│   ├── tweak-controls.tsx         ← 슬라이더/컬러픽커/density/wireframe toggle
│   └── live-preview.tsx           ← postMessage 기반 iframe 실시간 렌더
├── hooks/
│   ├── hooks.json
│   ├── askuser-enforcement.py     ← AskUserQuestion 강제 훅
│   ├── factory-policy.py          ← destructive bash 차단 (Layer-0)
│   └── auto-retro-trigger.py      ← run 종료 시 LESSON 자동 추출
├── bin/
│   └── pf                         ← 헤드리스 CLI
├── methodology/
│   └── global.md                  ← Layer-0 7개 비협상 규칙
├── assets/
│   ├── docker-compose.template.yml
│   ├── Caddyfile.template
│   ├── install.sh.template
│   └── nestia.config.ts.template
├── memory/                        ← 초기 seed (plugin install 후 ~/.claude로 복사됨)
│   ├── CLAUDE.md                  ← 세션 시작 룰
│   ├── PROGRESS.md                ← run 인덱스 (빈 상태)
│   └── LESSONS.md                 ← 실패 카탈로그 (빈 상태)
├── schemas/
│   ├── preview-card.schema.json   ← 5-tuple validation
│   ├── panel-vote.schema.json
│   └── score-report.schema.json
├── seed-ideas/
│   ├── 01-craft-studio-pos.md
│   ├── 02-infant-sleep-tracker.md
│   ├── 03-community-code-review.md
│   └── 04-10-*.md                 ← 총 10개 사전 검증 idea
├── monitors/
│   └── monitors.json              ← cost + run-supervisor 이벤트 모니터
├── settings.json                  ← plugin 활성화 시 기본값
├── CHANGELOG.md
├── LICENSE
├── NOTICE
└── README.md                      ← plugin 로컬 README (선택)

2.4 Plugin manifest — plugins/preview-forge/.claude-plugin/plugin.json

{
  "name": "preview-forge",
  "description": "한 줄 아이디어 → 143명 가상 엔지니어링 조직이 OpenAPI-first로 풀스택 앱을 freeze까지. 내장 Design Studio로 외부 디자인 서비스 의존 제거. Built with Opus 4.7.",
  "version": "1.0.0",
  "author": {
    "name": "Two-Weeks-Team",
    "email": "app.2weeks@gmail.com"
  },
  "homepage": "https://github.com/Two-Weeks-Team/PreviewForgeForClaudeCode",
  "repository": "https://github.com/Two-Weeks-Team/PreviewForgeForClaudeCode",
  "license": "Apache-2.0",
  "keywords": ["opus-4-7", "multi-agent", "spec-first", "openapi", "nestia", "design-studio", "self-contained", "hackathon"]
}

2.4.1 "외부 의존" 정의 — 제3자 서비스만 의존으로 간주

본 plugin의 의존성 원칙:

Gate H1 디자인 승인은 Claude Design 메인 · 내장 Studio fallback 2-tier:

  1. 메인: /pf:design → chosen_preview를 Claude Design prompt로 패키징 → 사용자가 claude.ai/design에서 tweaks · edit · wireframe↔high-fi 토글 → "Send to Claude Code" → runs/<id>/design-bundle/에 수신
  2. Fallback: Claude Design 응답 실패·offline 또는 사용자 명시적 선택 시 → 내장 Design Studio(plugins/preview-forge/design-studio/) Next.js route 오픈 → 26 mockup iframe grid + native HTML5 tweak controls로 동등 UX 제공. 두 경로 모두 design-approved.json을 생성하여 Stage 5가 consume

2.5 README 구조 (codex-plugin-cc 스타일)

저장소 루트 README.md는 다음 7개 섹션으로 구성:

  1. Title + 한 줄 설명 + 데모 영상 (docs/plugin-demo.webm 임베드)
  2. What You Get — 13 slash commands 리스트
  3. Requirements — Claude Code 최신 + Pro/Max 구독 (팀/엔터프라이즈 포함), Node.js 20, Docker (optional)
  4. Install — marketplace add → install → bootstrap 3 step
  5. Usage — 각 슬래시 명령 예시 + 옵션
  6. Typical Flows — 한 줄 idea → freeze까지의 표준 시나리오
  7. FAQ — 비용, 실패 복구, 데이터 위치, 오프라인 가능 여부

2.6 설치 절차 (사용자 관점)

## 1) Marketplace 등록
/plugin marketplace add Two-Weeks-Team/PreviewForgeForClaudeCode

## 2) Plugin 설치
/plugin install preview-forge@two-weeks-team

## 3) 세션 리로드
/reload-plugins

## 4) 메모리 초기화 (LESSONS/PROGRESS/CLAUDE.md 복사)
/pf:bootstrap

## 5) 실행
/pf:new "한 줄 아이디어"

## 확인
## → /agents 에 143 agents 등록 확인
## → /help 에 /pf:* 13개 명령 확인
## → Next.js 대시보드 자동 기동 (http://localhost:3000)

2.7 외부 의존

의존요구 수준용도
Claude Code (최신)필수Plugin 시스템 자체
Claude Code 인증 (Pro/Max · Team · Enterprise 중 하나)필수Opus 4.7 · Claude Design · Managed Agents · Memory Tool 전부 Pro/Max에 기본 포함 — 별도 API 키 불필요
Node.js 20 LTS필수orchestrator + 생성된 앱 빌드
pnpm 9필수 (plugin 후처리 자동 설치)모노레포 패키지
Docker 24+Stage 5 검증생성된 앱 compose up 헬스체크
Playwright · axe-core자동 lazy-installQA 단계 — plugin이 pnpm dlx

2.8 배포 파이프라인

§3아키텍처 개요

Anthropic Managed Agents의 brain/hands/session 분리 철학을 차용한 3-layer 구조.

┌──────────────────────────────────────────────────────────────────┐
│  Layer A — Brain (의사결정)                                       │
│  Claude Opus 4.7 via Agent SDK                                   │
│  · 26-Preview Generator                                           │
│  · 10-Persona Panel (decision-panel)                              │
│  · Spec Locker (OpenAPI 작성자/비평가)                            │
│  · Score Judge (500점 채점관)                                     │
│  · Self-Correction Critic (evaluator-optimizer 패턴)              │
└──────────────────────────────────────────────────────────────────┘
                             ↕ execute(name, input) → string
┌──────────────────────────────────────────────────────────────────┐
│  Layer B — Hands (실행)                                           │
│  Claude Managed Agents 세션 (long-running, hours-OK)              │
│  · Bash + File ops in cloud container                             │
│  · pnpm install / nestia sdk / nestia swagger / vitest 실행       │
│  · 자기수정 루프(반복 빌드·테스트)                                  │
└──────────────────────────────────────────────────────────────────┘
                             ↕ events (SSE)
┌──────────────────────────────────────────────────────────────────┐
│  Layer C — Session/UI (사람 인터페이스)                            │
│  Next.js 14 (App Router) 대시보드                                 │
│  · 한 줄 입력 폼                                                  │
│  · 26-카드 매트릭스 + 26 advocate 동시 표시                        │
│  · 4-패널(40인) 동시 투표 + meta-tally 실시간 차트                 │
│  · 5 Engineering Team 칸반 (각 팀 진행률)                          │
│  · OpenAPI Swagger UI 임베드 + 🔒 lock 뱃지                       │
│  · 500점 스코어 게이지(5 카테고리 미니게이지 포함)                  │
│  · "디자인 승인" / "배포 승인" 두 버튼만                           │
└──────────────────────────────────────────────────────────────────┘
왜 이 분리인가
Anthropic 자신의 "Scaling Managed Agents" 블로그가 "brain/hands 분리로 p50 60%, p95 90% 빨라졌다"고 보고. 동일 철학 차용. Layer A는 단명·교체 가능, Layer B는 컨테이너 재시작에도 세션 유지, Layer C는 사용자 부재여도 백그라운드 진행.

3.2 핵심 디자인 원칙 (이 5개로 모든 트레이드오프 결정)

  1. 사람의 클릭은 2번 — 디자인 승인 + 배포 승인. 그 외 모든 묻기는 안티패턴
  2. 모드 붕괴 방지 — 1개 답이 아니라 26개 카드부터 + 4개 다른 시각의 패널. 다양성은 비싸도 산다 (Anthropic multi-agent 연구: +90.2% 성능, ~15× 토큰)
  3. 스펙이 source of truth — 코드 → 스펙이 아니라 스펙 → 코드. nestia/typia로 타입이 곧 스펙
  4. 책임 분리(SoR) + 위계 보고선 — 143명이 무작위로 움직이는 게 아니라 모든 agent는 lead가 있고, 모든 lead는 개발총괄 PM(M3)이 있고, M3 위에는 Run Supervisor(M1) + Cost Monitor(M2) — 인간 조직처럼 작동
  5. 499/500 = freeze — 자기수정은 무한이 아니라 점수가 멈출 때까지. 점수가 안 오르면 사람에게 에스컬레이션
  6. 모든 destructive 행위는 Layer 0이 차단 — software-factory의 7개 비협상 규칙 그대로

3.3 엔지니어링 조직도 — 143 agents · 6-tier 위계

"Specialty Team → Team Lead → 개발총괄 PM(M3) → Run Supervisor(M1)" 보고선이 모든 agent에 적용됩니다.

                                  ┌─────────────────────────┐
                                  │  M1 · Run Supervisor    │  ← 모든 watcher의 watcher
                                  │  (kill switch, escalation)│    pause/resume/abort 권한
                                  └────────────┬────────────┘
                       ┌───────────────────────┼───────────────────────┐
                       │                       │                       │
                       ▼                       ▼                       ▼
              ┌──────────────────┐  ┌──────────────────┐    ┌──────────────────┐
              │  M2 · Cost       │  │  M3 · Chief      │    │ Software-Factory │
              │  Monitor         │  │  Engineer / Dev PM│    │  Layer-0 Hooks   │
              │  (track only,    │  │  (모든 lead 보고선│    │  (PreToolUse 차단)│
              │  no block)       │  │  + cross-team조정)│    │                  │
              └──────────────────┘  └────────┬─────────┘    └──────────────────┘
                                              │
        ┌─────────────────┬─────────────────┬─┴─────────────────┬─────────────────────┐
        │                 │                 │                   │                     │
        ▼                 ▼                 ▼                   ▼                     ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Ideation Dept │ │ 4 Decision    │ │ Spec Dept     │ │ 5 Engineering   │ │ QA Dept         │
│  (29)         │ │ Panels (40+5) │ │  (9)          │ │ Teams (25)      │ │ + SCC + Judges  │
│               │ │ + Mitigation  │ │               │ │                 │ │ + Auditors+Docs │
│ I_LEAD        │ │ Designer (1)  │ │ SPEC_LEAD     │ │ BE_LEAD (6)     │ │ (32)            │
│ ├ I1 Clarifier│ │               │ │ ├ SPEC_AUTHOR │ │ FE_LEAD (6)     │ │                 │
│ ├ I2 Diversity│ │ TP_LEAD (10)  │ │ ├ SC1 Security│ │ DB_LEAD (5)     │ │ QA_LEAD (5)     │
│ └ P01..P26    │ │ BP_LEAD (10)  │ │ ├ SC2 Perf    │ │ DO_LEAD (5)     │ │ SECQA_LEAD (3)  │
│   26 Preview  │ │ UP_LEAD (10)  │ │ ├ SC3 A11y    │ │ SDK_LEAD (3)    │ │ PERFQA_LEAD (3) │
│   Advocates   │ │ RP_LEAD (10)  │ │ ├ SC4 i18n    │ │                 │ │ A11YQA_LEAD (3) │
│   각자 다른   │ │               │ │ ├ SC5 Idemp   │ │ 각 lead가       │ │ SCC_LEAD (5)    │
│   페르소나로  │ │ MD · Mitigation│ │ ├ SC6 ErrModel│ │ M3에 일일       │ │ J1..J5 Judges   │
│   1장씩 작성  │ │   Designer    │ │ └ SC7 APIDsgn │ │ 진행률 보고     │ │ AU1..AU5 Audit  │
│               │ │   (panel      │ │               │ │                 │ │ DOC1..DOC3 Docs │
└───────────────┘ │   dissent →   │ └───────────────┘ └─────────────────┘ └─────────────────┘
                  │   action items)│
                  └───────────────┘

각 Department의 상세 멤버 + 페르소나는 §5 에이전트 카탈로그 참조.

Tier역할인원호출 빈도/run
1 · MetaRun Supervisor, Cost Monitor, Dev PM3지속 (이벤트 기반)
2 · Department LeadI_LEAD, 4 panel chairs, SPEC_LEAD, 5 eng team leads, 4 QA leads, SCC_LEAD = 1616각 단계 1–N회
3 · Specialty Member26 Advocates + 40 panelists + 7 spec critics + 20 eng + 10 QA + 4 SCC + 5 Judges + 5 Auditors + 3 Docs = 120120각 1–3회
4 · Cross-cuttingI1, I2, MD (전 단계 영향) = 332–5회
5 · Layer-0 Policysoftware-factory PreToolUse 훅 (인간 작성, agent 아님)전 bash/edit 호출마다
6 · External Toolsspectral, openapi-diff, secretlint, npm audit, playwright, axe (스크립트 아님)Judge 호출 시
합계 (agent)143
왜 위계인가 (Anthropic 가이드와 정합)
Anthropic multi-agent research system가 강조하는 핵심: "orchestrator must specify objectives, output formats, and clear boundaries". 143 agent를 평면으로 호출하면 prompt 토큰이 폭발하고 책임이 모호해집니다. 위계 + lead는 (a) 각 lead가 자기 팀 prompt만 신경쓰면 됨 → 토큰 효율 (b) lead 단위 retry/replace 가능 → 신뢰성 (c) 데모에서 조직도가 그대로 시각화됨 → 인상적.

§43-DD Cycles + H1/H2 Gates

파이프라인은 8개 stage가 아니라 3개의 Driven-Development 사이클 + 2개의 Human Gate로 설계됩니다. 각 DD 사이클은 이전 사이클의 산출물을 "잠금"으로 받아 다음 사이클에 인도하는 스테이지 게이트 구조.

사이클주도 원리포함 Stages잠금 산출물 (다음 사이클 입력)
① PreviewDD
(본 프로젝트 신설)
26개 시각 mockup이 방향 주도. 스펙 이전에 "다양한 해석" 먼저Stage 1 (입력) · 2 (26 Advocate) · 3 (4-패널 다수결 + Mitigation)chosen_preview.json + mockups/chosen.html + mitigations.json
🔒 Gate H1인간 디자인 승인 (Claude Design 메인 / 내장 Studio fallback)Stage 8 H1design-approved.json (OKLCH tokens + tailwind-compat)
② SpecDD
(기존 Spec-Driven Development 계승)
OpenAPI 스펙이 구현 주도. 타입이 source of truth (nestia)Stage 4 (Spec Author + 7 critic) · 5 (5 Engineering Teams)specs/openapi.yaml + .lock(SHA-256) + generated/
③ TestDD
(TDD 계승 + holdout + 500점 이중 게이트)
테스트·점수가 freeze 주도. overfit 방지 holdout, Judge↔Auditor 이중 검증Stage 6 (4 QA 팀 + SCC 5) · 7 (5 Judge + 5 Auditor)score/report.json + .frozen-hash (코드 수정 봉인)
🚀 Gate H2인간 배포 승인Stage 8 H2배포 확정 (localhost/Vercel/사용자 서버)
Why PreviewDD — 신설 근거
SpecDD는 "무엇을 짓느냐"가 정해진 뒤부터 작동합니다. 하지만 사용자가 제시한 한 줄 아이디어는 본질적으로 under-specified — 26가지 방식으로 해석 가능합니다. SpecDD에 바로 진입하면 모델은 가장 보편적인 1가지 해석만 채택하여 "잘못된 것을 정확히 짓는" 위험을 초래합니다. PreviewDD는 26 Advocate가 각자 다른 페르소나로 병렬 해석을 생성하고, 4-패널 다수결로 가장 방어 가능한 1개를 고르는 방식으로 이 문제를 해결합니다. Anthropic multi-agent 연구의 병렬 sectioning + voting 패턴을 ideation 단계에 적용한 것.

① PreviewDD Cycle

Stage 1: 한 줄 아이디어 입력

Stage 2: 26 Preview Advocate 생성 + 시각 mockup

26명의 독립 Preview Advocate(P01~P26)가 각자 다른 페르소나로 1장씩 작성. I_LEAD가 dispatch하고 I2(Diversity Validator)가 사후 Jaccard 검증.

26 페르소나 라이브러리(요약): P01 The Contrarian · P02 Operations Veteran · P03 Speed-Obsessed · P04 Cost-Conscious · P05 Design-Forward · P06 Spreadsheet Jockey(B2B power user) · P07 Mobile-First · P08 Slack-Native · P09 CLI Devotee · P10 Dreamer(5년 후) · P11 Pragmatist(오늘 출시) · P12 Privacy Hawk(E2E) · P13 Data Nerd(분석우선) · P14 Educator · P15 Community Builder · P16 Solo Founder · P17 Enterprise Buyer(SSO/감사) · P18 Designer(visual storytelling) · P19 Embedded(SDK only) · P20 OSS Maintainer · P21 Indie Hacker · P22 Researcher(학술) · P23 Game Designer · P24 Reluctant Adopter(회의적) · P25 AI-Native(LLM 워크플로 중심) · P26 Anti-AI(LLM 노출 0).

각 advocate의 산출물(1 idea → 6 fields):

Mockup 생성 프롬프트 지시: "Your advocate persona shapes the mockup. Mobile-First → phone frame; CLI Devotee → terminal screen; Designer → visual hero; Spreadsheet Jockey → dense data grid. Single self-contained HTML file, inline <style> only, no external CSS/fonts/images/CDN. Use system font stack. SVG placeholders for imagery. Max 500 lines. Must render identically offline."

다양성 vs 일관성: 26개 mockup은 페르소나별로 시각적으로 다르되, 전역 design-token palette(같은 chosen_preview idea 기반)는 공유 → I_LEAD가 OKLCH 기본 팔레트를 prompt에 포함.

다양성 보장: I2가 (target_persona × primary_surface) Jaccard ≥ 0.7 검출 시 해당 advocate에게 재작성 요청. 3회 실패 시 그 advocate skip 보고. Mockup은 추가로 구조 유사도(DOM tree hash) 검증.
비용: 26 advocate × (3K input + 600 pitch + ~3K mockup output) ≈ 170K tokens, Opus 4.7 약 $2.5 (Batch API로 실행 시 $1.25)
데모 비주얼: 26 노드가 동시에 깜빡이며 카드를 발사 → 각 카드가 실시간으로 mockup을 렌더 (Tailwind CDN으로 즉시 visual) → I2가 빨간 X로 중복 표시 → 26 카드 visual grid 완성

Stage 3: 4-패널(40명) + Mitigation Designer — PreviewDD 잠금

v2 변경: 단일 10인 패널 → 4개 전문 패널 동시 운영 + Strategist 4명이 meta-tally. Mitigation Designer(MD)가 dissent를 action item으로 변환.

패널리드핵심 관점구성원 (10명)
Technical Panel (TP)TP_LEAD코드/아키텍처/성능/보안기존 decision-panel 10인격 그대로
Business Panel (BP)BP_LEADROI/시장/고객/가격/GTMCEO·CFO·Sales·Marketing·CS·Competitor Analyst·Market Researcher·Pricing Expert·GTM Strategist·Board Observer
UX Panel (UP)UP_LEAD최종 사용자/디자인/접근성End User·Designer·Accessibility Advocate·Info Architect·Mobile UX·Content Designer·Usability Tester·Brand Voice·Visual Designer·Motion Designer
Risk/Security Panel (RP)RP_LEAD위협/blast radius/컴플라이언스Threat Modeler·Blast Radius Engineer·Compliance Officer·Auth Specialist·Data Privacy·Supply Chain·Incident Responder·Abuse Case·Red Team·Business Continuity

3-단계 결정 절차:

  1. 3a. 사전 컬링: 4개 패널 각자 26→5 추림. 4×10×5 = 200 mentions → 빈도 합산 top-7 본선 진출
  2. 3b. 패널별 본선 투표: 4 패널 동시 vote (tally.py 4번 병렬). 패널마다 1개 winner
  3. 3c. Meta-tally: 4 winner가 같으면 즉시 채택. 다르면 4 chair(TP/BP/UP/RP_LEAD) + M3 Dev PM 5명이 meta-vote → 다수결. 동률 시 M3가 결정권 (Strategist 역할)

Mitigation Designer (MD): 4 패널의 모든 dissent + Devil's Advocate 의견을 입력으로 → 다음 단계(Spec/Implementation)에 반영할 action item 목록 생성. 예: "RP의 Auth Specialist가 'OAuth 2.1 PKCE 누락' 지적 → SC1 Security Critic의 spec checklist에 추가" → 단순 보고가 아니라 실제 변경으로 이어짐.

출력: chosen_preview.json + panel_meta_tally.md + mitigations.json
비용: 컬링 200K + 본선 80K + meta 30K + MD 20K ≈ 330K, Opus 혼합 ≈ $5
데모 비주얼: 4개 동심원에 10인 아바타 배치 → 각 패널이 동시에 막대 그래프 채움 → 가운데 5명 chair가 합의 → MD가 dissent 카드를 action item 카드로 변환하는 애니메이션

Stage 4: OpenAPI/Swagger 우선 스펙 잠금

출력: specs/openapi.yaml (OpenAPI 3.1) + specs/data-model.prisma + specs/SPEC.md

  1. Spec Author 에이전트가 OpenAPI 초안 작성 (Opus 4.7, JSON mode)
  2. Spec Critic 에이전트가 정합성 체크 (URL 충돌, 누락 필드, 인증/인가, idempotency, error model)
  3. 양쪽 합의될 때까지 evaluator-optimizer 루프 (max 3 iter)
  4. 합의된 스펙을 저장 + SHA-256 해시를 specs/.lock에 기록

Lock 의미: 이후 단계에서 spec 변경 시 hash mismatch → 빌드 자동 중단 + 사용자 재승인 요구.
데모 비주얼: Swagger UI가 코드 생성처럼 한 줄씩 차오름 → 마지막에 🔒 Lock 아이콘

🔒 Gate H1 — PreviewDD → SpecDD 전환 (디자인 승인)

상세 플로우는 하단 Gate H1 참조. 여기서 사용자가 mockup을 Claude Design으로 tweak 후 승인 → design-approved.json이 생성되면 SpecDD 사이클 시작.

② SpecDD Cycle

Stage 4: 1 Spec Lead + 1 Author + 7 Specialist Critics

v2 변경: 1 critic → 7 specialist critics 병렬. SPEC_LEAD가 작성/비평 워크플로 조율.

Critic전문 영역주요 체크리스트
SC1 Security인증/인가/secretOAuth 2.1 PKCE, scopes, rate limit, OWASP API top 10
SC2 Performance응답 시간/페이징페이지네이션 표준, N+1 우려 endpoint, 캐시 헤더, 압축
SC3 AccessibilityUI 데이터 모델aria 속성용 필드, alt text 필드, 다국어 라벨 분리
SC4 i18n/L10n다국어/통화/시각모든 string에 locale 명시, BIGINT minor unit, ISO 8601 UTC
SC5 Idempotency동시성/멱등성Idempotency-Key 헤더 필수, ETag, optimistic locking
SC6 Error Model에러 응답 일관성RFC 7807 problem+json, 4xx/5xx 매트릭스, retry-after
SC7 API DesignREST 컨벤션리소스 명명, HTTP 메서드 의미, HATEOAS or not (선택)

Stage 5: 5 Engineering Teams 풀스택 scaffold — SpecDD 잠금

v2 변경: scaffold-builder 1명 → 5 분야별 팀(Backend/Frontend/Database/DevOps/SDK)이 각자 책임 영역을 병렬로 구현. 각 팀은 lead + 멤버 구조, lead가 M3에 진행률 보고.

리드 + 멤버출력 영역
Backend (BE)BE_LEAD · BE1 Controller · BE2 DTO/typia · BE3 Service · BE4 Repository · BE5 Auth/MWapps/api/src/**
Frontend (FE)FE_LEAD · FE1 App Router · FE2 Component · FE3 State · FE4 Tailwind · FE5 A11yapps/web/**
Database (DB)DB_LEAD · DB1 Schema · DB2 Migration · DB3 Seed · DB4 Query Optprisma/**
DevOps (DO)DO_LEAD · DO1 Docker · DO2 Caddy · DO3 CI/CD · DO4 Env/Secretsdeploy/** · .github/workflows/**
SDKSDK_LEAD · SDK1 Nestia · SDK2 TS Clientpackages/sdk/**
generated/<project_id>/
├── apps/api/         ← BE팀 (6명)
├── apps/web/         ← FE팀 (6명)
├── packages/sdk/     ← SDK팀 (3명)
├── specs/            ← Spec Dept 출력 (잠금됨)
├── deploy/           ← DO팀 (5명)
├── prisma/           ← DB팀 (5명)
└── tests/            ← QA Dept 출력 (Stage 6)

팀 간 동기화: M3 Dev PM이 각 팀 lead로부터 standup 형식의 진행률 수집 → 의존성 충돌 발견 시 우선순위 조정 (예: BE2 DTO가 SDK1 generation을 block).
빌드 검증: pnpm install && pnpm -r build && pnpm --filter api exec nestia swagger → openapi-diff. 불일치 시 SPEC_LEAD에게 escalate 또는 SCC_LEAD 자기수정 루프 진입.

③ TestDD Cycle

Stage 6: QA Dept 4팀 + Self-Correction Squad

v2 변경: test-runner 1명 → 4개 QA 팀(Functional/Security/Performance/Accessibility) + 5명 Self-Correction Squad.

QA 팀리드 + 멤버역할
Functional QAQA_LEAD · QA1 Unit · QA2 E2E · QA3 Property · QA4 HoldoutVitest + Playwright + fast-check, holdout 20% 분리
Security QASECQA_LEAD · SQ1 SAST · SQ2 Secret Scansemgrep/snyk + secretlint
Performance QAPERFQA_LEAD · PQ1 Bundle · PQ2 Loadnext bundle analyzer + autocannon load test
Accessibility QAA11YQA_LEAD · AQ1 Axe · AQ2 Color/SRaxe-core + Playwright a11y rules

Self-Correction Squad (5명):

자기수정 루프 (evaluator-optimizer):

while score < 499 and iter < MAX_ITER (=10):
    run all visible tests + lint + typecheck + nestia-staleness gate
    score = compute_score()
    if score >= 499: break
    diff = critic_agent.analyze(failures, spec, code)
    if diff.requires_spec_change: ESCALATE_TO_HUMAN
    apply_diff_via_managed_agent_bash()
# holdout으로 최종 검증
holdout_score = run_holdout_tests()
if holdout_score < visible_score - 50: FLAG_OVERFIT

Stage 7: 500점 Judge Council + Specialist Auditors — TestDD 잠금 (freeze)

v2 변경: score-judge 1명 → 5인 Judge Council(카테고리당 1명) + 5인 Specialist Auditor(독립 감사). Judge가 점수 매기고, Auditor가 그 점수를 다시 검증.

J1 Spec
Conformance
100
J2 Tests &
Type Safety
100
J3 Security &
Policy
100
J4 Build &
Bundle
100
J5 Demo
Readiness
100
카테고리 (Judge)측정 도구독립 Auditor
J1 Spec Conformanceopenapi-diff · 100 - (delta×5), floor 0AU1 License Auditor (의존성 라이선스 호환)
J2 Tests & Type SafetyVitest visible+holdout + tsc strictAU3 Performance Auditor (벤치마크)
J3 Security & Policynpm audit + secretlint + blocked_actionsAU4 Security Auditor (deep SAST)
J4 Build & Bundlepnpm build + bundle <500KB + image <300MBAU2 Bundle Auditor (treeshake 효율)
J5 Demo Readinessdocker up + /health 200 + screenshot OKAU5 Accessibility Auditor (WCAG 2.2 AA)

합격 규칙: ≥499 (Judge 합산) AND 5명 Auditor 모두 PASS = freeze. Judge는 통과해도 Auditor 1명이라도 FAIL이면 재수정. 이 이중 게이트가 "self-judge 편향"을 막음.

freeze 후: Documentation Squad(DOC1 README + DOC2 Changelog + DOC3 Demo Script) 3명이 병렬로 README, CHANGELOG.md, 데모 영상 스크립트 자동 작성.

🔒🚀 Gate H1 + H2 — 사이클 사이 인간 승인 (단 2번)

Gate H1 — PreviewDD → SpecDD 전환: 디자인 승인 (Claude Design 메인, 내장 Studio fallback)
언제: Stage 4 spec lock 직후, Stage 5 scaffold 시작 전
메인 플로우 — Claude Design:
  1. Plugin이 /pf:design slash command 자동 트리거
  2. M3 Dev PM이 chosen_preview.json + specs/openapi.yaml + mockups/chosen.html을 Claude Design prompt 템플릿으로 패키징 → 사용자에게 "Claude Design에서 열기" 자동 안내 (claude.ai/design 탭)
  3. 사용자가 tweaks 모드(임베디드 슬라이더·컬러픽커)로 조정 · edit 모드(property inspector)로 레이아웃 수정 · wireframe ↔ high-fidelity 토글
  4. Claude Design의 "Send to Claude Code" 버튼 클릭 → PROMPT.md 번들(stack, screens, design tokens) 자동 생성 → plugin이 runs/<id>/design-bundle/로 수신 → Blackboard design.approved set → Stage 5 FE Team이 consume
Fallback — 내장 Design Studio (Claude Design 사용 불가·명시 선택 시):
  1. /design-studio/<run_id> Next.js route 자동 오픈
  2. 26 mockup iframe grid + chosen mockup 큰 미리보기
  3. native HTML5 tweak panel: 테마 컬러 픽커 · 폰트 크기 슬라이더 · 밀도 토글 · wireframe↔high-fi · dark/light
  4. Live preview via postMessage (iframe CSS variables 업데이트)
  5. ✅ Approve → 동일 포맷의 design-approved.json 생성
공통 승인 버튼: ✅ Approve · 🔄 Re-roll (Stage 2부터 다시) · ✏️ Edit spec (수동 수정 후 lock 재계산)
Gate H2 — TestDD freeze → 배포 전환: 배포 승인
언제: Stage 7 freeze 직후
무엇을 승인: 500점 리포트 + 데모 스크린샷 (Playwright · 2576px high-res) + 배포 대상 (localhost / Vercel preview / 사용자 서버)
선택지: ✅ Deploy · 📥 Download artifacts (tar.gz) · 📦 Export as Claude Code plugin (/pf:export) · ❌ Reject (이유 기록 → 학습)

§5에이전트 카탈로그 (전문가 에이전트 구조)

5.1 143개 에이전트 — 부서별 카탈로그

모든 agent는 (이름) · (모델) · (보고선) · (allowed_scope) 4-튜플을 가집니다. 143개 전부 Claude Opus 4.7 (claude-opus-4-7) 전용 — Built with Opus 4.7 해카톤 부상 카테고리 정합. 비용은 prompt caching 1h TTL + Batch API + context editing(context-management-2025-06-27)로 최적화.

Tier 1 · Meta (3 agents)

ID이름모델보고선핵심 책임
M1run-supervisorOpus 4.7(top)모든 watcher의 watcher. kill switch, escalation, pause/resume/abort
M2cost-monitorOpus 4.7M1API 토큰·요청 누적 추적, 임계 도달 시 Slack/UI 경고. 차단 안 함(soft cap)
M3chief-engineer-pmOpus 4.7M1개발총괄 PM. 모든 dept lead 보고선. cross-team 충돌 조정. standup 운영

Tier 2 · Ideation Department (29 agents)

ID이름모델보고선핵심 책임
I_LEADideation-leadOpus 4.7M326 advocate dispatch + 결과 수집 + I2와 협력하여 dedup
I1idea-clarifierOpus 4.7I_LEADStage 1 brainstorming. idea가 짧으면 socratic 질문
I2diversity-validatorOpus 4.7I_LEAD26 카드 사후 Jaccard ≥0.7 검출, 재작성 요청
P01advocate-contrarianOpus 4.7I_LEADThe Contrarian — 항상 비주류 surface 선택
P02advocate-ops-veteranOpus 4.7I_LEADThe Operations Veteran — 운영 비용을 가장 먼저
P03advocate-speedOpus 4.7I_LEADThe Speed-Obsessed — 가장 빠른 MVP
P04advocate-costOpus 4.7I_LEADThe Cost-Conscious — 가장 싼 스택
P05advocate-designOpus 4.7I_LEADThe Design-Forward — UX 우선
P06advocate-spreadsheetOpus 4.7I_LEADThe Spreadsheet Jockey — B2B power user 렌즈
P07advocate-mobile-firstOpus 4.7I_LEADThe Mobile-First — 모바일이 primary
P08advocate-slack-nativeOpus 4.7I_LEADThe Slack-Native — 일이 일어나는 곳
P09advocate-cliOpus 4.7I_LEADThe CLI Devotee — 터미널 우선
P10advocate-dreamerOpus 4.7I_LEADThe Dreamer — 5년 후 가능
P11advocate-pragmatistOpus 4.7I_LEADThe Pragmatist — 오늘 출시
P12advocate-privacy-hawkOpus 4.7I_LEADThe Privacy Hawk — E2E by default
P13advocate-data-nerdOpus 4.7I_LEADThe Data Nerd — 분석 우선
P14advocate-educatorOpus 4.7I_LEADThe Educator — 사용자를 가르침
P15advocate-communityOpus 4.7I_LEADThe Community Builder — 다중 사용자 day 1
P16advocate-solo-founderOpus 4.7I_LEADThe Solo Founder — 1인 운영자
P17advocate-enterpriseOpus 4.7I_LEADThe Enterprise Buyer — SSO/audit/compliance
P18advocate-designerOpus 4.7I_LEADThe Designer — visual storytelling
P19advocate-embeddedOpus 4.7I_LEADThe Embedded — SDK only, no UI
P20advocate-ossOpus 4.7I_LEADThe OSS Maintainer
P21advocate-indieOpus 4.7I_LEADThe Indie Hacker
P22advocate-researcherOpus 4.7I_LEADThe Researcher — 학술 각도
P23advocate-game-designerOpus 4.7I_LEADThe Game Designer — playful, fun
P24advocate-reluctantOpus 4.7I_LEADThe Reluctant Adopter — 회의적 lens
P25advocate-ai-nativeOpus 4.7I_LEADThe AI-Native — LLM 워크플로 중심
P26advocate-anti-aiOpus 4.7I_LEADThe Anti-AI — 제품 표면에 LLM 노출 0

Tier 3 · 4-Panel Decision Department (44 agents) + Mitigation Designer (1)

각 패널은 lead 1 + 멤버 10. 모든 lead는 M3에 보고. decision-panel 스킬의 페르소나 라이브러리를 4개 도메인에 매핑.

패널 (lead)멤버 (10명, 모두 Opus 4.7)
TP_LEAD Technical Panel Chair (Opus 4.7) TP01 Strategist · TP02 Devil's Advocate · TP03 Critical Reviewer · TP04 ROI Analyst · TP05 Risk Engineer · TP06 Domain Expert · TP07 Operator · TP08 Security Auditor · TP09 Pragmatist · TP10 Innovator (decision-panel 스킬 그대로)
BP_LEAD Business Panel Chair BP01 CEO Mindset · BP02 CFO · BP03 Sales · BP04 Marketing · BP05 Customer Success · BP06 Competitor Analyst · BP07 Market Researcher · BP08 Pricing Expert · BP09 GTM Strategist · BP10 Board Observer
UP_LEAD UX Panel Chair UP01 End User · UP02 Designer · UP03 Accessibility Advocate · UP04 Information Architect · UP05 Mobile UX · UP06 Content Designer · UP07 Usability Tester · UP08 Brand Voice · UP09 Visual Designer · UP10 Motion Designer
RP_LEAD Risk/Security Panel Chair RP01 Threat Modeler · RP02 Blast Radius Engineer · RP03 Compliance Officer · RP04 Auth Specialist · RP05 Data Privacy · RP06 Supply Chain · RP07 Incident Responder · RP08 Abuse Case Designer · RP09 Red Team · RP10 Business Continuity
ID이름모델보고선핵심 책임
MDmitigation-designerOpus 4.7M34-패널 dissent + Devil's Advocate 의견 → spec/test action item으로 변환. 단순 보고가 아니라 실행으로 연결

Tier 4 · Spec Department (9 agents)

ID이름모델보고선핵심 책임
SPEC_LEADspec-leadOpus 4.7M3spec author/critic 워크플로 조율, 합의 게이트 운영
SPEC_AUTHORspec-authorOpus 4.7SPEC_LEADOpenAPI 3.1 + Prisma + SPEC.md 초안 작성
SC1spec-critic-securityOpus 4.7SPEC_LEADOAuth 2.1 PKCE, scopes, OWASP API top 10
SC2spec-critic-performanceOpus 4.7SPEC_LEAD페이지네이션, N+1, 캐시 헤더
SC3spec-critic-a11yOpus 4.7SPEC_LEADaria, alt text, 접근성 데이터 모델
SC4spec-critic-i18nOpus 4.7SPEC_LEAD다국어 분리, BIGINT minor unit, ISO 8601 UTC
SC5spec-critic-idempotencyOpus 4.7SPEC_LEADIdempotency-Key, ETag, optimistic locking
SC6spec-critic-error-modelOpus 4.7SPEC_LEADRFC 7807, 4xx/5xx 매트릭스, retry-after
SC7spec-critic-api-designOpus 4.7SPEC_LEADREST 컨벤션, 리소스 명명, 메서드 의미

Tier 5 · 5 Engineering Teams (25 agents)

팀 (lead)멤버출력 영역
BE_LEAD Backend Team Lead (Opus 4.7) BE1 Controller · BE2 DTO/typia · BE3 Service · BE4 Repository · BE5 Auth/Middleware (전부 Opus 4.7 + Layer B bash) apps/api/src/**
FE_LEAD Frontend Team Lead (Opus 4.7) FE1 App Router · FE2 Component (shadcn/ui) · FE3 State Mgmt · FE4 Tailwind · FE5 A11y apps/web/**
DB_LEAD Database Team Lead (Opus 4.7) DB1 Schema · DB2 Migration · DB3 Seed Data · DB4 Query Opt prisma/**
DO_LEAD DevOps Team Lead (Opus 4.7) DO1 Docker/Compose · DO2 Caddy · DO3 CI/CD · DO4 Env/Secrets deploy/** · .github/workflows/**
SDK_LEAD SDK Team Lead (Opus 4.7) SDK1 Nestia Generator · SDK2 TS Client packages/sdk/**

Implementation Team들은 모두 Layer B (Managed Agents) 세션 내부에서 실행. 빌드·테스트가 hours 단위 long-running이어도 OK.

Tier 5 · QA Department (14 agents)

팀 (lead)멤버도구
QA_LEAD Functional QA (Opus 4.7) QA1 Unit · QA2 E2E · QA3 Property · QA4 Holdout Curator Vitest · Playwright · fast-check
SECQA_LEAD Security QA (Opus 4.7) SQ1 SAST · SQ2 Secret Scan semgrep · secretlint
PERFQA_LEAD Performance QA (Opus 4.7) PQ1 Bundle Analyzer · PQ2 Load Test next bundle analyzer · autocannon
A11YQA_LEAD Accessibility QA (Opus 4.7) AQ1 Axe Runner · AQ2 Color/Screen Reader axe-core · Playwright a11y

Tier 5 · Self-Correction Squad (5 agents)

ID이름모델보고선핵심 책임
SCC_LEADself-correction-leadOpus 4.7M3실패 분류 + 도메인 fixer에 라우팅, spec_violation은 escalate
SCC_BEscc-backend-fixerOpus 4.7SCC_LEADNestJS/typia/Prisma 영역 버그 fixer
SCC_FEscc-frontend-fixerOpus 4.7SCC_LEADNext.js/Tailwind 영역 버그 fixer
SCC_TYPEscc-type-resolverOpus 4.7SCC_LEADtsc strict + typia validation 실패 fixer
SCC_DEPscc-dep-resolverOpus 4.7SCC_LEAD의존성/import/lockfile 충돌 fixer

Tier 5 · Judge Council (5 agents) + Specialist Auditors (5 agents)

ID이름모델보고선핵심 책임
J1judge-spec-conformanceOpus 4.7M3openapi-diff 점수화 (0–100)
J2judge-tests-typesOpus 4.7M3Vitest visible+holdout + tsc strict
J3judge-security-policyOpus 4.7M3npm audit + secretlint + blocked_actions
J4judge-build-bundleOpus 4.7M3pnpm build + bundle/image size
J5judge-demo-readinessOpus 4.7M3docker up + /health + screenshot
AU1auditor-licenseOpus 4.7M3전 의존성 SPDX 라이선스 호환성, GPL/AGPL 차단
AU2auditor-bundleOpus 4.7M3treeshake 효율, dead code, dynamic import
AU3auditor-performanceOpus 4.7M3Lighthouse/벤치마크, p99 latency
AU4auditor-securityOpus 4.7M3deep SAST, threat model 재검증
AU5auditor-a11yOpus 4.7M3WCAG 2.2 AA, 키보드 네비, 색대비

Tier 5 · Documentation Squad (3 agents)

ID이름모델보고선핵심 책임
DOC1doc-readme-writerOpus 4.7M3README.md 작성 (설치·사용·라이선스·credits)
DOC2doc-changelog-writerOpus 4.7M3CHANGELOG.md (Conventional Commits 포맷)
DOC3doc-demo-script-writerOpus 4.7M33분 데모 영상 스크립트 + voiceover
합계 검증
Meta 3 + Ideation 29 + 4-Panel(4 lead + 40 member + MD) 45 + Spec 9 + Eng Teams(5 lead + 20 member) 25 + QA(4 lead + 10 member) 14 + SCC 5 + Judges 5 + Auditors 5 + Docs 3 = 143 agents

5.2 핵심 에이전트 컨트랙트 (대표 5개 발췌)

아래 5개는 대표 컨트랙트. 나머지 138개는 동일 schema(name/inputs/outputs/preconditions/postconditions/allowed_scope/forbidden/fail_modes)로 정의되며 Day 1–2에 YAML 파일로 일괄 commit 예정.

A1 · preview-generator

name: preview-generator
inputs:
  - idea (string, 10-280 chars)
  - domain_hint (optional)
  - budget_cap_usd (optional)
outputs:
  - previews.json (array of 26 PreviewCard objects)
  - cost_report.json
preconditions:
  - idea.length >= 10
postconditions:
  - len(previews) == 26
  - no duplicate (target_persona, primary_surface) pairs
  - each card has all 5 tuple fields non-empty
fail_modes:
  - dedup retry (1회) → 그래도 중복 → user_escalate
  - JSON parse fail → 1회 재시도, 실패 시 abort
allowed_scope:
  - read: idea.json
  - write: previews.json, cost_report.json
forbidden:
  - any network call to non-anthropic endpoints
  - file writes outside generated/<project_id>/

A12 · spec-author

name: spec-author
inputs:
  - chosen_preview.json
  - panel_report.md (mitigations 추출용)
outputs:
  - specs/openapi.yaml (OpenAPI 3.1)
  - specs/data-model.prisma
  - specs/SPEC.md
constraints:
  - 모든 write endpoint는 Idempotency-Key 헤더 + 4xx 정의 포함
  - 통화 필드는 BIGINT (KRW/USD-cents)
  - 인증은 chosen_preview.target_persona에 맞춰 (B2B → API key, B2C → OAuth)
  - 에러 응답은 RFC 7807 problem+json
postconditions:
  - openapi.yaml은 spectral default ruleset 통과
  - prisma schema는 prisma format 통과
fail_modes:
  - critic이 3회 reject → ESCALATE_TO_HUMAN

A14 · scaffold-builder

name: scaffold-builder
runs_in: Managed Agents session (long-running, ~10-20min)
inputs:
  - specs/openapi.yaml
  - specs/data-model.prisma
  - nestia-solo-fullstack assets/* templates
outputs:
  - generated/<project_id>/{apps,packages,deploy,prisma,tests}
  - build_log.txt
allowed_scope:
  - read/write: generated/<project_id>/**
  - bash: pnpm, node, docker (build only — never push, never deploy)
forbidden:
  - any bash matching software-factory pre-bash-irreversible-check.sh patterns
  - any edit to ~/.claude/, /etc/, $HOME outside cwd
checkpoints:
  - after pnpm install: smoke check (pnpm -v)
  - after nestia sdk: hash specs/swagger.json, compare with openapi.yaml
  - after build: dump bundle sizes
on_failure:
  - retry once with verbose log
  - if still fail: hand off to self-correction-critic with full log

A16 · self-correction-critic

name: self-correction-critic
loop:
  while score < 499 and iter < 10:
    1. fetch latest test/lint/build/typecheck failures
    2. classify failure type:
       - spec_violation → STOP (cannot fix code without changing spec)
       - test_flake → quarantine + log
       - code_bug → propose minimal diff
       - dep_missing → propose pnpm add command
    3. apply diff via Managed Agents bash/edit tools
    4. re-run score-judge
forbidden:
  - cannot modify specs/openapi.yaml (locked)
  - cannot modify tests/.holdout/* (overfit prevention)
  - cannot delete tests to make build pass (anti-pattern, hard-blocked)
escalation:
  - score plateau (3 iter no improvement) → human
  - any spec_violation → human
  - iter >= 10 → human with full trace

A17 · score-judge

category_1_spec_conformance:
  - openapi-diff specs/openapi.yaml apps/api/specs/swagger.json
  - score = 100 - (delta_count * 5), floor 0
category_2_tests_types:
  - vitest run --reporter=json (visible)
  - vitest run tests/.holdout --reporter=json
  - tsc --noEmit
  - score = (visible_pass + holdout_pass + tsc_clean ? 100 : 0)
category_3_security:
  - npm audit --audit-level=critical
  - secretlint .
  - software-factory blocked_actions audit (no violation in build_log)
category_4_build_bundle:
  - pnpm -r build
  - next bundle analyzer JSON
  - docker build --no-cache size check
category_5_demo_readiness:
  - docker compose up -d, wait 60s
  - curl /health == 200
  - playwright capture screenshot of seeded /
outputs:
  - score/report.json (per-category breakdown)
  - score/total.txt (single number)
  - score/badges.svg (for README)

5.3 통신 프로토콜 — Hierarchical + Blackboard Hybrid

v2는 순수 위계. v3는 보고선은 위계로, 정보 공유는 Blackboard로 hybrid. arxiv 2510.01285 — "blackboard가 AutoGen·Data Interpreter보다 적은 토큰으로 더 높은 성능".

5.4 Memory Architecture — Full 4-layer (실수반복 방지)

social-seeding-platform 패턴 차용 + Anthropic Memory Tool + Reflexion을 결합한 4-layer 메모리. 새 run 시작 전 M1 Run Supervisor가 반드시 참조하여 모든 lead에게 프리로드.

Layer파일/도구주기내용갱신 주체
L1 · Session Rulesmemory/CLAUDE.mdplugin 버전별 1회plugin 세션 룰, 반드시 읽어야 할 파일 목록, 절대 규칙plugin 개발자(초기) + M3(증분)
L2 · Run Indexmemory/PROGRESS.mdrun당 1회최근 run 인덱스, 상태(freeze/failed), 다음 작업M3 (run 종료 시)
L3 · Failure Catalogmemory/LESSONS.md실패·재발견마다10+ 카테고리의 "문제 → 원인 → 해결 → 참조". 예: "Nestia swagger drift → openapi-diff hash mismatch → 즉시 self-correction 진입"Auto-retro critic(자동) + M3(승인)
L4 · Agent EpisodicAnthropic Memory Tool (memory_20250818) 하의 /memories/agents/<id>/reflection.md각 agent task 종료마다Reflexion 패턴 — "이 task에서 뭐가 잘됐나 / 뭐가 안됐나 / 다음에 뭘 다르게 할까". 에이전트 개인 log해당 agent 자신

새 run 시작 시퀀스 (M1 Run Supervisor가 enforce):

  1. /pf:new "아이디어" 호출
  2. M1이 memory/CLAUDE.md 읽음 → session rules 적재
  3. M1이 memory/PROGRESS.md 읽음 → 직전 run 상태 확인 (resume 가능 여부)
  4. M1이 memory/LESSONS.md 읽음 → 모든 dept lead에게 "이번 run에서 절대 피할 것" 프리로드
  5. M1이 Memory Tool view /memories/agents → 과거 agent episodic 검색, 관련된 것만 해당 agent에 주입
  6. Ideation Dept 활성화, 본격 실행 시작

Auto-retro (run 종료 시): M3 Dev PM이 자동으로 Reflexion critic에 다음 3개 질문:

  1. "이 run에서 작동한 패턴 중 재사용할 것?" → CLAUDE.md의 "작동 패턴" 섹션 append
  2. "이 run에서 실패한 패턴 중 다시 겪지 말아야 할 것?" → LESSONS.md append (문제 → 원인 → 해결)
  3. "이 run에서 발견된 새 규칙?" → CLAUDE.md의 "절대 규칙" 섹션 append

각 answer는 M3가 검토 후 memory/에 commit. 사람 개입 없이 자가학습 루프 완성 — Anthropic 자체 보고(+39% on multi-step tasks with Memory Tool + context editing).

5.5 AskUserQuestion Layer-0 Enforcement

plugin의 hooks/hooks.json에 PreToolUse 훅을 등록하여 사용자 질문을 통제합니다.

케이스허용차단 이유
AskUserQuestion(questions=[{options: [...]}])2–4지 구조화 옵션 + 설명 + 권장 1순위 포함
agent가 자유형으로 "사용자님, X 중 무엇을 원하세요?" 출력과거 해카톤에서 채점 받았던 "통제 약화" 패턴. 훅이 output scan하여 경고 + 재시도 요구
AskUserQuestion 옵션이 1개 또는 5개 이상도구 스펙 위반 (2–4지). 훅이 차단
AskUserQuestion 중 "(Recommended)"가 1순위가 아님⚠️warn만 (훅이 재배치 제안)
production_deploy / DROP DATABASE / force-push 등 destructive bashsoftware-factory의 7개 비협상 규칙 (Layer-0) — Gate H2 승인 전까지 hard block

hook 예시 (hooks/hooks.json):

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [{ "type": "command", "command": "python3 ${CLAUDE_PLUGIN_ROOT}/hooks/factory-policy.py" }]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Agent",
        "hooks": [{ "type": "command", "command": "python3 ${CLAUDE_PLUGIN_ROOT}/hooks/askuser-enforcement.py" }]
      },
      {
        "matcher": "Edit|Write",
        "hooks": [{ "type": "command", "command": "python3 ${CLAUDE_PLUGIN_ROOT}/hooks/auto-retro-trigger.py" }]
      }
    ]
  }
}

5.6 Deterministic Replay — trace.jsonl

모든 agent 호출·응답·Blackboard write·Memory read/write가 runs/<id>/trace.jsonl에 append. schema: {ts, agent_id, event_type, input_hash, output_hash, tokens, duration_ms, error?}. 전체 run을 오프라인에서 재생 가능 → (a) 버그 재현 (b) 데모 영상에서 "왔었던 그 순간" 재생 (c) LESSON 생성 시 증거로 첨부.

5.7 Adaptive Thinking + Task Budgets + Effort

Claude Opus 4.7의 thinking 모드는 Adaptive만 지원 (extended thinking budgets 제거됨). 기본 off, 의사결정 agent에서 thinking: {type: "adaptive", display: "summarized"} 명시 활성화. Effort는 에이전트 역할별로 차등:

역할군effortadaptive thinkingtask_budget
4 Panel Chairs · SPEC_AUTHOR · SC1–SC7 · 5 Auditors · MDxhighenabled (display: summarized)120K (advisory)
Engineering Team Leads · SPEC_LEAD · SCC_LEAD · M3 Dev PMhighenabled80K
Engineering members · QA members · SCC fixers · Judgeshighoff40K
26 Advocates · Docs · I1/I2 · Cost Monitormediumoff20K (minimum)

Task Budgets beta(task-budgets-2026-03-13): agentic loop 전체(thinking + tool + output)에 advisory cap 제공. 모델이 countdown을 보며 graceful finish. max_tokens는 128K(하드캡), task_budget은 역할별 advisory.

5.8 Opus 4.7 + 컨텍스트 엔지니어링 통합 매트릭스

Claude Opus 4.7 + 2025-09 ~ 2026-04 출시된 모든 컨텍스트 기능을 본 시스템에서 어떻게 활용하는지 전수 매핑. Anthropic 내부 벤치마크: memory + context editing 결합 시 복잡한 multi-step task에서 +39% 성능.

기능 · 베타 헤더출시본 시스템 적용처효과
Adaptive Thinking
(Opus 4.7 전용)
2026-04모든 의사결정 agent (Panels/Spec/Auditor/MD)Extended thinking budgets 대체, 더 강한 추론
Task Budgets
task-budgets-2026-03-13
2026-03Agent 역할별 20K–120K advisory capGraceful finish, 토큰 over-spend 방지
1M Context Window
(표준 API 가격)
2026-04Implementation Team이 전체 codebase + spec + openapi.yaml 동시 보유Long-context premium 없음
Prompt Caching 1h TTL
"cache_control": {"ttl": "1h"}
2025-Q4143 agent system prompts + CLAUDE.md + LESSONS.md + methodology/global.md 전부 cache 대상Cache read = base 10%, 실 지출 -50–70%
Context Editing — Tool Use Clearing
context-management-2025-06-27
clear_tool_uses_20250919
2025-06Implementation/QA Team: 대용량 tool 결과(file reads, npm install logs) 30K 초과 시 자동 clear. memory tool 결과는 exclude_tools: ["memory"]로 보존Peak context 335K → 173K (49% 감소)
Context Editing — Thinking Clearing
clear_thinking_20251015
2025-10긴 자기수정 루프 중 누적 thinking blocks 자동 제거Context rot 방지, 토큰 절감
Compaction
compact_20260112
2026-01Run Supervisor(M1) 세션: 150K tokens 트리거, custom instructions로 "절대 잊지 말 것: chosen preview 5-tuple, spec hash, freeze score"단일 run 전체 대화를 하나의 M1 세션으로 유지 가능
Memory Tool
memory_20250818
2025-08L4 agent episodic (Reflexion) + cross-run 지식. client-side /memories 핸들러로 plugin의 memory/에 매핑Memory + Context Editing 결합 = +39%
Fine-grained Tool Streaming
(GA, 헤더 불필요)
2026-Q1 GAscaffold-builder가 긴 파일 생성 시 JSON validation 없이 즉시 스트림 → UI에 실시간 표시Large tool params latency 제거
Citations (search result content blocks)2025-Q4 betaSpec critics가 OWASP/RFC 7807 등 reference 인용 시 자동 citationRAG-style 출처 추적 자동화
Files API2025-Q426 Advocate에게 공통으로 전달할 idea context (seed-ideas 참조 자료)를 Files로 1회 업로드 후 ID 참조반복 전송 절감
Batch API (50% 할인)2024-Q4DOC Squad(README/Changelog/Demo Script 작성) · Auto-retro LESSON 추출 · 시드 idea bank 사전 검증비실시간 작업 -50%
Agent Skills 포맷2025-12"Single agent assumes different identities" — Plugin의 3 skill(run-bootstrap/scaffold/mitigation-design)이 on-demand identity switchingSubagent 생성 없이 행동 전환
High-resolution Images (2576px)2026-04Playwright 스크린샷(J5 Demo Readiness) + A11y QA의 색대비 screenshot픽셀 1:1 매핑, 좌표 스케일링 불필요
Subagent Context Isolation
(Anthropic 공식 권장)
26 Advocate · 40 Panelist · 25 Engineer 각자 격리된 context window. Lead만 집계 결과 보유Lead context 폭발 방지, Anthropic +90.2% 패턴
Managed Agents
managed-agents-2026-04-01
2026-04Stage 5–6 (Engineering + QA)를 Managed Agents 세션에서. p50 time-to-first-token -60%, p95 -90%Long-running hours-OK, 세션 resume
Claude Design (Pro/Max 기본 포함)2026-04-17Gate H1 메인 디자인 승인 인터페이스. chosen_preview → Claude Design prompt 패키징 → tweaks·edit·wireframe↔high-fi → "Send to Claude Code" 번들Opus 4.7 vision + design 능력 자체 구현 대신 플랫폼 네이티브로 활용
Plugin 내장 Design Studio (fallback)이 프로젝트Claude Design 사용 불가·offline 시 Next.js route로 동등 UX 제공. 26 mockup iframe + native HTML5 tweak제3자 의존 0, 완전 자체완결 fallback

5.9 M1 Run Supervisor의 컨텍스트 관리 프로토콜

M1은 단일 세션으로 run 전체(수 시간)를 운영. 아래 스택을 조합:

context_management = {
  "edits": [
    { "type": "clear_tool_uses_20250919",
      "trigger": {"type": "input_tokens", "value": 30000},
      "keep": {"type": "tool_uses", "value": 6},
      "clear_at_least": {"type": "input_tokens", "value": 10000},
      "exclude_tools": ["memory"] },
    { "type": "clear_thinking_20251015",
      "trigger": {"type": "input_tokens", "value": 80000} },
    { "type": "compact_20260112",
      "trigger": {"type": "input_tokens", "value": 600000},
      "instructions": "Preserve exactly: chosen_preview.5-tuple, specs/openapi.yaml SHA-256, panel_meta_tally winner, current freeze score, any LESSON appended this run." }
  ]
}

tools = [
  {"type": "memory_20250818", "name": "memory"},  # /memories 핸들러
  {"type": "web_search_20250305", "name": "web_search"},  # optional
  # Agent SDK Task tool로 143 subagent 호출
]

betas = [
  "context-management-2025-06-27",
  "compact-2026-01-12",
  "task-budgets-2026-03-13",
  "managed-agents-2026-04-01"
]

# System prompt · CLAUDE.md · LESSONS.md · methodology/global.md
# 전부 cache_control ttl="1h"로 캐싱
system = [
  {"type": "text", "text": LAYER_0_RULES,
   "cache_control": {"type": "ephemeral", "ttl": "1h"}},
  {"type": "text", "text": CLAUDE_MD + LESSONS_MD,
   "cache_control": {"type": "ephemeral", "ttl": "1h"}},
]

이 한 세션이 run 종료까지 이어지며, Blackboard·Memory Tool·Context Editing·Compaction이 협력하여 1M context window 안에서 무한 가까운 작업이 가능.

§6기술 스택 + Opus 4.7 사용 매트릭스

6.1 핵심 의존성 (모두 OSS-safe)

영역선택라이선스이유
언어TypeScript 5.6Apache-2.0백/프론트/SDK 통일, nestia 요구
런타임/패키지Node.js 20 LTS, pnpm 9MIT/Apache모노레포 가벼움
오케스트레이터 (Layer A)@anthropic-ai/sdk Agent SDKMIT공식, Opus 4.7 지원
Managed Agents (Layer B)@anthropic-ai/sdk beta + managed-agents-2026-04-01 헤더MIT4/8 출시
백엔드 (생성됨)NestJS 10 + @nestia/core + @nestia/sdk + typiaMITspec-first, 타입이 source of truth
DB (생성됨)Prisma + PostgreSQL 16Apache-2.0/PostgreSQLnestia-solo-fullstack 호환
프론트 (Layer C + 생성됨)Next.js 14 App Router + Tailwind + shadcn/ui + Framer MotionMIT빠른 데모 + 재사용
테스트Vitest + fast-check + PlaywrightMITproperty-based + e2e
스코어링@stoplight/spectral, openapi-diff, secretlint, npm auditApache/MIT점수 자동화
로컬 상태SQLite + better-sqlite3MIT/Apacheembedded, 데모용
배포 (생성됨)Docker Compose + CaddyApache-2.0nestia-solo-fullstack 템플릿
로컬 데모 시작pnpx preview-forge "<idea>"1-shot 실행
금지 의존성
폐쇄 모델, 유료 전용 SDK, GPL/AGPL 의존성(라이선스 호환 위반), Anthropic 정책상 핵심 컴포넌트로 비-Anthropic LLM 사용 금지.

6.2 Opus 4.7 사용 매트릭스 (Most Creative 부상 조준)

사용처평범한 패턴우리가 하는 것
아이디어 발산"코드 짜줘" 단일 호출26명의 독립 advocate가 각자 다른 페르소나로 1장씩 작성 (n=26 샘플링이 아님)
의사결정"Claude야 골라줘"4개 패널(40명) 동시 + 4 chair + Dev PM의 meta-tally + Mitigation Designer가 dissent → action item
스펙 작성코드 보고 OpenAPI 추출1 author + 7 specialist critic evaluator-optimizer + SHA-256 hash lock
구현1명이 전부 작성5 분야별 팀(BE/FE/DB/DO/SDK) × 팀장+멤버 병렬, M3 Dev PM이 standup으로 조율
QA"테스트도 짜줘"4 QA 팀(Functional/Security/Perf/A11y) + 5 SCC fixer + holdout 분리
채점1개 점수5 Judge × 5 독립 Auditor 이중 게이트 — self-judge 편향 차단
문서화"문서도 짜줘"3명 Doc Squad가 README/Changelog/Demo Script 병렬
사용자 상호작용매 단계 확인단 2번(디자인, 배포) — 신뢰는 143명의 합의가 보증
비용 정책hard cap (실패 시 멈춤)Soft cap — Cost Monitor M2가 추적·경고만, 차단 안 함. 데모 끝까지 완주 보장

데모 영상 메시지: "Opus 4.7을 143명의 인격으로 동시에 돌리고, 다섯 명이 채점하고, 다섯 명이 그 채점을 다시 감사하고, 사람한테는 두 번만 묻는다."

6.3 비용 추정 (e2e 1회당, soft cap)

단계주체토큰 추정비용 (혼합)
Stage 1I1 Clarifier~3K$0.05
Stage 226 Advocate + I2~95K$1.5
Stage 34 Panel(44) + MD + meta~330K$5
Stage 4SPEC_LEAD + author + 7 critics~80K$1.2
Stage 55 Eng Teams (25명, 전부 Opus 4.7)~600K$9 (1h cache hit 시 $3)
Stage 64 QA Teams + SCC × 평균 4 iter~400K$5
Stage 75 Judges + 5 Auditors~120K$2
Doc/Meta3 Docs + M1/M2/M3 overhead~80K$1.5
합계 (e2e 1회)~1.7M tokens~$24
$500 크레딧 한도~20회 e2e 가능

참고: 143 agent 전부 Opus 4.7. Prompt caching 1h TTL("cache_control": {"type": "ephemeral", "ttl": "1h"}) 적용으로 cache read는 base의 10%, write는 100% 추가. 143 agent system prompt·LESSONS.md·CLAUDE.md 모두 caching 대상이므로 실 지출은 표의 50–70% 수준. Batch API(DOC squad, LESSONS 추출 등 비실시간)로 추가 50% 절감.

§7로컬 빌드 + 데모 워크플로우

7.1 디렉토리 구조 (저장소 루트)

PreviewForgeForClaudeCode/
├── README.md                       # 설치·사용·라이선스
├── LICENSE                         # Apache-2.0
├── package.json                    # workspace root
├── pnpm-workspace.yaml
├── apps/
│   ├── orchestrator/               # Layer A
│   │   ├── src/
│   │   │   ├── cli.ts              # `pnpx preview-forge "<idea>"`
│   │   │   ├── server.ts           # Next.js API (UI ↔ orchestrator)
│   │   │   ├── stages/             # stage-1.ts ~ stage-8.ts
│   │   │   ├── agents/             # A1~A17 정의
│   │   │   └── managed/            # Managed Agents 세션 관리
│   │   └── package.json
│   └── dashboard/                  # Layer C (Next.js 14)
│       ├── app/
│       │   ├── page.tsx            # 한 줄 입력
│       │   ├── run/[id]/page.tsx   # 26 카드 + 패널 + 점수
│       │   └── api/
│       └── package.json
├── packages/
│   ├── core/                       # 공유 타입
│   ├── score-judge/                # Stage 7 채점 라이브러리
│   └── spec-locker/                # Stage 4 OpenAPI 도구
├── runs/                           # 실행 결과물
│   └── <run_id>/
│       ├── idea.json
│       ├── previews.json
│       ├── panel_report.md
│       ├── chosen_preview.json
│       ├── specs/
│       ├── generated/              # 생성된 풀스택 앱
│       ├── score/
│       └── trace.jsonl
├── claudedocs/                     # 본 제안서, 의사결정 기록
└── scripts/
    ├── demo-record.sh
    └── seed-demo-idea.sh

7.2 사용자가 칠 명령 — Plugin 설치

## ─── 1회 설치 (3줄) ───
/plugin marketplace add Two-Weeks-Team/PreviewForgeForClaudeCode
/plugin install preview-forge
/pf:bootstrap   ## memory/CLAUDE.md + LESSONS.md + PROGRESS.md 초기화

## ─── 환경 ───
## Claude Code의 Pro/Max 인증을 그대로 사용 (별도 API 키·.env 불필요)

## ─── 실행 ───
## 대화형 (권장, 데모 영상용)
/pf:new "공방 운영자가 수업·재고·정산을 한 곳에서"
## → 브라우저가 http://localhost:3000/run/<id> 로 자동 열림
## → 143 agent live 시각화
## → 2개 AskUserQuestion (디자인, 배포)에만 답하면 됨

## CLI (헤드리스 배치)
pf "한 줄 아이디어"
## → runs/<id>/ 산출물 + 콘솔 진행률

## ─── 관리 ───
/pf:status              ## 현재 run 상태
/pf:replay <run_id>     ## trace.jsonl 재생
/pf:lessons             ## 쌓인 LESSONS 확인·편집
/pf:budget              ## 토큰 소비 현황
/pf:gallery             ## 과거 run 목록 + fork
/pf:export <run_id>     ## freeze된 앱을 tarball 또는 별도 plugin으로 export

## 4) 산출물 확인
ls runs/<id>/generated/
cd runs/<id>/generated && docker compose up -d
curl http://localhost:18080/health

7.3 3분 데모 영상 스토리보드

시:초화면음성/자막
0:00검은 화면, 흰 글씨 "Preview Forge""한 줄을 풀스택으로."
0:05대시보드 빈 입력창"공방 운영자가 수업·재고·정산을 한 곳에서" 타이핑
0:12"Forge" 버튼 → 26 카드 폭죽"26 previews. 다양성 강제."
0:254개 동심원에 40 아바타 + 4 chair → 동시 투표 막대"4 parallel panels · 40 experts · meta-tally."
0:42"studio-pos" 카드 selected, 빨간 dissent → 초록 action item 변환"Mitigation Designer: PG 리스크 → spec checklist 자동 반영"
0:55OpenAPI YAML 스트리밍 → 🔒 잠금"Spec locked. SHA256 hash recorded."
1:10파일 트리 자라남 → 빌드 로그 흐름"Scaffolding via Managed Agents — long-running OK"
1:35점수 게이지 318 → 412 → 478 → 499"Self-correcting until 499/500."
1:555개 미니 게이지 모두 ≥99"Spec, tests, security, build, demo — all gated."
2:05"디자인 승인" 버튼 활성 → 클릭"Human #1: design approval."
2:15"배포 승인" 버튼 → 클릭 → "deployed""Human #2: deploy approval."
2:25새 탭에서 생성된 앱 작동"Built and frozen in 2 minutes."
2:45코드 트리 + 라이선스 + GitHub URL"Apache-2.0. github.com/.../PreviewForgeForClaudeCode"
2:55"Built with Opus 4.7" 로고(페이드아웃)

§84일 실행 일정 (4/22 PM ~ 4/26 20:00 EST)

현재 시각 기준 가용 ~115h, 수면·식사·세션 제외 실가용 ~50–60h.

Day 1 — 4/22(수) PM (KST) / AM-PM (EST)

Day 2 — 4/23(목)

Day 3 — 4/24(금)

Day 4 — 4/25(토)

Day 5 — 4/26(일)

Buffer / 재해 대응
4/27 마감 후 09:00 KST까지 12h 비상 마진. 단 EST 마감은 절대 어기지 않음. Managed Agents 베타 장애 대비: Agent SDK 단일 모드로 fallback — Layer B를 LocalExecutor | ManagedAgentExecutor로 추상화.

§9심사 루브릭 매핑 (자기 평가)

항목가중예상 점수근거
Impact30%24/30"Build For What's Next" — 사람 의사결정을 2회로 압축한 워크플로우는 아직 이름 없음. 단점: B2B ROI는 데모로 입증 어려움
Demo25%22/2526 카드 fan-out + 10인 투표 + 점수 게이지 + 두 번 클릭 — 시각적으로 강함. 단점: 빌드 시간이 길면 영상에서 컷
Opus 4.7 use25%24/2511개 페르소나 + 스펙 evaluator-optimizer + 자기 채점 — 평범한 wrapper 아님. Managed Agents까지 사용
Depth20%17/205-튜플 다양성, holdout overfit 방지, hash lock — 디테일 보임. 단점: 모든 카테고리가 99 도달 검증이 빡빡
합계10087/100top 6 안정권 — 데모만 뒤집히지 않으면 top 3 유망

9.1 부상 카테고리 정렬

§10리스크 및 미티게이션

리스크확률영향미티게이션
Managed Agents 세션 중단세션 resume API로 재접속. Blackboard + trace.jsonl이 진행률 영속화하므로 동일 지점에서 재개
빌드 시간 5분 초과 → 영상 어색데모는 사전 준비 idea로 cache hit (pnpm install docker layer 캐시) + 영상 컷 편집
26 프리뷰가 평이해서 같은 것 26개5-튜플 강제 + (target_persona × primary_surface) 중복 금지 + 다양성 메트릭(Jaccard) 측정
점수 499 도달 못 함카테고리별 임계 조정 가능, 데모용 시드 idea는 사전 검증
API 토큰 비용 폭주 (soft cap이므로 차단 X)M2 Cost Monitor가 $50/$100/$200 임계마다 UI/Slack 경고. e2e ~$24 추정 → $500/24 ≈ 20회 가능. 데모용 시드는 cache 활용으로 추가 절감
143 agent 오케스트레이션 복잡도위계 보고선으로 lead 단위 retry/replace. M1 Run Supervisor의 kill switch + agent별 timeout(기본 90s) + dependency graph 사전 검증. 한 팀 실패 시 그 팀 lead가 직접 대체
4-패널 NO_CONSENSUS 빈발3c. meta-tally(4 chair + M3 = 5명)는 항상 홀수 인원 → 동률 불가. 그래도 안 풀리면 M3 결정권 행사 + 사용자에게 보고
Implementation Team 간 의존성 충돌SDK는 BE 완료 후, FE는 SDK 완료 후 — DAG 강제. M3가 standup으로 진행률 모니터링, 막힌 팀이 30분 이상이면 SCC_LEAD에 즉시 hand-off
Layer 0 훅이 데모 중 차단 → 데모 깨짐사전 dry-run으로 데모 시드가 어떤 패턴도 트리거하지 않음을 검증
OSS 라이선스 누락 발견AU1 License Auditor가 freeze 직전 deep audit + license-checker CI 게이트
팀 1인이라 4일 안에 못 끝냄Day 3까지 e2e smoke 안 되면: ① 5 Eng Teams를 lead 5명만으로 축소(멤버 생략) ② QA를 QA_LEAD 4명만으로 축소 ③ Auditor → Judge에 합산. 최소 ~50 agent로 수축 가능

§11베스트 프랙티스 적용 체크리스트 (조사 결과)

11.1 Anthropic 공식 패턴 — Building Effective Agents

11.2 Anthropic 멀티에이전트 연구

11.3 Managed Agents 베스트 프랙티스

11.4 Spec-Driven Development (GitHub Spec Kit 영향)

11.5 멀티에이전트 GitHub 사례 (참고·차별화)

차용한 패턴: orchestrator/worker, parallel agents. 차별점: spec-lock + 점수판 + HITL 2-touch + LESSONS 자가학습 + Plugin 단일 설치.

11.6 Reflexion / Memory / Blackboard

11.7 Plugin 패키징 베스트 프랙티스

§12출처 및 참고문헌

본 제안서 작성 과정에서 직접 fetch·search한 1차 출처. 모든 링크는 2026-04-22 기준 접근 확인.

사용자 본인 저작 자산 — plugin 내부로 복제
  • ~/.claude/skills/decision-panel/SKILL.md — 10인 패널 + tally.pyagents/panels/tp/ 로 복제, 4 패널로 확장
  • ~/.claude/skills/nestia-solo-fullstack/SKILL.md — spec-first scaffold + 템플릿 → skills/scaffold/ + assets/ 로 복제
  • ~/.claude/skills/software-factory/SKILL.md + methodology/global.md + upstream-hooks/methodology/global.md + hooks/ 로 복제
  • ~/Documents/GitHub/social-seeding-platform/{LESSONS.md, PROGRESS.md, CLAUDE.md, .claude/commands/project-onboarding.md}memory/ + skills/run-bootstrap/ 로 패턴 차용
Claude Opus 4.7 — 2026-04 공식 출시
Context Engineering Stack — 2025-06 ~ 2026-01
Claude Platform — 2025-Q4 ~ 2026-Q2 기능 (전부 Pro/Max 기본 포함)
  • Fine-grained Tool Streaming (GA) — large tool params 즉시 스트림
  • Search result content blocks (Citations, beta) — RAG 자동 출처
  • Files API — 반복 context를 1회 업로드 후 ID 참조
  • Batch API — 비실시간 50% 할인
  • Claude Code Plugins — skills/agents/commands/hooks/mcp/lsp/monitors
  • Claude Managed Agents (2026-04-08)managed-agents-2026-04-01, p50 -60%, p95 -90%
  • Claude Design (2026-04-17) — Opus 4.7 vision 기반 prototype/wireframe/deck 생성, tweaks 모드 임베디드 컨트롤, "Send to Claude Code" 번들. Gate H1 메인 플로우
제3자 의존 (명시적 제외)
  • Figma MCP — 검토했으나 제3자 회사 서비스로 제외. 내장 Design Studio가 동등 UX 제공
  • 외부 CDN (Tailwind CDN, Google Fonts 등) — mockup은 inline <style>만, 오프라인 재현 가능해야 함
  • 외부 analytics/telemetry — plugin은 Cost Monitor(M2)만 보유, 서드파티 전송 없음
결재 요청
v8.0 Final — 3-DD Methodology 확정. Day 1 작업 범위: marketplace repo 초기화 + .claude-plugin/marketplace.json + plugins/preview-forge/.claude-plugin/plugin.json + memory/{CLAUDE,PROGRESS,LESSONS}.md seed + 3개 hook + M1/M2/M3 Meta Layer(전부 Opus 4.7 xhigh + adaptive thinking) + PreviewDD Cycle 착수(26 Advocates + self-contained mockup.html) + /pf:design Gate H1 Claude Design 메인 + 내장 Studio fallback 골격.