You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## What
- separates side-effect-free package availability from explicit async
execution readiness
- adds `RuntimeReadiness`, `ReadinessStatus`, optional
`RuntimeReadinessProvider`, and bounded `check_readiness()`
- exposes readiness through the registry, AgentKit, provider
diagnostics, and live smoke path
- probes Claude credential signals without claiming local/provider
chains are verified
- probes Codex through the supported account API with guaranteed
temporary-client cleanup
- probes Antigravity API-key/ADC setup off the event loop and converts
timeout/failure into secret-safe diagnostics
## Why
`availability()` mixed package presence with potentially blocking
credential discovery. In particular, Antigravity could read files or
contact Google metadata services from a synchronous setup check, while
Claude/Codex package success was easy to misread as execution readiness.
## Root cause
One diagnostic type represented two different questions: “is the adapter
installed?” and “is enough setup present to attempt a provider call?”
Provider authentication mechanisms also differ in how safely they can be
probed.
## Semantics
- `availability()`: synchronous, package-only, side-effect-free
- `READY_TO_ATTEMPT`: setup signal confirmed, not a guarantee of
execution
- `NOT_READY`: a concrete package/credential problem was established
- `INDETERMINATE`: provider-owned/local chains, timeout, or probe
failure require caller policy
- readiness remains an optional extension, so the `AgentRuntime`
protocol is unchanged
## Checks
- `ruff check src tests`
- strict `mypy`
- full suite: 380 passed, 3 skipped in the all-extras verification
environment
- delegated run: 371 passed, 12 skipped; 90.92% coverage
- `uv lock --check`
- `uv build` plus wheel/sdist content inspection
## Stack
- Base: #46
- Next: #48
Copy file name to clipboardExpand all lines: docs/capability-matrix.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,8 +12,9 @@
12
12
| Streaming output events | Yes — incremental `output.delta` while the SDK runs | No — a single `output.delta` at the end (non-streaming SDK) | Yes — from response chunks |
13
13
| Tool audit events | Yes — streamed from message blocks | Yes — emitted from parsed `TurnResult` items after the turn | Yes — from tool chunks |
14
14
|`vendor.turn` events | No | No | Yes — from thought/unknown chunks |
| Missing credential diagnostics | No — `availability()` reports available with an `auth_source` label; auth failures surface at `run()`| No — same as Claude (`auth_source` label; deferred) | Yes — `availability()` returns `MISSING_CREDENTIALS` when no API key / ADC-Vertex project is configured |
0 commit comments