{
  "suite": "RCIG K3 Canonical Kernel v0.3 adversarial conformance",
  "total": 12,
  "passed": 12,
  "failed": 0,
  "all_passed": true,
  "results": [
    {
      "case": "positive_canonical_closed",
      "expected_accepted": true,
      "accepted": true,
      "canonicality": "certified",
      "pass": true,
      "errors": []
    },
    {
      "case": "missing_fork_coverage",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality: missing critical fork ('s0', 'tA', 'tB')"
      ]
    },
    {
      "case": "nondecreasing_rank",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality transition tB: rank does not strictly decrease"
      ]
    },
    {
      "case": "false_join_path",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality fork ('s0', 'tA', 'tB'): join paths do not end at declared join state"
      ]
    },
    {
      "case": "missing_kernel_derived_transition",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality: missing kernel-derived transition ('s0', 's2', 'rcig.rule.direct_discharge.v0.2', ('debt:d0',), (), 'cert:A')"
      ]
    },
    {
      "case": "selected_trace_model_mismatch",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality: selected_trace_transition_ids must exactly equal package rule_steps IDs"
      ]
    },
    {
      "case": "duplicate_semantic_state",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality: duplicate semantic debt state []",
        "canonicality: declared state set differs from kernel-derived reachable set; unreachable=['s2']",
        "canonicality: missing kernel-derived transition ('s0', 'sX', 'rcig.rule.direct_discharge.v0.2', ('debt:d0',), (), 'cert:A')",
        "canonicality: missing kernel-derived transition ('s1', 'sX', 'rcig.rule.direct_discharge.v0.2', ('debt:d1',), (), 'cert:C')",
        "canonicality: declared transition not kernel-derived ('s0', 's2', 'rcig.rule.direct_discharge.v0.2', ('debt:d0',), (), 'cert:A')",
        "canonicality: declared transition not kernel-derived ('s1', 's2', 'rcig.rule.direct_discharge.v0.2', ('debt:d1',), (), 'cert:C')",
        "canonicality: selected final state is not a reachable normal form"
      ]
    },
    {
      "case": "missing_k3_trust",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality: verdict trust_base omits required trust: rcig.k3.finite_state_critical_pairs.v0.1"
      ]
    },
    {
      "case": "hidden_applicable_certificate_transition",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality: missing kernel-derived transition ('s1', 's0', 'rcig.rule.replace.v0.2', ('debt:d1',), ('debt:d0',), 'cert:D')"
      ]
    },
    {
      "case": "wrong_initial_state",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality: initial state debts do not equal initial_debt_ids",
        "canonicality: declared state set differs from kernel-derived reachable set; unreachable=['s0']",
        "canonicality: declared transition not kernel-derived ('s0', 's1', 'rcig.rule.replace.v0.2', ('debt:d0',), ('debt:d1',), 'cert:B')",
        "canonicality: declared transition not kernel-derived ('s0', 's2', 'rcig.rule.direct_discharge.v0.2', ('debt:d0',), (), 'cert:A')",
        "canonicality: spurious critical fork ('s0', 'tA', 'tB')",
        "canonicality: selected transition tB is not contiguous from s1"
      ]
    },
    {
      "case": "bad_transition_state_delta",
      "expected_accepted": false,
      "accepted": false,
      "canonicality": "unverified",
      "pass": true,
      "errors": [
        "canonicality transition tB: state delta does not equal target",
        "canonicality transition tB: certificate/rule instance mismatch",
        "canonicality: missing kernel-derived transition ('s0', 's1', 'rcig.rule.replace.v0.2', ('debt:d0',), ('debt:d1',), 'cert:B')",
        "canonicality: declared transition not kernel-derived ('s0', 's2', 'rcig.rule.replace.v0.2', ('debt:d0',), ('debt:d1',), 'cert:B')",
        "canonicality fork ('s0', 'tA', 'tB'): invalid join path: path transition tC expects s1 but current is s2",
        "canonicality: selected transition tC is not contiguous from s2"
      ]
    },
    {
      "case": "noncanonical_trace_still_accepted",
      "expected_accepted": true,
      "accepted": true,
      "canonicality": "not_claimed",
      "pass": true,
      "errors": []
    }
  ]
}