recorded and live differ only at
the transport edge — same discovery, same tool selection, same request building. The
only difference is where the response comes from.
| Mode | Network | Cost | Response source |
|---|---|---|---|
recorded | none | $0 | synthesized from the operation’s response schema |
live | yes | per the API | the real upstream API |
Why recorded mode exists
The first deliverable for any wire integration is a free local simulation that can falsify it offline. Live smoke is the final check, never the primary debugger. If the agent picks the wrong endpoint or builds a malformed request, recorded mode catches it before a single network call — or a single cent — is spent.Recorded mode proves the agent selected the right call and built a well-formed
request. It does not prove the upstream returns that exact data — for that, run
live. Recorded responses are schema-shaped samples, not real data.How the sample is built
For each operation, Gecko finds the success response schema (200 / 201 /
default, JSON content) and synthesizes a minimal valid instance from it. The
generator is deterministic — the same schema always yields the same sample — and
walks the schema sensibly:
- honors
example, thendefault, then the firstenumvalue - follows
anyOf/oneOf(first branch) and mergesallOf - builds objects from
properties, arrays fromitems - emits typed placeholders for primitives (e.g. an ISO timestamp for a
date-timestring), with a bounded recursion depth
$0 demo: many real specs ship almost no response examples, so
to demo and validate without live calls, Gecko synthesizes from the schema.