Repository navigation
JEV VARIANCE
Jev makes one Choice decision per uncached reading request. The Worker supplies the released book catalog, the reader's intent, and a rotating experience hint. Jev returns only choice IDs. The Worker expands them into the Chamber JSON; it never asks Jev to write reading text or CSS.
For each intent and catalog revision, an atomic Redis counter advances the turn. The counter key is an HMAC, so the raw intent is absent from Redis keys. One 1-hour decision cache slot serves a specific intent. Eight slots rotate only for open discovery requests, where the reader has left the choice open.
When the reader explicitly asks to discover something new, adjacent turns offer disjoint halves of the released catalog. Jev chooses within the offered half, so adjacent discovery requests cannot return the same book while the catalog stays fixed. This includes "surprise me with..." requests that leave the work unnamed; requests that name a book or author keep the full catalog. Rotating visual directions encourage different Chamber settings when the reader leaves those settings open. Explicit preferences always take priority.
The hard guarantee is book diversity for adjacent broad discovery turns. Jev may choose the same settings, or the same book for a specific request, when that best honors the reader's intent. The harness adds no second model call.
The same Jev request also chooses a visual arc: one, two, or three phases. For
two phases, Jev chooses a change at 30%, 50%, or 70% of the reading. A three
phase arc changes at 30% and 70%. An explicit visual timing request takes
priority over Jev's independent arc answers. Jev chooses a procedural visual
engine, text-and-background color theme, and soundscape for each phase from
existing Chamber options.
The Worker turns those bounded choices into config.visualProgram and
config.audioProgram, ordered arrays of source-progress segments. It resolves
repeated engine picks into distinct adjacent phases. The Chamber follows both
programs with its existing schedulers, keeping changes aligned with reading
progress and continuous rewind. Text selection, pace, and chunking remain one
coherent reading plan. An explicit no-visual request stays dark.
This follows TypeSafe's Choice and fan-out contracts: ask independent bounded questions in one request, then assemble the resulting choices into a validated plan in application code. The model never writes executable code, CSS, or the reading text. There is no streaming decision loop or per-phase model call. See https://docs.typesafe.ai/primitives/choice and https://docs.typesafe.ai/patterns/fan-out.
Published from docs/specs/JEV-VARIANCE.md. Edits made here are overwritten on the next push to main.
Start here
- COMPOSER-FIRST-ROADMAP
- VISION
- PROJECT-KNOWLEDGE
- ARCHITECTURE
- SYSTEM-DESIGN-REVIEW-2026-08-22
- ACCOUNT-SAVES
- RELEASING
- PLUS-CUSTOMER-LIFECYCLE
- AGENTS
Release
Pilot
- LIVE-CURRENT
- LIVE-HANDOFF
- LIVE-MCP
- DIRECTORY-SCREENSHOTS
- INSPECTOR-RUN-2026-10-10
- CLAUDE-RUN-2026-10-10
- CREATIVE-CONTROL-EVALS
- PERCEPTION-EVAL
- SOUND-LEVELS
- WORDING
- RUN-2026-10-08
- COMPOSER-INSTRUMENTS
- CHATGPT-DEMO
- EMBED-WITNESS
- RISE-GATE0
- CHATGPT-HOST-2026-10-04
- LIVE-002-HOST-2026-10-05
- EMBED-STAGE-HOST-2026-10-07
- RELEASE-GATES-2026-10-07
- EMBED-SAFETY-2026-10-05
- LIVE-GEMINI
- LIVE-EVALUATION
- LIVE-RED-TEAM
- CURRENT-CONSOLIDATION
- RISE-CHANGES
The Archive - texts and their editing
- ARCHIVE-CANON-SPEC
- ARCHIVE-CLEANSING-SPEC
- CORPUS-REVIEWER-PROMPT
- TYPESETTING-CANON
- PHRASE-CHUNKING-STUDY
- CHUNKER-AWARENESS-STUDY
- LIBRARY-SPEC
- SOL-PD-ACQUISITIONS-DOSSIER-LITERATURE-2026-07-28
Authoring - scores, rooms, and rendering
- EXPERIENCE-PROGRAM-SPEC
- LIVE-CURRENT-EVENTS-V1
- RISE-CURRENT-V1-SLICE
- RISE-SDK
- SCRIPTORIUM-SPEC
- WORKSHOP-COMPOSITION-STUDIO-SPEC
- AGENT-COMPOSITION-AND-RENDER-SPEC
- NARRATION-LANE-SPEC
- RECITATION-SPEC
- SCRIPTORIUM-STRENGTHENING-SPEC
Reading surfaces
- PAGE-MODE-SPEC
- RHYTHMIC-VISUAL-PRESENCE-SPEC
- LATERAL-TRAVERSAL-SPEC
- CONTINUOUS-FIELD-SPEC
- JEV-VARIANCE
- INVOCATION-SKINS
- PHASE-2-SAFETY-SPEC
- SPATIAL-CHAMBER-SPEC
- Premium_Mobile_Chamber
Imagery - what may be shown, and on whose authority
- MUSEUM-ATLAS
- SOURCE-CURATION-SPEC
- SOURCE-EXPANSION-SPEC
- ATRIUM-IMAGERY-SPEC
- PERICOPE-IMAGERY-SPEC
- icon-museum-request-draft
- TEXT-ATTUNED-IMAGERY-SPEC
The Chapel
Direction and unbuilt work
Affect and the Emotions room
Reading decision service and retired gate
Product direction and team tracking
- README
- READER-DIRECTION
- CONSOLIDATED-READER
- COMPOSER-FIRST-ROADMAP
- TRACKER-DESIGN
- 2026-10-03-direction-decisions
- 2026-10-04-composer-decision
- 2026-10-05-consolidated-reader-decisions
- 2026-10-05-embed-stage-decision
- 2026-10-06-score-speech-service-roadmap
- 2026-10-07-current-with-a-look
- 2026-10-07-reader-control-and-replay
- 2026-10-05-one-colour-vocabulary-design
- 2026-10-07-chrome-follows-theme
- 2026-10-07-gallery-follows-with-works
- 2026-10-05-canonical-home-design
- 2026-10-04-reader-evidence
- 2026-10-original-performance-roadmap
- 2026-10-08-voice-hardening-2-findings
- 2026-10-09-feelings-sounds-parked
- 2026-10-10-connector-directory-readiness
- 2026-10-10-connector-submission-packet