Soundness gate for self-hosting (jolt-d0r). stage1 = analyzer built by the Janet bootstrap; stage2 = analyzer rebuilt by compiling jolt.ir + jolt.analyzer through stage1 (self-host); stage3 = the same self-rebuild again. A corpus of programs must produce identical results across all three. Compared BEHAVIORALLY rather than by emitted code: emitted Janet forms embed live setter/getter closures (identity varies per compile) and the IR carries representation-level gensyms and pvec internals, so structural equality fights the representation. Behavioral parity is the property that actually matters and is representation-independent. Also corrects the battery baseline 3920 -> 3919: 3920 was a lucky run; 3919 is the stable value (the 9 timeout-prone tests can shift the count by one). |
||
|---|---|---|
| .. | ||
| integration | ||
| spec | ||
| support | ||
| unit | ||