в общем, я бы делал так:
- пишем текстовое представление и компилим в .wasm, который кладем в тесты
- при запуске тест сьюта (на ci или отдельной командой локально) проверяем есть ли у каждого модуля текстовое представление в отдельном файлике, если нет, то генерим через libwabt (не js), если есть, то смотрим не изменился ли его хэш
- если есть поменявшиеся хэши текстовых представлений, то показываем разработчику дифф изменений в текстовых представлениях и говорим “йоу, там ваббит проапдейтился так, что соответствие текстового и бинарного представлений поменялось. разберись и апни там что надо”