[
  {
    "id": "editing_planning_01",
    "category": "editing_planning",
    "title": "Safe edit planning",
    "mode": "normal",
    "prompt": "You need to change behavior across multiple Rust files. Before editing, what should Hematite do to reduce mistakes on a local open model?",
    "success_criteria": [
      "Mentions map_project, scoping, reading relevant files, or auto_pin_context",
      "Prefers grounded planning before mutation"
    ]
  },
  {
    "id": "editing_planning_02",
    "category": "editing_planning",
    "title": "Build verification mindset",
    "mode": "normal",
    "prompt": "After changing code, how should Hematite verify that the result is still healthy?",
    "success_criteria": [
      "Mentions verify_build or cargo check path",
      "Frames verification as part of the workflow"
    ]
  },
  {
    "id": "editing_planning_03",
    "category": "editing_planning",
    "title": "Context pinning awareness",
    "mode": "normal",
    "prompt": "What is Hematite's context pinning concept for core files, and when is it useful?",
    "success_criteria": [
      "Mentions auto_pin_context or pinned files",
      "Frames it as keeping core files visible during complex work"
    ]
  },
  {
    "id": "editing_planning_04",
    "category": "editing_planning",
    "title": "Clarify tool restraint",
    "mode": "normal",
    "prompt": "When should Hematite ask a clarifying question instead of pressing ahead?",
    "success_criteria": [
      "Mentions genuine blockers or ambiguity",
      "Reflects clarify behavior"
    ]
  },
  {
    "id": "long_context_recovery_01",
    "category": "long_context_recovery",
    "title": "Recovery after stale context",
    "mode": "normal",
    "prompt": "If a session has gone stale or confused, what are Hematite's main recovery mechanisms?",
    "success_criteria": [
      "Mentions /clear, /new, /forget",
      "May mention compaction or brief mode appropriately"
    ]
  },
  {
    "id": "long_context_recovery_02",
    "category": "long_context_recovery",
    "title": "Compaction explanation",
    "mode": "read_only",
    "prompt": "Read-only mode. How does Hematite keep long sessions usable on a local 4070-class setup?",
    "success_criteria": [
      "Mentions compaction and VRAM/context awareness",
      "Frames it around practical local constraints"
    ]
  },
  {
    "id": "long_context_recovery_03",
    "category": "long_context_recovery",
    "title": "Brief mode awareness",
    "mode": "normal",
    "prompt": "What is brief mode for, and why would it matter on local hardware?",
    "success_criteria": [
      "Explains output or reasoning tightening under pressure",
      "Connects it to hardware and context constraints"
    ]
  },
  {
    "id": "long_context_recovery_04",
    "category": "long_context_recovery",
    "title": "Grounded trace under pressure",
    "mode": "read_only",
    "prompt": "Read-only mode. Do not guess. If you are asked an exact architecture question after a long session, what mechanism should you prefer so you do not bluff?",
    "success_criteria": [
      "Prefers trace_runtime_flow or real tools over memory",
      "Explicitly avoids bluffing"
    ]
  },
  {
    "id": "long_context_recovery_05",
    "category": "long_context_recovery",
    "title": "Tiny-context context-window operator surface",
    "mode": "read_only",
    "prompt": "Read-only mode. If LM Studio is running with a 4096-token context and Hematite hits a context-window failure, what should the operator surface show?",
    "success_criteria": [
      "Mentions a classified context_window or context ceiling state rather than vague provider prose",
      "Mentions compact operator/runtime surfaces like LM status, provider state, recovery recipe, or checkpoint state",
      "Keeps context-window recovery separate from generic degraded-provider handling"
    ]
  },
  {
    "id": "long_context_recovery_06",
    "category": "long_context_recovery",
    "title": "Prompt budget versus compaction pressure",
    "mode": "read_only",
    "prompt": "Read-only mode. Explain why Hematite can show a high BUD percentage while CMP stays low, especially on a small LM Studio context window.",
    "success_criteria": [
      "Distinguishes full prompt-budget pressure from compactable history pressure",
      "Explains that BUD can spike from system prompt, runtime scaffolding, or reserved output even when CMP is modest",
      "Does not collapse BUD and CMP into the same signal"
    ]
  },
  {
    "id": "long_context_recovery_07",
    "category": "long_context_recovery",
    "title": "Stable truth under long-session pressure",
    "mode": "read_only",
    "prompt": "Read-only mode. After a long or stale session, if the user asks a stable product-surface question, what should Hematite prefer before reaching for broad repo inspection?",
    "success_criteria": [
      "Prefers stable direct answers before broad repo/tool exploration",
      "Treats repo inspection as the follow-up path for implementation questions rather than the default for product truth",
      "Avoids framing long-session recovery as a reason to overtool a stable product-surface question"
    ]
  }
]
