Commit a1a5cf3
fix(selfhost): harden AST-parity gates — assert 0 run-failures, non-empty samples, doc release runtime
Addresses three review findings on the AST-parity harness:
- Medium: ast_parity_corpus counted run-failures but never asserted on them, so
the rss producer could start crashing on many files and the gate would still
pass as long as the byte-exact floor held (contradicting the "0 run-failures"
doc claim). Add assert_eq!(run_failures, 0, ...) — a crash now regresses the
gate regardless of the floor. Verified in --release: 121 byte-exact, 0
run-failures.
- Low: ast_sample_files() silently returns empty if selfhost/samples/ast is
missing/unreadable, making ast_parity_samples pass vacuously. Assert
files.len() >= AST_SAMPLE_MIN (6).
- Low: the ignored corpus gate runs the reg-VM over ~560 files and is slow in a
debug build (minutes). Document running it in --release (test docstring + plan
doc) and point at ast_parity_samples as the fast non-ignored inner-loop gate.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 5fbecd6 commit a1a5cf3
2 files changed
Lines changed: 37 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1478 | 1478 | | |
1479 | 1479 | | |
1480 | 1480 | | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
1481 | 1489 | | |
1482 | 1490 | | |
1483 | 1491 | | |
| |||
1507 | 1515 | | |
1508 | 1516 | | |
1509 | 1517 | | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
1510 | 1522 | | |
1511 | 1523 | | |
1512 | 1524 | | |
1513 | 1525 | | |
1514 | 1526 | | |
1515 | | - | |
1516 | | - | |
1517 | | - | |
1518 | | - | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
1519 | 1537 | | |
1520 | 1538 | | |
1521 | 1539 | | |
| |||
1550 | 1568 | | |
1551 | 1569 | | |
1552 | 1570 | | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
1553 | 1579 | | |
1554 | 1580 | | |
1555 | 1581 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
280 | 280 | | |
281 | 281 | | |
282 | 282 | | |
283 | | - | |
284 | | - | |
285 | | - | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
286 | 290 | | |
287 | 291 | | |
288 | 292 | | |
| |||
0 commit comments