Provider-native Claude Code behavior must be proven here before this SDK translates it. This manifest is SDK-owned evidence; it is not proof that ASM can expose the feature as common behavior across providers.
| Feature | Evidence type | CLI version/source revision | Fixture | Live smoke | Known unsupported semantics | Date verified |
|---|---|---|---|---|---|---|
| Claude Code streaming JSON argument rendering | CLI help/source inspection and SDK render tests | current Claude Code CLI contract as represented by SDK options | test/claude_agent_sdk/options_streaming_test.exs; test/claude_agent_sdk/runtime/cli_render_test.exs | examples/promotion_path/sdk_direct_claude.exs | SDK-native option shaping; not an ASM common schema | 2026-04-29 |
| Claude-native tools, allowed/disallowed tools, and tool suppression | provider docs/source inspection and SDK tests | current Claude Code CLI contract | test/claude_agent_sdk/options_streaming_test.exs; test/claude_agent_sdk/runtime/cli_render_test.exs | examples/promotion_path/sdk_direct_claude.exs | tools: [] and Claude tool flags are Claude-native; ASM must not expose common no-tool or host-tool options without all-four proof | 2026-04-29 |
| Claude-native MCP, hooks, permission callbacks, permission modes, and control-client routing | source inspection note and SDK transport tests | current Claude SDK/CLI control contract | test/claude_agent_sdk/transport/streaming_router_test.exs; test/claude_agent_sdk/runtime/cli_render_test.exs | Existing live hook/MCP/permission examples; promotion example stays text-only with tool suppression | Provider-native control behavior only; does not establish common ASM tools, approvals, or MCP semantics | 2026-04-29 |
Shared execution_surface normalization for local and SSH placement | source inspection note and SDK runtime tests | current cli_subprocess_core dependency | test/claude_agent_sdk/query_cli_stream_test.exs; test/claude_agent_sdk/runtime/cli_render_test.exs | examples/promotion_path/sdk_direct_claude.exs for local keyword input; live SSH tests remain opt-in | Placement only; execution surface metadata must not become provider-native Claude configuration | 2026-04-29 |
Claude Opus 5 model-registry refresh (opus and the retained opus[1m] compatibility alias both resolve to claude-opus-5) | source inspection of the shared cli_subprocess_core catalog (priv/models/claude.json, catalog_version 2026-07-25) plus SDK registry and option-resolution tests | cli_subprocess_core catalog revision 2026-07-25; prior full IDs claude-opus-4-8/claude-opus-4-7 retained as aliases | test/claude_agent_sdk/config_model_registry_test.exs; test/claude_agent_sdk/options_custom_model_test.exs | examples/model_selection_live.exs (alias rendering); examples/max_effort_opus_live.exs for opus/opus[1m] effort | Catalog ownership stays in cli_subprocess_core; no claude-opus-5[1m] provider id exists (Opus 5 is inherently 1M context) and this SDK must not mint one | 2026-07-25 |