A2A · INTERACTIVE DISCOVERY

Agent Card discovery: follow the request

Follow the request, inspect the card, and see exactly why discovery succeeds or stops.

Discovery desk · five attempts, one clientCLIENT

Scroll the diagram left or right to inspect every label.

ClientFind an agentHTTP cachemax-age + ETagAgent Card endpointGET agent-card.jsonValidateJSON + HTTPSMatch capabilityStreaming required?DecisionReady / rejected No cached card
HTTP requests0
Fresh cache hits0
Ready0
Rejected0

Try this experiment

Compare TTL=0 and TTL=10 with five discovery attempts. Which HTTP requests disappear, and when does a conditional 304 appear?

  1. Play the healthy sequence. Follow the blue request marker.
  2. Change one input; the preview and sequence recalculate immediately.
  3. Use Next event or scrub the timeline to inspect the branch.
  4. Capture a baseline and record what changed.

Discovery trace

    Offline teaching model, not a live benchmark or complete A2A implementation. Five sequential attempts; fixed round-trip time; a modeled 1,200-byte card; no retries or task execution. Validation represents JSON parsing, a client HTTPS policy and one capability check—not full schema or signature verification. Credentials are simulated booleans; never enter real secrets. Discovery of a card does not authenticate subsequent task calls. Official discovery and caching reference.

    Discovery ends before task execution

    Five sequential attempts request an Agent Card and compare its advertised streaming capability with the client requirement. The trace distinguishes a network response, a validated cached card and a compatible selection. A valid card that lacks a required capability is rejected for this client without being malformed. No task is submitted. The fixed discovery path and HTTP outcomes are local teaching fixtures, not a complete parser or interoperability test for a particular A2A release.

    Control requests, responses and cache freshness

    Discovery interval sets nominal spacing between attempts; slow earlier work can delay a later attempt. Network round trip is a fixed modeled fetch delay. Cache max-age starts at the response, and a fresh hit skips the network. Endpoint/card condition injects unavailable, protected, malformed or insecure cases. Supply discovery credentials matters only for a protected endpoint and does not authorize a task call. Client requires streaming sets the selection requirement; Card advertises streaming sets the supplied fact. Publishing v2 changes the server version once response time reaches model time twelve.

    Inspect cache reuse and rejection

    Turn off the v2 update, keep interval six and set max-age thirty. After one valid network fetch, the remaining four attempts use the cache. Set max-age zero: all five attempts fetch, with four conditional not-modified responses after the first card. Those responses refresh the cache expiry, but zero lifetime still prevents a fresh hit. Select malformed JSON and verify that all five attempts reject and no invalid card is cached. This flag selects a predefined failure branch; it is not actual arbitrary JSON parsing.

    Separate compatibility from transport failure

    On a healthy endpoint, disable advertised streaming while keeping the client requirement enabled. All five selections reject even though valid cards can be cached. Remove the client requirement and they become ready. A protected endpoint without credentials instead rejects before card validation. Supplying credentials fixes that fixture’s discovery rejection only. The model assumes twelve hundred bytes per full card and omits real headers, network errors, schema validation, retries, cache variation by credentials and task authentication.

    Use inspection time correctly

    Play and Pause control a sixty-second visual replay independent of modeled duration. Next event advances one event, Restart rebuilds current settings, Restore defaults restores all experiment inputs, Speed changes pace and Inspect any moment scrubs model time. Parameter edits restart playback except under reduced-motion preference. The preview summarizes the same five-attempt run shown in the trace. Compare its request, hit and rejection counters rather than interpreting packet motion as a real network measurement.

    Views are my own and do not represent any employer, past or present.