Release
Announcing Toise 0.7.0 — the integration release
0.7.0 is about what you can build on Toise. An AI assistant gets pinnable context and ready-made workflows, operators can annotate the graph, a dashboard can hold a token that can never write, and a producer in any language can prove it is on-spec before it ships.
It also lands the identity hardening — entities that resurrect keep their logical id, and connection topology resolves peers at read time — and the audit P1/P2 lot. It is not a wire-contract break and needs no data migration; one MCP argument was renamed (see the migration guide).
Operator annotations
A new MCP tool annotate_entity and the first GraphQL
mutation annotateEntity let a human or an assistant attach
free-form notes — owner, runbook, ticket — to an entity. Annotations
are an overlay: kept in a per-tenant sidecar, surfaced
on get_entity and Entity.annotations, and
never mixed into producer truth or the event log. They are the one
write either read surface exposes.
Resources and prompts for your assistant
Beyond the twelve tools, the MCP server now exposes
resources a client can pin as context —
toise://schema, toise://guide, and the
toise://entity/{id} template — and ready-made
prompts for common operator tasks:
investigate_incident, blast_radius,
explain_entity, whats_changed.
Least-privilege token roles
Bearer tokens can now be read-only (the query surfaces
only — a dashboard or assistant that must never write) or
ingest-only (OTLP only — a producer that must never
read), alongside full tokens. A read-only token is refused on
annotate_entity.
Prove a producer on-spec, in any language
The new toise-conformance CLI validates a producer's OTLP
entity-event output against the wire contract without a running Toise —
pipe it the bytes you would export:
go install github.com/toise-dev/toise/pkg/emit/cmd/toise-conformance@latest
my-producer --dump-otlp | toise-conformance # exit 0 = conformant
A new producer directory catalogs the SDK, the example producers, and external ones. And the whole MCP surface — tools, resources, prompts — is now pinned by a golden contract test and a published API stability policy.
Who talks to whom
The relational context an assistant needs most is dependency: not just
what runs where, but what depends on what. 0.7.0 lands
connection topology for it. A producer reads the host socket table and
asserts a durable depends_on edge to the observable endpoint
it connects to (address:port); Toise resolves that endpoint
to the canonical remote listener or host at read time — a derived overlay,
never written into the log, so the stored fact stays exactly what the
producer could observe. get_neighbors then answers both
what does this service depend on? and, by incoming traversal,
who connects to it?
Get it
docker pull ghcr.io/toise-dev/toise:v0.7.0
Binaries are on the
release,
and the producer SDK ships as pkg/emit/v0.2.0. See the
0.7.0 docs, the
migration guide,
and the changelog.