{
  "schema": "runlog.tool-release.v1",
  "version": "0.3.1",
  "compatibility": {
    "pricer_browser": "byte-identical engine/analyzer/catalog/snapshot; optional live price refresh",
    "studio": "separate conservative estimator and spend reservations",
    "loopguard": "local SDK; website demo only",
    "ship_check": "runlog.trace-gate.v3; scenario-tool-cycle.v1",
    "bench": "historical demo quarantined; hosted runtime separate"
  },
  "runtime_sha256": {
    "engine.js": "e161de31736fdbbecc405da9ae27aeb30517e4dc3d663cddd8bd088ff838f4d9",
    "analyzer.js": "472201edaec060647a294f256fba51fefa425463ead49f94ff2c169ed8791d4a",
    "models-data.js": "bea57d760df0415487580844f2162adcfd81f7b2aef4b595b2238ba328a687d6",
    "pricing-snapshot.js": "1908cc6c69f06b36da7baed3f3d5743317a1060933c27447dbbb94318e30cbc9"
  },
  "artifacts": {
    "prompt-pricer-0.3.1-source.tar.gz": "fd277d80c4c63daaeda5d3fe9309b49df619bb6941203b4850de6c37e54e4718",
    "runlog-prompt-pricer-0.3.1.tgz": "52cc4f6ecd6ff5635b1b924dc42223ce53c0496ac59be18ce6b9e9204e6791a4",
    "loop-guard-0.3.1-source.tar.gz": "343e72ca12da22c66c9f0406fc2413e9a5f030903b2a7a526789f79f92c15057",
    "runlog-loopguard-0.3.1.tgz": "b38ff99be602971ffc23fd696c96a17af59a1facd62a31b4a0ca680ec621b5d3",
    "runlog_loopguard-0.3.1-py3-none-any.whl": "505688cbbd753f088245e57dcb8a3b2aeeb90ba45a8910c4856a750180bf6dae",
    "ship-check-0.3.1-source.tar.gz": "7614a04d3f003ec3604103d501c3cf06d79b4de11808b7255c592481a4aba6df"
  },
  "source_commits": {
    "prompt-pricer": "ef4aedb249b4f5f42764396d472285a726ab9bde",
    "loop-guard": "03aac886ccc231a9e92731c4ec25dc93201da169",
    "ship-check": "e01d20ef20dba9f8d108350e0381be4454643b15"
  }
}
