model: lift the contract types into their own crate #35

Merged
PerishFire merged 1 commit from split-model into main 2026-07-20 10:58:42 +00:00
Owner

Crate-split PR-1. The model/ tree (wire/contract types + Timestamp) becomes santi-model; santi-core re-exports it, so all crate::/santi_core:: paths and downstream uses are unchanged — a pure move. The enum DB-string codecs move with their enums into the contract crate (they ARE the canonical snake_case wire form; pure enum<->&str) — orphan-legal, zero call-site churn; sets the precedent that a contract type's canonical serialization lives with the type. Leaf verified (santi-model → santi-error only, no store/service edge). WIRE_PATH follows the seat; tracks held (wire 759 / core 0 / internal 852); full workspace tests green; guard green under v0.6.0.

🤖 Generated with Claude Code

Crate-split PR-1. The model/ tree (wire/contract types + Timestamp) becomes santi-model; santi-core re-exports it, so all crate::/santi_core:: paths and downstream uses are unchanged — a pure move. The enum DB-string codecs move with their enums into the contract crate (they ARE the canonical snake_case wire form; pure enum<->&str) — orphan-legal, zero call-site churn; sets the precedent that a contract type's canonical serialization lives with the type. Leaf verified (santi-model → santi-error only, no store/service edge). WIRE_PATH follows the seat; tracks held (wire 759 / core 0 / internal 852); full workspace tests green; guard green under v0.6.0. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
model: lift the contract types into their own crate
All checks were successful
guard / guard (pull_request) Successful in 5m14s
1f7e6f4db5
Crate-split PR-1. The model/ tree (wire/contract types + Timestamp)
becomes the santi-model crate; santi-core re-exports it (pub use
santi_model::*), so every crate::/santi_core:: path and downstream use
is unchanged — a pure move. model's two internal error imports rewire
to santi_error::. The enum DB-string codecs (encode/decode) move with
their enums into the contract crate that owns them (they ARE the
canonical snake_case wire form; pure enum<->&str, no DB dep) — orphan-
legal and zero call-site churn; this sets the precedent that a contract
type's canonical serialization lives with the type. WIRE_PATH follows
the seat; tracks held (wire 759 / core 0 / internal 852). Deps:
santi-model → santi-error only (leaf verified: no store/service edge).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PerishFire deleted branch split-model 2026-07-20 10:58:43 +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!35
No description provided.