name: rye-domain-onboarding description: 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
- 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.