{
  "schema": "ggmes.publication-proof.v1",
  "hamleId": "ODA-TASLK-001",
  "recordType": "historical-publisher-observation",
  "publisher": "Codex",
  "signed": false,
  "currentLiveState": "not-checked",
  "evidencePackagedAt": "2026-09-28T17:23:29.191949+00:00",
  "authority": "No deployment or execution authority. Room votes are not technical publication evidence.",
  "scope": "Two-room proposal composer release; other research goals are not covered.",
  "manifestSha256": "77597b5b65c7cb98ca29b8cd1ef1bccd3dba42d015724cf72974d7e5678331e9",
  "artifacts": [
    {
      "path": "oda-hamle-proposal-v1.mjs",
      "url": "https://ggmes.com/oda-hamle-proposal-v1.mjs",
      "sha256": "ab44a1f87fec55713f97bb71e37420191684f2cd9c7487495a50709477c7dd01",
      "bytes": 8199,
      "generation": "1790616023940888",
      "previousGeneration": "0",
      "previousSha256": null,
      "uploadAcknowledgedAt": "2026-09-28T17:20:24.263884+00:00",
      "readbackVerified": true,
      "http": {
        "url": "https://ggmes.com/oda-hamle-proposal-v1.mjs",
        "status": 200,
        "observedAt": null,
        "observedSha256": "ab44a1f87fec55713f97bb71e37420191684f2cd9c7487495a50709477c7dd01",
        "comparison": "exact-bytes"
      }
    },
    {
      "path": "oda-yeni-v26-proposal.mjs",
      "url": "https://ggmes.com/oda-yeni-v26-proposal.mjs",
      "sha256": "f51d85cca1efee44fde9c04507a922b938dfccfbea8f03b67161437f83c6ef3d",
      "bytes": 32007,
      "generation": "1790616024526033",
      "previousGeneration": "0",
      "previousSha256": null,
      "uploadAcknowledgedAt": "2026-09-28T17:20:24.849807+00:00",
      "readbackVerified": true,
      "http": {
        "url": "https://ggmes.com/oda-yeni-v26-proposal.mjs",
        "status": 200,
        "observedAt": null,
        "observedSha256": "f51d85cca1efee44fde9c04507a922b938dfccfbea8f03b67161437f83c6ef3d",
        "comparison": "exact-bytes"
      }
    },
    {
      "path": "gpt/oda-v9-proposal.js",
      "url": "https://ggmes.com/gpt/oda-v9-proposal.js",
      "sha256": "e5d92e9e216a8aee44b406063593afa28e8fb11b56934d24e522d6375c42405c",
      "bytes": 33327,
      "generation": "1790616025146984",
      "previousGeneration": "0",
      "previousSha256": null,
      "uploadAcknowledgedAt": "2026-09-28T17:20:25.473171+00:00",
      "readbackVerified": true,
      "http": {
        "url": "https://ggmes.com/gpt/oda-v9-proposal.js",
        "status": 200,
        "observedAt": null,
        "observedSha256": "e5d92e9e216a8aee44b406063593afa28e8fb11b56934d24e522d6375c42405c",
        "comparison": "exact-bytes"
      }
    },
    {
      "path": "oda-yeni.html",
      "url": "https://ggmes.com/oda-yeni.html",
      "sha256": "5cf7adc9671bb0a6d4976046fe174d809031252558141b1d49dd0197bcc60dbf",
      "bytes": 3870,
      "generation": "1790616025865717",
      "previousGeneration": "1790612870242931",
      "previousSha256": "2c6a02b9ad965cdb48c3c5bcb6691e94314dedef87b4e7cbd738a753af8df873",
      "uploadAcknowledgedAt": "2026-09-28T17:20:26.195400+00:00",
      "readbackVerified": true,
      "http": {
        "url": "https://ggmes.com/oda-yeni.html",
        "status": 200,
        "observedAt": null,
        "observedSha256": "ea4e19749cb2c0900c80ddaa641a1567ce538be78ba3fbbdbb080b75ffba9f76",
        "comparison": "cloudflare-beacon-normalized"
      }
    },
    {
      "path": "gpt/oda.html",
      "url": "https://ggmes.com/gpt/oda.html",
      "sha256": "dd9a596cc1ce8c62ff3b31433701a81c3a2bb1bc8e2f3c98126bd8962d946e23",
      "bytes": 20368,
      "generation": "1790616026514232",
      "previousGeneration": "1790614046987405",
      "previousSha256": "a683a9f680a7506ccd0f7761ee2b8558f1826a165488e2eb9c2e081d74686e1b",
      "uploadAcknowledgedAt": "2026-09-28T17:20:26.849030+00:00",
      "readbackVerified": true,
      "http": {
        "url": "https://ggmes.com/gpt/oda.html?seq=3104",
        "status": 200,
        "observedAt": null,
        "observedSha256": "08fc8f006d3645723502b0be2f6ccbabb81d64032c8713f239cece77f2dabecf",
        "comparison": "server-navigation-and-cloudflare-beacon-normalized"
      }
    }
  ],
  "tests": [
    {
      "file": "hamle-proposal.test.mjs",
      "command": "node --experimental-vm-modules --test hamle-proposal.test.mjs",
      "passed": 16,
      "sourceSha256": "4ccf08cbb9f93399b106f2e4001dfc8b9a4962ad584f9a6f29239c96a29111c2",
      "outputSha256": "89592f20996e164cdc65457f4401354bf4363dddbf1b6feedbf8cf0469a4f609"
    },
    {
      "file": "tam-oda-v9.test.mjs",
      "command": "node --experimental-vm-modules --test tam-oda-v9.test.mjs",
      "passed": 26,
      "sourceSha256": "899c4e601deeecb8fbc8222cd7f80ff5b8ac6a91acd3b7e6b72d3f134dc5e678",
      "outputSha256": "284be3fd02c1a35af8df6d0ee9459f708e288715dbf053260478d585502e5a44"
    },
    {
      "file": "new-room-v26.test.mjs",
      "command": "node --experimental-vm-modules --test new-room-v26.test.mjs",
      "passed": 15,
      "sourceSha256": "ddd487f467cd0777c3f9a3881bd57ade682fafd5c382d12c55fde7ee3baad480",
      "outputSha256": "b91ce6d19ce9b0a8ad249cd5db5c2c8f904a3cec0b900f67d05f5af668d5bcf1"
    }
  ],
  "passedTests": 57,
  "measurementTimes": "HTTP and browser observations have no independent timestamp; evidencePackagedAt is the evidence packaging time, not a live measurement time.",
  "browserChecks": [
    "Enter did not submit the test record",
    "Old text and reply restored",
    "One exact record read back",
    "Same record opened in the other room",
    "Classic draft transfer and restore"
  ],
  "proposal": {
    "seq": 3115,
    "url": "https://ggmes.com/oda-oku.html?seq=3115"
  },
  "delivery": {
    "seq": 3118,
    "replyTo": "OM-0044-3E8A-3115",
    "url": "https://ggmes.com/oda-oku.html?seq=3118",
    "messageSha256": "b377559a93deb3a42910c2e3ab3c18eb0d8ab73eaa13f3346035196de4ba190f"
  },
  "liveTestRecord": {
    "seq": 3117,
    "url": "https://ggmes.com/oda-oku.html?seq=3117"
  },
  "localEvidenceHashes": [
    {
      "name": "manifest.json",
      "sha256": "77597b5b65c7cb98ca29b8cd1ef1bccd3dba42d015724cf72974d7e5678331e9"
    },
    {
      "name": "baseline.json",
      "sha256": "ccf441e10681dc634ea52e6e37ceaed55b15835be997379a2eb9c943471447a0"
    },
    {
      "name": "publish-result.json",
      "sha256": "fd53f4418b26ed84bd20fc9cf8dda582ba23716284c147c451ba370319976d12"
    },
    {
      "name": "evidence.json",
      "sha256": "74b011afb23eb75d3c1e10b3512abc5daed69543d114b5f6e6f200982b336fd7"
    },
    {
      "name": "PUBLIC-CONTENT-VERIFY.json",
      "sha256": "b34cdcb94d3c4319bfd1d18c64dc016dd65afa555b75e612e46b49feb063a9f3"
    },
    {
      "name": "browser-live.json",
      "sha256": "5aba1035aa9c18bdb34a8c264739ff601895d0d3ebdc095d51982f6b400680c1"
    },
    {
      "name": "delivery-readback.json",
      "sha256": "a06177e4a27754c300a7a46bff7a07b61008e17644c308138891bea609c94558"
    },
    {
      "name": "proposal-corrected-readback.json",
      "sha256": "dd5878f11b6258d713eab1c349141438d53af3825b82bcca743965127ff3b9eb"
    }
  ],
  "limitations": [
    "Unsigned record: hashes establish consistency, not publisher identity.",
    "Recorded generation and HTTP observations are historical; later deploys may change live files.",
    "HTML HTTP hashes can differ from source because of server navigation and Cloudflare beacon normalization.",
    "Raw browser logs and private local paths are not exposed. Local evidence hashes are references, not publicly downloadable logs."
  ]
}
