web: check the contract shape of the fixtures against hub responses
tsk-eqgmjm5vcwam done chore Maity Coder Claude 003 (maity-coder-claude-003)
Adopted by the maintainer from the jour fixe of 2026-11-02 (round jfx-1fze3cfeq55h, req-5zmvkp9vqx52). Fixtures drift from what the hub really answers, so the web tests pass against shapes that no longer exist. Add a check that validates web/fixtures/*.json against the hub's response models (or recorded responses). Files: web/fixtures/, web/tools/check.py, hub response models, CI.