|
| 1 | +# ISC Migration — Master TODO Index |
| 2 | + |
| 3 | +## Status: 247/289 deep equivalent, 289/289 parseable, 100% transliteration parity |
| 4 | + |
| 5 | +This index tracks ALL remaining work across the interscript ecosystem. |
| 6 | +Each item links to its detailed TODO in the respective repo. |
| 7 | + |
| 8 | +--- |
| 9 | + |
| 10 | +## P0 — Blocks adoption |
| 11 | + |
| 12 | +### [ISC Runtime Integration](rababa/00-isc-runtime-integration.md) ✅ DONE |
| 13 | +`NodeAdapter` bridges ISC document hash → `Interscript::Node::Document`. |
| 14 | +ISC files can now be used for actual transliteration. |
| 15 | + |
| 16 | +### [Commit .isc files to maps repo](rababa/01-commit-isc-to-maps-repo.md) |
| 17 | +289 .isc files generated but not committed to `interscript/maps`. |
| 18 | + |
| 19 | +### [E2E Tests for Website](https://github.com/interscript/interscript.org/blob/astro-migration/TODO.complete/01-e2e-tests.md) ✅ DONE |
| 20 | +27/27 Playwright tests passing. Full-map validation: 37/37. |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +## P1 — Ecosystem health |
| 25 | + |
| 26 | +### [Fix Deep Equivalence Diffs](rababa/02-fix-deep-equivalence-diffs.md) |
| 27 | +247/289 equivalent. 40 remain (codemod edge cases + description whitespace). |
| 28 | +Transliteration output is 100% identical — differences are metadata-only. |
| 29 | + |
| 30 | +### [Fix ISC Spec Failures](rababa/03-fix-isc-specs.md) |
| 31 | +73 specs written, ~50 pass. Remaining are syntax issues (system wrappers). |
| 32 | + |
| 33 | +### [TS ISC Parser](https://github.com/interscript/interscript-ts/blob/main/TODO.complete/01-isc-parser-typescript.md) |
| 34 | +Port ISC grammar to Peggy for direct .isc loading in browser/Node. |
| 35 | + |
| 36 | +### [Full Parity Fixtures](https://github.com/interscript/interscript-ts/blob/main/TODO.complete/02-generate-full-parity.md) |
| 37 | +Commit full-parity.json (7502 samples, 0 diffs) to the TS repo. |
| 38 | + |
| 39 | +--- |
| 40 | + |
| 41 | +## P2 — Quality |
| 42 | + |
| 43 | +### [IS 1 Specification](rababa/04-is1-specification.md) |
| 44 | +Compile Metanorma document, publish to website. |
| 45 | + |
| 46 | +### [Performance: Large CJK Maps](rababa/05-performance-cjk-maps.md) |
| 47 | +6 maps take 15-38s to parse (Parslet backtracking). |
| 48 | + |
| 49 | +### [Ruby DSL Array Keys Bug](rababa/06-ruby-dsl-array-keys-bug.md) ✅ DONE |
| 50 | +Fixed: `STANDARD_ARRAY_KEYS` now stores results in `@node`. |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +## Architecture Notes |
| 55 | + |
| 56 | +### Pipeline |
| 57 | +``` |
| 58 | +.isc → Isc::Parser → DocumentBuilder → NodeAdapter → Node::Document → Interpreter |
| 59 | +.imp → DSL.parse → Node::Document → Interpreter |
| 60 | + ↓ |
| 61 | + JsonIR Compiler → .json → interscript-ts → browser |
| 62 | +``` |
| 63 | + |
| 64 | +### ISC is now a first-class source format |
| 65 | +With the NodeAdapter, .isc files can: |
| 66 | +- Be parsed (Parser) |
| 67 | +- Be built into documents (DocumentBuilder) |
| 68 | +- Be converted to Node objects (NodeAdapter) |
| 69 | +- Be used for transliteration (Interpreter) |
| 70 | +- Be compiled to JSON IR (JsonIR Compiler) |
| 71 | + |
| 72 | +### What's left for true parity |
| 73 | +1. Commit .isc to maps repo (mechanical) |
| 74 | +2. Update `Interscript::Path` to resolve `.isc` extension |
| 75 | +3. Port ISC parser to TypeScript (for browser-native .isc loading) |
| 76 | +4. Fix remaining 40 metadata edge cases (cosmetic) |
0 commit comments