stdlib/ByteDetector.affine ──(AffineScript, build-only)──► src/core/ByteDetector.bun.js
(legacy minimum core)
src/core/UnicodeData.bun.js ──► src/core/ScalarScanner.bun.js ──┐
src/core/Render.bun.js │
src/core/ScannerIO.bun.js ── enumeration, fatal UTF-8, routing │
src/containers/ (zip · ooxml · pdf · hidden-style) ├─► scanFile()
src/core/Settings.bun.js ── config.ncl (Ni subset) / .json │
▼
┌────────────── scripts/empty-lint-ci.js (stable CI gate)
├────────────── src/cli/Main.bun.js (audit · show · plan ·
│ approve · apply · verify · tui)
└────────────── src/tui/ (interactive UI)
│
Repair state machine (src/core/Repair.bun.js) ◄───┘
audit → propose → approve → apply-to-copy → verify → refuse
│
schemas/ (diagnostic · repair-plan · provenance · rescan)
scripts/sync-downstream.js ─► userscript + VS Code extension
Every record the product emits is versioned JSON validated in-repo against the shipped schemas. The dogfood gate plants positive and negative controls before trusting the repository result, never suppresses scanner errors, and never modifies files.
| Capability | Status | Evidence or remaining work |
|---|---|---|
Basic code-point detector (legacy minimum) |
Implemented |
AffineScript type-check plus its Bun test suite |
Expanded detector catalogue (bidi, tags, VS, fillers, controls, zalgo) |
Implemented, tested |
|
Settings (config.ncl active + validated) |
Implemented, tested |
|
Safe repair pipeline (plan/approve/apply-to-copy/verify/refuse + patch |
Implemented, tested |
|
Machine-readable schemas |
Implemented, tested |
|
TUI (scan/filter/inspect/plan/approve/apply-to-copy) |
Implemented; IO shell thin |
Pure model + renderer + key decoder tested in |
Container detectors (OOXML/PDF/spreadsheet/hidden styles) |
Implemented, tested |
|
Repository audit gate (stable entry point, exit codes) |
Implemented |
Seven+ end-to-end controls in |
Downstream drift control (userscript, VS Code extension) |
Implemented, gated |
|
IETF incident acceptance fixture |
Implemented, tested |
|
Expanded catalogue in AffineScript |
Not implemented |
Upstream compiler work keeps the reviewed JS engine as the interim source |
Idris-backed scanner/repair proof |
Not demonstrated |
Proof obligations must be connected to the active implementation |
Computed-style / JS-driven hidden-text analysis |
Not implemented |
Markup detector is a documented pattern detector only |
Suite integration (Spline, Cleave, ForthWall) |
Proposed / proposal-only |
Groove manifest records the honest statuses; no duplicate engine created |
No overall completion percentage is published: combining implemented and aspirational components into one percentage would imply evidence that does not exist.