Standalone mode — your ETL hook is not configured. Reset and Deploy-changes will only remove rows tagged metadata.source='training'. Any unmarked rows are presumed to be real customer data and will be preserved. To configure an ETL hook, edit cfg.app2.etl_hook in your config.yaml.

ETL Support

Three steps to land your customer's ETL feed cleanly. Walk them in order on a first pass; once you know the surface, jump anywhere via the numbered cards.

Refresh Data

/etl/run

Execute the ETL pipeline (wipe → hook → matview refresh) and render a per-kind coverage tally so you can confirm every declared primitive landed at least one row.

Triage gaps

/etl/triage

Find + fix gaps — diff declared contracts against observed runtime; each gap renders a card with the diagnosis + a deep link to the relevant L2 editor page.

Probe & fix

/etl/probe

Investigate one L2 slice — pick a rail, template, or chain and see L2-declared column expectations side-by-side with the runtime rows that match.