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
- •singleton facts:
- •Optionally add a profile migration in
schema/migrationsusing*_profile_<name>.sqlnaming for helper functions and materialized views. - •Add tests in
tests/conformanceandtests/security. - •Run
./scripts/conformance.shbefore 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.