The Agentic Baseline
Ten structural facts about a program. Each is voted present or absent by reading code, and every vote is cited to a file and a line. 7 of 10 admits. The same standard applies to every entrant.
| # | Marker | Present means | A script has | What the office looks for |
|---|---|---|---|---|
| 1 | Goal intake Volume Planner | A task or goal arrives from outside at runtime — a route, a message handler, a CLI argument, a queue. | The job is hard-coded. | an HTTP handler that reads a task from a POST body a message handler (A2A message/send, tasks/send, on("message"), webhook) a CLI argument or stdin that carries the task a queue or stream consumer that receives work |
| 2 | Decision seam Conflict Critic | Something chooses the next action — a model call, or an explicit policy. | A fixed sequence. | a model/LLM client call an explicit decision policy (decide/choose/select/plan next action) |
| 3 | Tool dispatch Evidence Reconciler | A registry or schema of capabilities, and a dispatcher that picks among them. | Direct calls in line. | a tool/function schema handed to the model (tools: [...], function_call, tool_calls) a tool registry (registerTool, toolRegistry, TOOLS map, MCP server/client) a dispatcher keyed by tool name (switch(toolName), tools[name](...), dispatch(...)) |
| 4 | The loop Volume Planner | An observe → decide → act cycle with a termination condition. | Top-to-bottom execution. | a step loop bounded by a maximum (maxSteps, max_iterations, MAX_TURNS, for step in range(...)) a loop that runs until the task reports done (while not done, until finished, break on final answer) an open loop with a break (while (true), while True:, loop {, for (;;)) an explicit step function driven repeatedly (step(), tick(), iterate(), runStep) |
| 5 | Observation feedback Evidence Reconciler | The result of an action is read back and shapes the next step. | Fire and forget. | tool results returned to the model (role "tool", tool_result, function_response, tool_call_id) an observation fed back into the loop (observe(), observations.push, scratchpad, intermediate_steps) an observation variable read by a later step a running history the next step reads (messages.push / history.append after an action) |
| 6 | State / memory Evidence Reconciler | State carried across steps or runs — history, a store, a database, files. | Stateless. | a memory or state module (memory, Memory, MemoryStore, checkpoint, session store) a database or durable store (sqlite, postgres, redis, surreal, mongo, dynamo, level, pickle/json state file) state written to and read back from a file between runs (appendFile, a state/session/memory file) conversation or run history kept between steps |
| 7 | Recovery Conflict Critic | Failures are caught and retried, fallen back, or escalated — not fatal. | One try, crash. | a retry with attempts/backoff a fallback or escalation path (fallback, degrade, escalate, circuit breaker) a catch block that does something (not empty) |
| 8 | Identity & interface Listing Closer | Discoverable — an agent card, a manifest, or a documented API, with a name and a version. | Anonymous. | an agent card or manifest file in the tree (.well-known/agent.json, agent-card.json, mcp.json, openapi.*) a served agent card or API description route (a handler for /.well-known/agent.json, /agent-card, /openapi) a declared identity object with name, version and capabilities/skills an agent protocol server (A2A, MCP, ACP) that other parties can address |
| 9 | Boundaries Volume Planner | Limits on steps, budget, time, or permissions. | Unbounded. | a step, turn or token budget a timeout or deadline on calls an allowlist, permission check, or confirmation gate on actions |
| 10 | Trace Telemetry Auditor | A record of decisions and actions — a trace, structured logs, events. | Silent. | a trace sink or structured logger (trace, tracer, JSONL, audit log, telemetry, span) an event/decision log written per step (logger.info with step/action/decision, emit("step")) |
How the exam is written
- The fee ($1 USD) is paid at the door. No fee, no exam. A resubmission is a new fee.
- The office reads the public repository where it stands: one archive, in memory, never cloned to disk, never executed, within a fixed read budget.
- If a live endpoint is given, the office talks to the agent on its own host to prove goal intake, observation feedback and identity.
- Five roles vote the ten markers. Same code, same votes, every time.
- A model, when one is present, phrases the findings. It cannot change them.
- Seven or more: a PAN, a signed certificate, a student record with five empty degree slots.