{
  "class_mismatch_policy": "raw_stricter is informational; only raw_weaker contributes findings",
  "class_mismatch_summary": {
    "raw_stricter": 2,
    "raw_weaker": 1
  },
  "class_mismatches": [
    {
      "catalog_class": "read",
      "direction": "raw_stricter",
      "evidence": {
        "file": "endpoints.json",
        "json_pointer": "/0"
      },
      "operation_id": "sample_post_list",
      "raw_class": "write"
    },
    {
      "catalog_class": "destructive",
      "direction": "raw_weaker",
      "evidence": {
        "file": "endpoints.json",
        "json_pointer": "/2"
      },
      "operation_id": "sample_delete",
      "raw_class": "write"
    },
    {
      "catalog_class": "write",
      "direction": "raw_stricter",
      "evidence": {
        "file": "endpoints.json",
        "json_pointer": "/3"
      },
      "operation_id": "sample_delete_floor",
      "raw_class": "destructive"
    }
  ],
  "internal_semantic_flags": [],
  "inventory_completeness": {
    "files": {
      "endpoints.json": 4
    },
    "records": 4,
    "status": "complete_for_declared_profile"
  },
  "meaning": "Declared bounded checks completed; NEVER a server-safety recommendation",
  "not_checked": [
    "runtime dispatch and alternate wrappers",
    "current Seller API contracts",
    "actual mutations or deletions",
    "upstream tests/CI",
    "credential connection safety",
    "complete semantic audit",
    "independent human approval",
    "catalog loader normalization (core/registry.py)",
    "any semantic signals for synthetic input"
  ],
  "policy_evidence": [
    {
      "file": "route-policy.json",
      "json_pointer": "/"
    }
  ],
  "profile": "kometa-teaching-v1",
  "profile_commit": "synthetic-not-upstream",
  "provenance": "own synthetic teaching input; NOT upstream",
  "records": [
    {
      "catalog_class": "read",
      "catalog_required_confirmations": [],
      "declared_class": "read",
      "evidence": {
        "file": "endpoints.json",
        "json_pointer": "/0"
      },
      "host": "example.invalid",
      "method": "POST",
      "operation_id": "sample_post_list",
      "path": "/sample/list",
      "raw_class": "write",
      "raw_required_confirmations": [
        "confirm_write"
      ],
      "safety": "read",
      "summary": "Own synthetic POST read control"
    },
    {
      "catalog_class": "write",
      "catalog_required_confirmations": [
        "confirm_write"
      ],
      "declared_class": "write",
      "evidence": {
        "file": "endpoints.json",
        "json_pointer": "/1"
      },
      "host": "example.invalid",
      "method": "POST",
      "operation_id": "sample_write",
      "path": "/sample/update",
      "raw_class": "write",
      "raw_required_confirmations": [
        "confirm_write"
      ],
      "safety": "write",
      "summary": "Own synthetic write"
    },
    {
      "catalog_class": "destructive",
      "catalog_required_confirmations": [
        "confirm_write",
        "i_understand_this_modifies_data"
      ],
      "declared_class": "destructive",
      "evidence": {
        "file": "endpoints.json",
        "json_pointer": "/2"
      },
      "host": "example.invalid",
      "method": "POST",
      "operation_id": "sample_delete",
      "path": "/sample/delete",
      "raw_class": "write",
      "raw_required_confirmations": [
        "confirm_write"
      ],
      "safety": "destructive",
      "summary": "Own synthetic destructive class, not actual deletion"
    },
    {
      "catalog_class": "write",
      "catalog_required_confirmations": [
        "confirm_write"
      ],
      "declared_class": "read",
      "evidence": {
        "file": "endpoints.json",
        "json_pointer": "/3"
      },
      "host": "example.invalid",
      "method": "DELETE",
      "operation_id": "sample_delete_floor",
      "path": "/sample/remove",
      "raw_class": "destructive",
      "raw_required_confirmations": [
        "confirm_write",
        "i_understand_this_modifies_data"
      ],
      "safety": "read",
      "summary": "Own synthetic bad declaration to exercise floor"
    }
  ],
  "reproducibility": {
    "ast_python": null,
    "checker_sha256": "ae2241a27cf1843e0b60748259400e51b1e983b5ffc8864cf7b1ebfa08639cdb",
    "profile_sha256": "ea763c7d88ba82ea5443511aba72cb53bcce65b4d22bbdcaedeb8e972d8485b2",
    "python": "3.9.6"
  },
  "routes": {},
  "sources": [
    {
      "bytes": 844,
      "file": "endpoints.json",
      "sha256": "3a214b2219eabfc95c6223c5b7b3ecf5fcb3bcba1106b958063def106fe638ad"
    },
    {
      "bytes": 490,
      "file": "route-policy.json",
      "sha256": "96641fe2cbb9af8e5d95e363c783a26a681ece39a004b809ab641d650a9bab6c"
    }
  ],
  "support_status": "supported-findings",
  "verb_floor_overrides": [
    {
      "declared_class": "read",
      "effective_class": "write",
      "evidence": {
        "file": "endpoints.json",
        "json_pointer": "/3"
      },
      "operation_id": "sample_delete_floor"
    }
  ],
  "version": "0.1.1"
}
