Skip to content

fix(design): contrast, progressive disclosure, and honest hierarchy across the public site - #208

Merged
github-actions[bot] merged 7 commits into
mainfrom
claude/design-quality-pass
Aug 12, 2026
Merged

fix(design): contrast, progressive disclosure, and honest hierarchy across the public site#208
github-actions[bot] merged 7 commits into
mainfrom
claude/design-quality-pass

Conversation

@catomean

Copy link
Copy Markdown
Collaborator

What

A full-page audit of all 18 public pages (production screenshots + source cross-reference) found one systemic disease — unbounded essay dumps with no progressive disclosure (/thoughts: 63 full-abstract cards in a 9,200px wall; /roadmap: 10,600px across 12 look-alike sections; /whitepaper and /changelog similar) — plus a site-wide WCAG contrast failure baked into the dark tokens. This pass fixes both, page by page:

  • Contrast: dark --text-muted oklch 0.34 → 0.55; changelog date/version and footer blurbs off white/40; doc subtitles off text-muted. All in globals.css so check:design stays authoritative.
  • Thoughts: 10 most recent with clamped abstracts, remainder in per-year <details> (works JS-free); search/tag filters still cover the full set.
  • Roadmap: three honest buckets — Shipping now / Next / Research — one-liners with collapsed detail, marker-soup vocabulary (AFTER/THEN/CONVERGE…) gone, strategy essays reduced to summaries linking their /thoughts originals.
  • Whitepaper: anchored ToC, real heading scale, "three subscription levels" corrected to four, stale v0.1 badge refreshed.
  • Releases/changelog: current minor expanded, older versions collapsed per minor with a version index.
  • Home: the full /download page embed replaced by a short download band; overlapping closers merged; dead card space reduced.
  • Support: "Get help" (docs, issues, email) now comes before "Fund the work" — the nav label finally matches what a help-seeker finds.
  • Investors: real fleet metrics via the same never-fabricate source as the home hero; traction as scannable bullets; investor-appropriate contact CTA instead of the generic "Begin."
  • URL canonicalization: /blog/thoughts, /changelog/releases (redirects; labels now match destinations).
  • De-orphaned /philosophy (nav) and /investors (footer); OrangeCat/Solon dropdown blurbs trimmed to one sentence; footer's 14-site fleet grid collapsed behind <details> so the three pillars stay primary (links remain in the DOM for crawlers).

Verification

npm run verify exit 0 (tsc, lint — 0 errors/3 pre-existing warnings, design check, desktop check, 150+ unit/home/ops tests). package-lock.json untouched. The landing page's real-data contract is preserved.


Generated by Claude Code

claude added 7 commits August 12, 2026 12:52
The dark --text-muted token (oklch 0.34 on a 0.07 page) and the white/40
changelog/footer utilities rendered real copy at ~2:1 contrast — a
systemic WCAG failure across pricing, docs, changelog, and footer.
Raise them to legible-but-still-muted values and move the doc subtitle
off text-muted entirely (it is the document's one-line pitch, not
metadata).

Also trim two structural dead-space sources found in the same audit:
- surface cards forced min-h 320px around ~120px of content;
- the 84vh hero fold on /mission pushed ~700px of empty black between
  the statement and its body copy — add a compact fold variant and use
  it there.

All changes live in globals.css so check:design stays authoritative.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01179dZmbrVCoaZzrmyqzDgD
…lp-first

- /blog and /changelog served byte-identical copies of /thoughts and
  /releases under different names; they now redirect() to the canonical
  URL, and every nav/footer label matches the destination page's own
  title (nav "Blog" -> "Thoughts", footer links point at /releases).
- /philosophy had no inbound link anywhere; add it to Product >
  Understand. Add Investors to the footer Learn group for the same
  reason.
- Trim the OrangeCat/Solon dropdown descriptions to one sentence each —
  the essay citation belongs on a page, not in a hover.
- The nav item says "Support" but the page opened with donations; lead
  with a Get-help section (docs, GitHub issues, email) and move the
  funding content below its own heading.
- Collapse the 14-site fleet grid in the footer into a <details>
  disclosure so the three product pillars stay primary; links stay in
  the DOM for crawlers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01179dZmbrVCoaZzrmyqzDgD
…er count

The investors page closed with the generic "Begin." sign-up CTA — the
wrong ask for this audience; replace it with a direct founder-contact
CTA (deck on request). The Traction section was one prose wall; break
it into scannable bullets and surface the founder's real fleet metrics
via the same getHeroFleetSnapshot source the homepage hero uses (same
never-fabricate fallback: no data renders nothing).

Whitepaper said "three subscription levels" while /pricing sells four
(Free + three paid) — describe all four honestly, and bump the stale
v0.1 / 2026-05-15 badge to v0.2 with today's date since the content
changed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01179dZmbrVCoaZzrmyqzDgD
Fifteen H2 sections of continuous prose with no overview and headings
only one step above body size made the whitepaper hard to navigate or
skim. Derive an anchored ToC from the parsed H2 blocks (ids and links
share one slugify, so they cannot drift) and add a ui-public-prose-doc
variant in globals.css that scales H2/H3 up for long documents while
short thought posts keep the tighter scale.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01179dZmbrVCoaZzrmyqzDgD
…rchives

The thoughts index rendered 63 full-abstract cards in one unpaginated
wall and the changelog expanded 20+ patch releases end to end — both
buried everything below the fold. Lead each page with what a visitor
actually came for:

- Thoughts: ten most recent essays with 2-line clamped abstracts, the
  rest grouped into per-year <details> sections. Search and tag chips
  keep filtering across the whole set.
- Releases: only the current minor line (v0.8.x) renders expanded;
  older lines collapse into per-minor <details> groups, and a compact
  version index at the top anchors to entries/groups.

Native <details> disclosure on both — no JS required to open, and every
link stays in the DOM for crawlers. New archive/index styles live in
globals.css.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01179dZmbrVCoaZzrmyqzDgD
The homepage embedded the entire DesktopDownload module (platform
picker, web-vs-desktop comparison, three setup steps, prerequisites) —
a wholesale duplicate of /download that made the page endless. Replace
it with a short band: what Fleet Runner is, honest platform status
derived from the same config, one link to /download.

It also closed with two back-to-back sections making the same pitch
("Choose your entry point" / "Not another coding agent"), the latter's
three points repeating the EXECUTION/CONTROL and SURFACE sections
above. Merge them into one closer: the differentiating line, then the
three concrete entry paths.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01179dZmbrVCoaZzrmyqzDgD
Eleven phases with an invented AFTER/THEN/LATER/CONVERGE vocabulary and
5-8 expanded bullets each read as an internal planning doc, not a
public roadmap. Restructure into three buckets a visitor can parse in
one pass — "Shipping now", "Next", "Research" — with each item as a
one-liner and its detail bullets collapsed into <details>.

Status claims stay honest: nothing moved buckets optimistically (the
Next summary keeps the original sequencing; Research explicitly states
nothing there is available), and the two strategy-essay sections
(agent convergence, stakeholder graph) shrink to a short summary plus
a link to the /thoughts essay that carries the full argument.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01179dZmbrVCoaZzrmyqzDgD
@github-actions
github-actions Bot merged commit 8625659 into main Aug 12, 2026
1 check passed
@github-actions
github-actions Bot deleted the claude/design-quality-pass branch August 12, 2026 13:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants