ChestShop was organized partly by feature (context/, market/, signs/, economy/, permission/, find/) rather than by layer like treasury/business. Bring it in line:
- Lombok models: Account/Item/PlayerDTO → @Getter/@Setter (matches treasury/business model classes).
- context/ → model/: the pipeline data carriers are models.
- market/ → layers: MarketListener → listeners/, MarketRecords/MarketResyncService/MarketHook → services/.
- signs/ → layers: ChestShopSign (@Singleton) → services/, RestrictedSign (Listener) → listeners/.
- economy/ → adapters/: EconomyProvider/TreasuryEconomyProvider (matches treasury's adapters/ for VaultEconomyAdapter).
- permission/ → utils/: Permissions (constants) + AdminBypass.
- find/ → layers: FindCommand → commands/, FindDialog → commands/, ShopFinderService/PreviewHandler → services/, PreviewListener/WorldEditShopCleanup → listeners/, FoundShop/ShopAttribute/ShopType/SortDirection/FindState → model/.
Pure moves + Lombok; each phase compile-green + committed, full harness suite at the end.