# Implementation Status

This page separates the AIP 1.0 protocol contract from what the current Rust
workspace and retained qualification evidence prove. The implementation review
baseline is the 1.0.0 source line at commit
`e176a84c288767ffac6cff1e96a5c2ad02530399`, reviewed on 2026-07-14.

A later commit, image, product revision, or deployment requires new evidence.

## Status by Surface

| Surface | Current evidence | Remaining qualification boundary |
|---|---|---|
| Native semantic core and schemas | Typed models, validation, generated schemas, fixtures, and conformance tests exist | Independent implementation interoperability remains separate |
| Runtime lifecycle | Actions, sessions, approvals, transactions, callbacks, receipts, events, delegation, recovery, leases, and file/PostgreSQL backends exist | Release-specific multi-node fault, capacity, backup, and disaster-recovery evidence |
| Native HTTP/SSE/WebSocket | Daemon routes, auth middleware, query APIs, cursors, follow mode, and WebSocket tests exist | External client matrix and protocol media-type correction described below |
| Native NATS | Subjects, request/reply, listener, queue groups, reconnect behavior, and runtime routing exist | Release-specific throughput, partition, and broker-failover campaign |
| MCP | Server, client, stdio, legacy HTTP+SSE, Streamable HTTP, sessions, replay, OAuth helpers, schemas, and version matrix exist | Complete independent all-version client/server evidence for the promoted release |
| A2A compatibility | Agent Card, task operations, push configuration, encrypted credentials, signed delivery, and durable profile state exist | Independent implementation and deployment qualification |
| Connector SDK | Frozen trusted context, typed failures, implementation support, secrets, and conformance harness exist | Every product connector must pass its applicable live campaign |
| `aipctl` | Native operational, conformance, connector, receipt, and MCP commands exist | No CLI value currently exposes native transaction mode `reconcile`; use a native envelope or SDK |

## Connector Qualification

| Connector | Implementation status | External evidence |
|---|---|---|
| [Cal.diy](../connectors/cal-diy.md) | Complete pinned connector surface with frozen conformance | Historical isolated-live PASS for the artifact identified in the 2026-07-13 report |
| [Hermes Agent](../connectors/hermes-agent.md) | Complete pinned API and governed operator/delegation connector with frozen conformance | Historical two-instance isolated-live PASS for the artifact identified in the 2026-07-11 report |
| [CrewAI](../connectors/crewai.md) | Authenticated sidecar, blocking/streaming execution, cancellation, idempotency, and restart fencing implemented | Narrow exact-upstream execution evidence exists; complete retained isolated-live campaign is absent |
| [Dify](../connectors/dify.md) | App/workflow execution, streaming, cancellation, human-input, and recovery mappings implemented | Complete retained isolated-live campaign is absent |
| [Chatwoot](../connectors/chatwoot.md) | Signed ingress, egress, status, handoff, idempotency, and loop prevention implemented | Complete retained isolated-live campaign is absent |

The Cal.diy and Hermes reports explicitly identify pre-release source/image
artifacts. They do not automatically qualify the current worktree or a rebuilt
1.0.0 image.

## Known Documentation-Relevant Gaps

### Native HTTP media type

The AIP 1.0 specification defines `application/aip+json` for complete native
envelopes. The current `aip-transport-http` codec publishes that media type, but
`aipd`'s Axum JSON routes and `aipctl` currently send or return
`application/json`. The daemon accepts the normative request type because it is
a structured JSON media type, but a strict content-type conformance claim
requires the daemon and CLI response/request behavior to be aligned.

The [Native HTTP API](http-api.md) documents both the normative type and the
current implementation behavior instead of hiding this difference.

### CLI reconciliation

`TransactionMode::Reconcile` and runtime reconciliation are implemented. The
current `aipctl action call --transaction-mode` value enum does not include
`reconcile`. Native envelopes, SDK callers, and runtime recovery can use it;
the CLI convenience surface still needs that value.

### Release qualification

Repository tests and historical product reports are not a production campaign
for an arbitrary deployment. Before promotion, run the release gate and the
required identity, storage, restart, fault, load, external-provider, and
independent-client scenarios against the exact image.

## Claiming Status Correctly

- Say **implemented** when code and deterministic tests exist.
- Say **conforming** only for the named protocol/profile and evidence matrix.
- Say **qualified** only for the exact artifact, dependency revisions, and
  topology in the retained report.
- Say **production-ready** only after the target deployment's operational and
  security campaign passes.

See [Conformance and Qualification](conformance.md) and the
[Testing and Evidence Index](../testing/README.md).
