protocolVersion

0.1.0 → 0.2.0

Protocol 0.2.0 is additive. Preset, catalog, and Query IR files marked 0.1.0 stay valid. The runtime advertises protocolVersion: 0.2.0 in responses. Normative detail: planning/03-protocol-schemas.md and D11.

Product releases (0.3.x and later) can add connectors and operators without bumping the protocol when the wire contracts stay compatible. Full history: Changelog.

Compatibility at a glance

Topic 0.1.0 0.2.0
Preset / catalog / IR files Baseline contract Still accepted unchanged
Runtime response protocolVersion Advertised 0.1.0 at ship Advertises 0.2.0
Query IR shape JSON IR as shipped Unchanged (richer work stays on catalog SQL)
Harness connectors postgres, mysql, mongodb, rest Same four in Compose / goldens
Experimental sources[].type — mssql, sqlite, clickhouse, dynamodb, cassandra, ksql (pull) — no Compose goldens
Key-path binding — binding.accessPath (pk/partition, sk/sort, ksqlKey); missing key eq → UNSUPPORTED
qllm.env.yaml Literal values Values may be exactly ${ENV_NAME}; empty names are not written as the placeholder
Agent surface MCP how_to_use_me, describe_catalog, execute_sql + HTTP /v1 Same three tools / HTTP paths (D17 unchanged)

What 0.2.0 added (protocol)

What stayed the same

Later product releases (for example 0.3.0) added redis/kafka, REST fromFilter, scoped keys, and graphql source type under the same protocol 0.2.0 line when contracts stayed additive — see Changelog.

Need every field?

Field reference and schemas stay in the manuals and planning/schemas/.

Docs index →