Home / Ops / The Locked Demo

Affirmology Demo Overhaul: Execution Plan and Status

Updated Jun 17, 2026 · Affirmology_DemoOverhaul_ExecutionPlan_v1.md

Summary. One page to resume from the moment Claude Code finishes the cosmos film. Pulls the open items from AffirmologyPROJECTSTATE.md, AffirmologySessionHandoffVideoBuildv1.md, and AffirmologyDemoPunchListv1.md into one ordered, lane-tagged checklist. No em dashes, pe

Affirmology Demo Overhaul: Execution Plan and Status

One page to resume from the moment Claude Code finishes the cosmos film. Pulls the open items from Affirmology_PROJECT_STATE.md, Affirmology_SessionHandoff_VideoBuild_v1.md, and Affirmology_DemoPunchList_v1.md into one ordered, lane-tagged checklist. No em dashes, per house rule.

Last assembled: 2026-06-17 (Cowork lane).


1. Where it stands right now

2. The five moving pieces in the flow

The visitor moves through four screens and (proposed) a fifth ambient layer. Here is each piece, its status, and which lane owns it.

  1. PRE-FORM opening (super short). The cosmos-direction intro before the birth-info form on index.html. Status: NOT built (handoff task 4, "second version"). Lane: Claude Code builds, Cowork reviews and refines copy.
  2. LOADING FILM (main video, while audio renders). The B2 cosmos primer. Status: Claude Code building now. Lane: Claude Code (it can self-render and screenshot to verify; we cannot in the sandbox). Cowork reviews and picks variations.
  3. PERSONAL AUDIO PLAYER (the listen). Status: works. Open idea: a calm ambient animation during listening (see section 5). Lane: Cowork can prototype the ambient layer as a self-contained file; Claude Code wires it in.
  4. POST-AUDIO display + report (result.html). Status: PARTLY BROKEN (see section 3). Lane: Claude Code (touches the backend report generator and Cloudflare).
  5. POST-AUDIO SHORT VIDEO (whatsinstore.html v2 to v3). Status: needs the v2 VO swap and the new lines (see section 4). Lane: Cowork can drive the edit directly in the file; Claude Code redeploys.

3. The post-audio display, what is broken (the notes you asked for)

From handoff task 3 and PROJECT_STATE section 5. Four distinct issues on affirmology-site/result.html:

a. SAFARI SCROLL STALL. In the delivered state the report cannot be scrolled to. The page does not scroll. Fix: audit the .overlay / fixed layers and the body so the page scrolls once the result is shown. This is the most user-visible break. Lane: Claude Code (or a Cowork CSS pass on the static file).

b. THIN BLUEPRINT. The reveal is missing the Rising sign, more Gene Keys, and a few intro sentences above the blueprint. The live blueprint comes from the backend /api/status blueprint field via renderBlueprint(bp) (the hardcoded renderReport() is only the mock). So Rising and the extra keys need the engine's report generator on the Mac to emit them. Lane: Claude Code (backend report generator).

c. DOWNLOAD BUTTONS POINT AT MOCKS. The buttons must open the real audio_url and pdf_url from /api/status. Today download-report writes a mock txt blob. Wire it to results.pdf_url, and confirm the audio button uses the real audio_url. Lane: Claude Code (small front-end fix).

d. CONSISTENCY CHECK. Compare the on-screen blueprint vs the PDF vs the original baseline so they agree (flagged in the punch list). Lane: Cowork can run the visual compare once the three exist.

4. The post-audio short video (whatsinstore v2 to v3)

Swap the new VO and land the new lines. Full before/after is in Affirmology_WebVideo_Changes_BeforeAfter_v1.md. Concretely:

Lane: Cowork can do this edit directly in the shared whatsinstore.html; Claude Code redeploys.

5. Proposal: an animation while they listen

You asked what if something plays during the audio, not too distracting. My recommendation: yes, but make it ambient, not kinetic. The rules that keep it from competing with the audio:

Cheapest build: reuse the cosmos film's Three.js scene at very low intensity with the camera nearly still, or a lightweight standalone canvas if we want it to run forever without heating the device. Either way it is a self-contained file Cowork can prototype and hand to Claude Code to wire under the player. Call it the sixth experience.

6. Email (the pieces are set, one switch is off)

From PROJECT_STATE section 5. The architecture is built and the domain is ready. What remains:

Lane: Claude Code / Jeff (Cloudflare secrets). This is the single switch that turns delivery on.

7. Ordered execution checklist (when Claude Code finishes the film)

  1. Review the B2 cosmos film together, pick variations, list refinements. (Cowork watches, Jeff is the eyes.)
  2. Land the post-audio display fixes a through d in section 3, Safari scroll first. (Claude Code)
  3. Turn email on: add the two Resend secrets, test one real send. (Jeff / Claude Code)
  4. Ship whatsinstore v3 with the v2 VO and new lines. (Cowork edits, Claude Code deploys)
  5. Build the pre-form opening in the cosmos direction. (Claude Code, Cowork copy)
  6. Prototype the ambient listening layer as a self-contained file, then wire it under the player. (Cowork prototype, Claude Code wire)
  7. Full run-through on the laptop with server + funnel up: submit the form, watch the whole flow, confirm audio, report, downloads, and email all land. (Jeff)

8. Lane split and sync rule