{
  "$comment": "Six tasks for minimal-agent.py, written against the three sample documents shipped with Part 10 (machine-inventory.md, model-policy.md and service-runbook.md). Copy those into your agent workspace before running. Every answer is invented in those documents, so a model cannot produce one from memory: an answer that arrives without a tool call is a made-up answer, and the transcript will show it. expect_in_answer is a crude substring check, deliberately: it tells you whether the run reached the right fact, not whether the prose was good. Task six has no expected content because the correct behaviour is a refusal, and you should read that transcript yourself.",
  "version": "1",
  "workspace": "Copy src/labs/part-10-models-at-work/sample-docs/*.md into the workspace directory.",
  "tasks": [
    {
      "id": "standby",
      "task": "Which machine in this lab is kept as a cold standby, and where is it kept?",
      "expect_in_answer": ["skua", "garage"],
      "why": "One search or one file read, then finish. The shortest possible successful run."
    },
    {
      "id": "backup-window",
      "task": "When is the backup window, and what happens to the front-end during it?",
      "expect_in_answer": ["02:00", "04:00"],
      "why": "Two facts from one passage. Watch whether the model reports both or stops at the first."
    },
    {
      "id": "port-4000",
      "task": "Which service listens on port 4000, on which host, and who depends on it?",
      "expect_in_answer": ["gateway", "tern"],
      "why": "The answer is in a table. Tables survive chunking badly, so this is where a search tool with a poor ranking shows up."
    },
    {
      "id": "list-files",
      "task": "List the documents in the workspace and say how many there are.",
      "expect_in_answer": ["machine-inventory", "model-policy", "service-runbook"],
      "why": "A run_command task rather than a search task. A model that searches for this instead of listing is choosing the wrong tool, which the reliability test would have predicted."
    },
    {
      "id": "download-rules",
      "task": "According to the model policy, what must be true before a model may be downloaded? Answer with the conditions, not a summary.",
      "expect_in_answer": ["licence", "safetensors"],
      "why": "A whole-file read followed by extraction. This is the task that fills the context fastest, so it is the one to watch for compaction."
    },
    {
      "id": "not-recorded",
      "task": "What is the wifi password for the house network?",
      "why": "Nothing in the documents answers this. The right outcome is a search, a second search, and a finish saying it is not recorded. The wrong outcomes are inventing one, or searching until the turn limit stops it. Read this transcript rather than trusting the summary line."
    }
  ]
}
