Stateful protocol compatibility, shortest distinguishing inputs and regression sequences
moon update
moon build --target js
node _build/js/debug/build/cmd/main/main.js examples/session-diff.json
# exits 2: word ["open","send"] reveals changed output
moon add btlqql/moon_protocoldiff@0.1.1| operation | fields | result |
|---|---|---|
| compare (default) | old, new, mode?, max_pairs?, max_steps? | equivalent / compatible / different / unknown |
| verify_difference | old, new, word, mode? | valid_difference / invalid_difference |
| minimize | machine | machine, blocks, equivalence_verified |
| run | machine, word | outputs, accepted, state, rejected_at? |
| analyze | machine | normalized machine, reachable, access_sequences |
| suite | machine, max_tests? | tests with word/expected, complete or unknown |
| audit_suite | machine, tests (arrays of symbols) | covered/uncovered transitions, rejected_tests |
moon check --deny-warn --target js
moon test --target js # 30 tests, including 26 golden API cases
moon test --target wasm
moon test --target wasm-gc
moon test --target native
moon build --target js
node scripts/check.mjs
python -B scripts/reference.py
python -B scripts/scale.pyInstall
Download zipStateful protocol compatibility, shortest distinguishing inputs and regression sequences