← 活動記録一覧

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で揃えた。

owner-only IPCでplan、apply、rollbackを扱う状態遷移

図を描画しています…

確認したこと

確認結果

実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で制御できたことを完了条件とした。