#12 (API 再設計) / #13 (directory module 化) で即時対応した4ファイル以外の oversized file(250+ pure LOC)について、Oracle 協議の結果「着手トリガー付き延期」と判定したものの管理 issue です。
延期リスト(着手トリガー付き)
| ファイル |
prod LOC |
提案する分割 |
着手トリガー |
server/src/route/activitypub.rs |
450 |
discovery.rs / actor.rs / collections.rs / inbox.rs |
application 側分割(#13)のマージ後、inbox・WebFinger・collection のいずれかを変更するとき |
adapter/src/processor/account.rs |
367 |
account/command.rs / account/query.rs(DependOnAccountSignal と param structs は command 側) |
次の Account command/query 追加時 |
server/src/route/oauth2.rs |
318 |
oauth2/login.rs / oauth2/consent.rs |
次の Hydra/Kratos flow・scope・cookie 処理変更時 |
application/src/service/metadata.rs |
383 |
分割より先に削除可能性を監査(account_detail 導入後の実 call site 確認)。残す場合は projection.rs / read.rs / write.rs / rehydrate.rs |
利用監査の実施 |
application/src/service/profile.rs |
301 |
同上。残す場合は projection.rs / read.rs / update.rs / image.rs |
利用監査の実施 |
driver/src/database/postgres/account.rs |
462 |
trait impl 分断は不可。row.rs と private query helper の抽出 |
次の SQL 追加で 500 LOC 超、または filtered/unfiltered 条件の修正時 |
server/tests/support/*.rs (4ファイル) |
257-329 |
テスト fixture は ceiling 適用外 |
fixture が複数 E2E suite 間で重複したとき |
「分割しない」と決めたもの(サイズ例外として明記)
server/src/handler.rs (300) — DI trait registry。責務ではなく配線の一覧であり、分割すると dependency map の可視性が落ちる
kernel/src/entity/account.rs (275) — Account/AccountEvent/command constructors/EventApplier の単一 Event Sourced 集約。Event と replay semantics を分離するとドメイン不変条件のレビュー性が悪化する
補足
- activitypub service と http_signing に存在する類似の SSRF/DNS pinning ロジックの共通化は、crate/layer 横断の architecture change のため機械的リファクタの範囲外。別途設計が必要
#12 (API 再設計) / #13 (directory module 化) で即時対応した4ファイル以外の oversized file(250+ pure LOC)について、Oracle 協議の結果「着手トリガー付き延期」と判定したものの管理 issue です。
延期リスト(着手トリガー付き)
server/src/route/activitypub.rsdiscovery.rs/actor.rs/collections.rs/inbox.rsadapter/src/processor/account.rsaccount/command.rs/account/query.rs(DependOnAccountSignal と param structs は command 側)server/src/route/oauth2.rsoauth2/login.rs/oauth2/consent.rsapplication/src/service/metadata.rsprojection.rs/read.rs/write.rs/rehydrate.rsapplication/src/service/profile.rsprojection.rs/read.rs/update.rs/image.rsdriver/src/database/postgres/account.rsrow.rsと private query helper の抽出server/tests/support/*.rs(4ファイル)「分割しない」と決めたもの(サイズ例外として明記)
server/src/handler.rs(300) — DI trait registry。責務ではなく配線の一覧であり、分割すると dependency map の可視性が落ちるkernel/src/entity/account.rs(275) —Account/AccountEvent/command constructors/EventApplierの単一 Event Sourced 集約。Event と replay semantics を分離するとドメイン不変条件のレビュー性が悪化する補足