Add new Rye domain conventions and profile migrations. Use when introducing new node/edge/assertion/event conventions, creating new profile-specific functions/views, and extending conformance tests without breaking Rye core guarantees.
Add new Rye domain conventions and profile migrations. Use when introducing new node/edge/assertion/event conventions, creating new profile-specific functions/views, and extending conformance tests without breaking Rye core guarantees.
Rye Domain Onboarding
Workflow
Identify existing domain tables to connect (domain tables are encouraged — keep well-defined data in domain tables, use Rye to connect them).
Define domain conventions:
node_type — what entities are these?
edge_type — what relationships exist between them?
assertion_type — what facts do you track about them?
event_type — what happens to them?
Use link_record() to connect existing table rows to the graph.
Use track_table() to attach CDC triggers for change tracking.
Define active-fact keying rules with assertion_key:
singleton facts: default
multi-valued facts: stable domain key
Optionally add a profile migration in schema/migrations using *_profile_<name>.sql naming for helper functions and materialized views.
Add tests in tests/conformance and tests/security.
Run ./scripts/conformance.sh before merge.
Guardrails
Keep core migrations backward-safe.
Do not mutate assertion content directly.
Route assertion supersession through supersede_assertion(...); avoid direct assertion updates.
Enforce profile behavior through tests, not docs only.