[
  {
    "from": "prereg:f7ecdaf607d8500f305d6e845567a97ceb2c5db75f7137090a34e411fa8d9f6b",
    "kind": "changed",
    "detail": "code/analyze.py differs from plan/code/analyze.py only in where it reads the locked parameters: the harness container carries code/, env/ and data/ but not plan/, so the script now reads data/parameters.json, a byte-identical copy of plan/parameters.json, and asserts equality with plan/parameters.json whenever plan/ is present. No analytic change; results are byte-identical to the run with the registered script.",
    "claims": [
      "C1"
    ]
  },
  {
    "from": "prereg:f7ecdaf607d8500f305d6e845567a97ceb2c5db75f7137090a34e411fa8d9f6b",
    "kind": "changed",
    "detail": "Packaging only: a bundle may carry at most 1000 files, so the 1,750 pinned map files travel as eight uncompressed tar shards (data/maps_shard_00..07.tar, digests in data/SOURCES.json) instead of loose files under data/maps/. code/run (vs plan/code/run) first unpacks them to data/maps/; analyze.py still checks every map against its pinned sha256. Same bytes in, byte-identical results out.",
    "claims": [
      "C1"
    ]
  }
]