{
  "version": 3,
  "cases": [
    {
      "id": "no-intermediate-report-writes",
      "given": "The Reviewer–Editor loop is active and has not ended or paused.",
      "expect": {
        "report_created_or_updated": false,
        "task_summary_updated": false,
        "ledger_location": "Agent handoffs"
      }
    },
    {
      "id": "terminal-report-shape",
      "given": "The review reaches APPROVED after one or more rounds.",
      "expect": {
        "report_written_once_at_terminal_state": true,
        "frontmatter": [
          "created",
          "review_cycles"
        ],
        "required_body_labels": [
          "Topic",
          "E1",
          "R1",
          "Conclusion",
          "Final decision",
          "Outcome",
          "Remaining"
        ],
        "decision_in_frontmatter": false,
        "final_decision": "APPROVED"
      }
    },
    {
      "id": "material-discussion-only",
      "given": "A blocker is fixed, a narrower remedy is used, and a Reviewer–Editor disagreement is resolved by evidence.",
      "expect": {
        "one_block_per_material_topic": true,
        "dialogue_order": [
          "E1",
          "R1",
          "E2",
          "R2",
          "Conclusion"
        ],
        "single_viewpoint_same_line": true,
        "multiple_viewpoints_use_list": true,
        "dialogue_uses_one_quote_block": true,
        "material_disagreement_preserved": true,
        "raw_prompts_or_transcripts_included": false,
        "finding_ids_included": false
      }
    },
    {
      "id": "report-metadata",
      "given": "A three-pass review has an owning task and writes its first terminal report on 2026-07-21.",
      "expect": {
        "created": "2026-07-21",
        "task": "Owning task slug",
        "review_cycles": 3,
        "final_decision_location": "Body"
      }
    },
    {
      "id": "unsupported-blocker-downgrade",
      "given": "A Reviewer labels a preferred abstraction as BLOCKER without a violated criterion, observable evidence, material risk, and required outcome.",
      "expect": {
        "blocker_allowed": false,
        "reclassified_before_editor_batch": true,
        "allowed_result": "Downgrade to QUESTION or NOTE, or omit it."
      }
    },
    {
      "id": "narrow-resolution-closes-finding",
      "given": "A local guard satisfies the required outcome with less impact than the Reviewer's proposed coordinator.",
      "expect": {
        "editor_disposition": "NARROW",
        "reviewer_closure_basis": "Required outcome satisfied.",
        "suggested_remedy_adoption_required": false
      }
    },
    {
      "id": "adequate-solution-preserved",
      "given": "The current solution satisfies the required outcome and the Reviewer suggestion adds complexity without demonstrated risk reduction.",
      "expect": {
        "editor_disposition": "REJECT",
        "current_solution_preserved": true,
        "reviewer_may_repeat_original_remedy_without_new_evidence": false
      }
    },
    {
      "id": "valid-finding-without-remedy",
      "given": "A valid finding establishes the risk and required outcome but proposes no remedy.",
      "expect": {
        "finding_allowed": true,
        "suggested_remedy_required": false,
        "editor_selects_minimal_sufficient_resolution": true
      }
    },
    {
      "id": "clean-approval",
      "given": "The initial Reviewer pass finds no issue.",
      "expect": {
        "discussion": "One sentence stating that no material discussion occurred.",
        "review_cycles": 1,
        "final_decision": "APPROVED",
        "invented_discussion": false
      }
    },
    {
      "id": "needs-user",
      "given": "All agent-actionable findings are handled and one user-owned decision remains.",
      "expect": {
        "final_decision": "NEEDS_USER",
        "remaining": "Exact user question",
        "chat": "Exact question or resume condition and report link only."
      }
    },
    {
      "id": "objective-pause",
      "given": "An external condition blocks further review.",
      "expect": {
        "final_decision": "BLOCKED",
        "remaining": "Objective resume condition"
      }
    },
    {
      "id": "approval-invalidated",
      "given": "A reviewed artifact changes after APPROVED.",
      "expect": {
        "same_report_reused": true,
        "created_preserved": true,
        "review_cycles_updated_cumulatively": true,
        "old_decision_marked": "SUPERSEDED",
        "stale_report_presented_as_current": false,
        "next_report_write": "Next pause or terminal state"
      }
    },
    {
      "id": "existing-task-link-only",
      "given": "Applicable workspace rules already provide an owning task.",
      "expect": {
        "task_created_for_report": false,
        "frontmatter_task": "Owning task slug",
        "task_update": "Final decision and report link only",
        "intermediate_task_updates": false
      }
    },
    {
      "id": "no-owning-task",
      "given": "No applicable workspace rule requires a task record.",
      "expect": {
        "task_created": false,
        "frontmatter_task_omitted": true,
        "report_created_at_pause_or_end": true
      }
    }
  ]
}
