LearnNewsExamplesServices
Frontmatter
id16376
titleActivate the perspectives/undo-redo scene in the flagship screenplay
stateClosed
labels
enhancementai
assigneesneo-fable
createdAtAug 2, 2026, 5:59 PM
updatedAtAug 2, 2026, 6:36 PM
githubUrlhttps://github.com/neomjs/neo/issues/16376
authorneo-fable
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtAug 2, 2026, 6:36 PM

Activate the perspectives/undo-redo scene in the flagship screenplay

Closed Backlog/active-chunk-12 enhancementai
neo-fable
neo-fable commented on Aug 2, 2026, 5:59 PM

Context

The flagship screenplay (apps/workstation/tour/fiveBeatFilm.mjs, merged via PR #16328) authored scene 7 (film-perspectives-undo, 16s) as conditional — "activates when the workstation perspective + transaction wiring lands." That wiring has now fully landed: dock-mutation undo/redo (#16316, merged) and the workstation perspectiveStore (#16342, merged), with the R2 witness matrix's scene-7 cells flipped to provable-at-head by their author at merge. The R3⇄R2 reconciliation on the epic pre-declared this exact edit as the activation contract, gated on that merge — the gate is open.

Live latest-open sweep: latest 20 open issues checked at 2026-08-02T15:58Z, no equivalent. A2A herd-window sweep: no overlapping claim.

The Problem

The screenplay is the film's NARRATIVE authority (show-order, pacing budget, narration draft). While scene 7 carries the conditional key, every consumer contract says to skip it — so the film plans a 90s core that no longer reflects what the app provably does. Both scene-7 halves now hold witnesses at head: store-backed capture → list → disrupt → exact-baseline restore (WorkstationPerspectivesNL.spec.mjs, plus an independent second-host repro receipted on its PR), and the dock-transaction undo/redo round-trip (the merged transaction witnesses + a live workstation holder receipt). Keeping the scene conditional understates the product on the film's own terms.

The Architectural Reality

  • Authority chain (stated in the file header): the FiveBeat spec is the WITNESS authority; fiveBeatFilm.mjs is the NARRATIVE authority; the recorded transcript derives from the cut (D-011).
  • Consumer blast radius: ZERO — git grep shows no code consumer of fiveBeatFilmScript or film-perspectives-undo outside the file itself; the conditional contract exists for future consumers. The edit is data + header prose only.
  • Pacing math changes class: the current header documents core = 90s AT the envelope floor with ZERO slack (the prior gating fact for budget edits). With scene 7 core, scenes sum to 106s inside the 90–150s envelope — the floor no longer binds scene-for-scene; there is 16s of slack above it. The header MUST restate this honestly (the zero-slack sentence becomes false at activation).
  • The header's claim-discipline block maps each hard claim to its witness; scene 7's claims (perspective restore fidelity, undo/redo round-trip) must join that map, in behavioral text.

The Fix

One file, apps/workstation/tour/fiveBeatFilm.mjs:

  1. Remove the conditional key from film-perspectives-undo (scene, narration, and 16s budget stay as authored).
  2. Restate the header pacing paragraph: scenes sum to 106s; the 90s floor is no longer scene-for-scene binding (16s slack); budget edits trade within 106s or cut toward the floor.
  3. Update the scene-list contract sentence (conditional scenes are skipped by consumers) to record that the list currently carries none — the perspective and transaction wiring has landed.
  4. Extend the claim-discipline block with the two scene-7 rows, naming their witness classes in behavioral text (store-backed capture/list/restore with exact-baseline document equality; dock-mutation undo/redo round-trip).

Acceptance Criteria

  • conditional key absent from film-perspectives-undo; scene id, narration, beats, and targetSeconds: 16 unchanged.
  • Header arithmetic accurate post-edit: 12+14+14+10+16+14+16+10 = 106s stated as the scene sum, inside the 90–150s envelope, with the floor-slack relationship restated honestly (no stale zero-slack sentence).
  • Claim-discipline block carries the two scene-7 claim→witness rows in behavioral text (no ticket/PR references inside file comments — archaeology guard).
  • Zero runtime surface touched: the grep-proof of no code consumers is cited in the PR body.
  • PR body carries the standard lint anchors; commit class capability (feat).

Out of Scope

  • The N-window density beat — stays an edit-layer cut-in per the header, deliberately outside the scene list.
  • Narration re-timing or caption re-recording — D-011 binds those to the captured cut, not to this edit.
  • Any spec change — the witnesses exist and are merged; this edit consumes them.

Avoided Traps

  • Rewriting narration while touching the file — the single-narrator baseline and the operator-ears flip option are settled decisions; this edit activates, it does not re-author.
  • Leaving the zero-slack sentence in place — it was the gating fact for budget edits and becomes FALSE at activation; a stale gating fact is worse than none.
  • Citing tickets/PRs inside the file's comments — behavioral text only (the repo's archaeology guard); the PR body carries the reference trail.

Related

  • #15252 — the flagship film epic (this ticket is the scene-7 activation leaf its R3⇄R2 reconciliation pre-declared)
  • #16342 / #16316 — the wiring whose merge opened this gate
  • PR #16328 — the screenplay this edits

Origin Session ID: 45e84514-6c80-4239-97db-4551cc690137

Retrieval Hint: "scene seven activation flagship screenplay conditional 106s"

tobiu referenced in commit f83fb96 - "feat(workstation): promote scene seven to the screenplay core (#16376) (#16378)" on Aug 2, 2026, 6:36 PM
tobiu closed this issue on Aug 2, 2026, 6:36 PM