[identity].schema_versionを1に凍結し、ADR 0013の不要な引き上げを訂正するAccepted(実装済み)。ADR 0013「移行」節が.markharness/config.tomlの[identity]markerへ書くと定めたschema_version = 2を、本ADRがschema_version = 1へ訂正する。ADR 0013の他の決定内容(UID発行、identity event、migration手順等)は本ADRの対象外であり、そのまま有効。
ADR 0013「移行」節は、UID mode公開cutover完了時に.markharness/config.tomlへ次を書き込むと定めていた。
[identity]
schema_version = 2
mode = "uid"
しかし実装(src/identity/marker.rs)を確認すると、cutover済みかどうかの判定(is_uid_mode)はmodeフィールドのみを読み、schema_versionは書き込まれるだけでどのコードからも読み取られていない。changes computeが[knowledge].schema_versionを実際にref間比較へ使う(0014)のとは異なり、[identity].schema_versionには対応する比較・互換性ゲートの実装も計画もない。
0014は、プロトタイプ期に実データも比較用途もないまま[knowledge].schema_versionを刻むことを、ADR履歴の意味を薄めるとして退け、スキーマが安定するまで1に凍結する運用を定めた。ADR 0013が[identity].schema_versionを1から2へ引き上げたのは、まさに0014が退けたのと同じパターン——読み取り側の実需要がないまま値だけを進める変更——であり、YAGNI(CLAUDE.md所定の原則)に反する不要な実装だったと判断する。
[identity].schema_versionを1に凍結するIDENTITY_SCHEMA_VERSION定数(src/identity/marker.rs)を1とし、UID mode cutover完了時もschema_versionは1のまま書き込む。フィールド自体はconfig.toml内の他のschema_version系フィールド(トップレベルmarker、[knowledge].schema_version)との構造的対称性のために保持するが、値は比較・互換性判定の実装が実際に必要になるまで動かさない。
[identity]
schema_version = 1
mode = "uid"
UID mode cutoverが完了したかどうかの判定は、0013が定めるとおり引き続きmode = "uid"の有無だけで行う。schema_versionはこの判定に関与しない。
[identity].schema_versionを上げる条件実際にあるschema_versionの値を読んで分岐する比較・互換性ゲート([knowledge].schema_versionに対するchanges computeのensure_compatibleに相当するもの)が新たに実装され、かつその時点でスキーマ形状に破壊的変更が入る場合に限り、[identity].schema_versionを引き上げる。実装予定のないまま将来の破壊的変更に備えて値を進めることはしない。
modeとschema_versionの役割は分離したまま維持するmodeはcutover完了の唯一の権威あるフラグであり続ける。schema_versionはcutoverの発生有無ではなく、UID mode内でのidentity dataの構造版を表すためだけの値であり、両者を混同する実装(例:schema_versionの値でcutover判定を行う)は導入しない。
src/identity/marker.rs: IDENTITY_SCHEMA_VERSION定数とテスト。tests/identity_cutover.rs: doc commentの「schema version 2 public cutover」という表現。docs/ja/cli-manual.md・docs/en/cli-manual.md: cutover時に書き込む値の記述。docs/ja/design/immutable-identity-model-design.md・英語版: Phase 5の記述。README.ja.md: cutover後の検証規則の記述。schema_version = 2で移行済みのprojectとの後方互換性は考慮しない(本プロジェクトは0.xのプロトタイプ段階であり、実データを持つ既存projectは存在しない前提。0014背景と同じ判断根拠)。ADR 0013の「移行」節に記載されたschema_version = 2という具体的な値の記述のみを本ADRが訂正する。ADR 0013の本文自体は歴史的決定記録として書き換えず、そのステータス欄に本ADRへの参照を追記するにとどめる(release-and-license instructionsのADR運用方針に従い、ファイル移動や内容の書き換えは行わない)。