{
  "schema_version": 1,
  "lane": "ring-opus",
  "slug": "2026-10-19-cross-ring-opus",
  "source_model": {
    "provider": "anthropic",
    "model_id": "claude-opus-5-5",
    "display_name": "Claude Opus 5.5",
    "reasoning_effort": "high",
    "provenance": "recorded-at-generation"
  },
  "protocol": {
    "name": "choice-cross-build",
    "version": "2026-10-19-cross-build-v1"
  },
  "comparison": {
    "comparison_id": "choice-cross-build-2026-10-19-ring",
    "prompt_version": "2026-10-19-cross-build-v1-ring",
    "attempt": 1
  },
  "prompt_sha256": "33f05d015ef4c73debcace1fcdc0bfe776dfc1c9ad9fa9a3a99b6309bc9917e3",
  "integration": {
    "provider": "openai",
    "model_id": "gpt-6.1-sol",
    "display_name": "GPT-6.1 Sol",
    "reasoning_effort": "xhigh",
    "scope": "Standard publication packaging and necessary hosting/security compatibility only."
  },
  "originals_preserved": true,
  "generated_site_changes": "The standard Choice builder injects canonical, social and favicon metadata into copied HTML; these hashes describe source files before generated packaging.",
  "original_freeze_record_sha256": "c73c79380281e6c7ad67213bf845d5023444d19f83b63d5ffedfec2557637721",
  "publication_metadata_changes": {
    "assets": {
      "original": [
        "outputs/app.js",
        "outputs/ringing.js",
        "outputs/style.css"
      ],
      "published": [
        "outputs/app.js",
        "outputs/ringing.js",
        "outputs/style.css",
        "public/integration.json"
      ]
    },
    "publish": {
      "original": false,
      "published": true
    },
    "summary": {
      "original": "Take one bell in a six-bell change-ringing practice, learning the pattern through timing, sound and fading guidance.",
      "published": "A ringing study with a method diagram and lead feedback. Extra pulls are missing from final scores, and inactive ringing controls remain visible."
    }
  },
  "files": {
    "README.md": {
      "original_sha256": null,
      "final_sha256": "014130d49c07486f0da3e0412c8b250b778a6b652081326ec52fc3a1080573b2",
      "change": "Supply missing standard usage, provenance and limitation documentation."
    },
    "notes/verification.md": {
      "original_sha256": null,
      "final_sha256": "a84fbc6c24174feaea853f5350307a7fdf08f26a3fcf0d6d3fea6d6b770fd5be",
      "change": "Supply the missing integration-owned verification record."
    },
    "outputs/app.js": {
      "original_sha256": "ecd5cd0c9c51a8ae36d12935c461132cb63d71a138836f957f3bfedd869e6e22",
      "final_sha256": "359560e40907bf2367f29ed7b111a7b6d6c6a10f67ed7bac7b7c2fd865b58d85",
      "change": "Wire that explicit close button to the existing dialog.close() method."
    },
    "outputs/index.html": {
      "original_sha256": "b72a64730f18d306e7943f126e586dfc1ab7eeecb95275b0bae97c858ab5f667",
      "final_sha256": "77b89c39a0f582f3aae40abb9ce7c43fdd4a15d13c3865ea73f74931e46d37d4",
      "change": "Replace the About dialog form with an explicit type=button close control because Choice forbids forms."
    },
    "outputs/ringing.js": {
      "original_sha256": "9e34d3c6b05e234e7e2d1f7384254d4cf26740af921d468974a612acce37a23e",
      "final_sha256": "9e34d3c6b05e234e7e2d1f7384254d4cf26740af921d468974a612acce37a23e",
      "change": "Byte-identical submitted file."
    },
    "outputs/style.css": {
      "original_sha256": "db43c2060e763213189859cba6a2027c6e9389508578e6b3038fd9bffc7702f7",
      "final_sha256": "db43c2060e763213189859cba6a2027c6e9389508578e6b3038fd9bffc7702f7",
      "change": "Byte-identical submitted file."
    },
    "outputs/thumbnail.svg": {
      "original_sha256": "07c8ada1dd209b087ce6e0539a4ab84bfb9eb7756b9c64a8080973caa9cc3b52",
      "final_sha256": "07c8ada1dd209b087ce6e0539a4ab84bfb9eb7756b9c64a8080973caa9cc3b52",
      "change": "Byte-identical submitted file."
    },
    "src/verify_ring.py": {
      "original_sha256": null,
      "final_sha256": "da7a538440dcf60c025b2150e03397f385e3866f2b9e9fe53a8e9244164b33de",
      "change": "Supply the missing integration-owned offline verifier for known rows, timing, scoring, assets and finite audio."
    }
  },
  "limitations": [
    "Same topic brief and effort label do not establish matched provider harnesses or compute. No runtime quality or scientific/design refinement was authorised."
  ],
  "original_manifest_sha256": "6aa506d114f2aa55cbb7d50baab286506df28f3df854bb91eeed5b6377f5159b",
  "published_manifest_sha256": "48996db8b63862b24e9ee06759178b43e56b0d72d683b1daabc34b42256d3beb",
  "generated_public_metadata": {
    "public/integration.json": "Byte-identical public copy of this integration ledger; the ledger and its copy are excluded from their own file-hash inventory."
  },
  "supplied_concept_origin": "Claude Opus 5.5"
}
