store: split budget's mixed impl Database into substrate + domain #40

Merged
PerishFire merged 1 commit from split-budget-db into main 2026-07-21 03:31:34 +00:00
Owner

Crate-split adaptor-prep A3c. Splits budget/state.rs's impl Database by kind: raw SQL (current_strand_seq + new pending_inbox_rows) to db/budget.rs substrate; pending_items to a domain projection free fn; open/repeat_context_incident to domain free fns taking &Database. budget/state.rs now has no impl Database. 40 test groups green, core debt 0.

Crate-split adaptor-prep A3c. Splits budget/state.rs's impl Database by kind: raw SQL (current_strand_seq + new pending_inbox_rows) to db/budget.rs substrate; pending_items to a domain projection free fn; open/repeat_context_incident to domain free fns taking &Database. budget/state.rs now has no impl Database. 40 test groups green, core debt 0.
store: split budget's mixed impl Database into substrate + domain
All checks were successful
guard / guard (pull_request) Successful in 2m13s
e29a3663ab
Crate-split adaptor-prep A3c. budget/state.rs's impl Database mixed raw
SQL, provider projection, and incident-key domain logic. Split by kind:
- raw SQL (current_strand_seq, and a new pending_inbox_rows returning
  raw (kind, content) rows) → db/budget.rs as substrate methods;
- pending_items becomes a domain free fn that fetches pending_inbox_rows
  from the substrate and projects them into ProviderItems;
- open/repeat_context_incident (which build IncidentDrafts with the
  budget context_incident_key and call the substrate open/active_incident)
  become domain free fns taking &Database.
This is the "thin substrate returns raw rows, domain assembles" pattern.
budget/state.rs now has no impl Database. 40 workspace test groups green;
core debt 0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PerishFire deleted branch split-budget-db 2026-07-21 03:31:34 +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!40
No description provided.