HostAdapter SDK.
Maturity and installation
Not validated does not mean Unsupported. Not validated means the path may work but lacks the stated evidence. Unsupported means the integration does not provide the operation.
doctor checks a bounded installation and activation boundary; it is not proof of a live prompt, recall, capture, permission UI, cross-session behavior, or real-host E2E.
When choosing a host, first ask whether you control a pre-prompt event and a transient injection channel, then examine capture and permission behavior. A “yes” in the matrix is not completion. Completion means a new session recalls from the same Scope, an ordinary task continues when the Server is down, and an explicit write reports that outage.
Minimal usage
Common execution flow
Capability matrix
Choose by lifecycle first, then use the matrix to confirm that the selected adapter has the exact behavior you need.
All five integrations bundle host guidance, but a bundled
project-context Skill is not a managed Skill export. Managed export is a separate PowerContext operation with projection and drift contracts; current targets are Codex and Claude Code only.
Scope, injection, capture, and flush
Scope selects a data partition. It is not authentication. Derive it from a stable, authorized workspace or project identity, and test that two Scopes cannot reuse each other’s transient context. PreparedContext is bounded, temporary, and untrusted. Put it only in the current-turn injection channel. Do not copy it into a transcript, checkpoint, or durable Source. A stale turn key must never inject context into a later turn. Capture and Memory are separate stages:Automatic and explicit paths
Automatic recall, capture, and optional flush are auxiliary. Expected Server, validation, size, deadline, or capture failures normally fail open so the host task can continue. Claude Code, DSH, OpenCode, and Pi guard recall and capture independently. Codex keeps expected failures independent, but an unexpected recall exception can skip capture for that invocation; do not claim stronger isolation than the code provides. Explicit durable operations are different. Memory writes, Handoff commit, Review decisions, and Skill export must expose failure and remain behind host permission. Pi’s no-UI denial is verified. Codex and Claude Code no-UI durable-mutation denial is Not validated; do not copy Pi’s contract onto them.Negative experiments
Run the checks that apply to the selected host:- Stop the Server and confirm an ordinary prompt still reaches the model.
- Return 401/403 and keep it distinct from an empty successful result.
- Return an unknown PreparedContext schema and confirm nothing is injected.
- Exceed the response-size or deadline budget and confirm the turn remains bounded.
- Redirect an authenticated request and claim refusal only where that host implementation enforces it.
- Make recall fail while capture succeeds, then reverse the failures; include an unexpected Codex recall exception.
- Reuse, reorder, or delete a turn/session key and confirm stale context is rejected or a race cannot inject the wrong turn.
- Deny an explicit mutation, including a headless/no-UI case where the host defines one.
- Keep the flush cursor behind the Source position and confirm bounded retries stop without claiming Memory exists.
- Inspect diagnostics and confirm they contain no prompt, Scope, PreparedContext, response body, or token.
Currently unsupported or not validated
Choose a host
Use the smallest host surface that completes the task. Broader integration adds more behavior to verify and more content that may cross the Server boundary.Completion checklist
Treat the integration as complete only when these results are observable:- The Server runs separately.
- Setup and
doctorare not presented as E2E evidence. - The host version or compatibility claim matches the maturity table.
- One ordinary prompt proves the intended event and transient injection path.
- Scope comes from stable authorized identity, with a cross-Scope negative test.
- Capture content, secret policy, and character/byte bounds are documented and observed.
- Flush and Memory commit are verified as separate stages.
- Automatic failures fail open only to the extent current code and tests prove.
- Permission and no-UI behavior are tested only for the selected host.
- A bundled Skill is not reported as managed Skill export.
- Unsupported and Not validated remain distinct in deployment notes.
If the real host has not launched and processed a prompt, report the completed contract, service-chain, or doctor tier. Do not call it real-host E2E.

