X4 = folio を scratch/ 試作 → 完成形 layout へ移行し、 harness (CLI init/fix + folio-architect SKILL) を完成させる「試作卒業」 フェーズ。 folio-self-spec §2 の target layout + P-12 (Layer 0 一体配布) が完成形の基準。 architecture/ dir の作成は CLAUDE.md §3 で「Phase X4+ に user 主導」 と明記されており、 X4 の中核 (layout 確定 + migration) は user 主導の意思決定を要する。
| id | 内容 | user 主導 | depends on | 実装方式 |
|---|---|---|---|---|
| X4-0 | 完成形 layout の確定 (§3 の論点を reconcile) | MUST (ADR + amendment + architecture/ 作成決定) | — | 設計 session (ADR 起票) |
| X4-A | bin/folio init — consumer の architecture/spec/ + folio.config.yaml scaffold | ADR 承認 | X4-0 | spec→spawn (ADR + REQ-VER + cli-golden) |
| X4-B | bin/folio fix (or doctor) — 双方向 link 等の自動修正 (validate の対) | ADR 承認 | X4-0 (命名) + validate (済) | spec→spawn |
| X4-C | scratch→architecture migration (folio init を folio 自身に self-referential 適用) | MUST (最大の破壊的変更、 scratch 撤去) | X4-0 + X4-A | 段階的・親主導 (検証必須) |
| X4-D | folio-architect full 7-Phase SKILL + 8 specialist agents (§7.1/§7.2) | ADR 承認 | (独立、 migration 後 layout が clean) | spec→spawn (大) |
| X4-E | e2e use case 拡張 (現 6 = S-A〜S-F → 完成形全 use case、 目標数は verification §4.1 で要確認) | — | init/fix/architect が揃ってから | e2e runbook 追加 |
X4-0 (layout 確定, user 主導) ──→ X4-A (init) ──→ X4-C (migration, user 主導) ← critical path
├─→ X4-B (fix)
├─→ X4-D (architect full) X4-0 後に並行可
└─→ X4-E (e2e 拡張) (migration 後 layout での実装/検証が clean)
folio-self-spec §2 の target layout を、 relations/verification framework 追加後の現状と reconcile する。 §2 は relations.html / verification.html / scratch/verification/ framework / research/ を想定していないため、 これらの配置は未決:
| 論点 | §2 の記述 | 現状 | 要決定 |
|---|---|---|---|
| constitution / rules / folio-self-spec | root 直下 | scratch/ (constitution は scratch 直下、 rules/self-spec は scratch/specs/) | root へ移すか |
| decisions/ (ADR) | root 直下 | scratch/decisions/ | root か |
| relations.html / verification.html | 記載なし | scratch/specs/ | 配置先 (root? architecture/? specs として残す?) |
| scratch/verification/ framework (scenarios/fixtures/baselines/runner.sh) | 記載なし | scratch/verification/ | 移植先 (architecture/verification/? .claude-plugin/?) |
| research/ | 記載なし | scratch/research/ | 扱い (保持? archive?) |
| spec_path (caller-marker gate 対象) | architecture/spec/ (consumer 用) | scratch/specs/ (暫定 override) | folio 自身は self-spec を root に持つ → self-host 時の spec_path 解釈 (folio の「spec」 は何か) |
| CLI 命名 (自動修正) | doctor (§2 bin/) | fix (ADR-0003 §2.1 + bin/folio help) | fix vs doctor 統一 |
これらは constitution / folio-self-spec の amendment を伴う可能性があり (P-10 / 既存 ADR frozen)、 X4-0 で ADR 起票 (user 承認 MUST) として確定する。
b9a5bba (origin 同期、 clean)。 ⓪〜④ 完了。version / help / inventory / prime / validate [--root]。 未実装: init / fix(doctor)。.folio/architect-active set→編集→unset (MUST)。 X4 で root へ移植後は spec_path 再定義に伴い marker 対象も変わる (X4-0 で確定)。Phase 1 (constitution amendment ADR-0021) + dig を経て、 §3 の全 layout 論点が解決した (user 承認: F1/F3/F4 + Q3 + amendment 議論)。 canonical 構造を以下に確定。 これを self-spec §2 / rules §2 に反映 + ADR-0022 起票 = X4-0 残作業 (PARENT)、 物理移動 = X4-C (SPAWN)。
folio Layer 0 (self-host):
folio/
├── FOLIO.md / README.md / CLAUDE.md / common.css # root (外部規約 + style)
├── architecture/
│ ├── spec/ # design intent: constitution / rules / folio-self-spec / relations / verification / README
│ ├── decisions/ # decision (ADR)
│ ├── research/ # exploration
│ └── assets/ # mermaid (support、 domain でない)
├── verification/ # HOW-test sibling (scenarios/ fixtures/ baselines/ e2e/ runner.sh)
├── hooks/ + .claude-plugin/ # HOW-impl (harness)
└── inventory.json # generated (gitignore)
consumer Layer 1:
<consumer>/
├── README.md / CLAUDE.md / folio.config.yaml
├── architecture/{spec,decisions,research}/ # 3-domain (Diátaxis/steering は除去)
├── verification/ # HOW-test
└── <impl>/ # src/ skills/ 等
| 論点 | 確定 | 根拠 |
|---|---|---|
| constitution/rules/self-spec 配置 | architecture/spec/ に flat (folio 完全 self-host) | F1 |
| decisions/ 配置 | architecture/decisions/ | 3-domain |
| relations/verification.html 配置 | contract = architecture/spec/ (design intent) | amendment 議論 |
| verification framework 実体 移植先 | repo-root verification/ sibling (architecture/ 外、 executable HOW) | P-3/P-11 + TDD |
| research/ 扱い | architecture/research/ (exploration domain、 保持) | 3-domain |
| spec_path 解釈 | architecture/spec/ canonical、 location は override 可。 folio self-host = architecture/spec/ | Q3 |
| CLI 命名 (自動修正) | fix (doctor 不採用) | F4 |
| Diátaxis (howto/tutorial/explanation) + Kiro steering/ | canonical から除去 (triad に絞る)。 一般 docs/AI-context は consumer 自由領域、 folio 非 govern | F3 |
X4-0 完了 (2026-05-25): spec が canonical layout を記述。 物理実体は scratch のまま (P-1、 X4-C で追従)。 検証: validate 19 files/81 relations clean、 sandbox 8/8 GREEN。