ossie connection reads the model and binds every dataset to that SQLite connection. Every file under semantics/, contracts/ and knowledge/ was drafted by canonic ingest and accepted with canonic apply.
Full source:
examples/ossie-retail/Schema
Setup
Configuration
target_connection is required. It decides the semantics/<connection>/ directory, the SQL dialect expressions are transpiled to, and the live schema column types come from.
What the model became
Bindings and knowledge pages enter at
inferred and never auto-apply. They become part of the project only through review.
Queries
revenue lives on order_items, while region lives on stores. The query reaches it through the Ossie relationships order_items_to_orders and orders_to_stores, both many_to_one, so no row is counted twice.
Rebuild from the model
order_items waits for review because of the AVG measure, and so does everything under contracts/ and knowledge/. A further canonic ingest over the result is a no-op for all 16 files.
Gate Ossie changes in CI
Once a source or binding is curated, a changed Ossie model that contradicts it fails a strict run:meta.definition_fingerprint on each semantic source. An existing binding is never changed by an import, so a curated binding stays as it is.