Skip to content

Add the Good Deal Test scorecard page - #68

Open
mikaalnaik wants to merge 1 commit into
mainfrom
mikaal/good-deal-test
Open

Add the Good Deal Test scorecard page#68
mikaalnaik wants to merge 1 commit into
mainfrom
mikaal/good-deal-test

Conversation

@mikaalnaik

Copy link
Copy Markdown
Contributor

Adds /good-deal-test — a 100-point rubric for judging the Canada–US tariff package against Build Canada's standard: more sovereign, more united, more prosperous than the status quo.

What's on the page

  • Baseline callout pinning the comparison to the Aug 18, 2026 tariff landscape
  • Three pillars — Prosperity (55 pts), Sovereignty (30), Unity (15) — across 10 weighted criteria, each with win/pass/fail bands and a provisional pre-release read
  • Score bands table, First checks (5 items), Details-release checklist (14 questions), and Benchmarks used

Implementation notes

Ported from the working document onto the site's design system rather than carrying over its standalone CSS:

  • Söhne / Financier / Founders Grotesk via the type-* utilities, not Google Fonts
  • Brand tokens for surfaces and text (bg-bg-alt, border-border-light, text-accent, …)
  • Status vocabulary mapped to the brand ramps: win → pine, pass/mixed → copper, fail/at-risk → auburn, unknown → charcoal
  • No dark-mode blocks — the site is light-only, ThemeShell has no dark variant
  • Content lives in data arrays (pillars, scoreBands, checklist, …) so criteria are editable in one place

Server component, no client JS.

Verification

eslint, tsc --noEmit, and pnpm lint are clean (the 4 remaining warnings are pre-existing, in files this PR doesn't touch). The page renders with all sections present via the dev server.

Not visually verified — the browser extension wasn't connected in my session, so the layout hasn't been eyeballed. Worth a look at the preview deploy, particularly the criterion card headers (heading and points chip are baseline-aligned) and the max-content band-label column at mobile widths.

🤖 Generated with Claude Code

A 100-point rubric at /good-deal-test for judging the Canada-US tariff
package against Build Canada's standard: more sovereign, more united,
more prosperous than the status quo.

Ported from the working document onto the site's design system rather
than its standalone CSS -- Soehne/Financier/Founders Grotesk via the
type-* utilities, brand tokens for surfaces and text, and the pine /
copper / auburn ramps for the win / pass / fail vocabulary. Content is
held in data arrays so criteria stay editable in one place.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Aug 21, 2026

Copy link
Copy Markdown

Greptile Summary

Adds a statically rendered Good Deal Test scorecard for evaluating a Canada–US tariff package.

  • Introduces ten weighted criteria across prosperity, sovereignty, and unity pillars.
  • Adds score bands, initial checks, a details-release checklist, benchmarks, and route metadata.
  • Uses existing design-system typography, color, and surface utilities without client-side JavaScript.

Confidence Score: 4/5

The PR appears safe to merge, with a non-blocking mobile readability issue in the criterion-band rows.

The page is a self-contained static server component using valid existing design-system utilities, but its always-two-column rubric rows leave very little width for descriptions on narrow screens.

Files Needing Attention: src/app/good-deal-test/page.tsx

Important Files Changed

Filename Overview
src/app/good-deal-test/page.tsx Adds the complete scorecard route using established design tokens; the criterion-band layout becomes overly narrow on small mobile viewports.

Fix all with Greploop Fix All in Codex Fix All in Claude Code

Prompt To Fix All With AI
### Issue 1
src/app/good-deal-test/page.tsx:568
**Narrow mobile band descriptions**

The band rows retain a max-content two-column layout on narrow screens after the surrounding margins and padding are applied, forcing descriptions into an excessively narrow column and making the scorecard difficult to scan.

```suggestion
                        className="grid grid-cols-1 items-start gap-2 sm:grid-cols-[max-content_minmax(0,1fr)] sm:gap-3"
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "Add the Good Deal Test scorecard page" | Re-trigger Greptile

{c.bands.map((b) => (
<div
key={b.label}
className="grid grid-cols-[max-content_minmax(0,1fr)] items-start gap-3"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Narrow mobile band descriptions

The band rows retain a max-content two-column layout on narrow screens after the surrounding margins and padding are applied, forcing descriptions into an excessively narrow column and making the scorecard difficult to scan.

Suggested change
className="grid grid-cols-[max-content_minmax(0,1fr)] items-start gap-3"
className="grid grid-cols-1 items-start gap-2 sm:grid-cols-[max-content_minmax(0,1fr)] sm:gap-3"
Prompt To Fix With AI
This is a comment left during a code review.
Path: src/app/good-deal-test/page.tsx
Line: 568

Comment:
**Narrow mobile band descriptions**

The band rows retain a max-content two-column layout on narrow screens after the surrounding margins and padding are applied, forcing descriptions into an excessively narrow column and making the scorecard difficult to scan.

```suggestion
                        className="grid grid-cols-1 items-start gap-2 sm:grid-cols-[max-content_minmax(0,1fr)] sm:gap-3"
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Codex Fix in Claude Code

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