{
  "module": "0.2 — The Ecosystem",
  "course": "Master Course — Harness Engineering",
  "version": "1.0.0",
  "duration_minutes": 25,
  "total_questions": 16,
  "bloom_distribution": {
    "target": "20% recall / 40% application / 40% analysis-design",
    "actual": { "recall": 4, "application": 6, "analysis": 6 },
    "note": "Recall verifies the taxonomy + lineage facts; application and analysis verify the load-bearing judgments (category prediction, lineage reasoning, governance placement, anti-pattern detection)."
  },
  "passing_score_percent": 70,
  "questions": [
    {
      "id": "Q01",
      "bloom": "recall",
      "type": "multiple_choice",
      "prompt": "How many harness categories does Module 0.2 define?",
      "options": ["5", "6", "7", "8"],
      "answer_index": 2,
      "rationale": "Seven: Terminal, Platform, Meta-harness, Orchestration framework, Hardened fork, Academic, SDK/runtime."
    },
    {
      "id": "Q02",
      "bloom": "recall",
      "type": "multiple_choice",
      "prompt": "What does a lineage map tell you that a feature list does NOT?",
      "options": [
        "How many tools a harness has",
        "What a harness DISAGREES WITH (the diff between parent and child)",
        "Which model the harness uses",
        "The harness's star count"
      ],
      "answer_index": 1,
      "rationale": "Feature lists tell you what a harness does. Lineage tells you what it disagrees with — the parent→child diff is an honest statement of 'the parent got X wrong.'"
    },
    {
      "id": "Q03",
      "bloom": "recall",
      "type": "multiple_choice",
      "prompt": "Is Hermes a fork of OpenClaw?",
      "options": [
        "Yes, it is a hardened fork like NemoClaw",
        "Yes, it is an enterprise fork like Scout",
        "No — it is a COMPETITOR that ships a migration tool FROM OpenClaw",
        "No relation; they share no design lineage"
      ],
      "answer_index": 2,
      "rationale": "Hermes is a competitor, not a fork. It does not inherit OpenClaw's code, though it ships `hermes claw migrate` (a migration FROM OpenClaw)."
    },
    {
      "id": "Q04",
      "bloom": "recall",
      "type": "multiple_choice",
      "prompt": "State the precise architectural contribution shared by NemoClaw and Microsoft Scout.",
      "options": [
        "More tools than the parent harness",
        "A faster execution loop",
        "Governance lives BENEATH the agent, OUTSIDE its reach",
        "Native multi-model support"
      ],
      "answer_index": 2,
      "rationale": "Both put the governance/policy layer outside the agent's reach — NeMo Guardrails evaluating every model call externally; OpenShell sandboxes the agent never touches. This is the entire contribution; everything else is inherited."
    },
    {
      "id": "Q05",
      "bloom": "application",
      "type": "multiple_choice",
      "prompt": "A harness runs as a plugin layer over OpenCode, contributing a Sisyphus outer agent, a Prometheus planner, and an Atlas orchestrator. It does not replace OpenCode's loop. Which category?",
      "options": ["Terminal", "Platform", "Meta-harness", "Orchestration framework"],
      "answer_index": 2,
      "rationale": "This is oh-my-opencode — the canonical meta-harness. It inherits the base loop and contributes routing + subagent hierarchy."
    },
    {
      "id": "Q06",
      "bloom": "application",
      "type": "multiple_choice",
      "prompt": "You're reading a harness whose entire contribution is a governance layer added outside the agent; the loop and tools are inherited unchanged. Where should you spend your reading time?",
      "options": [
        "The loop and stop conditions",
        "The tool registry and schemas",
        "ONLY the governance layer; everything else is inherited and can be skimmed",
        "The system prompt"
      ],
      "answer_index": 2,
      "rationale": "A hardened fork's interesting engineering is ONLY the governance layer. Everything else is inherited from the parent. Reading the inherited code wastes ~90% of your effort. (NemoClaw/Scout pattern.)"
    },
    {
      "id": "Q07",
      "bloom": "application",
      "type": "multiple_choice",
      "prompt": "A client asks you to evaluate NemoClaw. You have never read OpenClaw. What is the problem?",
      "options": [
        "No problem — NemoClaw is self-contained",
        "NemoClaw's entire meaning is its diff from OpenClaw; without the parent you reduce it to a feature list and lose the design intent",
        "You need NVIDIA's permission to read NemoClaw",
        "NemoClaw is written in a language you don't know"
      ],
      "answer_index": 1,
      "rationale": "Anti-pattern #3: studying forks without the parent. A fork's meaning is its diff from the parent. NemoClaw exists BECAUSE OpenClaw's trust architecture was deficient — that's invisible if you haven't read OpenClaw."
    },
    {
      "id": "Q08",
      "bloom": "application",
      "type": "multiple_choice",
      "prompt": "In the meta-harness routing workflow (classify → dispatch → aggregate), what does the meta-harness contribute vs the sub-harnesses?",
      "options": [
        "It replaces the sub-harnesses with a single unified loop",
        "It contributes the routing ring (classify/dispatch/aggregate); the sub-harnesses are inherited and off-the-shelf",
        "It provides the tools; the sub-harnesses provide the loop",
        "It provides the model; the sub-harnesses provide the safety layer"
      ],
      "answer_index": 1,
      "rationale": "A meta-harness routes BETWEEN sub-harnesses — it does not replace them. The sub-harnesses (recon/review/CTF) are inherited; the meta-harness adds the classify→dispatch→aggregate ring plus a shared cost ledger."
    },
    {
      "id": "Q09",
      "bloom": "application",
      "type": "multiple_choice",
      "prompt": "OpenClaw has 368k GitHub stars; Hermes has 33k. A colleague concludes OpenClaw is 'ahead.' What is wrong with this reasoning?",
      "options": [
        "Nothing — star count is the right metric",
        "Stars measure attention, not architecture. OpenClaw and Hermes made OPPOSITE bets (breadth vs depth); they are not on the same axis. NemoClaw's existence is evidence OpenClaw's architecture is not unambiguously superior.",
        "Hermes actually has more stars; the colleague has bad data",
        "Stars only count for terminal harnesses"
      ],
      "answer_index": 1,
      "rationale": "Anti-pattern #1: ranking by stars. Stars measure attention. OpenClaw (breadth) and Hermes (depth) optimized for different things. NemoClaw's existence is the honest signal that OpenClaw's trust architecture has real deficiencies."
    },
    {
      "id": "Q10",
      "bloom": "analysis",
      "type": "multiple_choice",
      "prompt": "The existence of BOTH NemoClaw (NVIDIA) and Microsoft Scout (Microsoft) as independent governance forks of OpenClaw is evidence of what?",
      "options": [
        "OpenClaw is so good two big companies forked it",
        "OpenClaw has a real architectural deficiency (trust boundaries) significant enough that two independent well-funded teams built governance forks to fix it",
        "Forking is fashionable in 2026",
        "OpenClaw is being abandoned"
      ],
      "answer_index": 1,
      "rationale": "The lineage map reads design intent. Two independent governance forks = strong signal that OpenClaw's cross-channel trust architecture was deficient enough to warrant fixing by two independent well-funded teams."
    },
    {
      "id": "Q11",
      "bloom": "analysis",
      "type": "multiple_choice",
      "prompt": "Why does putting enforcement OUTSIDE the agent's reach matter? State it precisely.",
      "options": [
        "It makes the harness faster",
        "If the agent can REACH the enforcement layer, a compromised agent can DISABLE it. Outside-reach means a prompt-injected agent cannot disable its own guardrails.",
        "It reduces token cost",
        "It lets the harness use multiple models"
      ],
      "answer_index": 1,
      "rationale": "The precise claim: reachability → subvertibility. Inside-the-process safety (permission flags, prompt rules) is reachable and therefore disable-able. NemoClaw's NeMo Guardrails sit between agent and world, evaluating every call — the agent cannot reach them to disable them."
    },
    {
      "id": "Q12",
      "bloom": "analysis",
      "type": "multiple_choice",
      "prompt": "A conventional harness puts permission flags in the system prompt that the agent reads. A prompt-injected attacker instructs the agent to ignore the flags. Architecturally, can the agent comply?",
      "options": [
        "No — system prompts are immutable",
        "Yes — the flags are INSIDE the agent's process and reachable. There is no architectural reason the agent cannot comply. This is exactly the deficiency NemoClaw was forked to fix.",
        "Only if the model is GPT-4 class",
        "Only if the sandbox is misconfigured"
      ],
      "answer_index": 1,
      "rationale": "This is the inside-vs-outside safety distinction. Permission flags the agent READS are inside its reach. A prompt-injected agent can be told to ignore them, and architecturally nothing prevents it. External guardrails (NemoClaw/Scout) fix this by being unreachable."
    },
    {
      "id": "Q13",
      "bloom": "analysis",
      "type": "multiple_choice",
      "prompt": "Module 0.2 says 'priority is not quality.' A 🟡 (monitor) harness is tagged yellow. What does that mean?",
      "options": [
        "The harness is inferior",
        "The harness is not architecturally DISTINCTIVE enough to warrant a dedicated session — it may be excellent at what it does, but its ideas are covered elsewhere",
        "The harness is deprecated",
        "The harness is unsafe"
      ],
      "answer_index": 1,
      "rationale": "Study priority guides time allocation, not quality. A 🟡 harness may be excellent; it is yellow because its architectural ideas are not distinctive enough to need a dedicated deep-dive. 'Essential for the course' ≠ 'best in class.'"
    },
    {
      "id": "Q14",
      "bloom": "analysis",
      "type": "multiple_choice",
      "prompt": "OpenClaw competes on channel breadth (40+ channels); Hermes competes on memory depth (layered, persistent, self-evolving). A new hire says 'we should pick OpenClaw because breadth wins.' What does Module 0.2 teach about this reasoning?",
      "options": [
        "The new hire is correct — breadth always wins",
        "Breadth and depth are OPPOSITE bets on different axes, not a quality contest. The right choice depends on the buyer (enterprise channel reach vs deep task continuity), not on 'which wins' in general.",
        "Hermes is always the better choice",
        "Neither — pick whichever has more stars"
      ],
      "answer_index": 1,
      "rationale": "Both are correct; they optimized for different buyers. Calling breadth 'the winner' mistakes a design decision for a quality score — the same trap as Module 0.1's thickness spectrum. The senior answer depends on use case."
    },
    {
      "id": "Q15",
      "bloom": "analysis",
      "type": "multiple_choice",
      "prompt": "You're reading an unfamiliar harness for the first time. Module 0.2's taxonomy suggests a specific first move. What is it?",
      "options": [
        "Count the tools",
        "Identify the category first — it predicts where the interesting engineering lives and which rubric module to read most carefully",
        "Read the system prompt in full",
        "Run the benchmark"
      ],
      "answer_index": 1,
      "rationale": "The taxonomy's job is prediction. Category tells you where the interesting engineering lives (terminal → loop/tools; platform → trust; meta → routing; hardened fork → governance only; etc.) and therefore which of the 12 rubric modules to read first."
    },
    {
      "id": "Q16",
      "bloom": "analysis",
      "type": "multiple_choice",
      "prompt": "The classify→dispatch→aggregate meta-harness pattern recurs in oh-my-opencode, the CSI meta-harness, and Capstone F. What does that recurrence tell you?",
      "options": [
        "The course is repeating itself",
        "It is a convergent architectural pattern — the same routing shape solves the meta-harness problem in three different contexts (single-harness extension, offensive multi-harness, fleet control plane). Same idea, different scales.",
        "Only one of the three is correct",
        "The pattern is specific to security harnesses"
      ],
      "answer_index": 1,
      "rationale": "Like Module 0.1's convergent evolution claim, this is convergent architecture: the classify→dispatch→aggregate ring solves the meta-harness/routing problem at any scale. One workflow shape, three courses, three scales."
    }
  ]
}
