You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SCRIP-COMPARE-004: reader-side local-only comparison with Python contract parity #280
Provide a working browser-based local JSON comparison reachable from the canonical Reader without uploads, using the same versioned contract as #279. Do not fork a second incompatible analyzer.
Reusable pending artifacts
Scriptorium-Reader-Private-Browser-Compare-20261021.zip, Scriptorium-Browser-Number-Fidelity-20261021.zip, Scriptorium-Reader-Consolidated-RC-20261021.zip, Scriptorium-Private-Browser-Comparison-20261018.zip. These are local handoffs; prior local test counts are not canonical CI.
Acceptance
Explicit upload controls for two local Reader JSON files; no remote network requests/telemetry or source prose retention; imports remain in-page.
Reject oversized, duplicate-key, non-finite, impossible-count and algorithm/unit/status-tampered JSON, including lexical 3.0/3e0 on integer counters when canonical Python requires exact integers.
Exact table with 29 metric IDs, readable labels, units and missing/incomparable states; accessible keyboard/focus/mobile flows and defensible errors/empty states.
JSON/CSV export with formula-neutralized untrusted text; 234-case differential fixture re-run against installed Python CLI and explicit cross-runtime equality.
The existing branch scrip-compare-004-browser currently has no browser-comparator implementation: it matches the 3-commit Reader 0.4 content of PR #288. Do not treat the branch name as delivery evidence.
Local handoff: Scriptorium_Browser_Compare_Decimal_Parity_Fix_20261022.zip (SHA-256 472bb4f7f9f3724820e5ec2b1f55c13b81d4310097856ccde13378db9a662297), incorporating the earlier async race and strict numeric-lexeme fixes. Previous local JS checks reported 24/24 PASS; these are not canonical installed-Reader contract parity or 234-case differential acceptance. Revalidate all files against the current 29-metric Python contract and current head before integration.
Still required: reject lexical integer spoofs and invalid metrics, verify exact cross-runtime exports on real Analyzer-produced JSON with installed Reader, real desktop/mobile/keyboard flow, no network/cookies, canonical site build and CI. Direct browser route remains VISUAL_NOT_VERIFIED. Do not close #280 on preview-only evidence; FantLab M2 stays 0/5.
Activity