{
  "meta": {
    "kind": "constructed_illustration",
    "point": "Syntactic or schema validity does not establish that a task edit is correct. Policy checks and recorded state history are separate.",
    "not": [
      "a recreation of the Vaidya/AI Engineer talk system",
      "an agent benchmark",
      "evidence of performance improvement"
    ]
  },
  "policy": {
    "allowed_project": "editorial-radar",
    "mutable_fields": ["status", "title"],
    "allowed_statuses": ["open", "in_review", "done"]
  },
  "tasks": {
    "T1": {
      "id": "T1",
      "project": "editorial-radar",
      "title": "Sidebar: verification vs syntax",
      "status": "open",
      "revision": 4
    },
    "T2": {
      "id": "T2",
      "project": "unrelated-ops",
      "title": "Rotate preview DNS",
      "status": "open",
      "revision": 1
    }
  },
  "cases": [
    {
      "id": "a-in-scope-update",
      "label": "valid in-scope update",
      "proposal": {
        "task_id": "T1",
        "expected_revision": 4,
        "set": {
          "status": "in_review",
          "title": "Sidebar: verification vs syntax (draft)"
        },
        "record_notice": {
          "id": "notice-sidebar-draft",
          "kind": "synthetic_outbound_notice",
          "summary": "Marker only. This demo does not send mail or call any network."
        }
      }
    },
    {
      "id": "b-out-of-project",
      "label": "schema-valid update for a task outside the allowed project",
      "proposal": {
        "task_id": "T2",
        "expected_revision": 1,
        "set": {
          "status": "done"
        }
      }
    },
    {
      "id": "c-stale-revision",
      "label": "schema-valid update citing a stale revision",
      "proposal": {
        "task_id": "T1",
        "expected_revision": 2,
        "set": {
          "status": "done"
        }
      }
    },
    {
      "id": "d-malformed",
      "label": "malformed proposal",
      "raw": "{\"task_id\": \"T1\", \"expected_revision\": 4, \"set\": {"
    },
    {
      "id": "e-revert-local",
      "label": "revert the accepted local update from recorded prior state",
      "op": "revert"
    }
  ]
}
