# Verification

Pinned implementation toolchain: MoonBit `0.10.15+943464bfa`, Moon `0.1.20261012`. Host tools: Node.js 24. No npm runtime or test dependencies.

The workspace has 12 registered MoonBit tests: 11 library groups and one separate public consumer group. They cover weighted aggregation, weak/incomplete ranks, blank elections, cyclic preferences, graph lock witnesses, IRV transfers, explicit ties, bounded tie exploration, input aliasing and invalid weights/IDs. Local JS, Wasm GC and Wasm runs pass; CI additionally runs Linux native.

Six Node groups include 180 seeded weighted/weak-ranking elections. The independent oracle compares ranks directly, enumerates all SIMPLE paths to compute strongest bottlenecks (rather than reimplementing Floyd-Warshall), and checks the winner set and every witness. The same elections independently replay Ranked Pairs locking with DFS reachability and validate each rejected edge's existing cycle path. Candidate and ballot permutations must preserve canonical results.

Another 180 seeded strict-ranking elections are evaluated by recursive IRV tie branching WITHOUT memoization. Every possible winner set is compared, each returned elimination witness is replayed, and continuing plus exhausted weight must equal original total at each round. Three scenarios and CLI errors are asserted. Reproduce with `npm run verify`; raw records are `_build/reports/schulze-oracle.json`, `_build/reports/irv-oracle.json` and scenario outputs. CI uploads these reports.

All counting arithmetic is exact integer arithmetic in the declared domain. These finite tests do not imply a legal election certification or a claim that all Ranked Pairs or IRV variants are equivalent.
