ADR-0048 — design-intent 空間 dir rename (architecture/ → design-intent/)

Status: accepted · Date: 2026-07-03 · folio v1.2.0 · folio の設計意図空間 dir を architecture/ から design-intent/ へ rename し、 dir 名を canonical 語彙 design-intent space と一致させる — constitution は無改訂 (layout 非依存設計による P-10 amendment 不要)・consumer 公開 default も同時変更・単一 atomic 実行。 語彙「architecture」 (doc-type architecture-description / constitution §1 の用法) は dir 名と独立に存続する — ADR-0026 (verification/ → tests/) と同じ「概念と dir 名の独立」原理の適用である。 ADR-0022 の 3-domain 構造・sibling 配置は不変で、 空間 dir 名のみを revise する (supersede ではない)。 user 承認 = Tier B grill (2026-07-03) で方向確定 + 本 ADR 本文承認。

§1. Context

folio の設計意図空間 (spec / decisions / research / assets を収める dir) は ADR-0022architecture/ と命名され、 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-0026verification/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 が確定した。

§2. Decision

§2.1 rename の対象と target 名 (語彙は不変)

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 で、 内部構造は一切変えない。

§2.2 クロス参照 rewrite (P-6 link-integrity)

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 規則:

§2.3 consumer 公開 contract の同時変更 (Layer 0/1 同型)

plugin.jsonspec_path.defaultarchitecture/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/ を明示設定すれば動作する (逃げ道は既存機構で有界)。

§2.4 harness / 表記の更新面

§2.5 version align (1.1.0 → 1.2.0)

公開 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)。

§2.6 実行方式 + acceptance

ADR-0023 同型の単一 atomic 実行とする — 物理 rename は中間状態で validate が壊れる (分割不可) ため、 worktree 内で §2.1〜§2.5 を完遂し、 全 gate GREEN を確認後に fast-forward merge して main を中間 RED 状態にしない。 受け入れ契約は既存 verification suite の post-rename GREEN:

§3. Consequences

Positive

Negative

Neutral

§4. Alternatives Considered

採用可否
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 を新設してしまう

§5. Trace