The only workflow order that scales
Looky is deterministic when you build in this order. If you invert steps, you get ambiguous failures and slow delivery.
- Workspace structure and context are correct.
- Runtime source aliases are defined and valid.
- Malloy models expose stable query contracts.
- Visualizations map query fields to renderers.
- Dashboards compose validated visualizations.
- Validate, diff, push, and verify in UI.
Reference implementation you can inspect
If available in your account, pull ecommerce-showcase and inspect it as the canonical chain:
runtime/sources.runtime.ymldefines source aliasecommerce.content/models/*.malloydefines reusable dimensions/measures/queries.content/visualizations/*.ymlbinds model queries to chart/table configs.content/dashboards/*.ymlcomposes visualizations into final surfaces.
Builder loop you should run every day
cd <local_root>/<billing_account_id>/<workspace_slug>
looky status
looky validate
looky diff
looky push
looky list visualizations
looky list dashboards
Run this loop for every meaningful change. It catches structural issues before users see broken dashboards.
Definition of done for a content change
looky validatehas no blocking errors.looky diffonly shows intended files.looky pushsucceeds on target workspace.- Dashboard is visible and renders correctly in
https://my.looky.studio.