Skip to content

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 16:30
· 22 commits to main since this release
08be056
Toise v0.13.0 — one answer per question

Three places where the same question had two answers, or none. No wire-contract
break, no data migration; everything additive.

The ADR 0020 identity overlay reaches GraphQL as canonical(id, asOf). It was
reachable only over MCP, so a GraphQL consumer had to walk same_as itself and
pick its own threshold — which is how two read surfaces come to disagree about
whether two entities are one machine. The walk now lives in one place and both
surfaces call it. It is a top-level query rather than a field on Entity so asOf
selects the graph the belief is read from: a group is derived from edges, and
edges change.

host.id gets a normative rendering — a lowercase hyphenated UUID — and the
conformance kit fails on the raw 32-hex machine-id and on uppercase hex,
wherever the key appears. Same file, two renderings, two entities, and nothing
in the graph saying they are one. A producer already emitting another form must
coordinate the change rather than switch on upgrade.

The db.instance.id fallback is specified as <db.system.name>:<port>@<host.id>,
reusing the @<host.id> shape already defined for service.instance. The tier was
missing, so a producer invented address:port — byte-identical on every machine,
collapsing every local database into one entity whose attributes flipped between
servers. Local databases now gain a runs_on, entering their host's impact radius
for the first time.

The contract documents how to migrate an identity, and the trap that follows: the
cascade removes a bridging same_as along with the deleted entity, so a
current-state query reads zero after the cutover and looks like a failure to
emit. Verify with a dated read at the cutover instant.

Log format change: the liveness sweep line is now "liveness sweep expired stale
records" with entities= and relations= rather than a single count=, which
conflated the two under a label that said entities.

ADR 0034 proposes network.segment. Proposed, not implemented.

The conformance check reaches producers via pkg/emit/v0.8.0.