Dice Storage Auto Configuration
Auto-configures the Dice proposition store and its lineage record stores (projection records and the collector audit trail).
embabel.dice.store.type=graph selects the Drivine/Neo4j backend; anything else (default) uses the in-memory backend. Every bean is @ConditionalOnMissingBean, so an application's own bean always wins. Graph beans are declared before their in-memory counterparts so the flip resolves by registration order.
Schema (indexes/constraints) is declared as SchemaCatalog beans; Drivine's SchemaManager (registered by the starter) applies them idempotently on startup — no runner here.
Functions
The durable extraction-run header store.
Where (proposition, run) links go.
The constraints and indexes the run store and the lineage relation need.
The lineage stores' schema, registered as a DiceStorageSchema so one bean answers both questions about it: Drivine ensures its constraints and indexes, and dice's drift observation reads the same object to recognise (:ProjectionRecord) and (:CollectorRecord) nodes as its own. Registering the DDL by hand here, as this used to, left the second half to a separate list that could fall behind.