Skip to content

GAIA 1.7.0 site updates: /gaia-react-perf section + global anchor-scroll fix - #53

Draft
stevensacks wants to merge 9 commits into
mainfrom
chore/gaia-1.7.0-site-updates
Draft

GAIA 1.7.0 site updates: /gaia-react-perf section + global anchor-scroll fix#53
stevensacks wants to merge 9 commits into
mainfrom
chore/gaia-1.7.0-site-updates

Conversation

@stevensacks

Copy link
Copy Markdown
Contributor

Summary

Prep branch for the GAIA 1.7.0 site updates: a new /gaia-react-perf feature section and a global anchor-scroll fix, plus structured-data and housekeeping changes.

Warning

Gated: do not merge until GAIA tags 1.7.0. Version lockstep and the changelog are handled by GAIA's release flow, not this branch. Opened as a draft to prevent a premature merge; mark ready once 1.7.0 is tagged.

New /gaia-react-perf feature section

  • Adds the measure-only React render-performance diagnostic as the 3rd section on Features (after Trust, before Load on demand).
  • Real ReducedSummary specimen (3 findings) + four meta cards. Headline: "App performance, optimized".
  • Marketing prose is plain-English with no internal coinage ("defeated memo", "blast radius times cost" removed). Specimen artifact fields (memo tag, memo-defeated count, react-doctor cross-refs) kept as real-output proof.
  • Correct attribution: GAIA diagnoses, Claude applies the fix you approve, then re-runs to confirm. Not "you apply the fix" (verified against the gaia gaia-react-perf skill).
  • Specimen "over budget" value right-aligned with the findings column.

Global anchor-scroll fix

  • Section headings landed ~6rem below the sticky header because scroll-mt-20 stacked on each section's py-20 top padding.
  • Dropped to scroll-mt-16 across all anchor-target sections so headings land just under the header. Verified empirically (heading sits ~79px below the 65px header on desktop, clears on mobile).

Structured data + housekeeping

  • index.html featureList + features/index.html ItemList position 7 and a /gaia-react-perf FAQ entry, de-jargoned to match the section.
  • Corrected stale "$5 cost cap per run" JSON-LD to the verified turn-limit framing.
  • Lint-rule count 1,314 → 1,450 (verified vs gaia README).

Verification

  • pnpm lint-all (tsc + eslint + prettier) ✅
  • pnpm build + prerender ✅ — no React #418 hydration errors (the net::ERR_FAILED prerender lines are pre-existing/benign).
  • JSON-LD validated as parseable; dist/features/index.html confirmed jargon-free.

🤖 Generated with Claude Code

stevensacks and others added 4 commits June 26, 2026 20:32
Add the /gaia-react-perf feature section to the Features page (3rd section,
after Trust, before Load on demand): a measure-only render-performance
diagnostic with a real ReducedSummary specimen and four meta cards. Marketing
copy stays plain-English with no internal coinage (no "defeated memo" or
"blast radius times cost"), and attributes the workflow correctly: GAIA
diagnoses, Claude applies the fix you approve, then re-runs to confirm. Headline
is "App performance, optimized". Right-align the specimen's over-budget value
with the findings column.

Structured data: add featureList (index.html), ItemList position 7, and a
/gaia-react-perf FAQ entry (features/index.html), de-jargoned to match the
section. Correct the stale "$5 cost cap per run" JSON-LD to the turn-limit
framing.

Fix the global anchor-scroll gap: section headings landed ~6rem below the
sticky header because scroll-mt-20 stacked on each section's py-20 top padding.
Drop to scroll-mt-16 across all anchor-target sections so headings land just
under the header.

Bump lint-rule count 1,314 to 1,450 (verified vs gaia README).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bump vite ^8.0.11 -> ^8.0.16 and force esbuild >=0.28.1 via pnpm
override to clear three dev-only Dependabot alerts:

- #6 HIGH   GHSA-fx2h-pf6j-xcff (vite server.fs.deny bypass, Windows)
- #7 MEDIUM GHSA-v6wh-96g9-6wx3 (vite launch-editor NTLMv2 disclosure)
- #4 LOW    GHSA-g7r4-m6w7-qqqr (esbuild dev-server file read, Windows)

All three are dev/Windows-only with no production-runtime exposure on
the static site, patched anyway. Lockfile resolves a single esbuild
0.28.1 across the vite and storybook paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Regenerate public/sitemap.xml so lastmod reflects real git history:
/ and /features/ move to 2026-06-26 (commit 8fc2bbe, render-perf
section) and /changelog/ to 2026-06-15 (latest release file). The
prior copy was stale from the v1.6.1 build.

Add .codex to .gitignore alongside the other per-tool dirs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Get Started: /setup-gaia-ci -> /setup-gaia (onboarding consolidated into one
  command), React Router 7 -> 8 scaffold label
- Features Trust: add self-verification and /gaia-debt proof points, note the
  genuine-RED TDD gate
- Features Load-on-demand: trim the Knowledge audit copy (drop the git-revertable
  overclaim, memory deletes are not git-tracked) and balance the three specimen
  cards to equal height
- Features Update-deps: render /update-deps as inline code in the point copy

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 1, 2026

Copy link
Copy Markdown

Deploying gaiareact with  Cloudflare Pages  Cloudflare Pages

Latest commit: 7132b57
Status: ✅  Deploy successful!
Preview URL: https://76da43a7.gaiareact.pages.dev
Branch Preview URL: https://chore-gaia-1-7-0-site-update.gaiareact.pages.dev

View logs

stevensacks and others added 5 commits July 2, 2026 05:26
Bump safe deps within-major: react/react-dom 19.2.7, tailwind-merge 3.6.0,
tailwindcss/@tailwindcss/vite 4.3.2, @types/node 25.9.4, @types/react 19.2.17,
@vitejs/plugin-react 6.0.3, prettier 3.9.4, puppeteer 24.43.1. Left eslint and
vite pinned.

Update typescript-eslint 8.62.1 and @gaia-react/lint 1.8.0. 1.8.0 replaces the
named exports with a gaiaLint({sourceDir}) factory, so eslint.config.mjs is
migrated accordingly. Scoping sourceDir to 'src' surfaced GAIA's check-file
naming conventions, which target the GAIA app layout (index.tsx components in
PascalCase folders); this multi-entry Vite site uses a different structure, so
filename/folder-naming-convention are disabled with a documented rationale.

Fix the real lint errors the new rules surfaced: explicit void return types on
three hooks, and five null-returning ternaries converted to boolean-guarded &&.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pin @babel/core to ^7.29.6 via pnpm override to clear CVE-2026-49356
(GHSA-4x5r-pxfx-6jf8, arbitrary file read via sourceMappingURL). It's a
dev/lint-time transitive pulled by @gaia-react/lint -> eslint-config-airbnb-
extended -> eslint-plugin-react-hooks; ^7 keeps it on the compatible babel 7.x
line rather than jumping to 8.x. The remaining vite/esbuild alerts are already
fixed on this branch and clear once it merges to main.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sync two residual facts the 1.7.0 copy sync missed:

- Node floor 22.19.0 -> 22.22.0 (GAIA's engine floor moved). Updated
  the get-started prose and the get-started JSON-LD HowToSupply.
- Remove the hard-coded "+ 47 dependencies, 41 devDependencies" line
  from the get-started terminal animation. Stale after the React
  Router 8 restructure and react-router-dom removal, and not derivable
  from source, so the count is dropped rather than re-guessed.

softwareVersion and the changelog stay at 1.6.1: GAIA has not tagged
1.7.0 yet. They move together when it does.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The post-animation scroll on the get-started page bailed the moment the
next section peeked into view (top < innerHeight - 80), so a small scroll
down would kill the auto-scroll before the section reached its resting
spot. Bail only once the section is at or past its position flush under
the sticky header; otherwise finish the scroll for the user.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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