{
  "admission": null,
  "baseline": {
    "passLine": 7,
    "passed": false,
    "present": 0,
    "score": 0,
    "total": 10,
    "verdict": "This is a script, not yet an agent. 0 of 10 markers present; the pass line is 7.",
    "votes": [
      {
        "absentMeans": "The job is hard-coded.",
        "citations": [
          {
            "line": 76,
            "path": "src/cli.ts",
            "signal": "cli_task_arg",
            "text": "args = parseArgs(process.argv.slice(2))"
          }
        ],
        "id": "goal_intake",
        "missing": [
          "an HTTP handler that reads a task from a POST body",
          "a message handler (A2A message/send, tasks/send, on(\"message\"), webhook)",
          "a queue or stream consumer that receives work"
        ],
        "n": 1,
        "name": "Goal intake",
        "present": false,
        "presentMeans": "A task or goal arrives from outside at runtime — a route, a message handler, a CLI argument, a queue.",
        "role": "volume_planner",
        "weight": 0.5
      },
      {
        "absentMeans": "A fixed sequence.",
        "citations": [],
        "id": "decision_seam",
        "missing": [
          "a model/LLM client call",
          "an explicit decision policy (decide/choose/select/plan next action)"
        ],
        "n": 2,
        "name": "Decision seam",
        "present": false,
        "presentMeans": "Something chooses the next action — a model call, or an explicit policy.",
        "role": "conflict_critic",
        "weight": 0
      },
      {
        "absentMeans": "Direct calls in line.",
        "citations": [],
        "id": "tool_dispatch",
        "missing": [
          "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(...))"
        ],
        "n": 3,
        "name": "Tool dispatch",
        "present": false,
        "presentMeans": "A registry or schema of capabilities, and a dispatcher that picks among them.",
        "role": "evidence_reconciler",
        "weight": 0
      },
      {
        "absentMeans": "Top-to-bottom execution.",
        "citations": [],
        "id": "loop",
        "missing": [
          "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)"
        ],
        "n": 4,
        "name": "The loop",
        "present": false,
        "presentMeans": "An observe → decide → act cycle with a termination condition.",
        "role": "volume_planner",
        "weight": 0
      },
      {
        "absentMeans": "Fire and forget.",
        "citations": [],
        "id": "observation_feedback",
        "missing": [
          "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)"
        ],
        "n": 5,
        "name": "Observation feedback",
        "present": false,
        "presentMeans": "The result of an action is read back and shapes the next step.",
        "role": "evidence_reconciler",
        "weight": 0
      },
      {
        "absentMeans": "Stateless.",
        "citations": [],
        "id": "state_memory",
        "missing": [
          "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"
        ],
        "n": 6,
        "name": "State / memory",
        "present": false,
        "presentMeans": "State carried across steps or runs — history, a store, a database, files.",
        "role": "evidence_reconciler",
        "weight": 0
      },
      {
        "absentMeans": "One try, crash.",
        "citations": [],
        "id": "recovery",
        "missing": [
          "a retry with attempts/backoff",
          "a fallback or escalation path (fallback, degrade, escalate, circuit breaker)",
          "a catch block that does something (not empty)"
        ],
        "n": 7,
        "name": "Recovery",
        "present": false,
        "presentMeans": "Failures are caught and retried, fallen back, or escalated — not fatal.",
        "role": "conflict_critic",
        "weight": 0
      },
      {
        "absentMeans": "Anonymous.",
        "citations": [],
        "id": "identity_interface",
        "missing": [
          "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"
        ],
        "n": 8,
        "name": "Identity & interface",
        "present": false,
        "presentMeans": "Discoverable — an agent card, a manifest, or a documented API, with a name and a version.",
        "role": "listing_closer",
        "weight": 0
      },
      {
        "absentMeans": "Unbounded.",
        "citations": [],
        "id": "boundaries",
        "missing": [
          "a step, turn or token budget",
          "a timeout or deadline on calls",
          "an allowlist, permission check, or confirmation gate on actions"
        ],
        "n": 9,
        "name": "Boundaries",
        "present": false,
        "presentMeans": "Limits on steps, budget, time, or permissions.",
        "role": "volume_planner",
        "weight": 0
      },
      {
        "absentMeans": "Silent.",
        "citations": [],
        "id": "trace",
        "missing": [
          "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\"))"
        ],
        "n": 10,
        "name": "Trace",
        "present": false,
        "presentMeans": "A record of decisions and actions — a trace, structured logs, events.",
        "role": "telemetry_auditor",
        "weight": 0
      }
    ]
  },
  "createdAt": "2026-11-14T09:51:42.261Z",
  "fee": {
    "amount": 1,
    "currency": "USD",
    "payTo": "0x3d5975a75f88656B09B3086e82CBcAF8470F517E",
    "paymentRef": null,
    "status": "waived",
    "via": "operator"
  },
  "report": {
    "markers": [
      "1. Goal intake — absent. Looked for an HTTP handler that reads a task from a POST body; a message handler (A2A message/send, tasks/send, on(\"message\"), webhook); a queue or stream consumer that receives work.",
      "2. Decision seam — absent. Looked for a model/LLM client call; an explicit decision policy (decide/choose/select/plan next action).",
      "3. Tool dispatch — absent. Looked for 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 — absent. Looked for 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 — absent. Looked for 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 — absent. Looked for 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 — absent. Looked for 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 — absent. Looked for 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 — absent. Looked for a step, turn or token budget; a timeout or deadline on calls; an allowlist, permission check, or confirmation gate on actions.",
      "10. Trace — absent. Looked for 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\"))."
    ],
    "nextSteps": [
      "Build goal intake: an HTTP handler that reads a task from a POST body.",
      "Build decision seam: a model/LLM client call.",
      "Build tool dispatch: a tool/function schema handed to the model (tools: [...], function_call, tool_calls).",
      "Build the loop: a step loop bounded by a maximum (maxSteps, max_iterations, MAX_TURNS, for step in range(...)).",
      "Build observation feedback: tool results returned to the model (role \"tool\", tool_result, function_response, tool_call_id).",
      "Build state / memory: a memory or state module (memory, Memory, MemoryStore, checkpoint, session store).",
      "Build recovery: a retry with attempts/backoff.",
      "Build identity & interface: an agent card or manifest file in the tree (.well-known/agent.json, agent-card.json, mcp.json, openapi.*).",
      "Build boundaries: a step, turn or token budget.",
      "Build trace: a trace sink or structured logger (trace, tracer, JSONL, audit log, telemetry, span)."
    ],
    "summary": "smoke is not admitted. The office found 0 of 10 Agentic Baseline markers in the code at https://github.com/muziconsulting-cloud/conquest-designer; the pass line is 7. What is there is a script with some agent parts, not yet an agent. Missing: goal intake, decision seam, tool dispatch, the loop, observation feedback, state / memory, recovery, identity & interface, boundaries, trace. A resubmission is a new exam and a new fee.",
    "writer": "office"
  },
  "request": {
    "agentName": "smoke",
    "profile": "general",
    "repoUrl": "https://github.com/muziconsulting-cloud/conquest-designer"
  },
  "snapshot": {
    "commits": 38,
    "files": 26,
    "omissions": [],
    "source": {
      "kind": "github",
      "owner": "muziconsulting-cloud",
      "ref": "4b11a7d",
      "repo": "conquest-designer"
    },
    "takenAt": "2026-11-14T09:51:42.219Z",
    "tree": 28
  },
  "timing": {
    "admissionMs": 0,
    "probeMs": 0,
    "reportMs": 1,
    "snapshotMs": 3136,
    "totalMs": 3178,
    "voteMs": 42
  },
  "id": "exam-20261114-69daa31a"
}