ADR-0038(#758、merged)の瑕疵補完。実装着手前に2点を厳密化する。
- §3.2 canonical の厳密化: 区切り文字連結は値内混入で境界が曖昧になり衝突を作れるため不採用。行の全不変列を固定キー順の正準 JSON オブジェクト(
ORDER_MAP_ENTRIES_BY_KEYS、detail はネスト)にし、UTF-8 バイト列に直前行ハッシュ hex を連結して HMAC。NULL は JSON null。現 §3.2 の「区切り + null トークン」記述が JSON 方式と矛盾するため同時に修正。
- §3.6/§3.7 B-03 アンカー整合: B-03 が素朴に行単位削除すると生存最古行の prev がアンカーに繋がらず検証が切れる。B-03 は retention cutoff より古い最新アンカー境界で prefix 削除し、生存チェーンが retained アンカー直後から始まるようにする。検証はそのアンカーを起点
hash_{n-1} とする。
成果物(1 PR)
- ADR-0038 §3.2 / §3.6 / §3.7 追補(ヘッダに改訂注記)
- 基本設計書 §8.1 B-03 行を「アンカー境界 prefix 削除」に改訂
受け入れ条件
PR 本文に Closes #<本 Issue 番号>。
ADR-0038(#758、merged)の瑕疵補完。実装着手前に2点を厳密化する。
ORDER_MAP_ENTRIES_BY_KEYS、detail はネスト)にし、UTF-8 バイト列に直前行ハッシュ hex を連結して HMAC。NULL は JSONnull。現 §3.2 の「区切り + null トークン」記述が JSON 方式と矛盾するため同時に修正。hash_{n-1}とする。成果物(1 PR)
受け入れ条件
PR 本文に Closes #<本 Issue 番号>。