FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録
同期対象をowner-only IPCで管理する
Root候補の検証、revision付き設定、plan・apply・rollbackをMac内の固定操作へ閉じる
目的
会話同期のcoreには、どのrootを対象にするかを安全に変更する管理経路がなかった。会話本文やcredentialを管理画面へ渡さず、現在のMac userだけが同期対象を計画・確定・復元できる境界が必要だった。
実装
owner専用同期状態storeにapplied/pending/revision/rollback snapshotを持つowner-only設定を実装し、atomic write、expected revision、5分で失効するconfirmationを加えた。Reload失敗時はlast-known-goodへ戻し、mutationを直列化する。
同期serviceへcurrent user専用Unix domain socketを追加し、status、root確認、plan、apply、rollback、doctor、outbox retry、logなど固定9操作だけを受け付けた。任意command、path、environmentは入力に含めず、TypeScriptとSwiftのcontractをgolden fixtureで揃えた。
図を描画しています…
確認したこと
確認結果
実App Serverから会話本文を含めず303件をbounded scanし、root 25件を残して非root 278件を除外した。既存の2つの同期対象もroot identityとして再検証した。
Owner、mode、linkを満たさないfileやsocket、古いrevision、不正なconfirmationをfail closedで拒否するtestが通った。
既存のThread 2件、Turn 10件、Message 39件、receipt 2件はresetせず維持された。SwiftUI画面とservice lifecycleはcutoff時点では未実装だった。
完了とした根拠
同期対象の計画から適用、reload、失敗時復元までをowner-onlyの固定IPCとrevision contractで制御できたことを完了条件とした。