Skip to content

feat(playground): speculative vocalization tier (2.1 quality, int4 drafts) - #184

Merged
ronaldtse merged 1 commit into
mainfrom
feat/playground-speculative
Sep 11, 2026
Merged

ronaldtse merged 1 commit into
mainfrom
feat/playground-speculative

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Adds the speculative vocalization tier to the playground - the runtime lever measured in the DeepSeek-V4.1-Flash learnings pass (rababa TODO.impl/01).

What users get. A third vocalization option: "Arabic 2.1 + speculative" - ara-diac-layerdrop-1.0-int4 (95 MB) drafts, ara-diac-small-2.1-int8 (264 MB) verifies every block in one pass. Same 2.1 outputs (greedy verification is output-preserving), at ~9x fewer verifier decode invocations: measured acceptance 0.9886, 8.85 tokens per verifier pass (interscript-ml RESULTS.md, 2026-09-11). After each run the status line reports the acceptance readout.

Dependency. interscript ^5.4.0 (published; exports imf.SpeculativeModel).

Verification.

  • Live browser e2e (SPEC_E2E=1, fresh profile): both models download through the assets proxy, vocalized output carries haraqat, acceptance readout surfaces - 3.6 min.
  • The pre-existing deterministic playground spec caught a null-dereference in the new stats readout when vocalization is off; fixed and both specs green against the dev server.
  • vitest 255/255, astro check 0 errors, lint clean.

Incidentals (pre-existing red on main, fixed here): stale CLI-name test expectations (interscript-ts vs the shipped interscript CLI), unused frontmatter var, unused SITE constant, playground.astro added to .prettierignore per the hand-wrapped-prose convention.

…afts)

Third vocalization option: ara-diac-layerdrop-1.0-int4 drafts,
ara-diac-small-2.1-int8 verifies in one pass per block - measured
acceptance 0.9886 at 8.85 tokens per verifier pass (RESULTS.md
2026-09-11), output-preserving by construction. Status line reports
the acceptance after each run. Requires interscript ^5.4.0
(SpeculativeModel). Live e2e (SPEC_E2E=1): downloads both models in a
fresh profile, vocalizes, and shows the readout (1.6m).

Also: stale CLI-name test expectations (interscript-ts -> interscript,
pre-existing red on main), dead frontmatter var + unused SITE (lint),
playground.astro added to .prettierignore (hand-wrapped prose).
@ronaldtse
ronaldtse merged commit 6eae557 into main Sep 11, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant