0.7.0¶
Released 2026-06-15.
The integration release. 0.7.0 is about what you can build on Toise. An AI assistant gets pinnable context and ready-made investigation workflows; an operator 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 (resurrection, connection topology) and the audit P1/P2 lot.
Not a wire-contract break, no data migration. One MCP argument was renamed — see the 0.6 → 0.7 migration guide.
Added¶
- Operator annotations.
annotate_entity(MCP) and the first GraphQL mutationannotateEntityattach free-form notes — owner, runbook, ticket — to an entity as an overlay: kept in a per-tenant sidecar, surfaced onget_entityandEntity.annotations, and never mixed into producer truth or the event log. An empty value removes a key. It is the one write either read surface exposes, so it needs a write-capable token. - MCP resources and prompts. Beyond the twelve tools, the server exposes
pinnable resources —
toise://schema(the live schema),toise://guide(a markdown orientation), and the templatetoise://entity/{id}— and ready-made prompts:investigate_incident,blast_radius,explain_entity,whats_changed. - Token roles. A bearer token can be read-only (
TOISE_READ_TOKENS— query surfaces only) or ingest-only (TOISE_INGEST_TOKENS— OTLP only), alongside full tokens. Least privilege for a dashboard that must never write or a producer that must never read. - Verbosity tiers.
find_entities,get_entityandget_neighborstake an optionalverbosity:compact(id/type/label, cheap to scan a large set) orfull(the default). Scan compact, then re-fetch the one you care about. toise-conformanceCLI. Validate a producer's OTLP output against the wire contract without a running Toise, in any language — pipe it theExportLogsServiceRequestbytes (protobuf or JSON). See the new Producer directory for the catalog and tool usage.- API stability policy and a golden contract test pinning the whole MCP surface — tools, resources, and prompts — so a change is deliberate.
- Identity-stable resurrection: an entity re-asserted within a bounded grace
window after deletion keeps its logical id. Connection-topology reads with
read-time peer resolution. New
compute.vmandcontainerentity types.
Changed¶
- MCP
get_neighborsrenameddepth→max_depth, matchingfind_pathandimpact_of. Update clients that passeddepth. - One streaming as-of fold now backs both MCP and GraphQL time-travel; traversal goes through the adjacency index instead of scanning all relations.
Fixed¶
- The liveness
Sweepsurfaces its commit errors; a tenant whose store fails to open is quarantined at boot instead of taking down the server; live entities are counted by membership (phantom-delete fix); the SDK rejects a malformedeventNameor a sub-secondIntervalbefore the wire.