[
  {
    "id": "repo_read_only_01",
    "category": "repo_read_only",
    "title": "High-level repo map",
    "mode": "read_only",
    "prompt": "Read-only mode. Give me a useful top-down explanation of this repository for a new contributor.",
    "success_criteria": [
      "Covers main modules and their purpose",
      "Uses actual repo structure"
    ]
  },
  {
    "id": "repo_read_only_02",
    "category": "repo_read_only",
    "title": "Feature ownership",
    "mode": "read_only",
    "prompt": "Read-only mode. If I wanted to change voice behavior, which files would I inspect first and why?",
    "success_criteria": [
      "Mentions src/ui/voice.rs",
      "Explains ownership, not just filenames"
    ]
  },
  {
    "id": "repo_read_only_03",
    "category": "repo_read_only",
    "title": "MCP ownership",
    "mode": "read_only",
    "prompt": "Read-only mode. Where is MCP handled in this codebase, and what parts are transport vs lifecycle management?",
    "success_criteria": [
      "Mentions mcp.rs and mcp_manager.rs separately"
    ]
  },
  {
    "id": "repo_read_only_04",
    "category": "repo_read_only",
    "title": "Compaction understanding",
    "mode": "read_only",
    "prompt": "Read-only mode. Explain how Hematite handles growing conversation state and context pressure.",
    "success_criteria": [
      "Mentions compaction and/or Vein context",
      "Mentions hardware/context-window awareness"
    ]
  },
  {
    "id": "repo_read_only_05",
    "category": "repo_read_only",
    "title": "Model routing",
    "mode": "read_only",
    "prompt": "Read-only mode. How does Hematite choose between fast vs think model paths?",
    "success_criteria": [
      "Mentions route_model",
      "Explains that it is heuristic and input-driven"
    ]
  },
  {
    "id": "tool_discipline_01",
    "category": "tool_discipline",
    "title": "No fake tools",
    "mode": "read_only",
    "prompt": "Read-only mode. Explain Hematite's available repo-inspection tools. Use only real tool names.",
    "success_criteria": [
      "Uses actual tool names",
      "Avoids synthetic helpers"
    ]
  },
  {
    "id": "tool_discipline_02",
    "category": "tool_discipline",
    "title": "Read-only tool selection",
    "mode": "read_only",
    "prompt": "Read-only mode. You need to understand a feature spread across multiple files. Tell me which Hematite tools you would prefer and why.",
    "success_criteria": [
      "Prefers map_project/read_file/list_files/grep_files/lsp tools appropriately",
      "Avoids mutating tools in read-only mode"
    ]
  },
  {
    "id": "tool_discipline_03",
    "category": "tool_discipline",
    "title": "Grounded tracing tool awareness",
    "mode": "read_only",
    "prompt": "Read-only mode. For architecture questions, what tool should you prefer before guessing from memory?",
    "success_criteria": [
      "Mentions trace_runtime_flow"
    ]
  },
  {
    "id": "tool_discipline_04",
    "category": "tool_discipline",
    "title": "LSP awareness",
    "mode": "read_only",
    "prompt": "Read-only mode. What LSP-related tools exist in Hematite, and when are they more useful than grep?",
    "success_criteria": [
      "Mentions real LSP tools",
      "Explains semantic vs textual search"
    ]
  },
  {
    "id": "tool_discipline_05",
    "category": "tool_discipline",
    "title": "Authoritative toolchain guidance",
    "mode": "read_only",
    "prompt": "Read-only mode. Do not modify files, do not propose patches, and do not guess. I want to evaluate your tooling discipline inside this repository. Identify the best tools you actually have available for understanding a medium-sized Rust codebase like this one, explain what each is good or bad for, and give me a concrete read-only investigation plan for tracing how Hematite moves a user message from the TUI to the model and back. Do not execute the plan. Use only real tool names and end with `Best Read-Only Toolchain`.",
    "success_criteria": [
      "Prefers describe_toolchain",
      "Uses only real built-in tool names",
      "Provides an ordered read-only investigation plan",
      "Avoids fake MCP helpers and fake runtime symbols"
    ]
  },
  {
    "id": "tool_discipline_06",
    "category": "tool_discipline",
    "title": "Voice latency investigation planning",
    "mode": "read_only",
    "prompt": "Read-only mode. Do not modify files, do not propose patches, and do not guess. I want to test your tool choice discipline on a non-trivial investigation. If I needed to understand why Hematite's voice output can lag behind visible text, what tools would you choose first, in order, and why? Do not execute the investigation. Use only real tool names. Distinguish between runtime/control-flow tools, file-reading tools, semantic/LSP tools, and shell verification. If a built-in authoritative tool exists for part of the question, say so. End with `Initial Investigation Order`.",
    "success_criteria": [
      "Prefers grounded toolchain guidance",
      "Uses only real built-in tool names",
      "Keeps src/ui/tui.rs and src/ui/voice.rs as likely owner files",
      "Avoids fake MCP filesystem helpers"
    ]
  },
  {
    "id": "tool_discipline_07",
    "category": "tool_discipline",
    "title": "Architecture-aware repo map",
    "mode": "read_only",
    "prompt": "Read-only mode. Use `map_project` first, then tell me the likely entrypoints and core owner files for this repository without guessing.",
    "success_criteria": [
      "Uses map_project",
      "Treats map_project as more than a raw file tree",
      "Mentions likely entrypoints or core owner files from the repo map output",
      "Preserves real file paths and extracted symbols"
    ]
  },
  {
    "id": "tool_discipline_08",
    "category": "tool_discipline",
    "title": "Stable truth versus repo inspection boundary",
    "mode": "read_only",
    "prompt": "Read-only mode. Without guessing, explain how Hematite decides whether a question should be answered as stable product truth or by inspecting repository implementation.",
    "success_criteria": [
      "Answers directly as product-surface routing policy",
      "Explains stable product truth first and repo inspection second",
      "Does not call describe_toolchain, grep_files, or read_file for this prompt"
    ]
  }
]
