ํ๋ค์ค ํ๋ ์์ํฌ๋ ์์
์ ์์ ๋จ์์ Step์ผ๋ก ๋ถํดํ๊ณ , ์ธ์
์ด ์ค๋จ๋๋๋ผ๋ ๋ค์ํ AI ์ฝ๋ฉ ์์ด์ ํธ(Antigravity, Claude, Codex, Kimi ๋ฑ)๊ฐ ์ํ๋ฅผ ์์ ํ๊ฒ ๊ณต์ ํ๋ฉฐ ์ด์ด์ ์์
ํ ์ ์๋๋ก ์ง์ํ๋ ๋ฒ์ฉ ํ๋ค์ค ์ํฌํ๋ก์ฐ ์ธํ๋ผ์
๋๋ค.
์ด ํ๋ ์์ํฌ๋ ๋ฌดํ ์๋ํ ๋ฃจํ ๋์ **"๊ตฌ์กฐํ๋ ์์ ๊ธฐ๋ก๊ณผ ์์ ํ ์ธ์ ์ฌ๊ฐ"**๋ฅผ ํต์ฌ ๊ฐ์น๋ก ์ผ์ต๋๋ค.
ํ๋ ์์ํฌ๋ ํ๋ก์ ํธ๋ง๋ค cloneํ์ง ์๊ณ , ํ ๊ณณ์ ์ค์นํด์ ์คํฌ๋ก ์ฌ์ฌ์ฉํฉ๋๋ค.
mkdir -p ~/.agents/skills
git clone https://github.com/superwhyun/skill-harness.git ~/.agents/skills/harness
cd ~/.agents/skills/harness
bash install.shinstall.sh๋ ~/.claude/skills/harness, ~/.kimi/skills/harness, ~/.codex/skills/harness, ~/.gemini/config/skills/harness๋ฅผ ์ด ํด๋ก ์ skills/harness/๋ก symlink ํฉ๋๋ค. ์ดํ ์ด๋ค ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ด์ด๋ harness ์คํฌ์ด ์๋ ๋ก๋๋ฉ๋๋ค (~/.gemini/config/skills/๋ Antigravity agy/AGY CLI/AGY IDE ์ธ ๋ณํ ๋ชจ๋๊ฐ ๊ณตํต์ผ๋ก ์ธ์ํ๋ ์ ์ญ ์คํฌ ๊ฒฝ๋ก์
๋๋ค).
์
๋ฐ์ดํธ๋ ~/.agents/skills/harness์์ git pull ํ ๋ฒ์ด๋ฉด ๋ฉ๋๋ค. symlink์ด๋ฏ๋ก ์ฌ์ค์น๊ฐ ํ์ ์์ต๋๋ค.
ํด๋ก ๋๋ ํฐ๋ฆฌ(
~/.agents/skills/harness)๋ ์ง์ฐ๋ฉด ์ ๋ฉ๋๋ค. ์ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ ๊ฐ๋ฆฌํค๋ ์ค์ ์๋ณธ์ ๋๋ค.
ํ ํฐ ์๋ชจ๋ฅผ ๊ทน๋ํํ๋ ์ ์ฒด ์ฝ๋ ์ฌํ์ ๋ฐฉ์์ ์ง์ํ๊ณ , **๊ณ์ฝ(Contract)**๊ณผ **๊ธฐ์ค์ (Baseline)**์ ์ค์ฌ์ผ๋ก ํ์ ํฉ๋๋ค.
module-map.json๋์ : ๊ฐ ํ์ด์ฆ(Phase)๋ ๋ชจ๋ ๊ฒฝ๊ณ, ์์ step,owned_paths,public contracts,dependencies๋ฅผ ์ ์ธํ์ฌ ๋ฒ์๋ฅผ ์ ํํฉ๋๋ค.- ํ ํฐ ์ ์ฝ ์ฐ์ : ํ์ step์ ์์กด ๋ชจ๋์ ๊ตฌํ ์ ์ฒด๋ฅผ ๋ค์ ์ฝ๋ ๋์ , ์ด์ ํ์ด์ฆ์
baseline๊ณผ ํด๋น ๋ชจ๋์public contract๋ฅผ ๋จผ์ ์ฝ์ต๋๋ค. - Surgical Edit (Surgical ์์ ): ํ์ง์ด๋ AC ๊ฒ์ฆ์ ์ํด ์์ค์ฝ๋๋ฅผ ์ง์ ์กฐํํด์ผ ํ ๊ฒฝ์ฐ์๋ ์ํฅ์ด ์๋ ๋ชจ๋๋ง targeted read๋ก ์ต์ํํ์ฌ ๋ถ์ํฉ๋๋ค.
- ๊ฒฉ๋ฆฌ๋ ๋ฌธ์ ํด๊ฒฐ: contract์ ๋ถ์ผ์น๋ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ, ํ์ฌ ์์
์ค์ธ step์ ์ต์ง๋ก ์์ด ์์ ํ์ง ์๊ณ
blocking-fix๋๋contract-changestep์ ๋ช ์์ ์ผ๋ก ์ถ๊ฐ(append)ํ์ฌ ํด๊ฒฐํฉ๋๋ค.
์ฌ๋ฌ ํ์ด์ฆ๊ฐ ์๋ฃ๋ ๋๋ง๋ค ์ ์ฒด ํ๋ก์ ํธ์ ๊ตฌ์ฑ ์์๋ฅผ ์๋์ผ๋ก ์์งํ์ฌ ๋จ์ผ ๋งค๋ํ์คํธ๋ก ํตํฉ ๊ด๋ฆฌํฉ๋๋ค.
- ํ์ด์ฆ ๋ง๊ฐ ์
phases/project-manifest.jsonํ์ผ์ ๋ชจ๋ ํํฉ, ๋ผ์ฐํธ(์ค๋ณต ์ ๊ฑฐ), ๊ณต์ ๊ณ์ฝ, ์ธ๋ถ ํตํฉ ์ง์ (Integration Points) ๋ฐ ์ ์ฒด ์๋ฃ ์ด๋ ฅ(tag,completed_at๋ฑ)์ด ์๋์ผ๋ก ๋์ ๋ฐ ๊ฐฑ์ ๋ฉ๋๋ค. - ์๋ก์ด ํ์ด์ฆ๋ฅผ ์์ํ๋ ์์ด์ ํธ๋ ์ด ํตํฉ ๋งค๋ํ์คํธ ํ์ผ ํ๋๋ง ์ฝ์ด ์ ์ฒด ํ๋ก์ ํธ์ ๊ตฌ์กฐ์ ์ง์ฒ ์ํฉ์ ์ฆ์ ์ดํดํ ์ ์์ต๋๋ค.
phases/ ๋๋ ํฐ๋ฆฌ๋ ํ๋ก์ ํธ ๊ตฌํ ๊ณํ๊ณผ ์งํ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ **์ ์ผํ ์ง์ค ๊ณต๊ธ์ (SSOT, Single Source of Truth)**์
๋๋ค. ์๋์ ํ๋์ ํ๋ก์ ํธ ์ํ๋ฅผ ํ๊ดดํ๋ฏ๋ก ์ ๋ ๊ธ์ง๋ฉ๋๋ค.
Warning
- ํ๋ก์ ํธ ๋ฃจํธ๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๋ค์ ์์ฑํ์ง ๋ง์ญ์์ค.
phases/๋๋ ํฐ๋ฆฌ์ ํ์ ์ํ ํ์ผ๋ค์ ์ญ์ ํ๊ฑฐ๋ ์ด๊ธฐํํ์ง ๋ง์ญ์์ค.- ์ด๋ฏธ ์กด์ฌํ๊ณ ๋ด์ฉ์ด ๊ธฐ๋ก๋ ๊ธฐ์กด
stepN.md๋ฅผ ๋ฎ์ด์ฐ์ง ๋ง์ญ์์ค. - ํ๋ก์ ํธ ์์ค์ฝ๋๊ฐ ์๊ฑฐ๋
package.json์ด ๋๋ฝ๋์๋๋ผ๋phases/๋๋ ํฐ๋ฆฌ๊ฐ ์กด์ฌํ๋ค๋ฉด ์ด๋ ์งํ ์ค์ธ ํ๋ก์ ํธ์ ๋๋ค. ์ ๋๋ก scaffold๋ฅผ ๋ค์ ์คํํ์ง ๋ง์ญ์์ค.
์๋ก์ด ํ์ ์ธ์ ์ ์์ํ ๋, ๋ชจ๋ ์์ด์ ํธ๋ ๋ฐ๋์ ์๋์ 7๋จ๊ณ ์์๋๋ก ์ํ๋ฅผ ํ์ํด์ผ ํฉ๋๋ค.
phases/index.json์ฝ๊ธฐ โ ํ๋ก์ ํธ ์ ์ฒด ํ์ด์ฆ ๋ชฉ๋ก๊ณผ ์๋ฃ/์งํ ์ํ ํ์phases/project-manifest.json์ฝ๊ธฐ (์กด์ฌ ์) โ ๋์ ๋ ํ๋ก์ ํธ ๋ชจ๋ ๋ฐ ์ํคํ ์ฒ ์ํ ํ์- ์ฒซ
pendingํ์ด์ฆ์phases/{task}/index.json์ฝ๊ธฐ โ ํด๋น ํ์ด์ฆ์ ์ธ๋ถ step ๋ชฉ๋ก ํ์ - ํ์ด์ฆ์
module-map.json์ฝ๊ธฐ (์กด์ฌ ์) โ ๋ชจ๋ ์์ ๊ถ ๋ฐ ๊ณ์ฝ ๊ฒฝ๊ณ ํ์ - ์ฒซ
pendingstep์stepN.md์ง์์ ์ฝ๊ธฐ โ ๊ตฌํ ๋ฒ์์ AC(Acceptance Criteria) ํ์ธ phases/{task}/index.json์์ ์ง์ ์๋ฃ step์ summary ํ์ธ โ (ํ์ ์) ์ธ์ ๋ณต๊ตฌ๋ฅผ ์ํ ํํธ ํ๋- ์ค์ ์์ ์คํ ์ฐฉ์
ํ๋ค์ค ํ๋ ์์ํฌ ํ์์ ๊ฐ๋ณ ํ๋ก์ ํธ๋ค์ ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ธ Git ์ ์ฅ์๋ก ๊ด๋ฆฌ๋ฉ๋๋ค. ์ํ ์์๊ณผ ๋ฌด๋ถ๋ณํ ํ์ผ ์ถ์ ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์๊ฒฉํ Git ๊ท์น์ ์ ์ฉํฉ๋๋ค.
Important
1. git init์ ๋จ ํ ๋ฒ๋ง ์คํํฉ๋๋ค.
git init์ ํ๋ก์ ํธ ์ต์ด scaffold step ์์ ์ ๋ฑ 1ํ๋ง ์คํ๋์ด์ผ ํฉ๋๋ค.- ๋๋ ํฐ๋ฆฌ ๋ด์
.git๋๋ ํฐ๋ฆฌ๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ค๋ฉด ์ด๋ ํ ๊ฒฝ์ฐ์๋git init์ ์ฌ์คํํด์๋ ์ ๋ฉ๋๋ค.
2. ์ฒซ git add ์ ์ ๋ฐ๋์ .gitignore๋ฅผ ์์ฑํฉ๋๋ค.
.gitignoreํ์ผ์ด ๊ตฌ์ฑ๋์ง ์์ ์ํ์์git add .๋๋git add -A๋ฅผ ์คํํ๋ ๊ฒ์ ์ ๋ ๊ธ์ง๋ฉ๋๋ค.- ๊ธฐ์ ์คํ์ ๋ง์ถฐ ์๋์ ๊ธฐ๋ณธ ํ
ํ๋ฆฟ ์์๋ฅผ ํ์๋ก ํฌํจํด์ผ ํฉ๋๋ค:
# ์์กด์ฑ ๋ฐ ๋ฐํ์ node_modules/ .venv/ __pycache__/ *.pyc # ๋น๋ ๋ฐ ์ปดํ์ผ ์ฐ์ถ๋ฌผ dist/ build/ *.tsbuildinfo # ํ๊ฒฝ ๋ณ์ ๋ฐ ์ค์ .env .env.local .env.*.local .vscode/ .idea/ .DS_Store
- ์ปค๋ฐ์ ํ์ด์ฆ ๋จ์๊ฐ ์๋๋ผ Step ๋จ์๋ก ์ํํฉ๋๋ค.
- ์ปค๋ฐ ์์น: ๋์ ํ๋ก์ ํธ ๋ฃจํธ์ Git ์ ์ฅ์์์ ์คํํฉ๋๋ค.
- ์ปค๋ฐ ์์ : ํด๋น Step์ AC๋ฅผ ๋ชจ๋ ๋ง์กฑํ๊ณ ๊ฒ์ฆ์ ํต๊ณผํ ์งํ.
- ์ปค๋ฐ ๋ฉ์์ง ๊ท๊ฒฉ (Conventional Commits):
(์์:
feat({project}/step{N}): {step-name} โ {ํ ์ค ์์ฝ}feat(debate/step0): project-setup โ package skeleton)
ํน์ ํ์ด์ฆ์ ๋ง์ง๋ง Step์ด completed๋ก ์ ํ๋๋ฉด, ์ฆ์ ์๋์ ํ๋ก์ธ์ค๋ฅผ ํตํด ํ์ด์ฆ๋ฅผ ๊ณต์ ๋ง๊ฐํด์ผ ํฉ๋๋ค.
- ์์ ํ์ด์ฆ ์ํ ๊ฐฑ์ :
phases/index.json์์ ์๋ฃ๋ ํด๋น ํ์ด์ฆ์status๋ฅผcompleted๋ก ์ฆ์ ์ ๋ฐ์ดํธํฉ๋๋ค. - Baseline ์ํฐํฉํธ ์์ฑ:
๋ค์ ํ์ด์ฆ๊ฐ ๋ถํ์ํ๊ฒ ์ด์ ์์ค์ฝ๋๋ฅผ ์ ์ฒด ์ฌํ์ํ์ง ์๋๋ก
phases/baselines/{phase-dir}.jsonํ์ผ์ ์๋ ๋ด์ฉ์ ์์ฝ ๋ณด๊ฐํฉ๋๋ค:- ์๋ฃ ํ๊ทธ (Completion Tag)
- ๋ชจ๋ ๋ชฉ๋ก ๋ฐ Public Surface / Contracts
- ๊ณต์ ๊ณ์ฝ ๋ฐ API ๋ผ์ฐํธ ์ ๋ณด
- ์ธ๋ถ ์ฐ๋ ํฌ์ธํธ (Integration Points) ๋ฐ ์๋ ค์ง ์ด์ (Known Issues)
- Git ํ๊น
์๋ฃ:
๋ง์ง๋ง step ์ปค๋ฐ์ด ์๋ฃ๋๋ฉด ํ๋ก์ ํธ ์ ์ฅ์์ ๋ฆด๋ฆฌ์ฆ ํ๊ทธ๋ฅผ ์์ฑํฉ๋๋ค:
git tag {project}-phase{N}-done # ์์: git tag debate-phase0-done
๋ชจ๋ AI ์์ด์ ํธ๋ ์์ ์ ์์ํ ๋ ๋ค์์ ๋ฌธ์ ์ฝ๊ธฐ ์์๋ฅผ ์๊ฒฉํ ์ค์ํฉ๋๋ค.
graph TD
A[1. AGENTS.md - Canonical Rules] --> B[2. skills/harness/framework/docs/HARNESS.md - Workflow Specification]
B --> C[3. skills/harness/framework/docs/ARCHITECTURE.md - Design Map]
C --> D[4. skills/harness/framework/docs/ADR.md - Technical Decisions]
D --> E[5. phases/project-manifest.json - Manifest Status]
E --> F[6. phases/{task}/module-map.json - Module Contracts]
F --> G[7. phases/{task}/stepN.md - Step Instruction]
Note
์ ์ฅ์์ ์ ๋์ ์ธ Canonical ํ์ค ๊ท์น์ **AGENTS.md**์ ๋ณด์กด๋๋ฉฐ, ํด๋ณ ์ ์ฉ ์ค์ ํ์ผ์ ๋ณด์กฐ ์๋จ์ผ๋ก๋ง ๊ธฐ๋ฅํฉ๋๋ค. phases/* ํญ๋ชฉ์ ํ๋ ์์ํฌ๊ฐ ์๋๋ผ ๋์ ํ๋ก์ ํธ ๋ฃจํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฝ์ต๋๋ค.
Antigravity๋ IDE ๋ด๋ถ์ ๊ณ ๋๋ก ์ตํฉ๋ ์์ด์ ํธ๋ก, GEMINI.md์ .agy/commands/*.toml์ ๊ธฐ์ค์ผ๋ก ์๋ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ GEMINI.md ์ฐธ๊ณ .
- ์ฌ์ฉ๋ฒ: ์ฑํ
์ฐฝ์ ์๋ ๋ช
๋ น์ด๋ ์์ฐ์ด ํ๋กฌํํธ๋ฅผ ์์ ๋กญ๊ฒ ์
๋ ฅํ์ฌ ์คํํฉ๋๋ค.
์์ฐ์ด ์ ๋ ฅ ์์:
/harness /review /loopharness ์ํฌํ๋ก์ฐ ์งํํด์ค,ํ์ฌ ์ฝ๋์ ๋ณ๊ฒฝ์ฌํญ ๋ฆฌ๋ทฐ ์ํํด์ค
- ํ๋ก์ ํธ ๊ท์น:
CLAUDE.md - ํ๋ก์ ํธ ๋ช
๋ น:
.claude/commands/harness.md,review.md,loop.md - ์คํ ๋ฐฉ๋ฒ:
/harness,/review๋๋/loop์ ๋ ฅ
- ํ๋ก์ ํธ ๊ท์น:
AGENTS.md - ์คํ ๋ฐฉ๋ฒ:
/skill:harness๋๋/skill:review์ ๋ ฅ
- ๋ณ๋์ ์ฌ๋์ ์ปค๋งจ๋๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉฐ,
AGENTS.md๋ฅผ ํ์ค์ผ๋ก ์ผ์ ์์ฐ์ด ๋ช ๋ น์ผ๋ก ์ํฌํ๋ก์ฐ๋ฅผ ์์ฒญํฉ๋๋ค. ์์:ํ์ฌ phases ์ํ๋ฅผ ์ฝ๊ณ ์ฒซ pending step๋ถํฐ ์งํํด์ค
์๋ ์คํฌ๋ฆฝํธ๋ ์ค์น๋ ์คํฌ ๊ธฐ์ค ~/.claude/skills/harness/framework/scripts/(๋๋ ์ด ํด๋ก ์ skills/harness/framework/scripts/)์ ์์ผ๋ฉฐ, ํญ์ --root {๋์ ํ๋ก์ ํธ ๊ฒฝ๋ก}๋ก ๋์ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฆฌ์ผ ์คํํฉ๋๋ค.
์๋ก์ด ์์ ํ์ด์ฆ๋ฅผ ์ค๊ณํ๊ณ ํ์ค ์คํ ํ์ผ ๊ตฌ์กฐ๋ฅผ ์๋ ์์ฑํฉ๋๋ค.
python3 ~/.claude/skills/harness/framework/scripts/scaffold_phase.py {phase-dir} --project {name} --steps step1 step2 --root {๋์ ํ๋ก์ ํธ ๊ฒฝ๋ก}์์ฑ๋๊ฑฐ๋ ์์ ๋ ํ์ด์ฆ ์ธ๋ฑ์ค, ๋ชจ๋ ๋งต, ์คํ ๋ฌธ์ ์คํค๋ง์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆํฉ๋๋ค.
python3 ~/.claude/skills/harness/framework/scripts/validate_phase.py {phase-dir} --root {๋์ ํ๋ก์ ํธ ๊ฒฝ๋ก}์ด ์ ์ฅ์๋ ์ธํฐ๋ํฐ๋ธ ์์ด์ ํธ ์ธ์ ์์๋ง ๋์ํฉ๋๋ค โ ๋ณ๋ ํค๋๋ฆฌ์ค ๋ฐฐ์น ์คํ๊ธฐ๋ ๋ฐฑ์๋ CLI ์ถ์ํ๋ ์์ต๋๋ค.
~/.agents/skills/harness/ # ์ด ์ ์ฅ์๋ฅผ cloneํ๋ ๊ถ์ฅ ์์น (ํ ๊ณณ์๋ง clone)
โโโ AGENTS.md # ์ ์ฌ ๊ณตํต ์ฝ๋ฉ ์์ด์ ํธ ๊ท์น (Canonical Rules)
โโโ CLAUDE.md # Claude Code Supplement
โโโ GEMINI.md # Gemini / Antigravity Supplement
โโโ install.sh # ~/.claude, ~/.kimi, ~/.codex ์ skills/harness ๋ฅผ
โ # ์ด ํด๋ก ์ skills/harness/ ๋ก symlink
โโโ skills/harness/
โโโ SKILL.md # ์คํฌ ์ง์
์ (Claude Code / Kimi ๊ณต์ฉ)
โโโ framework/ # ๋ฒ๋ค ํ๋ ์์ํฌ โ ์ค์ ๋ฐฐํฌ๋๋ ์๋ณธ
โโโ docs/ # ํ๋ ์์ํฌ ํ์ค ์ง์นจ ๋ฌธ์
โ โโโ HARNESS.md # ํ๋ค์ค ์คํ
๋ฐ ์ธ์
๋ผ์ดํ์ฌ์ดํด ๋ช
์ธ
โ โโโ LOOP.md # ์์จ ๊ฐ๋ฐ ๋ฃจํ(PlanโExecuteโEvaluate) ์ํฌํ๋ก์ฐ
โ โโโ REVIEW.md # ์ฝ๋ ํ์ง ๋ฐ ์ํคํ
์ฒ ๋ฆฌ๋ทฐ ํ์ค ๊ฐ์ด๋
โ โโโ ARCHITECTURE.md # ํ๋ ์์ํฌ ๋ฐ ๋ฐ์ดํฐ ํ๋ฆ ์ํคํ
์ฒ
โ โโโ ADR.md # ์ํคํ
์ฒ ์ฃผ์ ๊ฒฐ์ ์ด๋ ฅ
โโโ scripts/ # phase/step ์ค์บํด๋ยท๊ฒ์ฆ ์ ํธ๋ฆฌํฐ (scaffold_phase.py, validate_phase.py ๋ฑ)
โโโ templates/ # scaffold ํ์ค ๋งํฌ๋ค์ด ํ
ํ๋ฆฟ ์์ค
๋์-ํ๋ก์ ํธ/ # ํ๋ค์ค ์คํฌ๋ก ์์
ํ๋ ์ค์ ํ๋ก์ ํธ (๋ณ๋ ๋๋ ํฐ๋ฆฌ)
โโโ phases/ # ํ๋ก์ ํธ ์งํ ์ํ๋ฅผ ๊ธฐ๋กํ๋ SSOT
โโโ index.json # ํ์ด์ฆ ๋ชฉ๋ก ๋ฐ ์ํ
โโโ project-manifest.json # ๋์ ํ๋ก์ ํธ ๋งค๋ํ์คํธ
โโโ baselines/ # ์๋ฃ ํ์ด์ฆ ์ํฐํฉํธ
โโโ {phase-dir}/
โโโ index.json # ์คํ
๋ชฉ๋ก ๋ฐ ์ํ
โโโ module-map.json # ๋ชจ๋ ๊ฒฝ๊ณ, ์์ step, contracts
โโโ stepN.md # ๊ฐ๋ณ ์คํ
์ํ ์ง์์
- ์คํ ๋ฒ์ ๊ฒฉ๋ฆฌ: ํ๋์ Step์ ํญ์ ๋ช ํํ๊ณ ์ข์ ๋จ์ผ ์ฑ ์ ๋ฒ์๋ฅผ ์ ์งํด์ผ ํฉ๋๋ค.
- ๊ตฌ์กฐํ๋ ํธ๋์คํ: ์ธ์
์ด ์ค๋จ๋๊ฑฐ๋ ์๋ฃ๋ ๋๋
phases/{phase-dir}/index.json์ status๋ฅผ ๊ฐฑ์ ํ์ฌ, ํ์ ์์ด์ ํธ๊ฐ ์๋ฒฝํ๊ฒ ๋ฐํต์ ์ด์ด๋ฐ์ ์ ์๊ฒ ํฉ๋๋ค. - ๋ํ ๋งฅ๋ฝ ์์กด ๊ธ์ง: ์ด์ ์ธ์
์ ๋ฉ์ ์ ๋ํ ์ด๋ ฅ์ ์์กดํ์ง ๋ง์ญ์์ค. ์ค์ง ํ์ผ ์ํ(
index.json,module-map.json,baseline,contract)๋ง์ด ์ ์ผํ ์ง์ค์ ๋๋ค.