decisions/ は constitution P-7 の 3 content domain のうち「decision = WHY」を担う frozen ADR cluster。 更新提案は専用領域 (旧 changes/) を持たず、 ADR + delta marker + version control review で表現する。
decisions/ は constitution P-7 (Content domain exclusivity) における「decision = why」 領域を担う (ADR-0021 で 3-domain 化、 changes/ 廃止)。 更新提案は専用領域 (旧 changes/) を持たず、 ADR (why) + delta marker (trace) + version control review で表現する (P-7 / §6)。 実装 (HOW) とその verification は design-intent 空間の外 (P-13)。
ADR の status は proposed (draft・承認待ち) → accepted (適用済) を基本に、 accepted な ADR が後続 ADR に置換されると superseded (supersedes 属性で明示 trace)・deprecated (置換され陳腐化) になる 4 値。 各 ADR の現 status は §3 table の status 列が持つ。
flowchart TB accTitle: ADR status lifecycle accDescr: ADR の status は proposed (draft・user 承認待ち) から始まり、 user 承認で accepted (適用済) になる。 accepted な ADR が後続 ADR に置換されると superseded (新 ADR が supersedes 属性で明示 trace) になり、 置換された古い ADR は deprecated (陳腐化) として扱う。 本 cluster の各 ADR の現 status は §3 table の status 列に対応する。 P["proposed
draft・承認待ち"]:::st AC["accepted
承認済・適用済"]:::st SU["superseded
後続 ADR が明示置換"]:::st DE["deprecated
置換され陳腐化"]:::st P -->|user 承認| AC AC -->|後続 ADR が supersedes| SU SU -->|古い ADR は| DE classDef st fill:#2a4d6e,stroke:#1b3550,color:#ffffff
| status | 意味 |
|---|---|
proposed | draft 段階、 user 承認待ち |
accepted | user 承認済、 適用済 |
deprecated | 古い ADR、 後続 ADR で superseded された |
superseded | 明示的に新 ADR で置換された (supersedes 属性で trace) |
folio はこれまでの ADR を ADR-0001 から連番 (一部欠番) で記録してきた。 下表が ID・title・status・date の一覧 (件数・最新番号の正本は下表)。 番号割当と起票経緯の per-ADR 記録 (retrospective 追認 / forward decision / 予約・見送りの区別) は機械層に保持し、 toggle で全文へ展開できる。
| ID | title | status | revision | date |
|---|---|---|---|---|
| ADR-0001 | architecture-rules.html を rules.html + folio-self-spec.html に分離 | accepted | v3 | 2026-05-22 |
| ADR-0002 | folio repo を scratch 中心の試作層に整理 | accepted | — | 2026-05-22 |
| ADR-0003 | folio plugin minimal architecture (1 skill + 4 hook + 6 script + 1 CLI) | accepted | — | 2026-05-23 |
| ADR-0004 | JSON-LD lint mechanism (試作 Option B Light: jq 構造 check) | accepted | — | 2026-05-25 |
| ADR-0006 | caller marker hook (hybrid: env var OR marker file) | accepted | — | 2026-05-25 |
| ADR-0007 | context injection (SessionStart + PreCompact、 Beads-inspired) | accepted | — | 2026-05-25 |
| ADR-0013 | sandbox verification framework (scratch/verification/) |
accepted | — | 2026-05-23 |
| ADR-0015 | sandbox verification vs experiment-verified (twill 方式) の境界 | accepted | — | 2026-05-23 |
| ADR-0017 | verification の unit (sandbox) vs integration (e2e) 境界 | accepted | — | 2026-05-25 |
| ADR-0018 | CLI golden-diff verification harness (kind:cli-golden) | accepted | — | 2026-05-25 |
| ADR-0019 | path boundary hook (Option Pragmatic: content-marker 検出) | accepted | — | 2026-05-25 |
| ADR-0020 | folio validate 試作 scope (内部 link-integrity + jsonld structural) | accepted | — | 2026-05-25 |
| ADR-0021 | constitution X4 amendment (脱-instance + 3-domain + P-13 新設) | accepted | — | 2026-05-25 |
| ADR-0022 | X4-0 canonical layout 確定 (3-domain self-host + verification sibling + Diátaxis/steering 除去 + fix) | accepted | — | 2026-05-25 |
| ADR-0023 | X4-C scratch→architecture 物理 migration (canonical layout 実体化 + scratch 撤去) | accepted | — | 2026-05-26 |
| ADR-0024 | folio init scope (consumer Layer 1 canonical scaffold + folio.config.yaml 生成) | accepted | — | 2026-05-26 |
| ADR-0025 | folio fix + validate broken-reverse gate (双方向 link materialize, REQ-REL-002/004) | accepted | — | 2026-05-26 |
| ADR-0026 | test-placement model 是正 (verification/ → tests/ rename + consumer test 配置 非規定) | accepted | — | 2026-05-26 |
| ADR-0027 | X4-D folio-architect 7-Phase SKILL 昇格 + Phase F review agents 3 個 (ears/vocabulary/ssot、 explorer/architect は X5+) | accepted | — | 2026-05-26 |
| ADR-0028 | X5-γ 二層 enforcement モデル + prose-gate 機械化 (validate に REQ-CI-013/014/015、 011/012 は agent-only、 minimal CI) | accepted | — | 2026-05-26 |
| ADR-0029 | X5-γ Phase F agent セット確定 (temporal build / structure cut / explorer・architect・stakeholder defer) + §7.2 完成形 anchor 改訂 | accepted | — | 2026-05-26 |
| ADR-0030 | folio v1.0 stability criteria + version formalization (draft→1.0.0、 frozen-ADR provenance 保全、 strict-SemVer 移行) | accepted | — | 2026-05-26 |
| ADR-0031 | mattpocock authoring-pattern 吸収 (grill 流 elicitation + adoption-aware folio-architect 統合 + glossary enrich + ADR-worthiness + lazy materialize、 protocol-only / v1.x) | accepted | — | 2026-05-27 |
| ADR-0032 | v1.0 goal 精緻化 (1.0.0 を defer + authoring-quality criterion H 追加 + ADR-0031 を 0.x 実装に resequence、 ADR-0030/0031 partial-revise) | accepted | — | 2026-05-27 |
| ADR-0033 | dual-audience HTML hub (machine SSoT + human 派生 view を 1 DOM に co-author、 ADR-0028 enforcement で consistency 担保) | accepted | — | 2026-05-29 |
| ADR-0034 | object/term cross-reference system (in-band xref + hover tooltip + 生成 AI-graph を hybrid、 維持は folio fix materialize + validate completeness、 DB-as-SSoT 却下) | accepted | — | 2026-05-30 |
| ADR-0035 | walkable architecture nav-derive (graph から index/cluster-nav を生成、 golden 型 commit-in-place、 generated-view を interpretive-gap で授権) | proposed | — | 2026-06-01 |
| ADR-0036 | folio-vocabulary glossary derive + partition (folio-closed 語彙を canonical author→ship→consumer derive、 hover-only tooltip 描画、 completeness は best-effort で ADR-0034 §2.8 を extend) | accepted | — | 2026-06-01 |
| ADR-0037 | render-safety 二層化 (static floor 全配布 + deterministic browser ceiling = playwright で flowchart 幾何 overlap を CI 検出する folio dogfood、 ADR-0028 の「ceiling」語を LLM-advisory と deterministic-blocking に二分し ADR-0020 validate scope を拡張) | accepted | — | 2026-06-04 |
| ADR-0038 | constitution P-14 (Human Readability) 新設 amendment — 人間可読性を機械可読性と同格の検証対象とする構造要求型原則 (各ページ種別に主読者層の定義を要求、 具体割当は rules 委任) | accepted | — | 2026-06-11 |
| ADR-0039 | human-first presentation template layer (landing template + 全ページ chrome 注入 + 層別既定表示 + audience toggle + readability 二層 gate、 ADR-0038 P-14 を実装する機構群) | accepted | — | 2026-06-11 |
| ADR-0040 | human-layer presentation compression (人間層 = time-box 付きプレゼン 10〜20 分 / 機械層 = 無制限の原稿。 informative prose の audience 降格 + 章要旨/章図 + 既定表示の人間プレゼン化 + 圧縮道具 2 系統 + 一次資料層の区分。 ADR-0039 §2.4 既定表示を改訂) | accepted | — | 2026-06-12 |
| ADR-0041 | human-layer visual design system (人間層を「要件定義書の汎用ビジュアル design system」と再定義。 deck 帯 × 高密度の視覚言語 + 環境追従テーマ + 機械 SSoT からの別ファイル生成 + 2-gate 検証 (persona walk + fidelity)。 ADR-0040 の圧縮 = 隠蔽を「視覚再提示」へ改訂、 ADR-0033 Option A' derive を起動) | accepted | — | 2026-06-15 |
| ADR-0042 | hybrid generation + dense-table readability strategy (人間プレゼン生成をハイブリッド化 = 構造は機械 SSoT から決定的組立・捏造原理不可 / opus は prose スロットのみ充填、 密表は A/B 戦略で非エンジニア可読化 = 監査グリッドは畳む + 平易要約 / 要件本体は plain 行で噛み砕く。 ADR-0041 §2.2/§2.4 を partial-revise、 §2.6 γ scope 不変) | accepted | — | 2026-06-15 |
| ADR-0043 | 照会 graph 終端完備 + HOW-outside content boundary の 3-tier enforcement (engine B5 = 文書規律エンジンの照会 graph を per-pack 局所検証から graph 全体の principle 終端到達保証へ拡張 〔rolemap + reachability〕、 design-intent への HOW 混入を二段 floor 〔照会リンク存在 + P-11 4-enum 保守検出〕 + ceiling で検出、 tier1 注入 / tier2 編集 gate / tier3 CI guarantee の 3-tier 配布。 ADR-0028 二層 enforcement・ADR-0007 注入・ADR-0034 xref graph を engine 汎用機構へ一般化、 floor-2 は soft-warn staged rollout) | accepted | — | 2026-06-22 |
| ADR-0044 | spec-pack による folio rules の self-host (engine B6 = engine の self-dogfood endgame。 folio 自身の rules.html を新 spec-pack 〔SRS でも principle でもない第三ジャンル = EARS 章立て規範文 + 非終端照会〕 で機械 SSoT から決定的生成し、 core 〔lib/〕 無改変で「engine が folio 文書型を再現できる」を実証 = rule-of-three の B6 完成サイン。 源は extraction-bootstrap 〔rules.html → contract YAML〕、 生成物は /tmp 非破壊、 忠実性は自己参照独立 ceiling 〔engine≠oracle で fail-open を断つ〕。 ADR-0042 hybrid 生成・ADR-0043 照会 graph・ADR-0028 二層 enforcement を folio self-host へ適用、 人間層プレゼン 再現に scope 限定 〔機械層 round-trip は follow-up〕) | accepted | — | 2026-06-22 |
| ADR-0045 | spec-pack の機械層 dual-audience round-trip (engine w1f = ADR-0044 §2.4 が境界として繰延した機械層 round-trip を閉じ北極星 self-host を full 化。 grounding sweep が実 scope を確定 〔rules.html 機械層 106 node = 26 EARS SHALL 文は round-trip 済 / ~71 自由文 prose が未モデル化〕。 自由文は contract から決定的導出不能ゆえ取り込み方向が設計判断。 決定 = (1) extract 取り込み 〔extractor 双方向化で原本→contract に逐語抽出・捏造ゼロ〕 (2) canonical data-audience form 〔REQ-DA-STRUCT 適合の本物 dual-audience 文書〕 (3) 二層 fidelity gate 〔floor=原本↔生成物 機械層集合一致・原本直 grep で fail-open しない + 独立 ceiling〕 (4) core 無改変 + scope=rules 1 文書 /tmp 非破壊・schema は tr0 汎用。 prospective ADR = 実装は w1f cell 2-3 で後続) | accepted | — | 2026-06-23 |
| ADR-0046 | architecture-description pack (engine 段階3 / sub-epic folio-c5r = 要件索引型を脱した初の記述型 doc-type。 構造の WHAT 〔P-7 design-intent〕 を描く architecture 記述を arc42 固定章立て + C4 図の schema で生成。 floor 三本柱 = 照会 graph 整合 〔ADR-0043 verify-graph 流用 = 記述型の floor 背骨は EARS でなく照会 graph〕 + navigable id アンカー + 固定 8 章/必須要素存在、 加えて実装HOWリーク advisory + CJK強調空白規律 + fab-free。 案A = SRS要件/ADR決定/principle原則へ cross-document 照会するだけで再掲しない 〔inline 要約は drift 源ゆえ却下〕。 ★core 〔lib/+inject-prose.sh〕 無改変で最も異質な記述型が挿さる = ADR-0044 の engine core 抽出完了が記述型へ及ぶ確認。 clinic 診療予約 architecture を母体 instance#1 に構築・land、 folio-self-spec は B6 self-dogfood で後。 ADR-0041 visual design system + ADR-0042 hybrid 生成を記述型へ適用) | accepted | — | 2026-06-26 |
| ADR-0047 | HOW-outside floor-2 (P-11 4-enum) の CI hard-block 昇格 (ADR-0043 §2.2 staged rollout の完了段。 実測 = 生涯 TP 1 件〔remediate 済〕/ FP 0 を受け、 構文限定検出 + 有界な逃げ道〔code 包み mask の正式経路化〕 + 撤退条件〔confirmed FP で warn へ可逆 rollback〕 を根拠に 4 カテゴリ一括で violation/exit 1 へ。 floor-1 は warn 据置。 ADR-0028 §2.3 what-only=agent-only は概念 HOW について不変 = 構文部分集合のみの refine・supersede でない。 配布は plugin 固定で全 consumer 適用) | accepted | — | 2026-07-03 |
| ADR-0048 | design-intent 空間 dir rename (architecture/ → design-intent/。 dir 名を c5r.7 canonical 語彙「design-intent space」と厳密一致させ、 三重多義性 〔doc-type architecture-description / 空間 / Layer Architecture〕 の空間側字面衝突を物理解消。 語彙 architecture は doc-type 用法で存続 = ADR-0026 〔verification/ → tests/〕 と同じ「概念と dir 名の独立」原理。 constitution 無改訂 〔ADR-0021 の layout 非依存設計により P-10 amendment 不要〕。 consumer 公開 default 〔plugin.json spec_path〕 + init scaffold も同時変更で Layer 0/1 同型維持。 ADR-0023 同型の単一 atomic 実行 + version 1.2.0 align) | accepted | — | 2026-07-03 |
| ADR-0049 | vision pack (engine 段階3 後・記述型 doc-type 2 例目「なぜ作るか」)。 Pichler 骨 + Wiegers 選抜の lean hybrid schema (7 章・用語集章なし・North Star metric 必須化せず = 質的 vision 排除回避)。 floor = ADR-0046 三本柱流用 + genuine-shape (arch の件数 guard は vision 見出しが全 pack 不変ゆえ不要・章数は期待見出し配列長から単一 SSoT 導出)。 自前 inline principle 自己終端 + vision→SRS backward 照会 (edgeless SRS へ終端路供給)。 Moore pitch opt-in + 目標ツリー図 optional。 案A no-restate + core 無改変。 母体 = clinic (instance#1)、 folio-self vision は後 (folio-qvv)。 独立 ceiling 3 巡収束 (fail-open 2 件捕捉→修正・inline principle genuine 肯定)。 | accepted | — | 2026-07-04 |
| ADR-0050 | dual-audience enforcement 転換 (Option A' 発動)。 co-author + enforce (ADR-0033 §2.3 Option B) から「人間層は正本 〔contract YAML〕 から derive し gate J 〔fidelity-*〕 ほか独立 ceiling で照合」へ再定義 — ADR-0033 自身が中長期 roadmap として予約した Option A' (derive-into-DOM) の後続評価 = 発動 (実装 vehicle は folio engine = design-system generator)。 1-DOM の形 (data-audience 二層 DOM) は生成物で保存 = 転換は enforcement 実体のみ。 部分 supersede は dc:references + Trace で記す (ADR-0026 先例・frozen 本文不触)。 constitution は分離条項 (flip dead-last・P-10 二段構え)。 経過措置 = 未 flip doc に co-author 規律が flip まで存続 (hybrid 経路) | accepted | — | 2026-07-13 |
| ADR-0051 | WHAT-SSoT 居場所調停 (層解釈)。 生成 HTML = canonical WHAT (提示層・graph の住人・P-7/P-2 の適用面) / contract YAML = 正本 (edit-SSoT・生成 input・P-11 の HOW 層居住) — P-13 の spec適合性/実装適合性二分法と同型の層分離で、 SSoT-first 転換 (ADR-0050) と constitution の見かけの緊張を無改訂で解消。 contract の design-intent/ 物理移動は P-2 衝突ゆえ不採用。 語彙 pin: 「正本」は edit-SSoT の意で P-7 の HTML-WHAT を否定しない (独立 reviewer の P-7 誤検出根絶) | accepted | — | 2026-07-13 |
| ADR-0052 | glossary SSoT 再指定 (3 層)。 glossary contract = 唯一の edit-SSoT / vocabulary.yaml = そこからの生成 projection (runtime SSoT) / canonical glossary.html = folio build が pack pipeline へ委譲して生成する提示層 (build-orchestrates-pack)。 ADR-0036 の「vocabulary.yaml を上流で author」前提と SSoT-first 転換 (ADR-0050) が生んだ二重保持 (手動同鏡・folio-7ts2 で実 drift) を導出 + byte-stale gate へ置換。 委譲は 3 消費点が単一 dispatcher を呼ぶ lockstep で前提崩れは hard-fail (fallback は提示層を素朴版へ silent revert させ gate を恒真 PASS 化する)。 prose manifest = 人間層 edit-SSoT の双 edit-SSoT 帰属を全 pack へ一般宣言。 Layer 1 consumer 経路は不変。 ADR-0036 §2.1/§2.4/§2.5 を部分 supersede (frozen 本文不触) |
accepted | — | 2026-07-16 |
番号体系メモ — ADR 番号の割当と起票経緯の per-ADR 記録 (時系列):
folio validate に機械化 (deterministic floor) + 011/012 は Phase F agent ceiling + minimal CI (Inspect AI は DEFER)。 ADR-0029 = temporal review agent 追加 / structure agent は validate 被覆ゆえ cut / spec-explorer・architect・stakeholder review は post-1.0 defer (ADR-0027 の §7.2 完成形 8 agents 「未来 anchor 保持」 stance を v1.0 確定セットへ revise、 実 amend は WS2)。accepted、 §2.2 bump は criterion D / WS3 後 = WS5)。 v1.0 昇格を 7 criteria (constitution 凍結 / self-host validate clean / 二層 enforcement 完備 / verification GREEN / CI gating / CLI surface 凍結 / consumer contract 安定) に gate 化し、 version bump scope を living spec 7 本 + plugin.json + bin/folio に限定 (frozen ADR の authoring-time provenance + constitution P-10 immutability を保全、 「28 spec 一括 bump」 を棄却)、 1.0.0 以降の strict-SemVer (constitution §5) breaking 定義を明文化。 残 gate = criterion D の orchestration walk (WS3)。/grill-me 対話 (1 問ずつ + 推奨回答) で 8+1 論点を解決・設計確定し起票 (status proposed、 user 承認待ち)。 grill 流 elicitation / adoption-aware folio-architect 統合 (folio-init 分離撤回) / vocabulary.yaml glossary enrich / ADR-worthiness を rules §10.3 / code-cross-reference を Phase B technique に — protocol-only 吸収で機械検証核は不変、 実装は v1.x (ADR-0030 WS5 後)、 ADR-0024 init seed + ADR-0027 architect scope を partial revise (frozen 本文不変)。data-audience (closed 2 値) + <details> fold で 1 HTML に co-author する human↔AI hub を決定。 金脈 = DITA @audience / literate programming が double-SSoT を「単一ソース + 機械的導出 (view は派生・維持しない)」 で構造保証するのに対し、 folio の 1-DOM co-author は novelty ゆえ ADR-0028 二層 enforcement (validate floor REQ-DA-STRUCT-* + 新 Phase F spec-review-fidelity ceiling) が導出の代役。 Option B (co-author+enforce、 no-build) を採用し Option A' (derive-into-DOM、 build-time、 P-13 緊張) を roadmap に。 ADR-0020 validate scope + ADR-0029 Phase F セットを拡張 (frozen 本文不変、 reverse-link + prose で trace)、 rules に data-audience taxonomy + JS governance + dual-audience conditional-normative + 視覚 guidance、 実装は 2 段階 SPAWN (規範+enforcement → 適用層)。/deep-research (106 agent、 24 source、 23/25 claim 確認) で設計確定後 user 承認・起票済 (§3 table)。 architecture 全体の defined-object (P-N/REQ/ADR/rule) に in-band untyped xref + no-JS hover tooltip を張り、 folio fix で裸 token を materialize し folio validate 4 gate (uniqueness/resolve/completeness/tooltip-consistency) で穴を機械保証、 AI-graph は inventory.json/prime projection、 glossary は vocabulary.yaml SSoT の best-effort tier。 金脈 = 維持性が dual-audience と同型 (導出=穴なし vs 手動=穴)、 /deep-research が hybrid (in-band SSoT + 生成 projection) を 4 goal (長期安定/再現性/human 見やすい/AI 使いやすい@大規模) 全 1 位と判定し DB-as-SSoT を却下 (git-diff 可能な canonical file を gitignored export に降格させ最高 migration risk、 かつ flat JSON-LD で RDF 級 traversal が届くため不要)。 ADR-0020 validate scope + ADR-0025 fix materialize + ADR-0031 vocabulary glossary を拡張 (frozen 本文不変、 reverse-link + prose で trace)、 constitution 不変、 実装は多段 SPAWN。 本 feature が ADR-0030/ADR-0032 の 1.0.0 timing を gate。proposed、 default 採用)。 ADR-0035 = top-level index + cluster 横断 nav を folio build が graph (head metadata + @id path-prefix + objectGraph の JOIN) から生成し golden 型 commit-in-place、 P-7/P-13 の空間排除は HOW+verification を名指すゆえ generated-view を憲法改訂なしに ADR で授権 (interpretive-gap)、 ADR-0023 の gitignore-projection を新 artifact class に限り反転、 ADR-0024 init + ADR-0025 materialize + ADR-0020 validate を拡張。 ADR-0036 = folio が folio-framework 語の canonical 定義を上流で author→ship・consumer は derive、 hover+click 両描画、 closed/open 分割を明文化、 completeness は best-effort 保存 (REQ-GLOSS-001 据置 + 新 REQ-GLOSS-002 追加で ADR-0034 §2.8 を extend、 supersede しない)、 ADR-0035 に depends。 両 ADR とも constitution 不変、 criterion(c)「実用に耐える」判断への INPUT (#127、 pre-1.0.0 full)。accepted)。 floor (static bash lint、 全 consumer 配布、 REQ-VER-021) + ceiling (playwright で flowchart 幾何 overlap を実 render 検出、 CI-only folio dogfood、 決定的ゆえ blocking) の二層を確定し、 ADR-0028 の「ceiling = 非決定的ゆえ CI 非搭載」を LLM ceiling に限定 (決定的 render ceiling を排除しない、 CI 採用基準=決定性) ・ADR-0020 validate scope を render-safety ceiling に拡張 (frozen 本文不変、 reverse-link + prose で trace)。 独立 4-lens ceiling review が fail-open (render 不足の false-clean) / constitution frozen deadlock / font 未 pin / overclaim を捕捉し ship 前に反映、 専用 REQ-VER-022 trace + detector generality は follow-up (folio-w5z)。accepted 化 (同 commit 系で constitution へ P-14 append + count-fix + mermaid initialize 整合 + version 0.6.0-draft bump を実施)。 ADR-0038 が原則 (P-10 手続き) を、 ADR-0039 が機構を担う 2 本構成 (G1)。accepted 起票。 ADR-0039 の型 (template/chrome/toggle) の上に「中身の圧縮」を重ねる関係で、 §2.4 既定表示のみ改訂。 実装は epic folio-8jy。accepted (2026-06-15 user 承認 — grill 設計確定 + ADR 本文 review クリア)。 人間層を「要件定義書の汎用ビジュアル design system + 機械 SSoT からの生成 + 2-gate 検証」と再定義し、 ADR-0040 §2.1/§2.2 (圧縮 = 隠蔽) を「視覚再提示」へ改訂・ADR-0039 §2.4 を design system 部品で具体化・ADR-0033 §2.3 が残した derive 原理を別ファイル形態で起動 (Option A' の into-DOM 版は roadmap 据置。 frozen 本文不変、 reverse-link + prose で trace)。 floor を「長さ」から visual-first/用語被覆/renders-unbroken へ刷新、 適用範囲 = γ (SRS 核を ISO/IEC/IEEE 29148 で完全性錨留め + folio の ADR/research/原則は拡張パック)。 実装は後方互換 MINOR (1.1.0)、 epic folio-c5g。accepted (2026-06-15 user 承認)。 (1) 生成をハイブリッド化 — 構造 (要件表/RTM/NFR 表) は構造化された機械 SSoT から決定的組立 (トレースから各セル導出 = 捏造原理的に不可能)、 opus は prose スロット (章リード/根拠/専門語併記/サマリ) のみ充填。 fidelity gate は prose に縮小。 EC proof で LLM 生成が元に無い RTM 行を捏造した 1 観測 (構造生成の原理的捏造リスク) が根拠。 (2) 密表の非エンジニア可読化を A/B 戦略で assembler に織り込み — rtm-grid register は既定折りたたみ + 空不可の平易要約 (B)、 要件本体/NFR は各行 plain-language スロット + 専門語自動併記で畳まない (A)、 元々平易な表は据置。 新スロットの非空は floor (gate G no-TBD = taxonomy §7.2 が S5 へ申し送った未実装 arm ゆえ S5 で建てる) が測り、 可読性/忠実性は ceiling に留めて二層 (taxonomy §5.1 「floor 単独 GREEN 不可」) を保つ。 ADR-0041 §2.2/§2.4 を partial-revise (§2.6 γ scope・§2.1 design system・§2.5 2-gate は不変、 frozen 本文不変、 ADR-0041 は accepted 据置、 ADR-0032 と同型の reverse-link + prose trace)、 taxonomy (S2) §3/§5 を実装前提とする。 実装は S4 folio-ruc 以降、 後方互換 MINOR (1.1.0)。accepted (2026-06-22 user 承認 — 機能デモ + admin authoring + Phase F ceiling 後)。 起点は B5 設計 grill (2026-06-21・grounding sweep 3 本で検証済事実に基づき 7 論点を確定)。 (1) per-pack 局所照会検証 (B1–B4 実証) を graph 全体の principle 終端到達保証へ拡張 — pack ごと rolemap (node-type → 抽象ロール) + 独立 script の reachability ({終端完備 / 孤立 = warn / 逆方向 = 局所}、 contract YAML を SSoT)。 (2) design-intent 本文への HOW 混入を二段 floor (照会リンク存在 + P-11 4-enum 保守検出・soft-warn staged rollout) + ceiling (概念 HOW = spec-review-ssot lens) で検出。 (3) 3-tier enforcement = tier1 folio prime 照会 digest 注入 / tier2 PreToolUse 非ブロッキング advisory / tier3 CI floor = guarantee・ceiling = CEILING=PENDING (plugin 固定・新 userConfig 0)。 ADR-0028 二層 enforcement・ADR-0007 注入・ADR-0034 xref graph を engine 汎用機構へ一般化 (ADR-0033 co-author + enforce を rolemap pin が継承)。 設計 design-of-record = engine §10 (research・路線「い」)。 実装 = 子セル folio-p4o (commit 1c48156) / folio-6us (2c49a74) / folio-hi6 (59f3fc9)。 follow-up = folio-pgb (floor-2 hard-gate 昇格・needs-user) / folio-ulz (孤立 warn→block — 2026-07-03 実施済: default-block + terminal_waiver 免除宣言 (rationale 必須・可視一覧)、 ADR-0043 本文 §2.1(b) の「孤立 = warn」記述は当時の決定の歴史記録として据置・現行 gate は本行が正) / folio-0v0 (HOW primitive 言い換え) / folio-1sn (rolemap allowlist 一本化)。accepted (2026-06-22 user 承認 — B6 grill §6 で ADR 化を P-10 事前承認・実装成立後 authoring + Phase F ceiling)。 起点は B6 設計 grill (2026-06-22・grounding sweep + 2 blocker spike で SRS-pack 不適合 〔assemble-srs の RTM 三層連結 fail-closed〕 を実測確認し scope を (B) 証明優先に確定)。 (1) folio の design-intent spec のための新 spec-pack = SRS (RTM 三層) でも principle (照会終端・tier) でもない第三ジャンル (EARS 章立て規範文 + 非終端照会 + dual-audience)。 (2) ★core (lib/ + inject-prose.sh) 無改変で挿さる = 最も異質な instance#5 が純粋 pack 化 = engine core 抽出完了の最終確証 (ADR-0042 hybrid 生成の doc-type 非依存性の 5 例目)。 (3) 源は extraction-bootstrap (rules.html → contract YAML・機械抽出 + 非モデル化 prose を stderr LOG = no silent caps)。 (4) 生成物は /tmp 非破壊、 忠実性は 自己参照独立 ceiling (engine≠oracle で生成バグ×検証バグの相殺 fail-open を断つ・ADR-0028 二層を強化) で検証。 (5) rolemap の rules → constitution edge が ADR-0043 の照会 graph で B5 の external-ref warn 「inbound from rules.html」を forward 接続。 scope = 人間層プレゼン 再現に限定 (機械層 dual-audience round-trip は overclaim ゆえ follow-up)。 設計 design-of-record = engine §1 endgame (research)。 実装 = 実装 cell folio-8ct (commit a33af5d) + §0 errata (baefae8)。 検証 = floor PASS / 敵対 spec 38 + graph 19 / sandbox 40/40 / validate clean / core byte-identity / 独立 ceiling wf_8367ac81 (proof_sound・land-with-errata) / user walk gate I 北極星 MET。 follow-up = folio-w1f (機械層 round-trip) / folio-tr0 (残 3 文書 self-host) / folio-17n (spec-pack ceiling agents) / folio-4wz (core emit_glossary bug) / folio-2jr (polish 束) / folio-wlu (§N symbolic section-ref)。accepted (2026-06-23 user 承認 — grill 5 論点合意後 authoring + Phase F ceiling clean)。 ADR-0044 §2.4 が「機械層 round-trip は境界」と正直に繰延した、 その境界を閉じ北極星 self-host を full 化する。 起点 = user grill 2026-06-23 (grounding sweep wf_378476a0 が rules.html 機械層 106 node = 26 EARS SHALL 文 round-trip 済 / ~71 自由文 prose 未モデル化 を実測確定。 自由文は contract から決定的導出不能ゆえ取り込み方向が設計判断)。 決定 (5 論点・上流→下流順): (1) extract 取り込み (extractor 双方向化で原本 rules.html → contract に機械層自由文を逐語抽出・捏造ゼロ・決定的→floor doctrine)。 (2) 機械層 DOM = canonical data-audience="machine" form (ADR-0033 の co-author 構造を再現し REQ-DA-STRUCT-1..5 適合の本物 dual-audience 文書・rq-norm fold から置換)。 (3) 二層 fidelity gate (floor = 原本↔生成物 機械層テキスト両方向集合一致〔原本直 grep で生成 path 独立 = fail-open しない〕 + 独立 ceiling = fidelity-spec 機械層軸・CEILING=PENDING・ADR-0028 継承)。 (4) core 無改変 (lib/ + inject-prose.sh byte 不変 = rule-of-three instance#5・additive は tr0 再利用確実な汎用 primitive のみ)。 (5) scope = rules.html 1 文書 /tmp 非破壊・schema は tr0 (残 3 文書) 再利用を見据えた汎用設計・置換 + drift gate は別 follow-up。 ADR-0042 hybrid 生成を機械層 block emit へ拡張。 設計 design-of-record = engine §10 (research) + grill grounding (wf_378476a0)。 実装 = w1f cell 2-3 で後続 (cell-1 extractor 双方向化 + schema / cell-2 assemble canonical form + verify floor + CSS / cell-3 fidelity-spec 機械層軸 + 独立 ceiling + user walk)。 前処理 = folio-ccu (rules.html §11.2/§11.5 stale prose を extract 前に是正)。 follow-up = folio-tr0 (機械層 schema 再利用) / 置換 + drift gate / folio-1pz (可読性 minor)。accepted (2026-06-26 user 承認 — demo-walk grill 全論点合意 + admin authoring + Phase F ceiling 後)。 起点 = doctype-coverage-audit (汎用 suite が ~17 doc-type 中 5 種しか生成できず architecture-description が P1 gap と確定) + user demo-walk grill 2026-06-26 (記述型は抽象論点だけでは非エンジニア判断不能ゆえ opus モックアップ → :8729 walk → 反応で論点確定。 walk が照会リンクバグを炙り出し案A確定 + 照会 graph=floor 背骨の発見 + navigable id 欠落 〔folio-lzz〕 の発見に繋がった)。 (1) schema = arc42 固定章立て + C4 図 (固定章が floor の検査単位を与え記述型でも厚い floor を張れる)。 (2) floor 三本柱 = 照会 graph 整合 (ADR-0043 の verify_cross_doc_refs + verify-graph.sh をそのまま流用 = 記述型の floor 背骨は EARS でなく照会 graph) + navigable id アンカー + 固定 8 章/必須要素存在、 加えて実装HOWリーク advisory (ADR-0043 HOW-outside 横展開) + CJK 強調空白規律 + fab-free (属性pin + 可視 echo pin)。 (3) 案A = cross-document 照会 (SRS 要件 / ADR 決定 / principle 原則へ照会するだけで再掲しない・inline 要約は drift 源ゆえ却下・飛び先が既に cover-summary / plain を持つので二重保持不要)。 (4) ★core (lib/ + inject-prose.sh) 無改変 (最も異質な記述型 pack が byte-identity で挿さる = ADR-0044 が宣言した engine core 抽出完了が記述型へ及ぶ確認)。 ADR-0041 visual design system + ADR-0042 hybrid 生成を記述型 doc-type へ適用。 母体 = clinic 診療予約 architecture (instance#1)、 folio-self-spec は B6 self-dogfood で後 (記述型 pack 自体が新規ゆえ境界明確な clinic で assembler を先に証明)。 設計 design-of-record = doctype-coverage-audit (research・gap SSoT・段階3) + engine 設計 §9.1 (doc-type→pack 写像)。 実装 = folio-5uu (worker build 912a0a5 / land 503ccb5・6 ファイル)。 検証 = floor 全 GREEN 独立再走 (assemble/verify 3mode・敵対 57/57・verify-graph FLOOR-OK・sandbox 41/41・core diff 空・validate clean) + 独立 ceiling wf_58801326 (3レンズ・fidelity minor1 〔案A no-restate drift → prose 修正 e405e5b〕 / persona gate I 達成 / 可視層捏造 74 攻撃 fail-open 0)。 follow-up = folio-lzz (生成 doc の navigable id emit・案A 前提) / folio-bur (fab-free 可視 echo pin 横展開) / folio-udn (arch gate-I polish) / folio-7vd (arch 専用 ceiling agent)。accepted (2026-07-03 user 承認 — Tier B 一括 grill で方向確定 + ADR 本文承認)。 実測 = self-host corpus で生涯 warn 1 件 (真陽性 = rules.html の環境変数具体値・言い換えで remediate 済) / 偽陽性 0 / 現 corpus 0。 N=1 の薄さは明示的に認識した上で、 (1) 構文限定検出 (意味判定ゼロ = 誤検出を構造的に抑制) (2) 有界な逃げ道 (code/pre/機械層 mask を「正当な primitive 言及の正式経路」として明文化・是正は囲んで終わり) (3) consumer 未観測の現時点が blast radius 最小の窓、 の根拠構造で昇格を判断。 決定 = floor-2 (P-11 4-enum) を 4 カテゴリ一括で violation (exit 1・merge block) へ・floor-1 は warn 据置・suppression marker/allowlist は YAGNI 却下・撤退条件 = code 包みで合理的に是正できない confirmed FP が 1 件でも出たら warn へ戻す (channel flip のみの可逆変更)。 ADR-0028 §2.3 (what-only = agent-only) は概念 HOW について不変 = 構文検出可能な部分集合のみを deterministic block へ引き上げる refine (supersede でない)。 規範反映 = rules §10.2 enforcement 注記の二相化 (REQ-CI-012 本文は当初から block MUST で不変)。 検証反映 = how-outside-validate.yaml golden を violation/exit 1 へ更新。 接地 = bd folio-pgb (B5-II handoff・needs-user 解消)。architecture/ を design-intent/ へ rename する forward decision。 status accepted (2026-07-03 user 承認 — Tier B 一括 grill 論点 5 で方向確定 + ADR 本文承認)。 起点 = folio-5uu grill (2026-06-25) が「architecture は精密には一 doc-type 名で、 rules/ADR/research/constitution を含む空間名として不正確」と特定 → bd folio-c5r.8 (needs-user)。 c5r.7 の語彙整理が vocabulary.yaml に canonical 3 分離 (architecture-description / design-intent space / Layer Architecture) を確立し、 rename target = canonical と厳密一致する design-intent/ が確定 (design/ は WHAT/HOW 両含意の generic 語ゆえ却下)。 ★前提訂正 = 起票時の「constitution §1 改訂 = P-10 amendment 必要」見立てを grill pre-bake WF が覆した (ADR-0021 が constitution を layout 非依存に設計済・literal architecture/ は 0 件・§1 は doc-type 用法で rename 後も valid → constitution touch ゼロ)。 実施窓 = consumer 未観測 + Tier C 前 = 公開 default (spec_path) 変更の破壊実質ゼロ + golden 波及最小の唯一安い窓 (self-dogfood 束ね案は vehicle 未起票 = 無期延期ゆえ却下)。 実行 = ADR-0023 同型の単一 atomic cell (worktree 完遂 → validate 3-gate clean + sandbox 全 GREEN + hooks e2e → ff-merge)。 実測 scope = path 形 116 file / 628 出現 (repo-root の公開 landing index.html 含む) + breadcrumb chrome 55 file + render-gate corpus root + harness (bin/folio / scripts / plugin.json / CI / CLAUDE.md)。 frozen ADR の歴史 prose は据置 (X4-C/X4-F と同じ link maintenance 原則)。 follow-up = 裸「architecture」の forbidden 語化再評価 (REQ-CI-013 grep 誤検出源の消滅を受けた c5r.7 積み残し)。accepted (2026-07-04 user 承認 — demo-walk grill 全論点合意 + walk PASS + admin-direct build + 独立 ceiling 3 巡収束 後)。 起点 = user demo-walk grill 2026-07-04 (opus モックアップ → :8729 walk → PASS で 7 章粒度 / id 5 種 / 北極星文の読み味を確定)。 (1) schema = Pichler Product Vision Board の骨 + Wiegers Vision&Scope の測定可能要素を選抜移植した lean hybrid (7 章・用語集章なし・North Star metric 必須化せず = 質的 vision〔北極星 folio-7wn 自身が反例〕を排除しない)。 (2) floor = ADR-0046 の三本柱 (照会 graph / navigable id / 固定章) 流用 + genuine-shape 構造不変条件、 arch の件数 guard は vision 見出しが全 pack 不変ゆえ不要 (章数は期待見出し配列長から単一 SSoT 導出)。 (3) ★自前 inline principle で自己終端 (clinic は constitution ゼロ生成ゆえ外部 principle へ forward 不能) + vision→SRS backward 照会 (edgeless SRS へ終端到達路を冗長供給)。 inline principle の genuine 性は ceiling 検査観点として明示 (folio-5se)。 (4) Moore pitch opt-in + 目標ツリー図 optional (必須化しない)。 (5) 案A no-restate (SRS 再掲せず照会) + ★core 無改変 (記述型 2 例目も byte-identity で挿さる = rule-of-three 継続)。 母体 = clinic (instance#1)、 folio-self vision は後 self-dogfood (folio-qvv)。 実装 = folio-c5r.4 (admin-direct build・6 ファイル + CONTENT_LEAVES[vision])。 先行 land = folio-bhe (arch band 見出し hardcode を contract 化 + genuine-shape floor 硬化・vision build 前の予防規律)。 検証 = floor 全 GREEN 独立再走 (assemble/verify 3mode・敵対 63/63・graph 敵対 25/25・sandbox 41/41・core diff 空・validate clean) + 独立 ceiling 3 巡収束 (初回 3-lens + re-cert ×2・fail-open 2 件〔aside/pitch 可視値未突合 → その sorted-set 回帰〕を捕捉→修正・inline principle genuine 肯定・author≠certifier 実証)。 follow-up = folio-5se (vision 専用 ceiling agent) / folio-qvv (folio-self vision self-host) / folio-bf4f (band_numchk 撤去可否)。accepted (2026-07-13 user 承認 — folio-rgtc roadmap grill 論点6/11b(1) で方向確定 + ADR 本文承認)。 ADR-0033 §2.3 が中長期 roadmap として明示予約した Option A' (derive-into-DOM) の後続評価 = 発動 (実装 vehicle は Bikeshed 型外部 build でなく folio engine = design-system generator の pack assembler。 derive 原理の別ファイル形態は ADR-0041 が先行起動済・本 ADR は into-DOM 版)。 1-DOM の形 (data-audience 二層 DOM) は生成物で保存され、 転換は enforcement 実体のみ。 部分 supersede は ADR-0026 先例に従い dc:replaces でなく dc:references + Trace で記す (frozen 本文不触): ADR-0033 §2.3 の採用条項 + §2.4 の role-framing (器 = ADR-0028 の二層 enforcement と floor 検査は存続・ADR-0033 §2.4 が付与した「機械的導出の代役」役割を「derive 生成物の照合」へ)。 constitution は分離条項 (論点10: flip dead-last・P-10 二段構え〔切替後 gate は YAML 編集へ掛け直し + 切替実行自体に P-10 Amendment〕・@type=FolioConstitution emit + scan 除外再現 + 手書き版 archive が前提)。 経過措置 = 未 flip doc は co-author 規律が flip まで存続 (hybrid 経路: 逐語逆抽出 bootstrap → flip 前再抽出 → SSoT-first 定常)・新規 spec は暫定橋渡し gate = 手書き新設時 contract 同時更新必須 (bd folio-yjap)。 接地 = bd folio-rgtc (closed・決定 SSoT)・keystone bd folio-u7y2・実切替 bd folio-8dkl (park)。accepted (2026-07-13 user 承認 — folio-rgtc grill 論点11b(2) で方向確定 + ADR 本文承認)。 決定 = 生成 HTML = canonical WHAT (提示層) (graph の住人・P-7「WHAT の家」と P-2 HTML 要件の適用面) / contract YAML = 正本 (edit-SSoT) (生成 input・P-11 の HOW 層 .claude-plugin/design-system/generator/contract/ 居住) — ADR-0026 (P-13) の spec適合性/実装適合性二分法と同型の層分離。 contract の design-intent/ への物理移動は P-2 衝突 + P-11 毀損ゆえ不採用。 語彙 pin (grill 監査 F1) = 「正本 (edit-SSoT)」/「canonical WHAT (提示層)」を以後の文書・監査が区別する — 論点6 の「正本」は P-7 の HTML-WHAT を否定しない。 放置コスト = 独立コンテキストの reviewer による P-7 誤検出が review のたびに再生産される。 constitution 無改訂 (Amendment 不要・解釈明文化で足りる)。 ADR-0047 の HOW-outside gate が contract の HOW 層居住を既に守っている = 現行秩序との一致の傍証。 接地 = bd folio-rgtc (closed・決定 SSoT)。accepted (2026-07-16 user 本文承認 = bd folio-wg2l の flip land 承認と同時 1 回・constitution 無改訂ゆえ P-10 Amendment 不要)。 決定 = (1) glossary contract = 唯一の edit-SSoT / (2) design-intent/vocabulary.yaml = そこからの生成 projection (全域関数 canonical/domain/definition←formal_def。 folio fix の tooltip populate 等が読む runtime SSoT の役割は不変で、 変わるのは「誰が書くか」だけ) / (3) design-intent/glossary.html = folio build が pack pipeline (assemble-glossary.sh + inject-prose.sh) へ委譲して生成する提示層 canonical (build-orchestrates-pack = CLI が「何を生成するか」を所有し pack が「どう組み立てるか」を持つ関係)。 動機 = ADR-0050 の SSoT-first 転換で定義本文が contract の formal_def と vocab の definition に二重保持され、 folio-9inj が「手動同鏡 (片側編集禁止 MUST)」で塞いだが、 これは導出でなく人間規律ゆえ folio-7ts2 で実 drift し、 かつ header・語順・domain・整形は無防備だった。 導出では正本が 1 つになり片側編集は「禁止事項」から意味を持たない操作になる (DITA/literate の prior art と同型)。 委譲の不変条件 = (a) self-host 検出は gate (s) と同一述語を共通 helper で共有 (marker/vocab 非空/env の代用禁止 = drift の源)、 (b) 3 消費点 (build 書込 path / build --check / validate nav-regen-drift) が単一 dispatcher を呼ぶ lockstep (書込 path が旧経路に残ると folio build 1 回で提示層が素朴版へ silent revert し gate が恒真 PASS 化する)、 (c) 前提崩れは内部 emitter へ fallback せず hard-fail。 gate 転換 = 同鏡節 → 「committed == fresh projection」の whole-file byte 比較 (旧検査の上位集合。 header は循環回避のため projection script 内リテラル定数) / nav-regen-drift は diff 対象を dispatcher 出力へ切替 + 生成時刻のみ正規化 (裸日付の全域置換は drift masking ゆえ禁止)。 §2.4 = prose manifest が人間層の edit-SSoT (contract からの導出物でない — 平易化は意味の営み) であることを全 pack へ一般宣言し、 双 edit-SSoT を inject 集合一致 + repro-build byte + fidelity ceiling の 3 層で束縛する (prose の物理配置・経路は不変)。 部分 supersede は ADR-0026 先例に従い dc:replaces でなく dc:references + Trace で記す (frozen 本文不触): ADR-0036 §2.1 (author 条項のみ — ship→derive・plugin-resident 同梱・copy 配布却下は存続) / §2.4 (glossary.html の derive 元のみ — hover-only 描画・tooltip 供給元・double-SoT 排除の原理は存続し本 ADR がより強く適用) / §2.5 (regen-drift の比較右辺のみ — gate の位置・byte 一致・対称差診断・slug 一意性の fail-closed は存続)。 Layer 1 consumer の経路は完全に不変。 接地 = bd folio-gttv (論点5 = 1 switchover 裁定)・bd folio-wg2l (Leg A 実装 + Leg 0 admin 裁定)・bd folio-9inj (置換対象の同鏡)・bd folio-7ts2 (drift の実発生)。ADR file 名は ADR-NNNN-<slug>.html (4 桁連番 + kebab-case slug)。 命名規約の SSoT は rules.html §3。
ADR file 名は ADR-NNNN-<slug>.html 形式 (4 桁連番 + kebab-case slug)。 rules.html §3 File Naming Convention を参照。
起票すべきか (worthiness) は rules §10.3 の 3 条件 (hard-to-reverse / surprising-without-context / real-trade-off) で判断し、 起票が決まったら constitution §6 Amendment Procedure の手順に従う。 標準手順は下の 5 ステップ。
いつ起票するか (worthiness) は rules §10.3 (ADR Worthiness) に従う — decision が hard-to-reverse かつ surprising-without-context かつ real-trade-off の 3 条件すべてを満たす時のみ ADR にする (ADR-0031 §2.5)。 本 §5 は起票が決まった後の手順を規定する (P-7: worthiness 基準は rules に SSoT、 ここでは重複しない)。
起票が決まったら constitution §6 Amendment Procedure に従う (ADR-0021 で changes/ + archive/ 廃止):
例外: folio 初の ADR (ADR-0001) は bootstrap 段階で起票されたため proposal step を skip した折衷を採用。 後続 ADR は本手順を遵守する MUST。