[aside] `update_post` も暗号化 write が未配線 ── PR #250 で create_post だけ直した片割れ。
PR #250(create_post に encrypted_payload 受理を追加)の実装中に確定した、同 PR スコープ外の穴。
- gateway の proxy には update_post overlay(`apply_update_post_overlay`)があり、暗号化 group の post を編集すると `body=null` + `encrypted_payload` を上流 `update_post` に転送する。だが server の `update_post`(`src/server.rs`)は `validate_post_body(&args.body)` 必須 + `PostUpdatedPayload { body: String }`(`encrypted_payload` フィールド無し)なので、create_post と同じく `invalid type: null, expected a string` で弾かれる = **暗号化 post の編集は不可**。
- create_post と違って「入口ツールだけ」では閉じない:`PostUpdatedPayload` が `body: String` のみで、projection の PostUpdated handler も `UPDATE posts_raw SET body=?`(encrypted / encrypted_payload 列を触らない)。直すには event schema(`PostUpdatedPayload` に body Option + encrypted_payload)+ projection の UPDATE 経路(encrypted フラグ遷移 / mention reindex skip)に手が要る。PR #250 では「別物の広さ」と判断して create_post に絞った。
- 今触らない理由: ドッグフーディングの当面の目的は新規の秘匿投稿(create_post)で、編集経路は後追いで足りる。
- インパクト: 暗号化 post を作れても **編集できない**(update overlay は静かに上流で失敗する)。秘匿 note を育てる運用に入ると効いてくる。
- トリガー: 暗号化 post の編集が要るとき、または create_post / update_post の対称性を揃えたくなったとき。`PostUpdatedPayload` を Option 化 + projection PostUpdated を create と同じ `(body | encrypted_payload)` 分岐にする。