Repository navigation
v1.5.0: Demo fix on fresh installs, sorted results, current Ossie spec
SLayer 1.5.0
This release fixes the demo on fresh installs, makes query results and CLI output easier to read, and brings the Ossie importer up to the current spec.
Fixes
On 1.4.1, slayer mcp --demo loaded the demo without any joins and the README example query failed. The cause was a newer SQLAlchemy release that broke key lookup on DuckDB. SLayer now reads DuckDB primary and foreign keys directly from DuckDB. Demo models created by an affected release get their keys and joins back the next time the demo starts. Primary keys you set yourself are left alone.
On Snowflake, ingestion now finds your foreign-key joins, and columns named sample or trigger no longer break queries. On BigQuery, the drift check finds models that don't name a dataset even when your project has more than one dataset.
Query results
A query that has dimensions and no order now returns its rows sorted by those dimensions, in the order you listed them. An explicit order still takes precedence.
The demo stores money as exact decimals, so sums no longer show floating-point noise such as 193647.33000000264.
CLI
slayer --versionprints the installed version.- A failing command prints a one-line error and exits with status 1. Add
--debugto see the full traceback. - Table output applies the number formats set on your columns and measures, for example
$23.36K. JSON output stays raw. slayer search revenueworks; you no longer need--question.serve,mcp,pg-serveandflight-serveshut down cleanly on Ctrl-C or SIGTERM, including when the signal arrives during startup.
Ossie import
slayer import-osi reads documents written to the current Ossie core spec: the flat document shape, dialect selection, field visibility, FILTER, and dataset-scoped metrics. When a file can't be decoded, or a relationship or model is malformed, the importer skips it and reports it instead of stopping the whole import.
Breaking changes
slayer search refresh-sampleshas moved toslayer datasources refresh-samples. The old form prints an error that tells you the new command.- SLayer now requires DuckDB 1.1 or later.
slayer datasources create demoalways ingests every demo table, so it now rejects flags that limit ingestion, such as--include.