84feca94d7
biochemController.js: structuralMatch/canonicalHash (Morgan-подобный канонический хеш графа) — для build-задания с data.requireStructure проверяется связность против эталонной молекулы (molecule_id), а не только формула. Отличает изомеры: этанол != диметиловый эфир при одной формуле C2H6O. seed_biochem_challenges.js: +4 structure-build задания (CO2, этилен, этанол, уксусная кислота). biochem.html: сообщение об ошибке wrong_structure. Проверено на реальном коде против БД: этанол==этанол true, ==диметиловый эфир false. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>