Skip to content

Release 1.7.2: usage telemetry reports how projects build their physical tables - #210

Merged
liam-machine merged 3 commits into
mainfrom
develop
Oct 23, 2026
Merged

liam-machine merged 3 commits into
mainfrom
develop

Conversation

@liam-machine

Copy link
Copy Markdown
Owner

This is a patch release. The ## Unreleased heading is left bare, so deploy.yml bumps it to 1.7.2.

What ships

  • Physical tooling telemetry (PR Telemetry: report how workspaces build their physical tables #209): the daily heartbeat gains two optional fields:

    • physicalTools: dbt, SQLMesh, Dataform, Databricks bundle, Fabric, Power BI project, SQL project, Flyway, Liquibase, Alembic, Prisma, Django, Rails, notebooks, CREATE TABLE scripts, DBML
    • platforms: Databricks, Snowflake, BigQuery, Postgres, Fabric, SQL Server, …

    Each is a fixed list, so we can choose which non-dbt sources the Physical stage should read next. Detection looks at file names and a fixed pattern in the head of a few small files, and never reads profiles.yml. Nothing leaves the machine but allowlisted values.

Deploy order

This change touches telemetry/, so deploy.yml runs the telemetry-worker job first:

  1. tests
  2. D1 migration 0003_physical_tooling.sql (adds physical_tools, platforms)
  3. Worker deploy

The extension release waits on that job. An older Worker would only drop the new keys, never reject the heartbeat, so the order is a safety margin, not a hard requirement.

Compatibility

Nothing changes on disk. There are no packages/ changes, so nothing is published to npm and no Confluence follow-up is needed. The telemetry contract change is additive (HEARTBEAT_VERSION stays 1; old clients store NULL).

CI is green on #209.

🤖 Generated with Claude Code

liam-machine and others added 3 commits October 22, 2026 09:23
chore: sync main (v1.7.1) into develop
Adds two optional heartbeat fields so we can see which non-dbt sources the
Physical stage should learn to read first:

- physicalTools: dbt, sqlmesh, dataform, databricksBundle, fabric, powerBi,
  sqlProject, flyway, liquibase, alembic, prisma, django, rails, notebooks,
  ddlScripts, dbml
- platforms: databricks, snowflake, bigquery, postgres, redshift, fabric,
  synapse, sqlserver, duckdb, spark, trino, athena, mysql, oracle,
  clickhouse, other

Detection (src/services/physicalTooling.ts) is pure and returns only
allowlisted values: marker file names plus a fixed pattern in the head of a
few small files. The dbt warehouse comes from manifest.json's adapter_type;
profiles.yml is never read. It runs 15 s after activation, once per
workspace per UTC day, and not at all while telemetry is off. Absent means
not looked; [] means looked and found nothing.

Worker: allowlists, validation, D1 migration 0003 (physical_tools,
platforms), tests. telemetry.json, telemetry/README.md and CHANGELOG
updated.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ling

Telemetry: report how workspaces build their physical tables
@liam-machine
liam-machine merged commit c01d387 into main Oct 23, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant