공개 문서

FOUR-FLAVOR-NAMING.md

아래는 learn/canonical/FOUR-FLAVOR-NAMING.md 와 동일한 원문입니다. Markdown과 HTML 변환 결과를 각각 복사할 수 있습니다.

공개 문서 원문 (Markdown)

# Four-Flavor Naming — Final Decision

> **Status**: **FINAL** (2026-06-10)  
> **Scope**: 제품 라인 표기 + LAB install 폴더 규칙. **인스톨/rename은 별도 Phase.**

---

## 1. 제품 라인 (문서·UI·표)

| flavor | 제품명 (논리) | orchestrator host |
|--------|---------------|-------------------|
| cursor | **MULTIAGENT-CURSOR** | Cursor Agent |
| claude | **MULTIAGENT-CLAUDE** | Claude Code |
| codex | **MULTIAGENT-CODEX** | Codex |
| antigravity | **MULTIAGENT-ANTIGRAVITY** | Antigravity / Gemini (agy) |

- 대문자 표기는 **브랜드·문서·허브 카드**용.
- `MULTIAGENTSYSTEM-*` 접두사는 **사용하지 않음** (과장·경로 과다).

---

## 2. LAB install 폴더 (물리 경로)

| flavor | LAB 폴더 | `init.py` 예시 |
|--------|----------|----------------|
| cursor | `multi-agent-cursor/` | `--flavor cursor --target multi-agent-cursor` |
| claude | `multi-agent-claude/` | `--flavor claude --target multi-agent-claude` |
| codex | **`multi-agent-codex/`** | `--flavor codex --target multi-agent-codex` |
| antigravity | `multi-agent-antigravity/` | `--flavor antigravity --target multi-agent-antigravity` |

규칙: **`multi-agent-{flavor}`** — 소문자 kebab-case, generator 기본값(`multi-agent-{flavor}`)과 일치.

```bash
INIT=multi-agent-starter/plugins/multi-agent-starter/skills/configure-multiagent/generator/init.py
python3 "$INIT" --flavor <flavor> --target multi-agent-<flavor> --yes
```

---

## 3. Canonical 예외 (본 레포)

| 역할 | 폴더 | 설명 |
|------|------|------|
| **Canonical cursor install** | `multi-agent-system/` | Phase 79–118 운영 정본 · `runs/` · validate 기준 |

- LAB 4종과 **별도**: 역사·정본·문서 앵커로 `multi-agent-system/` 유지.
- 문서상 제품명은 **MULTIAGENT-CURSOR**와 동일 계열; 경로만 예외.
- **수정 금지**: `init.py --target multi-agent-system` 금지 · 편집은 `[APPROVAL] canonical multi-agent-system edit` 후만. 규정: repo `CLAUDE.md` · `AGENTS.md` § Canonical immutability · [`run-089`](../runs/run-089-template-sync-lab-reinit/).

---

## 4. Legacy 이름 (마이그레이션)

| legacy | → final | status |
|--------|---------|--------|
| `my-system/` | `multi-agent-codex/` | **renamed** (LAB, gitignored) |

- `multi-agent-cursor/` **created** via `init.py --flavor cursor` (LAB, gitignored).
- `runs/` 과거 기록의 `my-system` 문자열은 historical, 수정하지 않음.

---

## 5. 환경 변수

폴더명과 독립:

```bash
export MULTIAGENT_ROOT="/absolute/path/to/multi-agent-codex"
```

---

## 6. SaaS / WORKSPACE_CLEAN 이식 (참고)

- 비즈니스 앱 루트(`SaaS-Engine/` 등)에 init **금지**.
- 이식 시: 앱 하위 `multi-agent/` 또는 LAB에서 완성한 `tasks/<name>/` 복사 + `target_repo`.
- 제품 4종 완성 → task 이식 순서는 [`phase-c-operations-guide.md`](./phase-c-operations-guide.md).

---

## 7. 금지

| 금지 | 이유 |
|------|------|
| SaaS-Engine / WORKSPACE_CLEAN **루트**를 `--target` | §8 조사 — 지침 덮어쓰기 |
| `multi-agent-system/`에 `init.py --flavor cursor` | 정본이 starter 템플릿보다 앞섬 |

---

## Related

| Document | Role |
|----------|------|
| [`PHASE-B-FLAVOR-ACCEPTANCE-SPEC.md`](../runs/run-081-phase99-post-baseline-prd/PHASE-B-FLAVOR-ACCEPTANCE-SPEC.md) | L1/L3 evidence |
| [`configure-multiagent` SKILL](../../../.cursor/skills/configure-multiagent/SKILL.md) | init 진입 |

공개 문서 변환 코드 (HTML)

<h1>Four-Flavor Naming — Final Decision</h1>
<blockquote>
<p><strong>Status</strong>: <strong>FINAL</strong> (2026-06-10)<br><strong>Scope</strong>: 제품 라인 표기 + LAB install 폴더 규칙. <strong>인스톨/rename은 별도 Phase.</strong></p>
</blockquote>
<hr>
<h2>1. 제품 라인 (문서·UI·표)</h2>
<table>
<thead>
<tr>
<th>flavor</th>
<th>제품명 (논리)</th>
<th>orchestrator host</th>
</tr>
</thead>
<tbody><tr>
<td>cursor</td>
<td><strong>MULTIAGENT-CURSOR</strong></td>
<td>Cursor Agent</td>
</tr>
<tr>
<td>claude</td>
<td><strong>MULTIAGENT-CLAUDE</strong></td>
<td>Claude Code</td>
</tr>
<tr>
<td>codex</td>
<td><strong>MULTIAGENT-CODEX</strong></td>
<td>Codex</td>
</tr>
<tr>
<td>antigravity</td>
<td><strong>MULTIAGENT-ANTIGRAVITY</strong></td>
<td>Antigravity / Gemini (agy)</td>
</tr>
</tbody></table>
<ul>
<li>대문자 표기는 <strong>브랜드·문서·허브 카드</strong>용.</li>
<li><code>MULTIAGENTSYSTEM-*</code> 접두사는 <strong>사용하지 않음</strong> (과장·경로 과다).</li>
</ul>
<hr>
<h2>2. LAB install 폴더 (물리 경로)</h2>
<table>
<thead>
<tr>
<th>flavor</th>
<th>LAB 폴더</th>
<th><code>init.py</code> 예시</th>
</tr>
</thead>
<tbody><tr>
<td>cursor</td>
<td><code>multi-agent-cursor/</code></td>
<td><code>--flavor cursor --target multi-agent-cursor</code></td>
</tr>
<tr>
<td>claude</td>
<td><code>multi-agent-claude/</code></td>
<td><code>--flavor claude --target multi-agent-claude</code></td>
</tr>
<tr>
<td>codex</td>
<td><strong><code>multi-agent-codex/</code></strong></td>
<td><code>--flavor codex --target multi-agent-codex</code></td>
</tr>
<tr>
<td>antigravity</td>
<td><code>multi-agent-antigravity/</code></td>
<td><code>--flavor antigravity --target multi-agent-antigravity</code></td>
</tr>
</tbody></table>
<p>규칙: <strong><code>multi-agent-{flavor}</code></strong> — 소문자 kebab-case, generator 기본값(<code>multi-agent-{flavor}</code>)과 일치.</p>
<pre><code class="language-bash">INIT=multi-agent-starter/plugins/multi-agent-starter/skills/configure-multiagent/generator/init.py
python3 &quot;$INIT&quot; --flavor &lt;flavor&gt; --target multi-agent-&lt;flavor&gt; --yes
</code></pre>
<hr>
<h2>3. Canonical 예외 (본 레포)</h2>
<table>
<thead>
<tr>
<th>역할</th>
<th>폴더</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Canonical cursor install</strong></td>
<td><code>multi-agent-system/</code></td>
<td>Phase 79–118 운영 정본 · <code>runs/</code> · validate 기준</td>
</tr>
</tbody></table>
<ul>
<li>LAB 4종과 <strong>별도</strong>: 역사·정본·문서 앵커로 <code>multi-agent-system/</code> 유지.</li>
<li>문서상 제품명은 <strong>MULTIAGENT-CURSOR</strong>와 동일 계열; 경로만 예외.</li>
<li><strong>수정 금지</strong>: <code>init.py --target multi-agent-system</code> 금지 · 편집은 <code>[APPROVAL] canonical multi-agent-system edit</code> 후만. 규정: repo <code>CLAUDE.md</code> · <code>AGENTS.md</code> § Canonical immutability · <a href="../runs/run-089-template-sync-lab-reinit/"><code>run-089</code></a>.</li>
</ul>
<hr>
<h2>4. Legacy 이름 (마이그레이션)</h2>
<table>
<thead>
<tr>
<th>legacy</th>
<th>→ final</th>
<th>status</th>
</tr>
</thead>
<tbody><tr>
<td><code>my-system/</code></td>
<td><code>multi-agent-codex/</code></td>
<td><strong>renamed</strong> (LAB, gitignored)</td>
</tr>
</tbody></table>
<ul>
<li><code>multi-agent-cursor/</code> <strong>created</strong> via <code>init.py --flavor cursor</code> (LAB, gitignored).</li>
<li><code>runs/</code> 과거 기록의 <code>my-system</code> 문자열은 historical, 수정하지 않음.</li>
</ul>
<hr>
<h2>5. 환경 변수</h2>
<p>폴더명과 독립:</p>
<pre><code class="language-bash">export MULTIAGENT_ROOT=&quot;/absolute/path/to/multi-agent-codex&quot;
</code></pre>
<hr>
<h2>6. SaaS / WORKSPACE_CLEAN 이식 (참고)</h2>
<ul>
<li>비즈니스 앱 루트(<code>SaaS-Engine/</code> 등)에 init <strong>금지</strong>.</li>
<li>이식 시: 앱 하위 <code>multi-agent/</code> 또는 LAB에서 완성한 <code>tasks/&lt;name&gt;/</code> 복사 + <code>target_repo</code>.</li>
<li>제품 4종 완성 → task 이식 순서는 <a href="./phase-c-operations-guide.md"><code>phase-c-operations-guide.md</code></a>.</li>
</ul>
<hr>
<h2>7. 금지</h2>
<table>
<thead>
<tr>
<th>금지</th>
<th>이유</th>
</tr>
</thead>
<tbody><tr>
<td>SaaS-Engine / WORKSPACE_CLEAN <strong>루트</strong>를 <code>--target</code></td>
<td>§8 조사 — 지침 덮어쓰기</td>
</tr>
<tr>
<td><code>multi-agent-system/</code>에 <code>init.py --flavor cursor</code></td>
<td>정본이 starter 템플릿보다 앞섬</td>
</tr>
</tbody></table>
<hr>
<h2>Related</h2>
<table>
<thead>
<tr>
<th>Document</th>
<th>Role</th>
</tr>
</thead>
<tbody><tr>
<td><a href="../runs/run-081-phase99-post-baseline-prd/PHASE-B-FLAVOR-ACCEPTANCE-SPEC.md"><code>PHASE-B-FLAVOR-ACCEPTANCE-SPEC.md</code></a></td>
<td>L1/L3 evidence</td>
</tr>
<tr>
<td><a href="../../../.cursor/skills/configure-multiagent/SKILL.md"><code>configure-multiagent</code> SKILL</a></td>
<td>init 진입</td>
</tr>
</tbody></table>