Skip to content

SignalQL specification versions ​

SignalQL keeps language evolution transparent. Older versions remain viewable as historical references.

Current ​

  • v0.5 — "Information Objects": stable object identity (object://id[@rev]), revisions, representations, revision-pinned derivations with computed dependency state, object lineage (TRACE OBJECT / TRACE CLAIM, FIND DEPENDENTS), budgeted and explainable context bundles (CONTEXT FOR "task", EXPLAIN CONTEXT), trust and role metadata, and capability discovery (SHOW CAPABILITIES). Additive over v0.4 and read-only. See v0.5 spec.
  • v0.4 — the "Operational Graph": graph pattern operators (MATCH/CONNECTED/PATH/WITHOUT), reasoning lineage (TRACE), context bundles (CONTEXT FOR), and bitemporal AS OF (reference compiler implements v0.4-core). See v0.4 spec / roadmap.
  • v0.3 — aggregation, shaping, metrics binding, catalog introspection, and typed result envelope (reference compiler implements v0.3-core).
  • v0.2 — generalized evidence and signal retrieval layer (stable baseline; still supported).

Historical ​

  • v0.1 — behavioral analytics-focused baseline (COUNT, FUNNEL, GROUP BY DAY).

Reference compiler support matrix ​

Surfacev0.1v0.2v0.3-corev0.3-extendedv0.3-capability
Parseyesyesyesyesparse only
Postgres compileyesplan SQLdirect SQL (events)plan SQLCapabilityError
Demo CSV runyes—yespartial—
Result envelope——yesyes—
MCP / CLIyesyesyescompile + guardstructured error

v0.3-core (implemented): FROM events retrieve with WHERE, DURING, AS OF, BUCKET BY, GROUP BY, HAVING, ORDER BY, LIMIT, aggregates (count, count_distinct, sum, avg, min, max, variance, stddev, percentile, stats), v0.3 FUNNEL (->), canonical formatter, result envelope helpers.

v0.3-extended (plan SQL or guarded): entity/metric sources, signal() / probability / semantic field refs, TRAVERSE, TREND.

v0.3-capability (parse; compile/run throws CapabilityError): DESCRIBE, WATCH, governed metric(...) execution, catalog providers.

v0.4 (Operational Graph) tiers ​

Surfacev0.4-corev0.4-extendedv0.4-capability
Parseyesyesyes
Postgres compiledirect recursive SQLguardedCapabilityError
Demo graph runyespartial—

v0.4-core (implemented): MATCH (single-hop edges) + WITHOUT absence, FIND … CONNECTED TO … VIA, PATH, TRACE ordered lineage, CONTEXT FOR bundles, bitemporal AS OF, graph limits/cycle guard, demo graph evaluator.

v0.4-extended (guarded): signal()/probability()/semantic_match() in graph predicates, aggregate returns inside graph queries, multi-hop MATCH edges.

v0.4-capability: streaming/continuous graph subscriptions.

v0.5 (Information Objects) tiers ​

Surfacev0.5-corev0.5-extendedv0.5-capability
Parseyesyesyes
Postgres compiledirect recursive SQLdirect SQL returning facts/scores for the named scorerCapabilityError
Reference runtimeyesyes (packs the bundle)yes (introspect() / context store)

v0.5-core (implemented): GET OBJECT, SHOW REVISIONS, SHOW REPRESENTATIONS, GET REPRESENTATION, FIND OBJECT … WHERE including dependency state, FIND DEPENDENTS, TRACE OBJECT / TRACE CLAIM, SHOW OBJECT TYPES.

v0.5-extended (implemented; deterministic per scorer): CONTEXT FOR "task" with BUDGET / PREFER / EXCLUDE / MAX … / WITH EVIDENCE, FIND OBJECT ABOUT. Guarded: signal()/probability()/semantic_match() in object predicates.

v0.5-capability (answered by the implementation, not SQL): SHOW CAPABILITIES, EXPLAIN CONTEXT context://id.

v0.5 also makes keywords contextual in every version's grammar: a keyword in a name position is a name, and v0.5 adds no reserved words. No previously valid query changes meaning; this is enforced against a golden corpus of pre-v0.5 queries.

Legacy v0.1 queries remain valid and compile through the compatibility parser path.

Compatibility policy ​

  • New language versions are additive where practical, but may tighten grammar and contracts for determinism.
  • Historical versions remain published and linkable for implementation audits.
  • Tooling may support multiple versions; each tool must declare which version it executes.