ADR-0002 — folio repo を scratch 中心の試作層に整理

Status: accepted · Date: 2026-05-22 · folio v0.4.2-draft

§1. Context

PR #1 (ADR-0001 v3) で architecture-rules.html を rules.html + folio-self-spec.html に split し、 decisions/ dir + ADR-0001 を root 直下に新設した。 v0.4.2-draft 状態。

ユーザーは v0.4.2-draft の状態を check し、 以下を指摘:

  1. FOLIO.md の存在意義が曖昧: README.md / CLAUDE.md と identity 情報が重複。
  2. ルート直下のばらつき: project meta / 規範文書 / 一時的自己説明 / styling / Layer 1 規範構造名 (architecture/) / ADR cluster / plugin harness が同階層に混在。
  3. architecture/ の二重意味: rules.html §2 で「Layer 1 consumer の規範構造名」 と規定しつつ、 folio 自身は architecture/assets/mermaid.min.js (vendor 置き場) として利用。
  4. 永続性レベルの混在: 永続 (constitution / rules) と一時的 (folio-self-spec) が同 location。

議論の末、 folio framework は「自身を縛る rule で自身を書く」 self-application paradox を抱えており、 試作段階では folio rule に従わない 工事用の一時的な箱 (scratch) で作業し、 完成後に正式 location (architecture/) に移植する方針を採用。

§2. Decision

§2.1 Scratch 中心の試作層を採用

folio repo の整理:

§2.2 CLAUDE.md を簡素化

§2.3 .claude-plugin/{skills,agents,scripts,static}/README.md を minimal placeholder 化

試作段階では plugin sub-README は詳細記述不要。 各 file を 1-2 行の placeholder に置換 (「Placeholder。 試作 plugin は scratch/ で開発中」)。

§2.4 README.md を簡素化

Entry points を scratch/ 中心に書き換え、 status を「試作段階 (Phase X2)」 に更新、 tailnet URL を scratch/ 配下に。

§2.5 SemVer bump

PATCH bump (v0.4.2-draft 維持)。 constitution 不変原則 + rules.html / folio-self-spec.html の semantic 不変 (移動 + cross-ref 更新のみ)。 P-10 user 承認: 本 dialog (2026-05-22 evening) で取得済。

§3. Consequences

Positive

Negative

Neutral

§4. Alternatives Considered

採用しなかった理由
案 A: core/ dir に Layer 0 を隔離folio 自身が folio rule に従わない (Layer 1 は architecture/、 folio は core/)、 self-application 移行が将来必要。
案 B: 最初から self-application (architecture/spec/ に folio 自身を入れる)bootstrap paradox。 試作段階で「未完成の framework で自身を縛る」 のは現実的でない。 user 指摘で却下。
案 C: 現状維持 + 命名で区別ばらつき未解消、 user 指摘に応えない。
案 D: scratch を別 repo として分離cross-ref が複雑化、 開発 workflow 悪化。

§5. Trace