Skip to content

Oversized file cleanup: deferred splits with triggers (post #12/#13) #14

Description

@turtton

#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 のため機械的リファクタの範囲外。別途設計が必要

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions