|
| 1 | +# TEST-NEEDS: typed-wasm |
| 2 | + |
| 3 | +## Current State |
| 4 | + |
| 5 | +| Category | Count | Details | |
| 6 | +|----------|-------|---------| |
| 7 | +| **Source modules** | 21 | 11 Idris2 ABI (Region, TypedAccess, Levels, Pointer, Effects, Lifetime, Linear, MultiModule, Proofs, Tropical, Epistemic), 3 ReScript parser (Ast, Parser, Lexer), 3 Idris2 interface ABI, 2 Zig FFI + cache | |
| 8 | +| **Unit tests** | 1 file | ParserTests.res (~82 assertions) | |
| 9 | +| **Integration tests** | 0 | None | |
| 10 | +| **E2E tests** | 1 | e2e-smoke.mjs (~43 assertions) | |
| 11 | +| **Benchmarks** | 0 | None | |
| 12 | +| **ECHIDNA harness** | 1 | echidna-harness.mjs (7 assertions) | |
| 13 | + |
| 14 | +## What's Missing |
| 15 | + |
| 16 | +### P2P Tests |
| 17 | +- [ ] No tests for Idris2 ABI type checking with Zig FFI |
| 18 | +- [ ] No tests for ReScript parser feeding into Idris2 type checker |
| 19 | + |
| 20 | +### E2E Tests |
| 21 | +- [ ] e2e-smoke exists but only 43 assertions for a type system with 10 safety levels |
| 22 | +- [ ] No WASM module compilation and execution test |
| 23 | +- [ ] No multi-module linking test (MultiModule.idr untested) |
| 24 | + |
| 25 | +### Aspect Tests |
| 26 | +- [ ] **Security**: No memory safety violation detection tests (this IS the product's purpose) |
| 27 | +- [ ] **Performance**: No benchmarks for type checking overhead vs raw WASM |
| 28 | +- [ ] **Concurrency**: No concurrent WASM module compilation tests |
| 29 | +- [ ] **Error handling**: No tests for invalid type annotations, malformed WASM |
| 30 | + |
| 31 | +### Build & Execution |
| 32 | +- [ ] 11 Idris2 modules with 0 Idris2-level tests -- are proofs checked? |
| 33 | +- [ ] Zig FFI integration_test.zig likely a template placeholder |
| 34 | + |
| 35 | +### Benchmarks Needed (CRITICAL) |
| 36 | +- [ ] Type checking overhead per WASM instruction |
| 37 | +- [ ] Memory region tracking performance |
| 38 | +- [ ] Lifetime analysis scaling with module size |
| 39 | +- [ ] Comparison: typed-wasm overhead vs raw WASM execution |
| 40 | + |
| 41 | +### Self-Tests |
| 42 | +- [ ] No type system self-consistency check |
| 43 | + |
| 44 | +## FLAGGED ISSUES |
| 45 | +- **Type safety system with no safety-level-specific tests** -- 10 levels claimed, 0 level-specific test suites |
| 46 | +- **11 Idris2 proof modules with 0 proof verification tests** -- "proven" is unproven |
| 47 | +- **Tropical.idr and Epistemic.idr (novel type features) have 0 tests** -- research features untested |
| 48 | +- **ECHIDNA harness is 7 assertions** -- token gesture, not real verification |
| 49 | +- **arXiv potential claimed** -- paper-worthy claims need paper-worthy evidence |
| 50 | + |
| 51 | +## Priority: P0 (CRITICAL) |
| 52 | + |
| 53 | +## FAKE-FUZZ ALERT |
| 54 | + |
| 55 | +- `tests/fuzz/placeholder.txt` is a scorecard placeholder inherited from rsr-template-repo — it does NOT provide real fuzz testing |
| 56 | +- Replace with an actual fuzz harness (see rsr-template-repo/tests/fuzz/README.adoc) or remove the file |
| 57 | +- Priority: P2 — creates false impression of fuzz coverage |
0 commit comments