Skip to content

feat: roll out Batch 2 product intelligence visuals - #1324

Merged
ericsocrat merged 1 commit into
mainfrom
codex/whole-product-batch2
Aug 28, 2026
Merged

feat: roll out Batch 2 product intelligence visuals#1324
ericsocrat merged 1 commit into
mainfrom
codex/whole-product-batch2

Conversation

@ericsocrat

Copy link
Copy Markdown
Owner

Purpose

Roll the approved Folded Label Register and Evidence Register visual language through Batch 2 product-intelligence routes without changing scoring, provenance semantics, mutation behavior, database policy, dependencies, baselines, or performance methodology.

Behavior changes

  • Redesign product detail, detailed analysis, nutrition, evidence, alternatives, compare, saved comparisons, watchlist, lists, and list detail.
  • Reuse and extend ProductRegisterCard with evidence-aware score semantics and native meter output.
  • Keep missing, provisional, stale, uncollected, loading, and unavailable states distinct.
  • Withhold recommendations and comparison winners when source/freshness evidence is invalid.
  • Remove list-preview request fan-out and partial average-score claims.
  • Preserve application-level failure handling and optimistic rollback contracts.
  • Replace the More drawer backdrop click reliability issue with explicit dialog keyboard handling while preserving native modal, cancel, focus, swipe, and restoration behavior.
  • Fix the mobile navigation label-in-name defect found by the focused axe run.

Verification

Passed locally:

  • TypeScript type-check
  • ESLint
  • production Next.js build
  • 6,889 of 6,891 executed full-suite tests; 19 skipped
  • 134 focused shared product/Search/Categories/Watchlist tests
  • 256 design-system tests
  • deterministic live inventory regeneration
  • guarded local-authenticated Chromium Batch 2 journey
  • 37 screenshots across 390, 768, and 1440 in light/dark plus forced colors
  • Polish and German overflow checks
  • focused product-detail mobile axe audit
  • tracked-source security hygiene scan
  • immutable baseline and dependency diffs are empty

Local environment-only failures:

  • non-production Manrope license byte assertion sees CRLF-expanded Windows checkout bytes
  • base-owned intentional-redesign mutation runner exceeds its local 15-second timeout

Accessibility

  • Explicit loading/error announcements and retry actions remain available.
  • Native score meters replace generic meter roles.
  • Product tabs, keyboard focus, mobile navigation naming, forced colors, reduced motion, and 44px primary targets were checked.
  • Focused mobile product-detail axe audit passes.

Performance

  • No Lighthouse run or performance-policy change.
  • No dependency or lockfile change.
  • Route-JS remains owned by normal CI.

Visual evidence

The guarded run produced transient review screenshots for Product summary, analysis, alternatives, Compare, Watchlist, and Lists at 390x844, 768x1024, and 1440x900 in light/dark, plus a forced-colors product state. Baseline files remain byte-identical.

Merge hold

Keep this PR draft and unmerged until:

  • Sonar issue AaBDzthQjq04_D568HgF is classified FALSE_POSITIVE with the approved rationale using authenticated Sonar access.
  • Sonar confirms the More drawer reliability issue AaBGDLHCPm4zC770525e is resolved.
  • Required Linux CI, immutable comparator, Route-JS, CodeQL, Quality Gate, Golden Reference, and normal deployment checks finish.

The Sonar false-positive control was unavailable locally because both safe browser sessions were signed out. No quality profile, threshold, Auth code, or provider configuration was changed.

Not run

  • Lighthouse
  • broad manual Firefox/WebKit matrix
  • baseline generation or acceptance

@vercel

vercel Bot commented Aug 28, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
tryvit Ready Ready Preview Aug 28, 2026 9:24am

@ericsocrat

Copy link
Copy Markdown
Owner Author

Batch 2 exact-head certification: HOLD MERGE

  • Base: 1763c1e
  • Head: 0921684
  • Head tree: 7e859e04e81c2a27fdbc57b838e32eceee5f944d
  • Synthetic merge: 7926d81
  • Synthetic tree: 7e859e04e81c2a27fdbc57b838e32eceee5f944d

Product-relevant gates PASS: PR Gate, CodeQL, Quality Gate, Golden Reference, Route-JS, immutable comparator, intentional-redesign validation, repo hygiene, screenshots, and Vercel preview. Open code-scanning alerts: 0. Open secret-scanning alerts: 0. Unresolved review threads: 0.

Lighthouse was intentionally cancelled during dependency installation. Both measurement steps were skipped; no new samples were produced.

Inherited renderer attestation remains failed on exact base-owned policy tests and is not caused by this PR.

Sonar merge hold:

  • AaBGDLHCPm4zC770525e remains OPEN on main; this PR contains the bounded More drawer fix, but Sonar has no PR 1324 analysis.
  • AaBDzthQjq04_D568HgF remains OPEN and requires the approved FALSE_POSITIVE classification with authenticated Sonar access.

Keep this PR draft and unmerged until those Sonar dispositions are completed.

@ericsocrat
ericsocrat marked this pull request as ready for review August 28, 2026 10:08
@ericsocrat
ericsocrat merged commit c7a1433 into main Aug 28, 2026
28 of 30 checks passed
@ericsocrat
ericsocrat deleted the codex/whole-product-batch2 branch August 28, 2026 10:08

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 092168418d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +62 to +65
<span
className={styles.badge}
data-testid="nav-badge-lists"
aria-hidden="true"

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 Badge Keep navigation badge counts accessible

When listCount or compareCount is positive, aria-hidden removes the only count text from the accessibility tree, while this change also deletes the count-bearing aria-label; screen readers therefore announce only “Lists” or “More” and cannot discover the badge’s list or selected-product count. Preserve the visible-label-in-name fix with label-first accessible text such as “Lists, 3 items” or an equivalent visually hidden description.

Useful? React with 👍 / 👎.

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