アップグレードポリシー¶
リリース間でのスキーマ変更を Reyn がどのように扱うかについて説明します。
1.0 以前(現在)¶
スナップショットスキーマ(agent ごと+Skill ごと)および WAL フォーマットは、リリース間で非互換の変更が行われる可能性があります。その場合、新しいリリースは古いスナップショットをサイレントに破損させるのではなく、ロードを拒否します。
Reyn をアップグレードして起動時に以下が表示された場合:
AgentSnapshot at /path/to/.reyn/agents/<name>/state/snapshot.json has
version 1, expected 2. Run `reyn chat --reset` to wipe in-flight skill
state (audit logs in .reyn/events/ are preserved).
…表示されたコマンドを実行してください:
これにより以下が削除されます:
.reyn/state/wal.jsonl(プロセス WAL).reyn/agents/<name>/state/snapshot.json(agent ごとのスナップショット).reyn/agents/<name>/state/skills/(Skill ごとのスナップショット)
.reyn/events/ 以下の監査ログは保持されます — これらは P6 の監査の真実であり、--reset では削除されません。
トレードオフは明示的です:スキーマを変更するアップグレード中は、実行中の Skill の状態(クラッシュ後に再開するはずだった作業)が失われます。これは、新しいコードを古いスナップショットフィールドに対して実行するよりも望ましい選択です。古いフィールドで実行すると、診断が困難な微妙なバグが生じる可能性があります。
1.0 以降(予定)¶
Reyn が 1.0 でスキーマの安定性にコミットした後は、自動マイグレーションが拒否&リセットモデルを置き換えます。スキーマの変更時には、古いスナップショットフォーマットを新しい形式へ in-place で変換するマイグレーションチェーンが起動し、アップグレード間で実行中の状態が保持されます。
プロジェクト計画の R-D15 として追跡中です。マイグレーションフレームワークは src/reyn/skill/migrations/ 以下に実装され、スナップショットのロード時に実行されます。
関連フラグ¶
--no-restore はデータを失わずにデバッグや一時的なフレッシュスタートをするためのものです。--reset は破壊的(確認あり)であり、スキーマ不一致に対するドキュメント化された対処法です。