Skip to content

Latest commit

 

History

History
76 lines (53 loc) · 2.75 KB

File metadata and controls

76 lines (53 loc) · 2.75 KB

ISC Migration — Master TODO Index

Status: 247/289 deep equivalent, 289/289 parseable, 100% transliteration parity

This index tracks ALL remaining work across the interscript ecosystem. Each item links to its detailed TODO in the respective repo.


P0 — Blocks adoption

NodeAdapter bridges ISC document hash → Interscript::Node::Document. ISC files can now be used for actual transliteration.

289 .isc files generated but not committed to interscript/maps.

27/27 Playwright tests passing. Full-map validation: 37/37.


P1 — Ecosystem health

247/289 equivalent. 40 remain (codemod edge cases + description whitespace). Transliteration output is 100% identical — differences are metadata-only.

73 specs written, ~50 pass. Remaining are syntax issues (system wrappers).

Port ISC grammar to Peggy for direct .isc loading in browser/Node.

Commit full-parity.json (7502 samples, 0 diffs) to the TS repo.


P2 — Quality

Compile Metanorma document, publish to website.

6 maps take 15-38s to parse (Parslet backtracking).

Fixed: STANDARD_ARRAY_KEYS now stores results in @node.


Architecture Notes

Pipeline

.isc → Isc::Parser → DocumentBuilder → NodeAdapter → Node::Document → Interpreter
.imp → DSL.parse → Node::Document → Interpreter
                    ↓
              JsonIR Compiler → .json → interscript-ts → browser

ISC is now a first-class source format

With the NodeAdapter, .isc files can:

  • Be parsed (Parser)
  • Be built into documents (DocumentBuilder)
  • Be converted to Node objects (NodeAdapter)
  • Be used for transliteration (Interpreter)
  • Be compiled to JSON IR (JsonIR Compiler)

What's left for true parity

  1. Commit .isc to maps repo (mechanical)
  2. Update Interscript::Path to resolve .isc extension
  3. Port ISC parser to TypeScript (for browser-native .isc loading)
  4. Fix remaining 40 metadata edge cases (cosmetic)