feat(website): the stage rail is a completeness ledger - #1043
Merged
Conversation
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…losing cues Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ecks, one claim, one link, one proof Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… traces the recording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… keyboardable, anchors resolve, hold and ledger layout Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The scroll test now asserts the rail's anatomy: segment state and check fill at the Tools boundary, the one hold line on its plateau, and at the end the ledger at full opacity with four filled checks, the pointer, and the install command the copy declares. A new test clicks the Persist segment and polls act progress into the persist window. The scroll-craft harness reported the hold line and the Render block never reaching full opacity: their 30%-of-window default ramps left the plateaus between the harness's eight sample points, and the ledger's 60% ramp-in only reached 0.43 at the last in-act sample (masked in the report by a text-key collision with the Tools block). The hold line now overshoots the threshold by 20% of the approve span with a 0.3/0.2 ramp, the Render block arrives over the first tenth of its window, and the ledger ramps in over a fifth of the render tail. A spec case models the engine's ramps and requires every rail cue to sit on its plateau at one of the harness's sample points. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
blove
enabled auto-merge (squash)
September 6, 2026 23:02
Contributor
…mple, and plateaus are asserted independently of it Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The old stage rail was busy and restated the frame: six text levels and about 75 words a beat, narrating what the recording was already showing, with CTAs that pointed away from the page at the peak of the act. It carried no takeaway a reader could leave with.
What
done / now / todofrom progress, are keyboardable, and clicking one scrolls the act to that beat. Anchors (#stage-<beat>) resolve.nowblock and to the ledger once render settles.outputFileTracingIncludes).Tests
npx nx test website: 132 files, 1319 tests, all passing (includes the new plateau-sample spec; the old cue strings fail it, the new ones pass).npx nx lint website: 0 errors (52 pre-existing warnings).npx nx build website: compiled successfully.npx nx e2e website -- --grep "homepage stage": 4 passed, 1 skipped (the live-frame test, gated onSTAGE_LIVE_FRAME=true), run twice.npx nx e2e website -- --grep "homepage stage|homepage hero|landing page": 17 passed, 1 skipped.verify-home.mjsagainst a production serve on 4308): exit 0,no dead scroll detected, no cues-never-peak, all cues clear 4.5:1 contrast. The contact sheet shows the segments advancing, the checks filling at each settle, the hold line at full strength across the threshold, and the full ledger at the last in-act frame.STAGE_LIVE_FRAME=true BASE_URL=https://threadplane.ai npx playwright test apps/website/e2e/home-stage.spec.ts --config apps/website/playwright.config.ts.🤖 Generated with Claude Code