Professional redesign of the landing + status pages, gated by forge's own UI system#36
Merged
CodeWithJuber merged 1 commit intoJul 7, 2026
Conversation
… uicheck One design system across both public pages (the forge dash 8-color warm-ink/ember palette, 4px spacing base, 3 radius levels, 1 shadow); both pass the static design gate and the rendered visual gate, with a minted project fingerprint for conformance. Scroll-reveal is JS-gated progressive enhancement. static.yml now deploys an assembled _site/ (landing at root, status at /status/) instead of the whole repository. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fc2MvWJbQ1cyNQ76ymv4hs
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.
The public pages looked like accumulated AI-template output — the forge design gate agreed: the old landing failed with 19 distinct colors and 9 radius levels, the old status page with 15 colors and 5 radius levels. Both are rebuilt on one disciplined design system and now pass forge's own gates, statically and in a real rendered browser.
What changed
landing/index.html— full rewrite.forge dasheight-color warm-ink/ember palette (cross-product design identity), strict 4px spacing base, three radius levels, one shadow. Self-contained — no external fonts or requests.forge ledger showpanel), the six-stage loop, the nine supported tools, "team memory in three commands," and the honest-limits register — replacing the stale Cortex-only copy ("108 tests").html.jsstamped before first paint): no-JS UAs, crawlers, and reduced-motion users always see the full page — the old approach hid whole sections from anything that doesn't scroll.scripts/build-pages.mjs— status-page generator restyled with the identical tokens (repositioned as "Live status, straight from the repository," linked from the landing nav). Changelog bullets now strip inline markdown; the routing metric splits its number from its label so it doesn't wrap in display-size mono. Thetest/pages.test.jscontract (landmarks, version, Data Sources) is unchanged and green..github/workflows/static.yml— previously uploaded the entire repository as the Pages artifact, and the site root 404'd (no root index.html). Now it builds an assembled_site/: landing at the site root, generated status page at/status/(built withBUILD_PAGES_LIVE=1so GitHub counters refresh at deploy time), and deploys only that.Gate evidence (the forge loop, end to end)
forge uicheck designforge uicheck designforge uicheck visual(rendered)forge uicheck visual(rendered)The rendered gate earned its keep: it caught UA-default
1emmargins on small-font paragraphs computing to off-scale 13/14px values that static analysis cannot see — fixed by pinning explicit margins. A project fingerprint claim was minted (forge uicheck fingerprint --mint), so both pages are also checked for conformance to the project's design system (0.08 / 0.35, both ≤ 0.5), not just distance from generic templates.Verification
npm test: 438 pass, 0 fail (pages renderer contract unchanged);npm run typecheck: 0 errors; biome clean on touched files.🤖 Generated with Claude Code
https://claude.ai/code/session_01Fc2MvWJbQ1cyNQ76ymv4hs
Generated by Claude Code