refactor(entities): relocate seed_entities to think/entities/seeding.py
Mechanical relocation out of think/importers/shared.py into a new
think/entities/seeding.py module. No behavior change — function body
is byte-for-byte identical.
- Five importer modules now import seed_entities from
think.entities.seeding: kindle, documents, granola, ics, obsidian.
- Three function-scoped test imports in tests/test_importer_granola.py
updated to the new path.
- Mock/patch targets in test_importer_obsidian_sync.py and
test_importer_documents.py intentionally unchanged: they patch the
caller's namespace, which is still valid after the move.
- Removed the "think/importers/shared.py": "V2" allowlist entry in
scripts/check_layer_hygiene.py (the file no longer contains a
domain-write function). Kept the generic allowlist framing.
Restores the L2 invariant that only think/entities/saving.py and
apps/entities/call.py own entity-write code paths by making the
write-through-a-domain-call visible at every importer callsite.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>