Skip to content

feat(website): For teams becomes the briefing block - #1081

Merged
blove merged 10 commits into
mainfrom
blove/teams-briefing
Sep 9, 2026
Merged

feat(website): For teams becomes the briefing block#1081
blove merged 10 commits into
mainfrom
blove/teams-briefing

Conversation

@blove

@blove blove commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

The homepage's "For teams" section had its primary goal buried and described the document it offers incorrectly. Both are fixed.

The section inverted its own goals. Measured on the live page at 1440px: 916px tall, with the field-report form — the primary conversion goal — at y=618, two-thirds down. "Talk to an engineer" was a large amber button within 3% of the form's submit in visual weight, so nothing told a reader which ask mattered. The top of the aside held a four-step pilot timeline that /pilot-to-prod already covers in full, with week numbers.

Now: the ask leads, beside a preview of the actual document; contact is a link beneath a rule.

Before After
Section height 916px 806px
Form position y=618 y=350
Standalone CTA buttons 2, near-equal weight 0 — only the form's own submit

The copy was wrong, and now it cannot drift

Checked against the shipped apps/website/public/whitepaper.pdf:

Claimed Actual
"18 pages", in 3 places 17pdfinfo and a page-object count agree
"Error boundaries, fallbacks, observability, deploy" 0 matches each for error boundar, fallback, observab

Three of the four topics we named in exchange for an email address appear nowhere in what we send. The six chapters are Streaming State Management, Thread Persistence, Tool-Call Rendering, Human Approval Flows, Generative UI, and Deterministic Testing — and the briefing preview now renders that real table of contents, so the claim and the artifact are the same object.

FIELD_REPORT holds these facts, and a test counts /Type /Page objects in the PDF itself and asserts the declared count matches — dependency-free, and mutation-verified failing with expected 18 to be 17. Regenerating the document at a different length now fails the suite instead of silently making the page lie.

WhitePaperBlock, used by the four library pages, repeated both errors and is corrected too.

Notes

  • The <h2> id changes pilot-headingfield-report-heading, and e2e/website.spec.ts:57 changes with it. That is the only test edit in this change — the spine catches accidental removals, and a rename landing beside its own test is not that.
  • The briefing cover is deliberately not aria-hidden, unlike the decorative .wp-cover-wrap it borrows .wp-paper from: it carries the table of contents, which is the reason to download. The drawn 0106 markers are hidden, since the <ol> already numbers the list.
  • Analytics keys are unchanged so the funnel stays continuous: home_whitepaper, teams-block, hero_talk_to_engineers.
  • WhitePaperBlock's "No vendor pitch — what we learned shipping it" is left alone deliberately (spec §9): the document was script-generated, which makes the line hard to defend, but choosing between new copy and a new document is not a copy edit.

Test Plan

  • npx nx test website — green
  • npx nx lint website — 0 errors
  • npx nx build website — green
  • Playwright — 128 passed, 1 skipped (nx e2e fails identically on origin/main with a different pair of docs-page page.goto timeouts each run; local load, not this change)
  • Measured at 1440px: form at y=350, 6 chapters rendered, 1 button and 0 outside the form, "17 pages" derived, heading left edge equal to #proof-heading's
  • Measured at 390px: single column, no horizontal overflow
  • Verify on production after merge

Spec: docs/superpowers/specs/2026-09-08-teams-briefing-design.md
Plan: docs/superpowers/plans/2026-09-08-teams-briefing.md

🤖 Generated with Claude Code

@vercel

vercel Bot commented Sep 9, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
threadplane Ready Ready Preview Sep 9, 2026 3:09am UTC

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove force-pushed the blove/teams-briefing branch from 4731953 to bc4fa01 Compare September 9, 2026 02:17
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

blove and others added 10 commits September 8, 2026 20:00
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
readFileSync anchors to the repo root, not the vitest root, and jsdom
makes import.meta.url an http: URL. Both simpler forms throw.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Two defects I put in the plan, both caught in review.

.field-report-num painted the 01-06 chapter markers in --color-signal at
10px bold. That is 1.78:1 on the surface it sits on; the ATC theme split
the accent role precisely so this yellow stays fill-only. --color-accent
is the interactive ink at 14.86:1.

.pilot-eyebrow was kept on a false premise: I matched it as a substring of
.pilot-eyebrow-spaced / -tight, which /pilot-to-prod does use -- but those
are defined in pages.css. The bare class had no consumer left.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Centring made the form's position depend on the cover's height: the cover
is 477px against a 390px ask column, so the primary action was pushed down
43px, and would move again if the document gained a chapter. Measured
393px -> 350px from the section top (it was 618px before this redesign).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@blove
blove force-pushed the blove/teams-briefing branch from d908ab7 to 9751070 Compare September 9, 2026 03:00
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove merged commit 26eeac9 into main Sep 9, 2026
32 checks passed
@blove
blove deleted the blove/teams-briefing branch September 9, 2026 03:17
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.

1 participant