ADR-0013 で sandbox verification framework を採用したが、 folio の predecessor である twill plugin は「experiment-verified」 概念 (情報単位 verified、 HOW level claim に label 付与、 4-state lifecycle: proposed / accepted / experiment-verified / archived) を採用している (twill memory hash a6d6b7c1 / 09550ec2)。 folio が twill 方式を採用するか、 別方式を採用するかを明文化する必要がある。
user 確認 (2026-05-22): folio は constitution P-3 (WHAT-only) + P-11 (HOW 禁止) のため「情報単位 HOW」 の verified は spec に書けない。 「情報単位 experiment-verified」 は将来別 plugin として独立する予定で、 本 ADR-0013 framework は 機能単位 (use case 単位) の sandbox 検証のみを対象とする。
folio の verification framework (ADR-0013) は plugin の機能 (use case) を sandbox で実機検証することのみを対象とする。 検証対象例: PreToolUse hook の caller marker check / PostToolUse hook の JSON-LD lint / SessionStart hook の inventory inject。
spec 内の各 claim (例: 「Claude Code hooks は 29 種」 「ajv は最速の JSON Schema validator」 等) の HOW level verified label 付与は本 framework の対象外。 将来別 plugin folio-claim-verifier (仮称) として独立する設計余地を保持する。
| 軸 | twill (情報単位) | folio (機能単位) |
|---|---|---|
| 検証対象 | spec 内の各 claim (HOW level) | plugin の use case (機能単位) |
| 検証 marker | experiment-verified label を spec 内 inline | scenario YAML file (spec 本体外、 scratch/verification/scenarios/) |
| 検証粒度 | 1 claim = 1 EXP (例: EXP-019〜031) | 1 use case = 1 scenario (REQ 単位 with EARS) |
| spec 内容 | 情報単位 verified label を含む | WHAT-only (verified label なし、 cross-ref のみ) |
| constitution 整合 | (twill 独自設計) | P-3 + P-11 + P-7 遵守 |
| 担当 plugin | twill plugin 本体 | folio (機能単位) / folio-claim-verifier 仮称 (情報単位、 将来) |
folio-claim-verifier 開発時に二層 verification の認知負荷が発生folio-claim-verifier の具体設計は別 ADR で対応| 案 | 採用しなかった理由 |
|---|---|
| 案 A: twill 方式を全面採用 (情報単位 verified label を spec inline) | constitution P-3/P-11/P-12 と正面衝突、 user 明示で却下 (2026-05-22) |
| 案 B: 機能単位 + 情報単位を folio core に両方統合 | folio framework 肥大化、 試作段階の minimal scope と矛盾、 将来別 plugin に分離する方が clean |
| 案 C: verified 概念自体を採用しない | research → spec への trace が薄くなる、 「未検証 claim を spec に書く」 リスク、 sandbox 検証 (機能単位) は P-3 違反しないので採用 |
folio-claim-verifier (情報単位 verified、 Phase X4+ 候補) の設計 ADR 起票