Release · v3.1.0
Rebuild the interactive explainer to faithfully…
feat(v3): rebuild the interactive explainer to faithfully show EDCR/f-EDR
Details
The old canvas told the wrong story: a GIVEN hierarchy constraint (Beagle ⊑ Dog) plus 'abductive recovery'. The CIKM '24 paper's whole contribution is the opposite — no prior constraints: it LEARNS error detection rules from the model's own labeled mistakes, uses them to flag errors on new inputs, and reads the hierarchy back out of the learned conditions. (Audited against the retrieved full texts of arXiv:2407.15192 and arXiv:2308.14250, plus the PyEDCR README.) The new widget runs the actual algorithm, not a script: - edcr-core.ts implements RatioDetRuleLearn (Algorithm 1 of the paper: greedy marginal BOD/POS selection, error-F1 prefix pick) plus detection and violating-set constraint recovery, on an embedded mini-dataset using the paper's real Military-Vehicles classes (T-72/T-90 ⊑ Tank, 2S19-MSTA/BM-30/TOS-1 ⊑ SPA, BTR-70/80 ⊑ BTR). - Five phases: Predict → Learn rules → Detect → Recover → Retrain, with live counts in the captions and the paper's real numbers in the finale (fine acc 54.35→62.43, inconsistencies 7.77→5.37 on Military Vehicles). - 'Flip a label' probe (button or clicking a card in the Learn phase) corrupts the training split and re-runs the learner live — the ruleset visibly changes, proving nothing is canned. Reset restores the paper data. - Honest limits shown: a consistent fine-grain error that provably no cross-granularity rule can flag is annotated as such, and weak rules below the F1 floor are dropped (the test-suite pins this behaviour). - Hover any sample card for the live rule evaluation; phase chips + arrow keys for random access; auto-advance stops at first interaction. - frontend/client/tests/edcr-core.test.mjs: 22 tests — hand-computed POS/BOD/FP, learned-rule golden set, greedy-vs-brute-force optimality, 100%-precision recovery, GT-blind detection, determinism, edge cases. Design bar informed by a distill.pub/PAIR/Ciechanowski pattern review (real data, real mechanism, probe-ability, honest failure, autoplay only until first interaction).
Files changed (6)
| frontend/client/tests/edcr-core.test.mjs | +218 | −0 |
| frontend/client/ts/effects/edcr-core.ts | — | — |
| frontend/client/ts/effects/neurosymbolic-explainer.ts | +559 | −125 |
| frontend/jekyll/_includes/v3/explainer.html | +30 | −19 |
| frontend/jekyll/_layouts/v3.html | +1 | −0 |
| frontend/jekyll/_sass/v3/_explainer.scss | +49 | −4 |