A-1 (#86 merged) で配置した feature 内 4 層パッケージへ、既存クラスを Move のみ(中身変更なし)で移動する。
N4 (#86) を 4 分割した A-2 スコープ:
やること
1. 既存クラスの 4 層パッケージへの移動(git mv ベース)
scaffold 現状のトップレベル直置きクラスを以下にマップして git mv:
| 移動元(現在地) |
移動先 |
種別 |
task/Task.java |
task/adapter/persistence/Task.java |
JPA Entity(rename しない) |
task/Priority.java |
task/domain/Priority.java |
enum |
task/TaskStatus.java |
task/domain/TaskStatus.java |
enum |
task/Visibility.java |
task/domain/Visibility.java |
enum |
security/SecurityConfig.java |
security/adapter/web/SecurityConfig.java |
Spring Security 設定 |
security/TasksAuthenticationToken.java |
security/adapter/web/TasksAuthenticationToken.java |
Authentication トークン |
security/TasksJwtAuthenticationConverter.java |
security/adapter/web/TasksJwtAuthenticationConverter.java |
JWT コンバータ |
security/TasksPrincipal.java |
security/domain/TasksPrincipal.java |
Principal |
tenant/Tenant.java |
tenant/adapter/persistence/Tenant.java |
JPA Entity(rename しない) |
tenant/TenantPlan.java |
tenant/domain/TenantPlan.java |
enum |
tenant/TenantStatus.java |
tenant/domain/TenantStatus.java |
enum |
user/User.java |
user/adapter/persistence/User.java |
JPA Entity(rename しない) |
user/UserRepository.java |
user/adapter/persistence/UserRepository.java |
Spring Data Repository |
scaffold 未実装で本 Issue 対象外:
移動に伴う package 宣言修正・他ファイルからの import 修正は不可避(grep-first で漏れチェック)。
対応する test ファイルも同パッケージ階層へ同時 git mv(prod/test 同居の慣例維持、git log --follow で履歴追跡可):
| test 移動元 |
test 移動先 |
security/SecurityConfigTest.java |
security/adapter/web/SecurityConfigTest.java |
security/TasksAuthenticationTokenTest.java |
security/adapter/web/TasksAuthenticationTokenTest.java |
security/TasksJwtAuthenticationConverterTest.java |
security/adapter/web/TasksJwtAuthenticationConverterTest.java |
security/TasksPrincipalTest.java |
security/domain/TasksPrincipalTest.java |
task/TaskEntityTest.java |
task/adapter/persistence/TaskEntityTest.java |
user/UserEntityTest.java |
user/adapter/persistence/UserEntityTest.java |
task/domain/TaskAuthorizationDomainServiceTest.java は既に task/domain/ 配下、test 位置追従の規則に合致しているため対象外(import 修正のみ)。
2. 変更しないこと
3. ModularityTests.verify() + 既存全テスト green
ApplicationModules.verify() が green(feature 内 sub-package 化したのみで破綻しないはず)
- 既存全テスト green(内容変更なし、テストファイル位置は対応 prod クラスのパッケージへ追従)
- import パスが破綻していないか grep + コンパイル + テスト全件で検証
受け入れ条件
参照
経緯
A-1 (#86 merged) で配置した feature 内 4 層パッケージへ、既存クラスを Move のみ(中身変更なし)で移動する。
N4 (#86) を 4 分割した A-2 スコープ:
やること
1. 既存クラスの 4 層パッケージへの移動(
git mvベース)scaffold 現状のトップレベル直置きクラスを以下にマップして
git mv:task/Task.javatask/adapter/persistence/Task.javatask/Priority.javatask/domain/Priority.javatask/TaskStatus.javatask/domain/TaskStatus.javatask/Visibility.javatask/domain/Visibility.javasecurity/SecurityConfig.javasecurity/adapter/web/SecurityConfig.javasecurity/TasksAuthenticationToken.javasecurity/adapter/web/TasksAuthenticationToken.javasecurity/TasksJwtAuthenticationConverter.javasecurity/adapter/web/TasksJwtAuthenticationConverter.javasecurity/TasksPrincipal.javasecurity/domain/TasksPrincipal.javatenant/Tenant.javatenant/adapter/persistence/Tenant.javatenant/TenantPlan.javatenant/domain/TenantPlan.javatenant/TenantStatus.javatenant/domain/TenantStatus.javauser/User.javauser/adapter/persistence/User.javauser/UserRepository.javauser/adapter/persistence/UserRepository.javascaffold 未実装で本 Issue 対象外:
TaskController/TaskRepository/TaskNotFoundException等は現状 scaffold に存在しない → B (backend: 基盤(shared/exception + Task POJO/JPA Entity 分離 + Repository ポート) (N4 / B-1) #273) でGET /tasks/{id}実装と同時に各 4 層パッケージへ新規作成task/domain/TaskAuthorizationDomainService.javaは既にtask/domain/配下、本 Issue 対象外(import 修正のみ)移動に伴う
package宣言修正・他ファイルからのimport修正は不可避(grep-first で漏れチェック)。対応する test ファイルも同パッケージ階層へ同時
git mv(prod/test 同居の慣例維持、git log --followで履歴追跡可):security/SecurityConfigTest.javasecurity/adapter/web/SecurityConfigTest.javasecurity/TasksAuthenticationTokenTest.javasecurity/adapter/web/TasksAuthenticationTokenTest.javasecurity/TasksJwtAuthenticationConverterTest.javasecurity/adapter/web/TasksJwtAuthenticationConverterTest.javasecurity/TasksPrincipalTest.javasecurity/domain/TasksPrincipalTest.javatask/TaskEntityTest.javatask/adapter/persistence/TaskEntityTest.javauser/UserEntityTest.javauser/adapter/persistence/UserEntityTest.javatask/domain/TaskAuthorizationDomainServiceTest.javaは既にtask/domain/配下、test 位置追従の規則に合致しているため対象外(import 修正のみ)。2. 変更しないこと
@Entityを取り除く等)→ B (backend: 基盤(shared/exception + Task POJO/JPA Entity 分離 + Repository ポート) (N4 / B-1) #273)Task→TaskJpaEntity)→ B (backend: 基盤(shared/exception + Task POJO/JPA Entity 分離 + Repository ポート) (N4 / B-1) #273)DomainException継承)→ B (backend: 基盤(shared/exception + Task POJO/JPA Entity 分離 + Repository ポート) (N4 / B-1) #273)git mvのみ)3.
ModularityTests.verify()+ 既存全テスト greenApplicationModules.verify()が green(feature 内 sub-package 化したのみで破綻しないはず)受け入れ条件
task/security/tenant/user直下の対象既存クラス 13 件が 4 層パッケージへ移動済package宣言・import修正の漏れなし(コンパイル green)ApplicationModules.verify()greengit mvベース(rename 自動検知 OK、git log --followで履歴追跡可)参照
経緯
TaskController/TaskRepository/TaskNotFoundExceptionも対象として記載していたが、scaffold 現状未実装と判明(2026-05-30 PR 関連 branch 実態確認)、B (backend: 基盤(shared/exception + Task POJO/JPA Entity 分離 + Repository ポート) (N4 / B-1) #273) スコープへ整理