diff --git a/docs/implementation-plan.md b/docs/implementation-plan.md index c4c2b10..19438e0 100644 --- a/docs/implementation-plan.md +++ b/docs/implementation-plan.md @@ -1,6 +1,6 @@ # ProChat website implementation plan -Status: implementation, validation evidence, merge, deployment, live route checks, and safe cleanup of fully-contained branches/worktrees are complete. Feature commit `f09f92aab3327b3672df0d593e50040171cc1295` was merged to production as `f63dd3374c2acd4ecfbc837bfe899569eb4a3a23`; workflow [36573913919](https://github.com/prochattools/prochat/actions/runs/36573913919) succeeded and live `/api/version` continues to report that runtime revision. Closeout documentation was merged in PR #6 without a deployment; the Mastermind source worktree was then fast-forwarded to current `origin/main`. Fresh local browser QA is approval-gated on its one-time gstack utility build, and Mastermind's registered branch metadata and persisted index remain stale with no supported refresh/reindex operation exposed. These are the remaining closeout blockers. +Status: **website milestone complete**. Implementation, validation evidence, merge, deployment, live route checks, current-main source verification, fresh local browser QA, and safe cleanup of fully-contained branches/worktrees are complete. Feature commit `f09f92aab3327b3672df0d593e50040171cc1295` and renderer-sampling correction PR #8 are deployed as runtime `59a9c61550ca37586091c43f146cfd83023a455c`; main workflow [36602012728](https://github.com/prochattools/prochat/actions/runs/36602012728) succeeded and live `/api/version` matched `origin/main` at deployment. The closeout change is documentation-only, so `main` advances without a runtime redeployment. The correction raises sampling to 24fps / up to 240 frames at 384px and hands off only a complete cache. Fresh local Playwright QA against the merged implementation passed across eight public routes and seven target widths, including reduced motion, responsive navigation/form, and scroll/reversal checks. Mastermind source metadata/index remain stale; a supported dashboard Reindex endpoint exists but the configured local API is unavailable and no Mastermind connector/tool is exposed in this session. This is separate infrastructure follow-up, not a website-closeout blocker. Last reviewed: 2026-09-29. @@ -8,19 +8,19 @@ Last reviewed: 2026-09-29. Canonical public routes: `/`, `/evermind`, `/nevermind`, `/mastermind`, `/docs`, `/contact`, `/privacy`, and `/terms`. Product truth is governed by Mind at `mind/organizations/prochat/brand/`; the current identities are Evermind, Nevermind, and Mastermind. ProChat Memory for QA is paused/historical. -The first four routes use a shared cinematic implementation: `HomeV2` or `CinematicProductFunnel` supplies page data to `CinematicMarketingPage`; the shared page uses `CinematicMarketingShell`, one final cinematic reference stylesheet, and `ScrollVideoBackground`. The renderer samples a 24fps source into at most 120 cached frames (12fps) at up to 540px width, blends adjacent available frames, draws candidates to an offscreen staging canvas, retains the last good visible frame on failure, and stops its RAF loop when settled. Route content must not reintroduce extra headers, a footer, opaque SaaS cards, or competing route-level overrides. +The first four routes use a shared cinematic implementation: `HomeV2` or `CinematicProductFunnel` supplies page data to `CinematicMarketingPage`; the shared page uses `CinematicMarketingShell`, one final cinematic reference stylesheet, and `ScrollVideoBackground`. The renderer samples the ~10.04s, 24fps source into at most 240 cached frames at up to 384px width (previously 120 frames/~12fps at 540px), blends adjacent available frames, draws candidates to an offscreen staging canvas, retains the last good visible frame on failure, and stops its RAF loop when settled. This keeps the approximate cached-pixel budget while doubling temporal density; handoff waits for a complete cache. Route content must not reintroduce extra headers, a footer, opaque SaaS cards, or competing route-level overrides. Contact, Docs, Privacy, and Terms use the shared static utility shell: one transparent full-width nav, atmospheric poster treatment, Golos display headings, selective translucent glass, and no footer. Contact form handling and legal body copy are preserved. Docs uses current Evermind/Nevermind/Mastermind terminology and avoids animated video/canvas content behind reading material. -## Active work gates +## Completed implementation and validation gates ### A. Renderer and motion - Root cause reproduced against deployed `c6731140191791e407a2fb6eb27ac96711883e32`: the previous renderer cleared/resized the visible canvas before drawing a candidate and then swallowed draw errors, so a failed candidate could leave that visible canvas transparent. In a production-page browser session, three controlled draw failures took the visible sample alpha sum from 85,680 to 0 while CSS opacity remained 1. This was an injected browser-only failure (not a server mutation); ordinary scroll alone did not reproduce it deterministically. The candidate stages frames offscreen and presents only successful draws; its regression test confirms the last-good pixel checksum is unchanged when a candidate draw fails. -- The old cache capped sampling at 72 frames with `duration * 10` (about 7.2 frames/second for the 10.04-second asset). The current renderer samples up to 120 frames at 12 frames/second while reducing per-frame width from 720px to 540px, keeping the raw cached-pixel budget approximately constant and improving temporal density. It blends neighboring available frames rather than rounding progress to one frame index. +- The historical cache capped sampling at 72 frames with `duration * 10` (about 7.2 frames/second for the 10.04-second asset). The later 120-frame/~12fps cache still visibly quantized slow scroll. Current production samples up to 240 frames at 24 frames/second and limits each frame to 384px width, keeping the raw cached-pixel budget approximately constant while doubling temporal density. It blends neighboring available frames rather than rounding progress to one frame index; full-cache handoff avoids a sparse-to-complete cache transition mid-scroll. - Reproduce slow/fast forward and reverse scroll in a real H.264-capable browser. - Prove cache and bootstrap handoffs do not expose blank frames; stage candidate frames offscreen, retain the last good frame after draw failures, blend neighboring frames, and stop painting when settled. -- Keep temporal sampling at 12fps (120 frames for the current 10.04-second media) within a roughly constant raw bitmap pixel budget by limiting each frame to 540px width. +- Keep temporal sampling at 24fps (up to 240 frames for the current ~10.04-second media) within a roughly constant raw bitmap pixel budget by limiting each frame to 384px width. - Confirm the requested background demonstrably changes with scroll and chapter activation follows reading order. - Under reduced motion, freeze to one stable media/poster layer, disable scrubbing, preserve all content/links, and retain geometry. @@ -34,11 +34,11 @@ Contact, Docs, Privacy, and Terms use the shared static utility shell: one trans LiquidGlass evaluation (2026-09-29, local Chrome 153, 1440×900): the prototype used the real page's scroll-rendered canvas, copied/invalidation only when that canvas repainted, and tested the hero context card and Section Two capability panel independently. Baseline page RAF cadence was 16.62ms average / 16.8ms p95; context-panel prototype was 16.48ms / 16.8ms and capability-panel prototype 16.50ms / 16.8ms. LiquidGlass reported 61fps and 60fps respectively; initialization took 66.0ms and 65.8ms, with 96 changed source frames during each measured scroll sequence and no console errors. This does not reproduce the earlier claimed 11–15fps; that earlier figure is superseded by this instrumented run. Visual inspection rejected adoption: the package added an inset second glass surface/seam to both existing CSS panels and did not improve the composition enough to justify another WebGL context and frame-copy/invalidation path. Keep the existing CSS fallback and add no package dependency. Screenshots: `/tmp/prochat-liquidglass-real-context-measured.png` and `/tmp/prochat-liquidglass-real-capability-measured.png`. -Local Chrome 153 recorded 89 visible canvas paints in 1.47s (59.99fps), with 87 distinct sampled outputs and a 17.6ms longest paint gap. A four-route run exercised slow and rapid down/up movement plus three additional reversal cycles per route; each route produced over 500 distinct sampled outputs, remained in the 120-frame cache state, had no transparent visible-canvas samples, and logged no browser errors. The strengthened focused Playwright suite passed 10/10 in system Chrome with H.264 enabled. Bundled CI Chromium skips only the H.264-specific fine-scroll case because that binary has no decoder; bootstrap, continuity, and reduced-motion coverage remain active there. +The pre-correction local Chrome 153 diagnostic recorded 89 visible canvas paints in 1.47s (59.99fps), with 87 distinct sampled outputs and a 17.6ms longest paint gap. Its four-route run exercised repeated forward/reverse movement in the then-120-frame cache. The merged 24fps correction was separately tested with local Playwright to full 240-frame readiness, reversal, reduced motion, and responsive checks. The focused suite passed in system Chrome with H.264 enabled. Bundled CI Chromium skips only the H.264-specific fine-scroll case because that binary has no decoder; bootstrap, continuity, and reduced-motion coverage remain active there. ### C. Validation and release -**Release complete (2026-09-29):** feature commit `f09f92aab3327b3672df0d593e50040171cc1295` was reviewed and merged through PR #3 to production `main` at `f63dd3374c2acd4ecfbc837bfe899569eb4a3a23`. Workflow [36573913919](https://github.com/prochattools/prochat/actions/runs/36573913919) succeeded: CI, docs-integrity, browser evidence, API security, `build-and-deploy`, and `Verify production deployment` passed. Production `/api/version` reports revision/image SHA `f63dd3374c2acd4ecfbc837bfe899569eb4a3a23`; live checks on 2026-09-29 returned HTTP 200 for `/`, `/evermind`, `/nevermind`, `/mastermind`, `/contact`, `/docs`, `/privacy`, `/terms`, and `/api/version`. PR #6 merged docs-only changes; its CI passed, deployment was skipped, and production SHA remained `f63dd337…`. Five fully-contained branches and two clean worktrees were removed; their test/evidence are preserved in `/Users/Office/.codex/attachments/prochat-cinematic-housekeeping-evidence-2026-09-29.tar.gz` (303 archive entries). Unique/unverified worktrees and branches were retained. The protected dirty checkout was verified unchanged. Mastermind's `prochat` worktree tracks current main cleanly, and the old blocked run is closed, but registered `branchName` and persisted index (`00b6473ac23124c45ffa421dd4bff01120dde47d`) remain stale. Fresh local browser QA still awaits approval for its one-time gstack utility build; GitHub browser evidence passed 108/108. No unsupported Mastermind-owned state was edited. +**Release complete (2026-09-29):** feature commit `f09f92aab3327b3672df0d593e50040171cc1295` was followed by renderer-correction PR #8 and deployed to production `main` at `59a9c61550ca37586091c43f146cfd83023a455c`. Main workflow [36602012728](https://github.com/prochattools/prochat/actions/runs/36602012728) succeeded: CI, docs-integrity, browser evidence, API security, `build-and-deploy`, and `Verify production deployment` passed. Production `/api/version` reports that exact revision; live checks returned HTTP 200 for all eight public routes and `/api/version`. The production renderer samples up to 240 frames at 24fps and hands off only the complete cache. Prior housekeeping evidence is preserved at `/Users/Office/.codex/attachments/prochat-cinematic-housekeeping-evidence-2026-09-29.tar.gz` (303 entries); unique-history worktrees/branches remain preserved. The protected dirty checkout was verified unchanged. The canonical Mastermind source path is `/Users/Office/Repos/prochattools/web/prochat-mastermind-runtime`; it tracks `origin/main` on `codex/prochat-main-runtime-2026-09`. The persisted index snapshot remains at `00b6473ac23124c45ffa421dd4bff01120dde47d`; the supported dashboard Reindex route is inaccessible here because the configured local API is unavailable and no Mastermind connector/tool is exposed. The old blocked ProChat run is confirmed completed. Local Playwright QA against the merged implementation passed full-cache readiness, route reversal, responsive, and reduced-motion checks; CI browser evidence passed. No Mastermind-owned state was edited. ## Known implementation/build debt @@ -50,4 +50,8 @@ In the release workflow's mobile-simulated canonical performance evidence (2026- ## Completion evidence -Release and cleanup evidence is recorded above. Before calling the closeout complete, obtain authorization for the one-time browser utility build, complete fresh browser QA, and use the supported Mastermind source-management operation to refresh registered branch metadata and the persisted index. Final audit must again confirm the protected checkout fingerprint and production revision. Then read this roadmap top-to-bottom and hand off its named next goal: investigate and bring canonical public-route LCP under 2.5 seconds without reducing cinematic fidelity. +On 2026-09-29, focused local Playwright QA against the merged implementation used repository-installed Playwright/Chromium without a browser utility build or global install. Across all eight routes and widths 1440, 1280, 1024, 768, 430, 390, and 360 CSS pixels, pages had one nav, one H1, zero footers, and no horizontal overflow. Display headings resolved through `--font-brand` (Golos Text). Core-route tests reached the full 240-frame cache, confirmed background changes during forward/reverse scrolling, and verified reduced-motion poster/content visibility while scrubbing was suppressed. Mobile navigation and Contact controls worked; there were no console/runtime errors. Production checks independently confirmed deployed routes, cache readiness, visible forward/reverse progression, and heading font family. + +The protected checkout `/Users/Office/Repos/prochattools/web/prochat` remained on `main` at `a28ab34eae077f1b2de6dfa072800c1398e4c815`, with five modified tracked files and diff fingerprint `88d4d903c3a89000ca394da41c3359ff51fa8904eb58611404655182afeb2345`. Production runtime is `59a9c61550ca37586091c43f146cfd83023a455c`; it matched `origin/main` at deployment, verified by workflow [36602012728](https://github.com/prochattools/prochat/actions/runs/36602012728). The closeout documentation merge will advance `main` without changing the deployed runtime. Mastermind index synchronization is handed off as separate infrastructure work; do not edit its owned state or keep the website milestone open for it. + +**PROCHAT WEBSITE QUALITY PASS / CINEMATIC SITE MILESTONE = COMPLETE.** The next website roadmap goal is to investigate and bring canonical public-route LCP under 2.5 seconds without reducing cinematic fidelity. Do not begin that goal in this closeout. diff --git a/docs/repo-status.md b/docs/repo-status.md index 378325d..1bf8204 100644 --- a/docs/repo-status.md +++ b/docs/repo-status.md @@ -1,6 +1,6 @@ # Repository status -Status: the cinematic and utility-page implementation is published and live-verified. Deployed runtime revision is `f63dd3374c2acd4ecfbc837bfe899569eb4a3a23`, confirmed by `/api/version`. The implementation was merged through PR #3; release-record corrections were merged through PRs #4, #5, and #6. Five fully-contained local/remote branches and two clean worktrees were safely removed after preserving their test evidence. The Mastermind source worktree now tracks current `origin/main`, but persisted `prochat` index/config metadata still names an older revision/branch. Fresh local browser QA awaits approval for its one-time utility build; the GitHub browser-evidence suite passed 108/108 in CI. +Status: **PROCHAT WEBSITE QUALITY PASS / CINEMATIC SITE MILESTONE = COMPLETE.** The cinematic and utility-page implementation is published and live-verified. Runtime `59a9c61550ca37586091c43f146cfd83023a455c` was confirmed by `/api/version` and matched `origin/main` at deployment. Main workflow [36602012728](https://github.com/prochattools/prochat/actions/runs/36602012728) passed deployment and production-revision verification. PR #8 corrected live-observed scroll quantization by increasing the cache from 120/~12fps to 240/24fps at reduced frame width and requiring a complete cache before handoff. All eight public routes returned HTTP 200. Fresh local Playwright QA passed across the eight public routes and seven target widths, including reduced motion and scroll reversal; CI browser evidence passed. The current closeout is documentation-only, so source `main` will advance while runtime remains at this revision. Mastermind source metadata/index remain stale; its supported dashboard Reindex route is unavailable from this session because the configured local API is down and no connector/tool is exposed. Track synchronization as separate infrastructure work, not a website defect. Last reviewed: 2026-09-29. @@ -12,7 +12,7 @@ Evermind and Nevermind are the connected Infinite Brain product system; Mastermi ## Runtime and visual architecture -- `/`, `/evermind`, `/nevermind`, `/mastermind`: shared cinematic template, scroll-driven media, two chapters, 80vh intentional spacer, one navigation, and no footer. The cache is sampled at 12fps (120 frames for the current 10.04s video) with each frame limited to 540px width; candidate rendering uses an offscreen staging canvas to preserve the last good visible frame. +- `/`, `/evermind`, `/nevermind`, `/mastermind`: shared cinematic template, scroll-driven media, two chapters, 80vh intentional spacer, one navigation, and no footer. The cache samples up to 24fps / 240 frames for the current ~10.04s video at 384px frame width, preserving an approximate pixel budget versus the previous 12fps / 120-frame / 540px cache. Candidate rendering uses an offscreen staging canvas to preserve the last good visible frame; handoff occurs only when the cache is complete. - `/contact`, `/docs`, `/privacy`, `/terms`: shared static utility shell with one transparent navigation and no footer. Contact submission remains functional; legal page body text is unchanged; Docs uses current product names and avoids animated background media. - Production integration: GitHub Actions `.github/workflows/main.yml` on `main`; production revision is checked through `/api/version`. @@ -22,10 +22,10 @@ Generated Docs/Nextra, retired checkout/licensing, Stripe runtime, MailerLite, G ## Validated release scope -Renderer continuity tests, responsive/reduced-motion and interaction evidence, measured LiquidGlass rejection, production build, 108 repository browser tests, and manual desktop/mobile review are recorded for this release. The strengthened 10-test focused quality suite passes in system Chrome with H.264 enabled. Chrome 153 locally presented 89 tiny-scroll canvas paints in 1.47s (59.99fps), with 87 distinct sampled outputs and a 17.6ms maximum gap; repeated slow/rapid reverse scrolling across all four routes produced no transparent visible-canvas samples or browser errors. The real-page LiquidGlass prototype measured 60–61 package FPS and no page RAF cadence regression, but was rejected on visual grounds because it introduced a visible inset/double-glass seam on both candidate panels without enough benefit; evidence is recorded in `docs/implementation-plan.md`. Release-workflow mobile-simulated LCP medians exceeded 2.5s on all eight routes: `/` 3.78s, `/evermind` 3.77s, `/nevermind` 3.77s, `/mastermind` 3.77s, `/docs` 4.90s, `/contact` 5.12s, `/privacy` 4.82s, and `/terms` 3.85s. The trace reported text LCP with FCP-to-LCP of 0ms, so the metric/simulation discrepancy should be investigated before optimization. This advisory evidence did not block CI or deployment; see `docs/roadmap.md` and `docs/implementation-plan.md`. The protected dirty checkout `/Users/Office/Repos/prochattools/web/prochat` is preservation-only and must remain byte-for-byte unchanged in its branch, HEAD, status, and tracked diff. +Renderer continuity tests, responsive/reduced-motion and interaction evidence, measured LiquidGlass rejection, production build, repository browser tests, and manual desktop/mobile review are recorded for this release. The focused QA suite passed in system Chrome with H.264 enabled, including the full 240-frame cache and repeated route reversals. Production verification confirmed cache readiness, visible forward/reverse progression, correct heading font family, and no horizontal overflow. The real-page LiquidGlass prototype measured 60–61 package FPS and no page RAF cadence regression, but was rejected on visual grounds because it introduced a visible inset/double-glass seam on both candidate panels without enough benefit; evidence is recorded in `docs/implementation-plan.md`. Release-workflow mobile-simulated LCP medians exceeded 2.5s on all eight routes: `/` 3.78s, `/evermind` 3.77s, `/nevermind` 3.77s, `/mastermind` 3.77s, `/docs` 4.90s, `/contact` 5.12s, `/privacy` 4.82s, and `/terms` 3.85s. The trace reported text LCP with FCP-to-LCP of 0ms, so the metric/simulation discrepancy should be investigated before optimization. This advisory evidence did not block CI or deployment; this is the NEXT roadmap goal: investigate and bring canonical public-route LCP below 2.5 seconds without reducing cinematic fidelity. The protected dirty checkout `/Users/Office/Repos/prochattools/web/prochat` is preservation-only and must remain unchanged. ## Tracked performance/security notes - Canonical mobile LCP target: ≤2.5s; capture actual route measurements before setting the next goal. - Docker builder still declares placeholder `STRIPE_SECRET_KEY_LIVE` and `STRIPE_WEBHOOK_SECRET_LIVE` values via `ENV`; these are not credentials, but trigger container-build security warnings. Remove the obsolete build-time dependency in a separately validated change, without passing real secrets to the builder. -- The canonical Mastermind `prochat` source worktree is `/Users/Office/Repos/prochattools/web/prochat-mastermind-runtime`, clean on `codex/prochat-main-runtime-2026-09` and tracking current `origin/main`. A bounded exact read observes current main, but registered branch metadata still says `codex/mastermind-prochat-runtime-2026-09-22` and the persisted index remains at `00b6473ac23124c45ffa421dd4bff01120dde47d`. Refresh/reindex only through a supported Mastermind source-management operation; none was available in this session. The obsolete blocked run was closed. The historical dirty checkout remains unchanged at HEAD `a28ab34eae077f1b2de6dfa072800c1398e4c815`, with diff fingerprint `88d4d903c3a89000ca394da41c3359ff51fa8904eb58611404655182afeb2345`. +- The canonical Mastermind `prochat` source worktree is `/Users/Office/Repos/prochattools/web/prochat-mastermind-runtime`, tracking `origin/main` from branch `codex/prochat-main-runtime-2026-09` (the branch is not literally named `main`; the preservation-only checkout already has local `main` attached). The persisted index snapshot from 2026-09-28 07:44 UTC is at `00b6473ac23124c45ffa421dd4bff01120dde47d` (`freshnessState: ready` in that old snapshot), predating the production runtime `59a9c61550ca37586091c43f146cfd83023a455c`; freshness is therefore stale. The configured source `branchName` remains `codex/mastermind-prochat-runtime-2026-09-22`. A supported dashboard Reindex endpoint exists, but `http://localhost:3000` is unavailable and no Mastermind connector/tool is exposed here. Do not edit Mastermind-owned state; track source/index synchronization as separate infrastructure work. The old blocked ProChat run is confirmed completed. The historical dirty checkout remains unchanged at HEAD `a28ab34eae077f1b2de6dfa072800c1398e4c815`, with diff fingerprint `88d4d903c3a89000ca394da41c3359ff51fa8904eb58611404655182afeb2345`. diff --git a/docs/roadmap.md b/docs/roadmap.md index 00c42f7..37c39da 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -1,6 +1,6 @@ # ProChat website roadmap -Status: cinematic/site quality pass is merged and deployed. Feature implementation commit `f09f92aab3327b3672df0d593e50040171cc1295` was merged to `main` as runtime revision `f63dd3374c2acd4ecfbc837bfe899569eb4a3a23`; workflow [36573913919](https://github.com/prochattools/prochat/actions/runs/36573913919) succeeded, and live `/api/version` still reports `f63dd337…`. Repository cleanup removed five fully-contained local/remote branches and two clean worktrees after archiving their test evidence. After the closeout documentation merge (PR #6), the Mastermind `prochat` worktree was fast-forwarded to clean current `origin/main`; registered branch metadata and persisted index revision remain stale, and no supported source-management refresh/reindex operation was exposed. Fresh local browser QA awaits explicit approval for its one-time gstack browser-utility build; the GitHub browser-evidence suite passed 108/108 in CI. Do not treat the overall closeout as complete until the remaining source-index issue and fresh local QA are resolved or explicitly handed off. +Status: **PROCHAT WEBSITE QUALITY PASS / CINEMATIC SITE MILESTONE = COMPLETE.** Feature implementation commit `f09f92aab3327b3672df0d593e50040171cc1295` and the subsequent renderer-sampling correction were deployed; production runtime is `59a9c61550ca37586091c43f146cfd83023a455c` (it matched `origin/main` at deployment). Main workflow [36602012728](https://github.com/prochattools/prochat/actions/runs/36602012728) succeeded, including `build-and-deploy` and `Verify production deployment`. PR #8 corrected live-observed scroll quantization: the ~10.04-second source had only 120 cached frames (~12fps); production now caches up to 240 frames at 24fps and hands off only a complete cache. Production `/api/version` confirms the runtime revision, and all eight public routes returned HTTP 200 after deployment. The current closeout is documentation-only; it advances source `main` without requiring a runtime deployment. Local Playwright QA against the merged implementation covered all eight routes and widths 1440/1280/1024/768/430/390/360, reduced motion, scroll-driven media/chapter reversal, mobile navigation, and Contact controls; CI browser evidence passed. The protected dirty checkout and unique historical branches/worktrees remain preserved. Mastermind's persisted index and registered branch metadata are still stale. A supported dashboard Reindex endpoint exists, but the configured local API at `http://localhost:3000` is unavailable and no Mastermind connector/tool is exposed in this session, so this remains a separate infrastructure follow-up—not a ProChat website defect or a reason to hold this milestone open. Last reviewed: 2026-09-29. @@ -10,9 +10,9 @@ The active public routes are `/`, `/evermind`, `/nevermind`, `/mastermind`, `/do The first four routes share a two-section cinematic page, one full-width navigation, one scroll-driven background renderer, one 80vh spacer, and no footer. Contact and Docs now use the same visual language through a static, reading-friendly utility shell; Privacy and Terms use that same shell while their legal body text remains unchanged. All four utility pages have one navigation and no footer. -## Current release goal — ProChat cinematic/site quality pass +## Closed milestone — ProChat cinematic/site quality pass -The production source of truth is `main`; the deployed runtime revision remains `f63dd3374c2acd4ecfbc837bfe899569eb4a3a23`. Local validation evidence is recorded in the managed `prochat-quality-final` worktree and in this document. Do not modify the protected dirty checkout at `/Users/Office/Repos/prochattools/web/prochat`. +The production source of truth is `main`; the deployed runtime revision is `59a9c61550ca37586091c43f146cfd83023a455c`. Local validation evidence is recorded in the managed quality worktrees and in this document. Do not modify the protected dirty checkout at `/Users/Office/Repos/prochattools/web/prochat`. In scope: @@ -21,9 +21,9 @@ In scope: 3. Bring Contact and Docs into the shared ProChat visual system with restrained/static backgrounds; migrate only shared chrome on Privacy and Terms, preserving legal meaning. 4. Verify prefers-reduced-motion, 1440/1280/1024/768/430/390/360 layouts, route content, menu and Contact interactions, browser errors, and manually inspected screenshots. 5. LiquidGlass was tested in local Chrome 153 at 1440×900 on both selected surfaces, with the real scroll-rendered page canvas copied and invalidated on each source repaint. Baseline page RAF cadence was 16.62ms average / 16.8ms p95; the context-card and capability-panel prototypes measured 16.48ms / 16.8ms and 16.50ms / 16.8ms respectively. Package-reported rates were 61fps and 60fps; initialization was 66.0ms and 65.8ms; each run handled 96 changed source frames without console errors. The previous 11–15fps estimate was not reproduced and is superseded. Do not adopt the package: screenshots show an inset, doubled-glass seam on both existing CSS panels without a compelling visual gain. Retain the CSS fallback and avoid adding a WebGL context plus frame-copy/invalidation path. Detailed evidence and screenshots are in `docs/implementation-plan.md`. -6. Current local Chrome 153 diagnostics reached the 120-frame cache and presented 89 tiny-scroll canvas paints in 1.47s (59.99fps); 87 sampled outputs were distinct and the longest gap was 17.6ms. Slow and rapid down/up scrolling plus repeated reversals on all four core routes produced over 500 distinct sampled outputs per route, zero transparent visible-canvas samples, and no console errors. The focused browser suite passed 10/10 in system Chrome with H.264 enabled. This is a local desktop diagnostic, not a cross-device field guarantee. -7. **Complete (2026-09-29):** feature commit `f09f92a…` was reviewed and merged to `main` as `f63dd337…`; the release record was corrected after deployment. Workflow [36573913919](https://github.com/prochattools/prochat/actions/runs/36573913919) passed, including `build-and-deploy` and `Verify production deployment`. Production `/api/version` matches `f63dd337…`; the eight canonical routes returned HTTP 200. Release evidence and remaining performance gaps are recorded below and in `docs/implementation-plan.md`. -8. **Housekeeping completed with preserved exceptions:** deleted the fully-contained local and remote branches `feature/full-cinematic-marketing-experience-2026-09`, `fix/exact-cinematic-marketing-theme-2026-09`, `feature/homepage-cinematic-scroll-2026-09`, `fix/cinematic-marketing-shell-2026-09`, and `fix/public-refresh-evidence-2026-09`. Removed the two clean worktrees `prochat-cinematic-shell-fix-2026-09` and `prochat-exact-cinematic-2026-09` after archiving their test/evidence at `/Users/Office/.codex/attachments/prochat-cinematic-housekeeping-evidence-2026-09-29.tar.gz` (303 archive entries). Unique/unverified branches and worktrees remain preserved. The protected dirty checkout is unchanged. The old blocked Mastermind run `agent-bf55f97a-2222-41e9-b0d7-f3a722a89d97` is closed. The canonical Mastermind source worktree is clean on `codex/prochat-main-runtime-2026-09`, tracks current `origin/main`, and was fast-forwarded after PR #6. Its registered `branchName` still names the obsolete `codex/mastermind-prochat-runtime-2026-09-22` branch, and the persisted index remains at `00b6473ac23124c45ffa421dd4bff01120dde47d` although bounded exact reads observe current main. No supported source configuration/reindex operation is exposed in this session, so this remains blocked and must not be “fixed” by directly editing Mastermind-owned state. +6. A pre-sampling-correction local Chrome 153 diagnostic reached the then-120-frame cache and presented 89 tiny-scroll canvas paints in 1.47s (59.99fps); 87 sampled outputs were distinct and the longest gap was 17.6ms. The follow-up 24fps/240-frame renderer was verified separately against the merged implementation; see `docs/implementation-plan.md`. These are local desktop diagnostics, not a cross-device field guarantee. +7. **Complete (2026-09-29):** feature commit `f09f92a…` and the measured renderer-sampling correction were deployed; production runtime `59a9c61550ca37586091c43f146cfd83023a455c` matched `main` at deployment. PR #8 raised sampling to 24fps (up to 240 frames), kept the pixel budget approximately constant, and publishes only a complete cache. Main workflow [36602012728](https://github.com/prochattools/prochat/actions/runs/36602012728) passed, including `build-and-deploy` and `Verify production deployment`. `/api/version` matched main after deploy, and all eight canonical routes returned HTTP 200. Local Playwright visual/responsive QA against the merged implementation and CI browser evidence passed. +8. **Housekeeping completed with preserved exceptions:** five fully-contained branches and two clean worktrees were removed after evidence was archived at `/Users/Office/.codex/attachments/prochat-cinematic-housekeeping-evidence-2026-09-29.tar.gz` (303 entries). Unique-history branches/worktrees, the stale registered Mastermind branch pointer, and the protected dirty checkout remain preserved. The old blocked ProChat run `agent-bf55f97a-2222-41e9-b0d7-f3a722a89d97` is confirmed completed. The canonical Mastermind source worktree path is `/Users/Office/Repos/prochattools/web/prochat-mastermind-runtime`; its checkout tracks `origin/main` on `codex/prochat-main-runtime-2026-09`, and its local index snapshot still reports `00b6473ac23124c45ffa421dd4bff01120dde47d` from 2026-09-28. A supported dashboard Reindex route exists, but the configured local API is unavailable and no Mastermind connector/tool is exposed here. Do not edit Mastermind-owned state; track source/index synchronization as separate infrastructure follow-up. ## Performance follow-up @@ -43,4 +43,4 @@ The 2026-09-29 `npm audit --omit=dev` scan also reported 68 findings (4 critical ## Release gate -The implementation/release gate is complete: CI, deployment, production revision equality, and route checks passed. On 2026-09-29, live checks again returned HTTP 200 for `/`, `/evermind`, `/nevermind`, `/mastermind`, `/docs`, `/contact`, `/privacy`, `/terms`, and `/api/version`; deployed revision remains `f63dd3374c2acd4ecfbc837bfe899569eb4a3a23`. Remaining closeout blockers are the approval-gated fresh browser QA and supported Mastermind source/index refresh described above. The separate LCP target remains open and is the next website roadmap goal once closeout is resolved. A successful local build or push alone is not release completion. +The implementation/release and website-quality closeout gates are complete: CI, deployment, deployed-revision verification, route checks, and fresh local browser QA passed. Live checks returned HTTP 200 for `/`, `/evermind`, `/nevermind`, `/mastermind`, `/docs`, `/contact`, `/privacy`, `/terms`, and `/api/version`; deployed runtime is `59a9c61550ca37586091c43f146cfd83023a455c`. The documentation-only closeout merge advances source `main` without a new deployment. Mastermind source/index maintenance is a separate infrastructure follow-up. The next website goal is the LCP investigation below; do not start it as part of this closeout.