{
  "asm": {
    "maximum_declared_class_version": 27,
    "single_version_required": true,
    "version": "9.10.1"
  },
  "bridge_source_version": "0.1.2-dev",
  "class_files": {
    "advisory_early_access": [
      "27-ea"
    ],
    "cross_host_transform": [
      21,
      26
    ],
    "evidence_schema": "bridge-classfile-matrix/1",
    "fixture": "compatibility/fixtures/classfile-project/CompatibilityFixture.java",
    "notes": "The class-file workflow compiles one neutral fixture at every listed Java release, transforms each class file with the same exact Bridge version under host JDK 21 and 26, preserves the class major, validates the Bridge run report, verifies with the JDK Class-File API, runs -Xverify:all, and executes the transformed class on JDK 26. A target is tested support only when the relevant qualification run has completed successfully.",
    "producer_jdk": 26,
    "qualification_targets": [
      8,
      11,
      17,
      21,
      22,
      23,
      24,
      25,
      26
    ],
    "runner": "scripts/run-classfile-compatibility.sh",
    "workflow": ".github/workflows/classfile-compatibility.yml"
  },
  "consumer_qualification": {
    "reference_consumer": "SupraCraft/VanillaCord",
    "required_for_stable": true
  },
  "host_jvm": {
    "advisory_early_access": [
      "27-ea"
    ],
    "minimum": 21,
    "pull_request_blocking": [
      21,
      25,
      26
    ],
    "release_qualification": [
      21,
      22,
      23,
      24,
      25,
      26
    ]
  },
  "maven": {
    "canonical": "3.9.16",
    "maven_4": {
      "current_preview": "4.0.0-rc-6",
      "status": "advisory-until-ga"
    },
    "minimum_plugin_runtime": "3.9.0"
  },
  "modern_bytecode": {
    "cases": [
      {
        "features": [
          "record",
          "sealed-types",
          "record-pattern-switch",
          "invokedynamic-lambda",
          "invokedynamic-string-concat"
        ],
        "id": "java21-modern-language-bytecode",
        "release": 21
      },
      {
        "features": [
          "statements-before-super-constructor-invocation"
        ],
        "id": "java25-flexible-constructor",
        "release": 25
      },
      {
        "features": [
          "module-attribute",
          "module-info-class"
        ],
        "id": "java21-module-info",
        "release": 21
      }
    ],
    "cross_host_transform": [
      21,
      26
    ],
    "evidence_schema": "bridge-modern-bytecode/1",
    "notes": "These cases are deliberately risk-focused rather than a catalog of Java language features. They exercise class-file structures and verifier/constructor/module behaviors most likely to expose assumptions in a bytecode transformer.",
    "producer_jdk": 26,
    "runner": "scripts/run-modern-bytecode-compatibility.sh",
    "workflow": ".github/workflows/modern-bytecode-compatibility.yml"
  },
  "release_qualification": {
    "aggregator": "scripts/aggregate-release-qualification.py",
    "blocking_host_jvms": [
      21,
      22,
      23,
      24,
      25,
      26
    ],
    "classfile_boundary_hosts": [
      21,
      26
    ],
    "consumer": "SupraCraft/VanillaCord",
    "consumer_qualification_required_separately": true,
    "evidence_schema": "bridge-release-qualification/1",
    "exact_bridge_version_required": true,
    "modern_bytecode_boundary_hosts": [
      21,
      26
    ],
    "next_jdk_advisory": 27,
    "notes": "A release-qualification PASS is tied to the exact source SHA and exact Bridge version and aggregates the full supported host-JVM sweep with class-file and modern-bytecode boundary evidence. Release candidates are immutable coordinates and are never overwritten. Stable releases use the same matrix, require a published-qualified candidate whose exact-version VanillaCord consumer gate passed, require a stable/X.Y.Z source branch whose checked-in POM is X.Y.Z, and publish/tag only the exact tested stable handoff.",
    "release_candidate_publication": "github-packages-after-qualified-tested-build",
    "release_candidate_trigger": "release/X.Y.Z-rc.N + RELEASE_CANDIDATE.json",
    "reproducibility_evidence_consistency_required": true,
    "stable_release_publication": "github-packages-and-github-release-after-qualified-tested-build",
    "stable_release_requires_published_qualified_candidate": true,
    "stable_release_source_version_matches_coordinate": true,
    "stable_release_trigger": "stable/X.Y.Z + STABLE_RELEASE.json",
    "workflow": ".github/workflows/release-qualification.yml"
  },
  "repository": "SupraCraft/Bridge",
  "schema_version": "1.6.0",
  "status": "candidate-policy",
  "support_claim_rule": "Only compatibility backed by completed CI/release qualification evidence may be presented as tested support.",
  "verification": {
    "asm_verifier": "bridge-test/tests/bridge/VerificationTests.java",
    "behavioral_execution": "bridge-test advertised-feature suite plus class-file and modern-bytecode fixtures must execute successfully",
    "dependency_convergence": true,
    "jdk_classfile_api_verifier": "scripts/VerifyClassFiles.java on JDK 24+ release lanes, class-file qualification, and modern-bytecode qualification",
    "jvm_verify_all": "bridge-test Surefire and compatibility fixture execution use -Xverify:all",
    "reactor_verify": true
  }
}
