Repository navigation
AIP v0.6.2
Release story
v0.6.2 is a demo release: a live, hosted AIP demo on a second real system, Pitstop, without a new
capability. The question it answers: before replacing StartTime and EndTime in
MaintenanceJobFinished, which services receive from the exchange it is published to, how far can the
evidence resolve that, and what must I still inspect?
AIP resolves the five receivers of Pitstop's RabbitMQ fanout exchange through their named queues, one of
which (ReportingService) no Pitstop document lists, with their declared and observed evidence and the
publisher's qualification. It states, rather than hides, that it holds no payload or field-level knowledge:
which receiver reads StartTime is what the agent must still inspect.
What's new
- Pitstop demo (
examples/pitstop-demo/):run.shreplays an authored, frozen observation window (Docker andcurlonly; semantic, not
byte-identical, reproducibility) and checks the expected answers;run.sh --liveruns the instrumented Pitstop fork, an OpenTelemetry Collector and a controlled traffic
generator against AIP (needs the private fork and about 4 GB of RAM; CI does not run it);- a question-by-question walkthrough, a
recorded Claude Code conversation and the
input provenance.
- The canonical demo is hosted and live. A continuously running, instrumented Pitstop feeds an
owner-operated AIP instance behind a token-gated MCP URL; answers refer to a completed whole UTC day. The
instance is not part of the repository and its address is not published here. - Claude Code plugin
aip(claude/plugin): the
architecture-aware-developmentskill (consult AIP before planning a change to an event, contract, shared data,
deployment or service boundary; write an Evidence section; plan the inspection AIP cannot do) and a read-only
/aip:inspectskill.AIP_MCP_URLandAIP_MCP_TOKENpoint it at a token-gated instance. - Optional mod
aip-mod(claude/mod): a band above the prompt and an
evidence pane showing the last AIP answer beside the agent's plan. It only reads the plugin's tool results and never
changes a prompt, a plan or a tool result.
What changed for integrators
One product change, a correctness fix found by the gate spike (I0), with no new semantics, schema, claim type,
limitation code or MCP tool:
- Receiver-safe ingestion. A consumer span for Service A that names a Subscription declared by another
Service is no longer accepted asRECEIVES_FROMevidence; the observing Service must have a declared route to it. - Window-correct resolution evidence.
resolution_evidence_refs, and whether a destination counts as
evidenced, respect the observation context's environment and window. Evidence is bucketed per UTC day, so only
whole-UTC-day windows are stable under later evidence; the claims of a completed window do not change.
Unchanged: exactly four MCP tools in the same order, schemas/import/v0.5/*, the v0.5 and v0.6 answer schemas.
A whole-UTC-day window runs from T00:00:00Z through T23:59:59Z of its last day. Observed evidence is matched
against an inclusive window, so a window must not end at the next day's T00:00:00Z.
Known limitations
POST /v1/tracesruns ingestion on the event loop, so REST, MCP and UI requests can stall during a batch (it
recurs with continuous live traffic; no latency was measured). Deferred by the owner on 2026-10-08 to v0.7 or a
patch release.- No per-Subscription qualification. Every claim carries the publisher's qualification; per-receiver evidence
shows only as observed references on its route. Receipt is per messaging destination (the exchange), never per
event type. - AIP holds no payload or field-level knowledge and models no Intent, Assessment or document staleness.
- Snapshot ids differ between runs (they move with ingestion); the bounded drill-down protocol (at most three
attempts) handles a stale snapshot. --liveneeds the private instrumented fork; CI does not run it. TheTimeServicepublisher emits its first span
about a day after start.- The plugin and the mod are example client material, removable without changing any AIP answer. The mod uses Claude
Code's typed mod API, so it is tied to the Claude Code build (tested with 2.1.294 and 2.1.295); CI has no Claude Code
CLI, soclaude plugin validateandclaude plugin testare run by hand. - Inherited: a Broker is declared evidence only (no runtime observation) and
destinationBrokerMappingsstays
unimplemented. I0 does not clean observed-only routes already persisted by an earlier version; the hosted demo
started from an empty graph.