folio の設計意図空間 (spec / decisions / research / assets を収める dir) は ADR-0022 で architecture/ と命名され、 ADR-0023 (X4-C) で物理実体化された。 その後の語彙整理 (folio-c5r.7) が、 この名が三重の多義性を抱えることを確定した — architecture/vocabulary.yaml は「architecture」系の語を 3 つの canonical に分離している: architecture-description (構造の WHAT を捉える一 doc-type、 ISO/IEC/IEEE 42010)、 design-intent space (dir 全体 = 設計意図の空間、 P-7 3-domain)、 Layer Architecture (constitution §3 の 2 層構造)。 精密用語では「architecture」は一 doc-type の名であり、 rules (要件) / ADR (決定 WHY) / research (探索) / constitution (原則) まで含む空間全体の名としては不正確である。 dir 名だけが旧命名のまま残り、 canonical 語彙 (design-intent space) と物理名が乖離している。
この乖離は実害を持つ。 (1) 空間を指す度に「architecture/ (= design-intent space、 doc-type の architecture ではない)」という曖昧性解消の注釈が必要になる。 (2) vocabulary gate (REQ-CI-013) の禁止 synonym 検査で、 doc-type を指す正当な「architecture」と dir を指す「architecture」が字面上区別できず、 裸の「architecture」を forbidden 語化できない (grep 誤検出源、 folio-c5r.7 積み残し)。 (3) folio は「dir 名と概念の独立」を既に一度実証している — ADR-0026 は verification/ → tests/ の rename で「verification 概念は dir 名と独立に存続する」ことを示した。 同じ原理の適用が残っているのが本件である。
前提訂正 (起票時見立ての誤りを grill pre-bake が verified): 起票時は「rename は constitution 冒頭の自己定義 (architecture specification framework) の改訂 = P-10 amendment を要する」と見立てられていた。 実際は ADR-0021 が constitution を layout 非依存に設計済み (「root path・具体 dir 名は含めない」) で、 constitution.html に literal な architecture/ は 0 件。 §1 の「architecture specification framework」は doc-type 側 (architecture-description を書く framework) の用法であり rename 後も valid — よって constitution touch はゼロ (P-10 amendment 不要)。
実施を今行う根拠: downstream consumer が未観測 (公開 contract 変更の破壊が実質ゼロ) かつ Tier C (vision pack 以降の doc-suite 拡張) 開始前 (golden 波及が現規模で最小) の現時点が、 rename の実コストが最も安い唯一の窓である。 「次の self-dogfood パスに束ねる」案は vehicle が未起票で無期延期に等しく、 却下された。 方向は Tier B 一括 grill (2026-07-03) で user が確定した。
architecture/ dir を design-intent/ へ rename する (git mv)。 rename の対象は dir 名のみであり、 語彙「architecture」は不変 — doc-type architecture-description (arch pack・folio-self-spec・clinic-architecture 等の instance)、 constitution §1 の「architecture specification framework」、 ADR という語の A はいずれも rename 後も存続する。 target 名は c5r.7 が canonical 化した「design-intent space」と厳密一致する design-intent/ とする。 design/ は WHAT (設計意図) と HOW (実装設計) の両方を含意する generic 語のため不採択 (§4)。 rename 後の空間は design-intent/{spec,decisions,research,assets} + 空間 root の index.html / glossary.html / vocabulary.yaml で、 内部構造は一切変えない。
dir 内部の相対参照 (../spec/ / ./constitution.html 等) は topology 不変のため無傷で、 rewrite 対象は空間の外から中を指す path と、 prose / 設定中の literal architecture/ である。 実測 (2026-07-03、 tracked file・本 ADR draft 自身の言及を除く commit 前 corpus): path 形 architecture/ は 116 file / 628 出現 — 内訳は architecture/ 内の prose・layout 記述 35 file / 219、 tests/ (scenarios / fixtures / baselines / e2e) 31 file / 141、 .claude-plugin/ (scripts / bin / design-system) 26 file / 109、 agents/ 14 file / 92、 skills/ 5 file / 25、 .github/ 1 file / 1、 root 直下 4 file (CLAUDE.md / README.md / common.css / index.html — この index.html は GitHub Pages が repo root 配信する公開 landing で、 空間 root の architecture/index.html とは別 file)。 rewrite 規則:
design-intent/ へ書き換える。 機械捕捉の射程は正確に区別する — link-integrity (P-6) が検査するのは design-intent cluster 内の JSON-LD relation であり、 cluster 外の機能参照 (repo-root landing の href・agents/・skills/・scripts・CI) は validate の射程外。 後者の受入網は golden 再生成 + 手動 sweep + §2.6 の独立 gate (landing 検査 / render-gate / full-diff review) である。design-intent へ一括更新する (frozen ADR の chrome は可触領域)。vocabulary.yaml の定義文中の「architecture/ ディレクトリ」表記を design-intent/ へ更新する。plugin.json の spec_path.default を architecture/spec/ → design-intent/spec/ へ、 folio init の scaffold (Layer 1 consumer に生成する dir 構造 + 埋込 template) も同時に変更し、 Layer 0 (folio 自身) と Layer 1 (consumer) の同型を維持する。 folio を導入した downstream consumer は現時点で未観測のため、 公開 default 変更の破壊は実質ゼロ。 spec_path は consumer ごとに設定可能な項目として残るため、 万一旧 layout の利用者が現れても architecture/spec/ を明示設定すれば動作する (逃げ道は既存機構で有界)。
bin/folio: 走査 base の root literal (実測 5 箇所) + init scaffold + 埋込 template + message / comment 表記。plugin-lib.sh の FOLIO_SPEC_PATH 既定、 check-*.sh の参照 path + メッセージ、 hooks (caller-marker / path-boundary / content-boundary) が解決する spec_path 経由の gate 対象。index.html: GitHub Pages (repo root 配信、 pages.yml) の公開 landing。 architecture/ への機能 href 5 本を書き換える — JSON-LD を持たない cluster 外 file で default-root の folio validate では検査されないため、 §2.6(e) で独立確認する。tests/render-gate/check.py の corpus root default (--root architecture) — render ceiling が rename 後も全 page を走査する前提値 (validate 射程外の literal)。.github/workflows/ci.yml) の comment、 common.css 内の path 言及、 CLAUDE.md (§2〜§6 の layout 記述全面) と README.md。tests/baselines/) を --accept で再生成し、 diff を独立 review する (corpus 成長か masking かの区別)。公開 contract (spec_path.default) の変更を伴うため、 plugin.json と living spec (architecture/spec/ 配下の active spec 群) の folio version を 1.1.0 → 1.2.0 (MINOR) へ揃える。 frozen ADR の version meta は歴史値のまま据置 (従来どおり)。 MAJOR としないのは、 consumer 未観測 + 旧 default の明示設定という migration path が既存機構で提供されるため (§2.3)。
ADR-0023 同型の単一 atomic 実行とする — 物理 rename は中間状態で validate が壊れる (分割不可) ため、 worktree 内で §2.1〜§2.5 を完遂し、 全 gate GREEN を確認後に fast-forward merge して main を中間 RED 状態にしない。 受け入れ契約は既存 verification suite の post-rename GREEN:
folio validate clean — link-integrity (P-6) が物理 move 後の design-intent cluster 内 relation 整合を保証folio verify-graph + census-vocab 整合 gate clean (3-gate)design-intent/spec/ 解決で発火することindex.html) の全 href 解決の独立確認 — cluster 外 + JSON-LD 無しで validate 射程外のため個別に検査するcheck.py の corpus root 反映を render page 数 > 0 の GREEN で実証 (CI render-gate job)git log --follow 前提になる (dir 一括 rename の一般コスト)design-intent/decisions/ へ移動する| 案 | 採用可否 |
|---|---|
design-intent/ へ rename (採用) | c5r.7 canonical「design-intent space」と厳密一致。 曖昧性注釈の恒久コストと REQ-CI-013 誤検出源を物理解消 |
| 現状維持 (architecture/ のまま) | 不採用 — 三重多義性と曖昧性解消注釈が恒久化。 consumer が現れるほど rename の窓は高くなる一方 |
design/ へ rename | 不採用 — WHAT (設計意図) と HOW (実装設計) の両方を含意する generic 語で、 P-3 (WHAT/HOW 分離) の空間名として新たな曖昧性を生む |
| 次の self-dogfood パスに束ねる | 不採用 — vehicle (後継 self-dogfood cell) が未起票で無期延期に等しい。 Tier C 前の今が golden 波及最小の窓 |
| Layer 0 のみ rename (consumer default 据置) | 不採用 — Layer 0/1 の物理名同型 (P-12 の一体性) が崩れ、 self-host が自らの scaffold と異なる名を持つ divergence を新設してしまう |
vocabulary.yaml の canonical 3 分離 (architecture-description / design-intent space / Layer Architecture、 folio-c5r.7)。 本 ADR は空間の物理名を canonical に追従させる実行決定。