- Perf metrics to figure out where to focus time
- Read path?
- Joins?
- Write path?
- Batching?
- Read path?
- Observability
- Instrument various operations so we can understand how the system executes
- Reactive queries
- P2P / CRDT support
- Add option to schema to mark it as "replicated"
- Add option to configure the CRDT to use and clock mechanism
- Implement syncing
- Migrations
- Schema fields and edges that encode the semantics of a migration and apply that migration when the underlying data does not match
- Dual-writes enabled for the period of migration
- Traits
- Allow schemas to inherit properties from abstract schemas
- Allow querying a trait / abstract schema and get all subtypes
- Polyglot storage
- Add another backend (besides SQL), e.g. redis
- Test hops across backends (e.g., SQL->Neo hop)
- Junction Edges
- Abstract Edges
- Neo/Tinkerpop/RedisGraph junction like edge defs
- Privacy rules
- Semantic types for fields
- Deletion behavior encoded into schemas
- Alert on introduction of non-backwards compatible changes in the schema
- Plugin framework for integrations like GraphQL or new codegen
- Polyglot indexing service support
- Purpose limitation
- Byzantine fault tolerance
- Consistency / integrity rules
- Triggers / Observers
- Property testing and zod?