chore(brand): serve the canonical whale on account-entry pages - #5861
chore(brand): serve the canonical whale on account-entry pages#5861Hmbown wants to merge 1 commit into
Conversation
Every other surface already renders the C-curl whale: web/components/whale.tsx carries its traced path (eye and all), and crates/tui/src/tui/mark.rs generates its braille rows from brand/mark.svg. Only the raster behind CANONICAL_MARK_SRC was still the retired flared-tail silhouette, so sign-in and sign-up showed a different animal from the rest of the product. codewhale-mark.png is regenerated from public/brand/mark.svg as the app-icon lockup — white mark on a navy #142352 field, 1254x1254, ink at 70% optically centred. Same form factor as the asset it replaces, so .public-account-mark's 64px box and 14px border-radius still frame a filled tile. CANONICAL_MARK_SHA256 re-pinned to the new bytes; the hash guard is what keeps a redrawn or stale substitute from shipping, so it stays. Comments now say the vector is the master and the PNG is generated, rather than calling the PNG "the exact founder raster" — that phrasing is what let a personal-Downloads file become a source of truth in the first place. Canonical mark decision of record: codewhale-ops/CURRENT_DECISIONS.md §7 (founder, 2026-09-02). The vector family in codewhale-apps/packages/brand/svg is the upstream source; brand/*.svg here already traces the same whale and is left alone, since re-tracing would require regenerating the TUI braille rows. Tests: npx vitest run in web/ -> Test Files 46 passed (46), Tests 385 passed (385), 0 failed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018W1RExCU1BUFxRXouzBhtk
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_ed3e612d-c03c-434f-9c8d-37aa4026f5e2) |
|
Claude finished @Hmbown's task in 2m 4s —— View job Review: PR #5861 — serve canonical whale on account-entry pages
Scope matches the description exactly — Verified independently
CorrectnessNo issues. The only logic-adjacent change is the SHA constant and its two paired comments; both were checked against the real file rather than taken on faith. Provider/model/route safetyN/A — no provider/model/routing code touched. Reuse / simplificationComment rewrites ( TestsThe existing hash-guard test was updated in place (description + expected hash) rather than duplicated — appropriate per this repo's test philosophy (a cheap guard against a real regression class: a stale/hand-edited raster silently shipping). I couldn't execute SecurityNone — static brand asset only. No blocking findings. Nice, tightly-scoped fix with real verification behind the claims (hash re-pin, dimensions, visual identity) rather than just an assertion. |
There was a problem hiding this comment.
🟢 Approval recommended
Changes are low-risk (asset hash + wording/comments) and the only issue found is a minor comment-path ambiguity with an inline fix suggestion.
Pull request overview
Aligns the public account-entry (sign-in/sign-up) pages with the product’s canonical “C-curl” whale mark by updating the pinned PNG hash and clarifying the “vector is the master” intent in code comments and tests.
Changes:
- Updated
CANONICAL_MARK_SHA256and expanded the constant’s doc comment to describe the PNG as generated from the vector master and protected by a hash guard. - Updated the associated vitest description to match the new “pinned raster generated from the canonical vector” wording.
- Updated the public account-entry component comment to reflect the new branding intent (with one minor path-clarity follow-up noted in review comments).
File summaries
| File | Description |
|---|---|
| web/lib/public-auth-routes.ts | Updates the canonical mark hash and clarifies the asset provenance/guarding in the doc comment. |
| web/lib/public-auth-routes.test.ts | Renames the canonical mark test to match the updated “pinned raster generated from vector” description. |
| web/components/public-account-entry.tsx | Updates the inline comment describing the pinned raster shown on account-entry pages. |
Review details
- Files reviewed: 3/4 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| <section className="portal-section"> | ||
| <div className="portal-container public-account-entry"> | ||
| {/* Exact founder raster; do not restyle or substitute a traced SVG. */} | ||
| {/* Pinned app-icon raster generated from brand/mark.svg; do not restyle. */} |
There was a problem hiding this comment.
Codewhale review
PR replaces the retired founder whale PNG on public account-entry pages with the canonical white mark on navy, updates the pinned SHA256 hash, and adjusts comments/test descriptions. No functional code changes. Only minor documentation path inconsistency noted.
Findings
- [INFO] Inconsistent canonical mark source paths in comments (
web/components/public-account-entry.tsx:22)
The comment in public-account-entry.tsx refers tobrand/mark.svgwhile the comment in public-auth-routes.ts refers topublic/brand/mark.svg. The repository may contain both brand/mark.svg and web/public/brand/mark.svg; using a consistent, unambiguous path (e.g., repo-root-relativebrand/mark.svgor web-relativepublic/brand/mark.svg) avoids confusion about which file is the master vector.
Assessment
The change is low risk and correctly scoped. The hash guard remains intact and the test is updated accordingly. The only identified item is a minor documentation inconsistency with no functional impact.
Advisory review by Codewhale (codewhale review --pr 5861 --post, head 1559cc6e387015f2d60b8c67f70dd54daf68fcf5). Line-specific findings are also posted as inline review comments; mechanical fixes arrive as committable suggestions you can apply from the Files tab. CODEOWNERS approval still governs merge.
| @@ -22,7 +22,7 @@ export function PublicAccountEntry({ | |||
| <div className="portal-home"> | |||
There was a problem hiding this comment.
[INFO] Inconsistent canonical mark source paths in comments
The comment in public-account-entry.tsx refers to brand/mark.svg while the comment in public-auth-routes.ts refers to public/brand/mark.svg. The repository may contain both brand/mark.svg and web/public/brand/mark.svg; using a consistent, unambiguous path (e.g., repo-root-relative brand/mark.svg or web-relative public/brand/mark.svg) avoids confusion about which file is the master vector.
|
The bug
Sign-in and sign-up showed a different whale from the rest of the product.
Every other surface already renders the C-curl mark:
web/components/whale.tsxcarries its traced path (eye and all)crates/tui/src/tui/mark.rsgenerates its braille rows frombrand/mark.svgbrand/*.svgandweb/public/brand/*.svgare all the same whaleOnly the raster behind
CANONICAL_MARK_SRCwas still the retired flared-tail silhouette.The fix
web/public/brand/codewhale-mark.pngregenerated frompublic/brand/mark.svgas the app-icon lockup — white mark on navy#142352, 1254×1254, ink at 70% optically centred.Same form factor as the asset it replaces, so
.public-account-mark's 64px box and 14pxborder-radiusstill frame a filled tile.CANONICAL_MARK_SHA256re-pinned. The hash guard is what stops a redrawn or stale substitute from shipping, so it stays — only the expected bytes changed.Comments now say the vector is the master and the PNG is generated, instead of calling the PNG "the exact founder raster". That phrasing is what let a file in a personal
~/Downloadsfolder become a source of truth.Deliberately not in scope
brand/*.svghere is a lower-fidelity trace of the same whale. Re-tracing it against the upstream vector family would require regenerating the TUI braille rows inmark.rsand re-verifying the terminal render — a separate slice, and nothing renders wrong today.Tests
Includes the
canonical markhash test andblue-stage-contract.Decision of record
codewhale-ops/CURRENT_DECISIONS.md§7 — founder, 2026-09-02. Upstream vector family iscodewhale-apps/packages/brand/svg.🤖 Generated with Claude Code
https://claude.ai/code/session_018W1RExCU1BUFxRXouzBhtk
Note
Low Risk
Brand asset and documentation/hash guard only; no changes to auth routing or app behavior beyond the displayed image bytes.
Overview
Public sign-in/sign-up pages now use
codewhale-mark.pngregenerated frompublic/brand/mark.svg(canonical C-curl mark on navy) instead of the retired founder silhouette, so the whale matches the rest of the product.CANONICAL_MARK_SHA256is updated so the existing hash test still blocks hand-edited or stale PNGs. Comments inpublic-auth-routes.tsandpublic-account-entry.tsxnow describe the PNG as generated from the vector master, not an “exact founder raster.”Reviewed by Cursor Bugbot for commit 1559cc6. Bugbot is set up for automated code reviews on this repo. Configure here.
No-Issue: brand asset correction — the account-entry raster was the retired mark; no tracked issue.