Repository navigation
2026 10 07 reader control and replay
What M2 of the Composer-first roadmap asks of a composed explanation, and where each line now stands in the embed (the stage: Play/Pause and Settings). Built and pinned by tests; the real-host witness waits for the whole product to be provisionally ready (owner, 2026-10-07), so LIVE-005 is in review, not done.
| M2 asks | Where it stands | Held by |
|---|---|---|
| Begin, pause, resume and Stop are predictable; Stop cancels pending speech and future work | Begin is the poster's Play. Stop folds into Pause (the voice held at once) and the host's ui/resource-teardown, which stops the runtime: every timer, voice and connection released. Late exits and teardown during a slow start build nothing |
runtime.test.js "stopping"; LiveHost.test.js "does not recreate playback after teardown during delayed runtime startup", the late exit-callback cases; e2e/live-mcp.spec.js "the host's ping is answered, and its request to tear down is answered and ends the reading" |
| Keep the useful local controls; say which are session preferences and which durable intent | Still imagery and Text size are the reader's, kept in the frame's own settings; Intensity and Theme are for this reading only (the Current's theme is the author's) | the embed stage decision, §Settings |
| Place is kept through pause, resume and navigation; late callbacks never restart stopped or replaced playback | A pause, a hidden page or a closed card silences the voice and remembers the phrase on screen; on Play the voice and the words take that phrase up together. Nothing pauses the browser's shared speech engine, so a card taken away while held leaves no silence behind (#484). A closed run ignores its voice's and Player's late reports |
dive-voice.test.js "held and taken up again without a Dive"; voices/browser.test.js "the speech engine, which every page in the browser shares"; the runtime's run.closed guards |
| Controls work at phone widths, by keyboard, and with reduced motion | Both objects stay whole in view from 420 px wide in a 481 px frame; every Settings row is a native control; the poster's Play and Play again hand the focus to the object that replaces them, so a keyboard reader goes Enter, Space, Tab, Escape without losing their place; the system's reduced motion holds the imagery still mid-reading |
e2e/live-mcp.spec.js "from the keyboard alone…", "in a short frame both objects stay whole in view…", "under reduced motion…", "a maximum valid CJK title keeps Play reachable in phone-sized host frames"; stage-controls.test.js focus cases |
| Save or export the admitted explanation through the interchange/Vault machinery, and verify replay | Not in the embed (decided here, reversible): the card shows two controls by the owner's direction, and a Vault inside ChatGPT's partitioned frame storage would be core state where the platform asks for none. Replay is the host's: a reload redelivers the result and shows the poster again with no autoplay, and Play again rebuilds the reading from the admitted answer |
e2e/live-mcp.spec.js "reopening the nested frame reinitializes and plays the host result from its first passage"; LiveHost.test.js "on Play again, stops the finished runtime, builds a new one…" |
The real host: keyboard and Play again in ChatGPT, a phone, and the voice through a hidden tab and a closed card on a release that includes #484 (the 2026-10-07 witness found the defects #484 fixes). If the owner wants a saved copy of an answer outside ChatGPT, that is a standalone /live feature, not the card's.
Published from docs/product/discussions/2026-10-07-reader-control-and-replay.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
- 2026-10-16-mystery-school-complete-library
- 2026-10-13-mystery-school-plan