TDD는 코드를 테스트로 주도했다. SpecDD는 코드를 스펙으로 주도했다. 우리는 그 앞에 PreviewDD를 놓는다. 26개의 다양한 시각 mockup이 스펙을 쓰기 전에 방향을 주도하여, 잘못된 것을 정확히 짓는 함정을 피한다. Claude Code plugin, 143 Opus 4.7 에이전트가 3개의 Driven-Development 사이클을 연쇄 실행. 인간은 사이클 사이 2 gate에만 개입.
| 방법론 (핵심) | 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가 임계 경보만 |
TDD는 코드를 테스트로 주도했다.
SpecDD는 코드를 스펙으로 주도했다.
우리는 그 앞에 PreviewDD를 놓는다.
본 프로젝트는 PreviewDD → SpecDD → TestDD 3개 cycle이 스테이지 게이트로 연쇄되는 방법론을 구현합니다. 각 DD는 병렬 발산(다양성) → 집계(결정) → 잠금(산출물 해시) 3단계를 따르며, 인간은 cycle 사이 H1/H2 두 gate에만 개입합니다.
"Claude Code 사용자가 한 줄을 입력하면, 본인은 디자인 OK / 배포 OK 두 번만 누르고 production-ready 풀스택 앱이 freeze된 상태로 손에 떨어지는 도구."
조준 테마: 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한테 앱 시켜보기"의 통증을 정확히 알기 때문.
배포 표준은 OpenAI의 openai/codex-plugin-cc 레이아웃을 따릅니다 — 저장소 루트는 marketplace, plugins/ 하위가 실제 plugin. 하나의 repo가 marketplace 역할을 겸하여 사용자는 /plugin marketplace add <owner>/<repo> 한 줄로 접근 가능합니다.
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용)
.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"
}
]
}
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 (선택)
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"]
}
본 plugin의 의존성 원칙:
Gate H1 디자인 승인은 Claude Design 메인 · 내장 Studio fallback 2-tier:
/pf:design → chosen_preview를 Claude Design prompt로 패키징 → 사용자가 claude.ai/design에서 tweaks · edit · wireframe↔high-fi 토글 → "Send to Claude Code" → runs/<id>/design-bundle/에 수신plugins/preview-forge/design-studio/) Next.js route 오픈 → 26 mockup iframe grid + native HTML5 tweak controls로 동등 UX 제공. 두 경로 모두 design-approved.json을 생성하여 Stage 5가 consume저장소 루트 README.md는 다음 7개 섹션으로 구성:
docs/plugin-demo.webm 임베드)## 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)
| 의존 | 요구 수준 | 용도 |
|---|---|---|
| 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-install | QA 단계 — plugin이 pnpm dlx |
marketplace.json·plugin.json schema 검증, hooks round-trip 테스트, smoke e2e (mock API)version 자동 bumpclaude.ai/settings/plugins/submit)에 등록 신청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 카테고리 미니게이지 포함) │
│ · "디자인 승인" / "배포 승인" 두 버튼만 │
└──────────────────────────────────────────────────────────────────┘
"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 · Meta | Run Supervisor, Cost Monitor, Dev PM | 3 | 지속 (이벤트 기반) |
| 2 · Department Lead | I_LEAD, 4 panel chairs, SPEC_LEAD, 5 eng team leads, 4 QA leads, SCC_LEAD = 16 | 16 | 각 단계 1–N회 |
| 3 · Specialty Member | 26 Advocates + 40 panelists + 7 spec critics + 20 eng + 10 QA + 4 SCC + 5 Judges + 5 Auditors + 3 Docs = 120 | 120 | 각 1–3회 |
| 4 · Cross-cutting | I1, I2, MD (전 단계 영향) = 3 | 3 | 2–5회 |
| 5 · Layer-0 Policy | software-factory PreToolUse 훅 (인간 작성, agent 아님) | — | 전 bash/edit 호출마다 |
| 6 · External Tools | spectral, openapi-diff, secretlint, npm audit, playwright, axe (스크립트 아님) | — | Judge 호출 시 |
| 합계 (agent) | — | 143 | — |
파이프라인은 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 H1 | design-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/사용자 서버) |
idea.json26명의 독립 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):
framing · target_persona · primary_surface · opus_4_7_capability · mvp_scope — 기존 5-튜플mockup.html — 완전 자체완결 단일 HTML 파일: inline <style>만 사용(CDN·외부 fonts·외부 이미지 금지), SVG 아이콘·플레이스홀더 인라인. Opus 4.7의 강화된 vision + HTML/CSS 생성 능력 활용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 완성
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_LEAD | ROI/시장/고객/가격/GTM | CEO·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-단계 결정 절차:
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 카드로 변환하는 애니메이션
출력: specs/openapi.yaml (OpenAPI 3.1) + specs/data-model.prisma + specs/SPEC.md
specs/.lock에 기록Lock 의미: 이후 단계에서 spec 변경 시 hash mismatch → 빌드 자동 중단 + 사용자 재승인 요구.
데모 비주얼: Swagger UI가 코드 생성처럼 한 줄씩 차오름 → 마지막에 🔒 Lock 아이콘
상세 플로우는 하단 Gate H1 참조. 여기서 사용자가 mockup을 Claude Design으로 tweak 후 승인 → design-approved.json이 생성되면 SpecDD 사이클 시작.
v2 변경: 1 critic → 7 specialist critics 병렬. SPEC_LEAD가 작성/비평 워크플로 조율.
| Critic | 전문 영역 | 주요 체크리스트 |
|---|---|---|
| SC1 Security | 인증/인가/secret | OAuth 2.1 PKCE, scopes, rate limit, OWASP API top 10 |
| SC2 Performance | 응답 시간/페이징 | 페이지네이션 표준, N+1 우려 endpoint, 캐시 헤더, 압축 |
| SC3 Accessibility | UI 데이터 모델 | 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 Design | REST 컨벤션 | 리소스 명명, HTTP 메서드 의미, HATEOAS or not (선택) |
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/MW | apps/api/src/** |
| Frontend (FE) | FE_LEAD · FE1 App Router · FE2 Component · FE3 State · FE4 Tailwind · FE5 A11y | apps/web/** |
| Database (DB) | DB_LEAD · DB1 Schema · DB2 Migration · DB3 Seed · DB4 Query Opt | prisma/** |
| DevOps (DO) | DO_LEAD · DO1 Docker · DO2 Caddy · DO3 CI/CD · DO4 Env/Secrets | deploy/** · .github/workflows/** |
| SDK | SDK_LEAD · SDK1 Nestia · SDK2 TS Client | packages/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 자기수정 루프 진입.
v2 변경: test-runner 1명 → 4개 QA 팀(Functional/Security/Performance/Accessibility) + 5명 Self-Correction Squad.
| QA 팀 | 리드 + 멤버 | 역할 |
|---|---|---|
| Functional QA | QA_LEAD · QA1 Unit · QA2 E2E · QA3 Property · QA4 Holdout | Vitest + Playwright + fast-check, holdout 20% 분리 |
| Security QA | SECQA_LEAD · SQ1 SAST · SQ2 Secret Scan | semgrep/snyk + secretlint |
| Performance QA | PERFQA_LEAD · PQ1 Bundle · PQ2 Load | next bundle analyzer + autocannon load test |
| Accessibility QA | A11YQA_LEAD · AQ1 Axe · AQ2 Color/SR | axe-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
v2 변경: score-judge 1명 → 5인 Judge Council(카테고리당 1명) + 5인 Specialist Auditor(독립 감사). Judge가 점수 매기고, Auditor가 그 점수를 다시 검증.
| 카테고리 (Judge) | 측정 도구 | 독립 Auditor |
|---|---|---|
| J1 Spec Conformance | openapi-diff · 100 - (delta×5), floor 0 | AU1 License Auditor (의존성 라이선스 호환) |
| J2 Tests & Type Safety | Vitest visible+holdout + tsc strict | AU3 Performance Auditor (벤치마크) |
| J3 Security & Policy | npm audit + secretlint + blocked_actions | AU4 Security Auditor (deep SAST) |
| J4 Build & Bundle | pnpm build + bundle <500KB + image <300MB | AU2 Bundle Auditor (treeshake 효율) |
| J5 Demo Readiness | docker up + /health 200 + screenshot OK | AU5 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, 데모 영상 스크립트 자동 작성.
/pf:design slash command 자동 트리거chosen_preview.json + specs/openapi.yaml + mockups/chosen.html을 Claude Design prompt 템플릿으로 패키징 → 사용자에게 "Claude Design에서 열기" 자동 안내 (claude.ai/design 탭)PROMPT.md 번들(stack, screens, design tokens) 자동 생성 → plugin이 runs/<id>/design-bundle/로 수신 → Blackboard design.approved set → Stage 5 FE Team이 consume/design-studio/<run_id> Next.js route 자동 오픈design-approved.json 생성/pf:export) · ❌ Reject (이유 기록 → 학습)
모든 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)로 최적화.
| ID | 이름 | 모델 | 보고선 | 핵심 책임 |
|---|---|---|---|---|
| M1 | run-supervisor | Opus 4.7 | (top) | 모든 watcher의 watcher. kill switch, escalation, pause/resume/abort |
| M2 | cost-monitor | Opus 4.7 | M1 | API 토큰·요청 누적 추적, 임계 도달 시 Slack/UI 경고. 차단 안 함(soft cap) |
| M3 | chief-engineer-pm | Opus 4.7 | M1 | 개발총괄 PM. 모든 dept lead 보고선. cross-team 충돌 조정. standup 운영 |
| ID | 이름 | 모델 | 보고선 | 핵심 책임 |
|---|---|---|---|---|
| I_LEAD | ideation-lead | Opus 4.7 | M3 | 26 advocate dispatch + 결과 수집 + I2와 협력하여 dedup |
| I1 | idea-clarifier | Opus 4.7 | I_LEAD | Stage 1 brainstorming. idea가 짧으면 socratic 질문 |
| I2 | diversity-validator | Opus 4.7 | I_LEAD | 26 카드 사후 Jaccard ≥0.7 검출, 재작성 요청 |
| P01 | advocate-contrarian | Opus 4.7 | I_LEAD | The Contrarian — 항상 비주류 surface 선택 |
| P02 | advocate-ops-veteran | Opus 4.7 | I_LEAD | The Operations Veteran — 운영 비용을 가장 먼저 |
| P03 | advocate-speed | Opus 4.7 | I_LEAD | The Speed-Obsessed — 가장 빠른 MVP |
| P04 | advocate-cost | Opus 4.7 | I_LEAD | The Cost-Conscious — 가장 싼 스택 |
| P05 | advocate-design | Opus 4.7 | I_LEAD | The Design-Forward — UX 우선 |
| P06 | advocate-spreadsheet | Opus 4.7 | I_LEAD | The Spreadsheet Jockey — B2B power user 렌즈 |
| P07 | advocate-mobile-first | Opus 4.7 | I_LEAD | The Mobile-First — 모바일이 primary |
| P08 | advocate-slack-native | Opus 4.7 | I_LEAD | The Slack-Native — 일이 일어나는 곳 |
| P09 | advocate-cli | Opus 4.7 | I_LEAD | The CLI Devotee — 터미널 우선 |
| P10 | advocate-dreamer | Opus 4.7 | I_LEAD | The Dreamer — 5년 후 가능 |
| P11 | advocate-pragmatist | Opus 4.7 | I_LEAD | The Pragmatist — 오늘 출시 |
| P12 | advocate-privacy-hawk | Opus 4.7 | I_LEAD | The Privacy Hawk — E2E by default |
| P13 | advocate-data-nerd | Opus 4.7 | I_LEAD | The Data Nerd — 분석 우선 |
| P14 | advocate-educator | Opus 4.7 | I_LEAD | The Educator — 사용자를 가르침 |
| P15 | advocate-community | Opus 4.7 | I_LEAD | The Community Builder — 다중 사용자 day 1 |
| P16 | advocate-solo-founder | Opus 4.7 | I_LEAD | The Solo Founder — 1인 운영자 |
| P17 | advocate-enterprise | Opus 4.7 | I_LEAD | The Enterprise Buyer — SSO/audit/compliance |
| P18 | advocate-designer | Opus 4.7 | I_LEAD | The Designer — visual storytelling |
| P19 | advocate-embedded | Opus 4.7 | I_LEAD | The Embedded — SDK only, no UI |
| P20 | advocate-oss | Opus 4.7 | I_LEAD | The OSS Maintainer |
| P21 | advocate-indie | Opus 4.7 | I_LEAD | The Indie Hacker |
| P22 | advocate-researcher | Opus 4.7 | I_LEAD | The Researcher — 학술 각도 |
| P23 | advocate-game-designer | Opus 4.7 | I_LEAD | The Game Designer — playful, fun |
| P24 | advocate-reluctant | Opus 4.7 | I_LEAD | The Reluctant Adopter — 회의적 lens |
| P25 | advocate-ai-native | Opus 4.7 | I_LEAD | The AI-Native — LLM 워크플로 중심 |
| P26 | advocate-anti-ai | Opus 4.7 | I_LEAD | The Anti-AI — 제품 표면에 LLM 노출 0 |
각 패널은 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 | 이름 | 모델 | 보고선 | 핵심 책임 |
|---|---|---|---|---|
| MD | mitigation-designer | Opus 4.7 | M3 | 4-패널 dissent + Devil's Advocate 의견 → spec/test action item으로 변환. 단순 보고가 아니라 실행으로 연결 |
| ID | 이름 | 모델 | 보고선 | 핵심 책임 |
|---|---|---|---|---|
| SPEC_LEAD | spec-lead | Opus 4.7 | M3 | spec author/critic 워크플로 조율, 합의 게이트 운영 |
| SPEC_AUTHOR | spec-author | Opus 4.7 | SPEC_LEAD | OpenAPI 3.1 + Prisma + SPEC.md 초안 작성 |
| SC1 | spec-critic-security | Opus 4.7 | SPEC_LEAD | OAuth 2.1 PKCE, scopes, OWASP API top 10 |
| SC2 | spec-critic-performance | Opus 4.7 | SPEC_LEAD | 페이지네이션, N+1, 캐시 헤더 |
| SC3 | spec-critic-a11y | Opus 4.7 | SPEC_LEAD | aria, alt text, 접근성 데이터 모델 |
| SC4 | spec-critic-i18n | Opus 4.7 | SPEC_LEAD | 다국어 분리, BIGINT minor unit, ISO 8601 UTC |
| SC5 | spec-critic-idempotency | Opus 4.7 | SPEC_LEAD | Idempotency-Key, ETag, optimistic locking |
| SC6 | spec-critic-error-model | Opus 4.7 | SPEC_LEAD | RFC 7807, 4xx/5xx 매트릭스, retry-after |
| SC7 | spec-critic-api-design | Opus 4.7 | SPEC_LEAD | REST 컨벤션, 리소스 명명, 메서드 의미 |
| 팀 (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.
| 팀 (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 |
| ID | 이름 | 모델 | 보고선 | 핵심 책임 |
|---|---|---|---|---|
| SCC_LEAD | self-correction-lead | Opus 4.7 | M3 | 실패 분류 + 도메인 fixer에 라우팅, spec_violation은 escalate |
| SCC_BE | scc-backend-fixer | Opus 4.7 | SCC_LEAD | NestJS/typia/Prisma 영역 버그 fixer |
| SCC_FE | scc-frontend-fixer | Opus 4.7 | SCC_LEAD | Next.js/Tailwind 영역 버그 fixer |
| SCC_TYPE | scc-type-resolver | Opus 4.7 | SCC_LEAD | tsc strict + typia validation 실패 fixer |
| SCC_DEP | scc-dep-resolver | Opus 4.7 | SCC_LEAD | 의존성/import/lockfile 충돌 fixer |
| ID | 이름 | 모델 | 보고선 | 핵심 책임 |
|---|---|---|---|---|
| J1 | judge-spec-conformance | Opus 4.7 | M3 | openapi-diff 점수화 (0–100) |
| J2 | judge-tests-types | Opus 4.7 | M3 | Vitest visible+holdout + tsc strict |
| J3 | judge-security-policy | Opus 4.7 | M3 | npm audit + secretlint + blocked_actions |
| J4 | judge-build-bundle | Opus 4.7 | M3 | pnpm build + bundle/image size |
| J5 | judge-demo-readiness | Opus 4.7 | M3 | docker up + /health + screenshot |
| AU1 | auditor-license | Opus 4.7 | M3 | 전 의존성 SPDX 라이선스 호환성, GPL/AGPL 차단 |
| AU2 | auditor-bundle | Opus 4.7 | M3 | treeshake 효율, dead code, dynamic import |
| AU3 | auditor-performance | Opus 4.7 | M3 | Lighthouse/벤치마크, p99 latency |
| AU4 | auditor-security | Opus 4.7 | M3 | deep SAST, threat model 재검증 |
| AU5 | auditor-a11y | Opus 4.7 | M3 | WCAG 2.2 AA, 키보드 네비, 색대비 |
| ID | 이름 | 모델 | 보고선 | 핵심 책임 |
|---|---|---|---|---|
| DOC1 | doc-readme-writer | Opus 4.7 | M3 | README.md 작성 (설치·사용·라이선스·credits) |
| DOC2 | doc-changelog-writer | Opus 4.7 | M3 | CHANGELOG.md (Conventional Commits 포맷) |
| DOC3 | doc-demo-script-writer | Opus 4.7 | M3 | 3분 데모 영상 스크립트 + voiceover |
아래 5개는 대표 컨트랙트. 나머지 138개는 동일 schema(name/inputs/outputs/preconditions/postconditions/allowed_scope/forbidden/fail_modes)로 정의되며 Day 1–2에 YAML 파일로 일괄 commit 예정.
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>/
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
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
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
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)
v2는 순수 위계. v3는 보고선은 위계로, 정보 공유는 Blackboard로 hybrid. arxiv 2510.01285 — "blackboard가 AutoGen·Data Interpreter보다 적은 토큰으로 더 높은 성능".
runs/<id>/blackboard.db — 모든 agent가 read/write 가능한 공유 테이블. schema: (ts, agent_id, key, value, tier, dept). 예: BE팀이 key="orm.adapter" value="prisma" 기록 → DB팀이 바로 보고 schema.prisma 대응events.send → SSE. 단 Blackboard 이벤트도 SSE로 브로드캐스트social-seeding-platform 패턴 차용 + Anthropic Memory Tool + Reflexion을 결합한 4-layer 메모리. 새 run 시작 전 M1 Run Supervisor가 반드시 참조하여 모든 lead에게 프리로드.
| Layer | 파일/도구 | 주기 | 내용 | 갱신 주체 |
|---|---|---|---|---|
| L1 · Session Rules | memory/CLAUDE.md | plugin 버전별 1회 | plugin 세션 룰, 반드시 읽어야 할 파일 목록, 절대 규칙 | plugin 개발자(초기) + M3(증분) |
| L2 · Run Index | memory/PROGRESS.md | run당 1회 | 최근 run 인덱스, 상태(freeze/failed), 다음 작업 | M3 (run 종료 시) |
| L3 · Failure Catalog | memory/LESSONS.md | 실패·재발견마다 | 10+ 카테고리의 "문제 → 원인 → 해결 → 참조". 예: "Nestia swagger drift → openapi-diff hash mismatch → 즉시 self-correction 진입" | Auto-retro critic(자동) + M3(승인) |
| L4 · Agent Episodic | Anthropic Memory Tool (memory_20250818) 하의 /memories/agents/<id>/reflection.md | 각 agent task 종료마다 | Reflexion 패턴 — "이 task에서 뭐가 잘됐나 / 뭐가 안됐나 / 다음에 뭘 다르게 할까". 에이전트 개인 log | 해당 agent 자신 |
새 run 시작 시퀀스 (M1 Run Supervisor가 enforce):
/pf:new "아이디어" 호출memory/CLAUDE.md 읽음 → session rules 적재memory/PROGRESS.md 읽음 → 직전 run 상태 확인 (resume 가능 여부)memory/LESSONS.md 읽음 → 모든 dept lead에게 "이번 run에서 절대 피할 것" 프리로드view /memories/agents → 과거 agent episodic 검색, 관련된 것만 해당 agent에 주입Auto-retro (run 종료 시): M3 Dev PM이 자동으로 Reflexion critic에 다음 3개 질문:
CLAUDE.md의 "작동 패턴" 섹션 appendLESSONS.md append (문제 → 원인 → 해결)CLAUDE.md의 "절대 규칙" 섹션 append각 answer는 M3가 검토 후 memory/에 commit. 사람 개입 없이 자가학습 루프 완성 — Anthropic 자체 보고(+39% on multi-step tasks with Memory Tool + context editing).
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 bash | ❌ | software-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" }]
}
]
}
}
모든 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 생성 시 증거로 첨부.
Claude Opus 4.7의 thinking 모드는 Adaptive만 지원 (extended thinking budgets 제거됨). 기본 off, 의사결정 agent에서 thinking: {type: "adaptive", display: "summarized"} 명시 활성화. Effort는 에이전트 역할별로 차등:
| 역할군 | effort | adaptive thinking | task_budget |
|---|---|---|---|
| 4 Panel Chairs · SPEC_AUTHOR · SC1–SC7 · 5 Auditors · MD | xhigh | enabled (display: summarized) | 120K (advisory) |
| Engineering Team Leads · SPEC_LEAD · SCC_LEAD · M3 Dev PM | high | enabled | 80K |
| Engineering members · QA members · SCC fixers · Judges | high | off | 40K |
| 26 Advocates · Docs · I1/I2 · Cost Monitor | medium | off | 20K (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.
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 Budgetstask-budgets-2026-03-13 | 2026-03 | Agent 역할별 20K–120K advisory cap | Graceful finish, 토큰 over-spend 방지 |
| 1M Context Window (표준 API 가격) | 2026-04 | Implementation Team이 전체 codebase + spec + openapi.yaml 동시 보유 | Long-context premium 없음 |
Prompt Caching 1h TTL"cache_control": {"ttl": "1h"} | 2025-Q4 | 143 agent system prompts + CLAUDE.md + LESSONS.md + methodology/global.md 전부 cache 대상 | Cache read = base 10%, 실 지출 -50–70% |
Context Editing — Tool Use Clearingcontext-management-2025-06-27clear_tool_uses_20250919 | 2025-06 | Implementation/QA Team: 대용량 tool 결과(file reads, npm install logs) 30K 초과 시 자동 clear. memory tool 결과는 exclude_tools: ["memory"]로 보존 | Peak context 335K → 173K (49% 감소) |
Context Editing — Thinking Clearingclear_thinking_20251015 | 2025-10 | 긴 자기수정 루프 중 누적 thinking blocks 자동 제거 | Context rot 방지, 토큰 절감 |
Compactioncompact_20260112 | 2026-01 | Run Supervisor(M1) 세션: 150K tokens 트리거, custom instructions로 "절대 잊지 말 것: chosen preview 5-tuple, spec hash, freeze score" | 단일 run 전체 대화를 하나의 M1 세션으로 유지 가능 |
Memory Toolmemory_20250818 | 2025-08 | L4 agent episodic (Reflexion) + cross-run 지식. client-side /memories 핸들러로 plugin의 memory/에 매핑 | Memory + Context Editing 결합 = +39% |
| Fine-grained Tool Streaming (GA, 헤더 불필요) | 2026-Q1 GA | scaffold-builder가 긴 파일 생성 시 JSON validation 없이 즉시 스트림 → UI에 실시간 표시 | Large tool params latency 제거 |
| Citations (search result content blocks) | 2025-Q4 beta | Spec critics가 OWASP/RFC 7807 등 reference 인용 시 자동 citation | RAG-style 출처 추적 자동화 |
| Files API | 2025-Q4 | 26 Advocate에게 공통으로 전달할 idea context (seed-ideas 참조 자료)를 Files로 1회 업로드 후 ID 참조 | 반복 전송 절감 |
| Batch API (50% 할인) | 2024-Q4 | DOC 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 switching | Subagent 생성 없이 행동 전환 |
| High-resolution Images (2576px) | 2026-04 | Playwright 스크린샷(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 Agentsmanaged-agents-2026-04-01 | 2026-04 | Stage 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-17 | Gate 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 |
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 안에서 무한 가까운 작업이 가능.
| 영역 | 선택 | 라이선스 | 이유 |
|---|---|---|---|
| 언어 | TypeScript 5.6 | Apache-2.0 | 백/프론트/SDK 통일, nestia 요구 |
| 런타임/패키지 | Node.js 20 LTS, pnpm 9 | MIT/Apache | 모노레포 가벼움 |
| 오케스트레이터 (Layer A) | @anthropic-ai/sdk Agent SDK | MIT | 공식, Opus 4.7 지원 |
| Managed Agents (Layer B) | @anthropic-ai/sdk beta + managed-agents-2026-04-01 헤더 | MIT | 4/8 출시 |
| 백엔드 (생성됨) | NestJS 10 + @nestia/core + @nestia/sdk + typia | MIT | spec-first, 타입이 source of truth |
| DB (생성됨) | Prisma + PostgreSQL 16 | Apache-2.0/PostgreSQL | nestia-solo-fullstack 호환 |
| 프론트 (Layer C + 생성됨) | Next.js 14 App Router + Tailwind + shadcn/ui + Framer Motion | MIT | 빠른 데모 + 재사용 |
| 테스트 | Vitest + fast-check + Playwright | MIT | property-based + e2e |
| 스코어링 | @stoplight/spectral, openapi-diff, secretlint, npm audit | Apache/MIT | 점수 자동화 |
| 로컬 상태 | SQLite + better-sqlite3 | MIT/Apache | embedded, 데모용 |
| 배포 (생성됨) | Docker Compose + Caddy | Apache-2.0 | nestia-solo-fullstack 템플릿 |
| 로컬 데모 시작 | pnpx preview-forge "<idea>" | — | 1-shot 실행 |
| 사용처 | 평범한 패턴 | 우리가 하는 것 |
|---|---|---|
| 아이디어 발산 | "코드 짜줘" 단일 호출 | 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명의 인격으로 동시에 돌리고, 다섯 명이 채점하고, 다섯 명이 그 채점을 다시 감사하고, 사람한테는 두 번만 묻는다."
| 단계 | 주체 | 토큰 추정 | 비용 (혼합) |
|---|---|---|---|
| Stage 1 | I1 Clarifier | ~3K | $0.05 |
| Stage 2 | 26 Advocate + I2 | ~95K | $1.5 |
| Stage 3 | 4 Panel(44) + MD + meta | ~330K | $5 |
| Stage 4 | SPEC_LEAD + author + 7 critics | ~80K | $1.2 |
| Stage 5 | 5 Eng Teams (25명, 전부 Opus 4.7) | ~600K | $9 (1h cache hit 시 $3) |
| Stage 6 | 4 QA Teams + SCC × 평균 4 iter | ~400K | $5 |
| Stage 7 | 5 Judges + 5 Auditors | ~120K | $2 |
| Doc/Meta | 3 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% 절감.
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
## ─── 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
| 시:초 | 화면 | 음성/자막 |
|---|---|---|
| 0:00 | 검은 화면, 흰 글씨 "Preview Forge" | "한 줄을 풀스택으로." |
| 0:05 | 대시보드 빈 입력창 | "공방 운영자가 수업·재고·정산을 한 곳에서" 타이핑 |
| 0:12 | "Forge" 버튼 → 26 카드 폭죽 | "26 previews. 다양성 강제." |
| 0:25 | 4개 동심원에 40 아바타 + 4 chair → 동시 투표 막대 | "4 parallel panels · 40 experts · meta-tally." |
| 0:42 | "studio-pos" 카드 selected, 빨간 dissent → 초록 action item 변환 | "Mitigation Designer: PG 리스크 → spec checklist 자동 반영" |
| 0:55 | OpenAPI 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:55 | 5개 미니 게이지 모두 ≥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" 로고 | (페이드아웃) |
현재 시각 기준 가용 ~115h, 수면·식사·세션 제외 실가용 ~50–60h.
.claude-plugin/marketplace.json + plugins/preview-forge/) + Apache-2.0 LICENSE + NOTICEmemory/{CLAUDE,PROGRESS,LESSONS}.md seedhooks/askuser-enforcement.py + hooks/factory-policy.py/pf:new slash command — 26 카드 JSON 생성까지decision-panel 통합 + 26→5 컬링 + 본선 다수결spec-author + spec-critic evaluator-optimizer 루프frontend-design 활용)LocalExecutor | ManagedAgentExecutor로 추상화.
| 항목 | 가중 | 예상 점수 | 근거 |
|---|---|---|---|
| Impact | 30% | 24/30 | "Build For What's Next" — 사람 의사결정을 2회로 압축한 워크플로우는 아직 이름 없음. 단점: B2B ROI는 데모로 입증 어려움 |
| Demo | 25% | 22/25 | 26 카드 fan-out + 10인 투표 + 점수 게이지 + 두 번 클릭 — 시각적으로 강함. 단점: 빌드 시간이 길면 영상에서 컷 |
| Opus 4.7 use | 25% | 24/25 | 11개 페르소나 + 스펙 evaluator-optimizer + 자기 채점 — 평범한 wrapper 아님. Managed Agents까지 사용 |
| Depth | 20% | 17/20 | 5-튜플 다양성, holdout overfit 방지, hash lock — 디테일 보임. 단점: 모든 카테고리가 99 도달 검증이 빡빡 |
| 합계 | 100 | 87/100 | top 6 안정권 — 데모만 뒤집히지 않으면 top 3 유망 |
| 리스크 | 확률 | 영향 | 미티게이션 |
|---|---|---|---|
| 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로 수축 가능 |
primary_surface에 따라 scaffold 템플릿 분기managed-agents-2026-04-01 자동 (SDK 처리)events.send 후 attach (quickstart 패턴)session.status_idle 이벤트로 종료 감지차용한 패턴: orchestrator/worker, parallel agents. 차별점: spec-lock + 점수판 + HITL 2-touch + LESSONS 자가학습 + Plugin 단일 설치.
/memories/agents/<id>/reflection.md에 기록. 다음 task에서 동일 agent가 자기 reflection부터 읽음memory_20250818) — 공식 client-side memory API. /memories 하위에서 view/create/str_replace/insert/delete/rename. +39% 성능 on multi-step (Anthropic 자체 보고)/pf:bootstrap + PROGRESS.md + LESSONS.md가 정확히 이 패턴plugin.json의 version 필드, 0.1.0부터/pf:* 로 통일, 다른 plugin과 충돌 방지.env·다른 plugin 건드리지 않음pnpm dlx본 제안서 작성 과정에서 직접 fetch·search한 1차 출처. 모든 링크는 2026-04-22 기준 접근 확인.
~/.claude/skills/decision-panel/SKILL.md — 10인 패널 + tally.py → agents/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/ 로 패턴 차용task-budgets-2026-03-13 — agentic loop advisory capcontext-management-2025-06-27 — clear_tool_uses_20250919 + clear_thinking_20251015, peak context 49% 감소compact_20260112 — server-side 대화 요약memory_20250818 — view/create/str_replace/insert/delete/rename"cache_control": {"type": "ephemeral", "ttl": "1h"}, read 10%/write 100%managed-agents-2026-04-01, p50 -60%, p95 -90%<style>만, 오프라인 재현 가능해야 함.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 골격.