store: untangle the db substrate from its domain methods #36

Merged
PerishFire merged 1 commit from split-db-untangle into main 2026-07-20 13:31:26 +00:00
Owner

Crate-split PR-2a (prep for the adaptor extraction). db/ conflated the pure Database/SQL substrate with domain impl SantiStore blocks. Moved the domain out so db/ is pure substrate: receipts' receipt_status → store/receipts.rs; SantiStore::migrate → substrate free fn migrate(conn), with open/seed_defaults → store/lifecycle.rs calling it. Rule: impl Database → substrate, impl SantiStore → domain; substrate never depends back on domain. Pure move; db/ now has zero impl SantiStore; 40 workspace test groups green; core debt 0; guard green under v0.6.0.

🤖 Generated with Claude Code

Crate-split PR-2a (prep for the adaptor extraction). db/ conflated the pure Database/SQL substrate with domain impl SantiStore blocks. Moved the domain out so db/ is pure substrate: receipts' receipt_status → store/receipts.rs; SantiStore::migrate → substrate free fn migrate(conn), with open/seed_defaults → store/lifecycle.rs calling it. Rule: impl Database → substrate, impl SantiStore → domain; substrate never depends back on domain. Pure move; db/ now has zero impl SantiStore; 40 workspace test groups green; core debt 0; guard green under v0.6.0. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
store: untangle the db substrate from its domain methods
All checks were successful
guard / guard (pull_request) Successful in 5m18s
63c737e5f5
Crate-split PR-2a (prep for the adaptor extraction). db/ conflated the
pure Database/SQL substrate with domain impl SantiStore blocks. Move the
domain out so db/ is pure substrate, ready to lift:
- receipts: impl SantiStore { receipt_status } (calls im, produces the
  ReceiptStatus projection) → store/receipts.rs; impl Database
  transitions + the receipt-state codec stay as substrate.
- lifecycle: SantiStore::migrate becomes the substrate free fn
  migrate(conn) (schema migration is a persistence concern); open and
  seed_defaults → store/lifecycle.rs and call it.
Rule: impl Database → substrate, impl SantiStore → domain; the substrate
never depends back on domain. Pure move; 40 workspace test groups green;
core debt 0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PerishFire deleted branch split-db-untangle 2026-07-20 13:31:26 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishFire/santi!36
No description provided.