Skip to content

docs(audit): record Phase C batch-1 PR refs + #108 verification - #76

Merged
ejay-dev merged 1 commit into
mainfrom
docs/audit-housekeeping-phase-c-batch-1
May 13, 2026
Merged

docs(audit): record Phase C batch-1 PR refs + #108 verification#76
ejay-dev merged 1 commit into
mainfrom
docs/audit-housekeeping-phase-c-batch-1

Conversation

@ejay-dev

Copy link
Copy Markdown
Owner

Summary

Single housekeeping commit per the engagement's "after a batch clears, update the audit file in one PR" cadence. Closes the loop on the marketing-audit cross-cutting and per-page rows shipped in this session.

Marketing audit row → PR

Row PR Concern
#1 CRIT #67 siteUrl trailing \n strip
#2 CRIT #68 /status unship + redirect + nav cleanup
#3 HIGH #70 Footer + JSON-LD contact info canonical
#11 MED #70 (rolled in) Gmail support address
§11 D #71 /compliance + /care → /trust, /healthcare-compliance
#85 HIGH #73 Contact form inline validation
#92 HIGH #72 Cookie banner first tab stop
#96 MED #74 InteractiveDashboard icon button aria-labels
#100 HIGH #74 (rolled in) Touch targets ≥44×44
#108 HIGH #75 next/image on MarketingRouteBackdrop

App audit row → PR (also recorded)

Row PR Concern
#6 MED #66 add-note-form router.refresh() + sticky-error toast (Option B)

#108 verification note

#108 is the highest-value entry in this housekeeping batch — got the full verified-Lighthouse note: LCP element selector, phase breakdown, top-3 opportunities by overallSavingsMs, prod run URL. The audit's original (verify) annotation was correct: the named cause (hero image) was real, just rendered by a shared component that grep over the page directory missed.

CI cross-reference

New §19 of 2026-05-13-marketing-audit.md references PR #69 (compliance-testing workflow missing pull-requests: write — same shape as PR #54/#55 env-var fixes on the same workflow). Recorded so the next CI sweep doesn't re-discover it from scratch.

Test plan

  • Doc-only.
  • Every PR ref above is on main and points at a real merged PR.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.7 noreply@anthropic.com

Single housekeeping commit per the engagement's "after a batch
clears, update the audit file in one PR" cadence. Closes the loop
on the marketing-audit cross-cutting and per-page rows shipped this
session:

  marketing audit row -> PR
    #1  CRIT siteUrl \n               -> #67
    #2  CRIT /status unship           -> #68
    #3  HIGH JSON-LD vs footer email  -> #70
    #11 MED  Gmail support address    -> #70 (rolled in)
    §11 D    /compliance + /care 404s -> #71
    #85 HIGH contact form validation  -> #73
    #92 HIGH cookie banner tab order  -> #72
    #96 MED  unnamed icon buttons     -> #74
    #100 HIGH touch targets           -> #74 (rolled in)
    #108 HIGH /security mobile LCP    -> #75

  app audit row -> PR (recorded for completeness)
    #6 MED add-note-form reload       -> #66 (Option B)

Each row's "Suggested fix" column is preserved; the audit's
recommendation alongside the shipped approach is the trail. Where
the shipped fix differed from the audit's recommendation (e.g. #6
went inline + sticky-toast rather than introducing a new toast
primitive; #71 added 307 redirects because investigation showed
neither route was ever built), the row now records the actual
shape.

§19 of the marketing-audit doc is new — it indexes the batch-1
closures and notes a cross-reference to PR #69 (compliance-testing
workflow permissions gap, same shape as the PR #54/#55 env-var
fixes; recorded so the next CI sweep doesn't re-discover it).

#108 is the highest-value entry in this housekeeping batch — it
got the full verified-Lighthouse note (LCP element selector, phase
breakdown, top-3 opportunities by overallSavingsMs, prod run URL).
The audit's original "(verify)" annotation was correct: the named
cause (hero image) was real, just rendered by a shared component
that grep over the page directory missed.

Doc-only. No code change.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 13, 2026 03:40
@vercel

vercel Bot commented May 13, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
forma-os Ready Ready Preview, Comment May 13, 2026 3:45am

Request Review

@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: 91e15fba01

ℹ️ 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 +844 to +845
Remaining Phase C queue (35 MED + 24 LOW from pass 1, ~13 MED + 13
LOW from pass 2 not yet shipped): walked in audit-file order,

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 the remaining HIGH rows in Phase C

When this audit is used as the repair queue, this new summary now says the remaining Phase C work is only MED/LOW, but §3 still has unshipped HIGH findings #4, #5, #6, and #8 (with only #7 explicitly marked obsolete). That makes several high-priority marketing issues look cleared after batch 1 and can cause them to be skipped; please include the remaining HIGH count/list here before moving on to the MED/LOW queue.

Useful? React with 👍 / 👎.

Copilot AI 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.

Pull request overview

This PR is a documentation-only housekeeping update that records which Phase C marketing/app audit findings have been shipped (with PR references) and adds the verified details for audit row #108 (LCP on /security), keeping the audit trail accurate and reducing re-work in future audit/CI sweeps.

Changes:

  • Annotates the 2026-05-13 marketing audit with “Shipped in #…” notes for the Phase C batch-1 HIGH/CRIT items and adds a new §19 summary table (including a CI cross-reference to PR #69).
  • Expands the #108 entry with verified Lighthouse run details to confirm root cause and tie it to PR #75.
  • Updates the deep audit doc to record PR #66 against finding #6 (admin add-note reload/refresh + toast behavior).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
docs/audit/2026-05-13-marketing-audit.md Adds shipped-PR annotations, a verified Lighthouse note for #108, and a new Phase C batch-1 housekeeping section including a CI cross-reference.
docs/audit/2026-05-12-deep-audit.md Updates the PR column/details for finding #6 to reflect the shipped fix in PR #66.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

| # | Sev | Page | Observation | Fix hint |
|---|-----|------|-------------|----------|
| 108 | HIGH | `/security` mobile | LCP is **6.5 s** (perf 73). The biggest single opportunity is "Properly size images" at 900 ms — i.e. an image is being served at a resolution far above its rendered size on mobile. The hero image on `/security` is the candidate (verify). | Add explicit `width` / `height` + a `<source media=...>` `srcset` for the security hero image. |
| 108 | HIGH | `/security` mobile | LCP is **6.5 s** (perf 73). The biggest single opportunity is "Properly size images" at 900 ms — i.e. an image is being served at a resolution far above its rendered size on mobile. The hero image on `/security` is the candidate (verify). **Verified 2026-05-13 with a fresh Lighthouse mobile run** (`tmp/lh-security.json`, prod URL, devtools throttling): performance 61, LCP 7,008 ms; LCP element confirmed `<img class="mk-route-photo-image" src="/marketing-media/security.jpg">` rendered by the shared `<MarketingRouteBackdrop>` portal (not by the security page tree, which is why initial grep over `app/(marketing)/security/` came back empty). Load Time dominates the LCP at **5,263 ms / 75%**. Top three opportunities by `overallSavingsMs`: `uses-responsive-images` 900 ms, `modern-image-formats` 450 ms, `render-blocking-resources` 139 ms — i.e. the audit's named cause was correct, just shipped via a shared component. **Shipped in #75** — converted the bare `<img>` to `next/image` with `fill`, `sizes="100vw"`, `priority`, `quality={60}`; closes both image-related opportunities and benefits every non-home marketing page (covers §17 #109 + #110). | Add explicit `width` / `height` + a `<source media=...>` `srcset` for the security hero image. |
Comment on lines +836 to +842
- **PR #69** — `compliance-testing` workflow lacked `pull-requests:
write` permission, so the `compliance-summary` job failed in 5s
on every PR that touched `app/**/admin/**`, `app/**/privacy/**`,
`middleware.ts`, or `tests/compliance/**`. Same shape as PR #54
/ #55 (env-var gaps on the same workflow). Permissions block +
`continue-on-error: true` on the comment step. Worth noting here
so the next CI sweep doesn't re-discover it from scratch.
@github-actions

Copy link
Copy Markdown

♿ Accessibility Test Results

PASSED - No critical accessibility issues found

Tests Performed:

  • WCAG 2.1 AA compliance validation
  • Cross-browser accessibility testing
  • Keyboard navigation testing
  • Screen reader compatibility
  • Color contrast validation

Artifacts: Download the accessibility reports from the "Artifacts" section for detailed results.

@ejay-dev
ejay-dev merged commit 87784d6 into main May 13, 2026
32 checks passed
@ejay-dev
ejay-dev deleted the docs/audit-housekeeping-phase-c-batch-1 branch May 13, 2026 03:51
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