Skip to content
This repository was archived by the owner on Jun 20, 2026. It is now read-only.

Add route inventory, live-preview, pages, APIs, navbar and live-support UI for GEM CYBER#53

Open
support371 wants to merge 1 commit into
mainfrom
codex/elevate-gem-cyber-marketing-site-ef5oh6
Open

Add route inventory, live-preview, pages, APIs, navbar and live-support UI for GEM CYBER#53
support371 wants to merge 1 commit into
mainfrom
codex/elevate-gem-cyber-marketing-site-ef5oh6

Conversation

@support371

@support371 support371 commented Mar 4, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Provide a single enterprise-grade surface and route governance for GEM CYBER that exposes route inventory, legacy redirects, and backend readiness for operators and stakeholders.
  • Improve navigation and live support ergonomics so production pages, mobile nav, and support launcher behave consistently across routes and safe-area contexts.
  • Enable automated checks and tooling by adding API endpoints and a canonical routeInventory data source to power admin tooling and live previews.

Description

  • Added a playbook docs/codex-agent-execution-playbook.md capturing the agent operating contract, required routes, validation checklist, and PR acceptance template.
  • Introduced src/data/routeInventory.ts with routeCoverage, legacyRedirects, backendEndpoints, adminOpsCoverage, and service coverage arrays, and added GET /api/routes and GET /api/health handlers at src/app/api/*/route.ts that return JSON payloads driven by that inventory.
  • Created new pages and UI components: live-preview, routes, membership, leadership, about-us (with about re-export), refactored intelligence, updated services and homepage, plus a reusable PlatformModuleCard component.
  • Updated layout and behavior: improved Navbar (transparent-to-opaque transition, expanded nav items, mobile menu), enhanced LiveSupport (safe-area launcher, route-aware visibility, panel layout), and added redirects and allowedDevOrigins in next.config.ts for legacy path normalization.

Testing

  • Ran npm run lint and the lint pass completed successfully.
  • Ran npm run build and the production build completed successfully.
  • Performed a dev smoke check with npm run dev and exercised the API sanity checks using curl -s http://localhost:3000/api/health and curl -s http://localhost:3000/api/routes, both of which returned the expected JSON payloads for health and route registry.

Codex Task

Summary by Sourcery

Add a centralized route inventory with supporting APIs, new governance and membership-focused pages, and update site navigation, homepage, and live support UI to align with GEM CYBER’s enterprise experience.

New Features:

  • Introduce a route inventory data source and expose it via new /api/routes and /api/health endpoints for route governance and health checks.
  • Add new pages for live preview, route directory, membership, leadership, and an about alias to present platform, governance, and leadership offerings.
  • Create a reusable PlatformModuleCard component to standardize presentation of service and module offerings across pages.

Enhancements:

  • Rework the homepage, services page, and intelligence page content and layout to emphasize platform modules and security outcomes.
  • Refine the navbar with expanded destinations, a security-focused CTA, and scroll-aware transparency behavior.
  • Improve the LiveSupport widget with safe-area-aware positioning, route-aware launcher behavior, and a more structured panel layout.
  • Add legacy path redirects and allowedDevOrigins configuration to normalize routes and support development.
  • Update the about-us content to align with GEM CYBER branding and SOC 2-ready positioning.

Documentation:

  • Add an agent execution playbook documenting GEM CYBER’s route, API, UX standards, and PR expectations for autonomous coding agents.

@vercel

vercel Bot commented Mar 4, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
gem-assist-joi5 Ready Ready Preview, Comment Mar 4, 2026 4:21pm
gemassistenterprise Error Error Mar 4, 2026 4:21pm
my-web Ready Ready Preview, Comment Mar 4, 2026 4:21pm
mymain-emterprise-website Ready Ready Preview, Comment, Open in v0 Mar 4, 2026 4:21pm
mymain-emterprise-website-6rb7 Ready Ready Preview, Comment Mar 4, 2026 4:21pm
mymain-emterprise-website-gerf Ready Ready Preview, Comment Mar 4, 2026 4:21pm
mymain-emterprise-website-h5el Error Error Mar 4, 2026 4:21pm
mymain-emterprise-website-s362 Ready Ready Preview, Comment Mar 4, 2026 4:21pm
mymain-emterprise-website-sr68 Ready Ready Preview, Comment, Open in v0 Mar 4, 2026 4:21pm
mymain-emterprise-website-wt2q Ready Ready Preview, Comment Mar 4, 2026 4:21pm

@sourcery-ai

sourcery-ai Bot commented Mar 4, 2026

Copy link
Copy Markdown

Reviewer's Guide

Implements a route inventory data source with health and route APIs, adds live preview and route directory pages, refactors core marketing surfaces (home, services, intelligence, about) around reusable PlatformModuleCard modules, and upgrades global layout components (navbar, live-support) plus Next.js redirects to provide unified navigation, route governance, and enterprise-ready UX for GEM CYBER.

Sequence diagram for GET /api/routes using route inventory

sequenceDiagram
  actor Operator
  participant Browser
  participant NextApp
  participant RoutesApiHandler
  participant RouteInventoryModule

  Operator->>Browser: Request http(s)://host/api/routes
  Browser->>NextApp: HTTP GET /api/routes
  NextApp->>RoutesApiHandler: Invoke GET handler
  RoutesApiHandler->>RouteInventoryModule: Read routeCoverage
  RoutesApiHandler->>RouteInventoryModule: Read legacyRedirects
  RouteInventoryModule-->>RoutesApiHandler: RouteItem[] and LegacyRedirect[]
  RoutesApiHandler-->>NextApp: JSON { routes, redirects, generatedAt }
  NextApp-->>Browser: HTTP 200 application/json
  Browser-->>Operator: Display route and redirect inventory
Loading

Class diagram for route inventory types and shared UI module card

classDiagram
  class RouteItem {
    +string path
    +string description
    +CORE | PLATFORM | ADMIN | LEGAL tag
  }

  class RouteInventoryModule {
    +RouteItem[] routeCoverage
    +string[] serviceScaleCoverage
    +string[] adminOpsCoverage
    +BackendEndpoint[] backendEndpoints
    +LegacyRedirect[] legacyRedirects
  }

  class BackendEndpoint {
    +string method
    +string path
    +string detail
  }

  class LegacyRedirect {
    +string from
    +string to
    +string notes
  }

  class PlatformModuleCardProps {
    +string title
    +string description
    +string[] outcomes
    +string ctaLabel
    +string href
    +LucideIcon icon
  }

  class PlatformModuleCard {
    +render(props PlatformModuleCardProps) ReactElement
  }

  class ServicesPage {
    +render() ReactElement
  }

  class IntelligencePage {
    +render() ReactElement
  }

  class MembershipPage {
    +render() ReactElement
  }

  class LeadershipPage {
    +render() ReactElement
  }

  class RouteDirectoryPage {
    +render() ReactElement
  }

  class LivePreviewPage {
    +render() ReactElement
  }

  class RoutesApiHandler {
    +GET(request Request) Response
  }

  class HealthApiHandler {
    +GET(request Request) Response
  }

  RouteInventoryModule "*" --> "*" RouteItem : contains
  RouteInventoryModule "*" --> "*" BackendEndpoint : exposes
  RouteInventoryModule "*" --> "*" LegacyRedirect : exposes

  PlatformModuleCardProps <.. PlatformModuleCard : uses
  PlatformModuleCard <.. ServicesPage : reused by
  PlatformModuleCard <.. IntelligencePage : reused by
  PlatformModuleCard <.. MembershipPage : reused by
  PlatformModuleCard <.. LeadershipPage : reused by

  RouteInventoryModule <.. RouteDirectoryPage : reads
  RouteInventoryModule <.. LivePreviewPage : reads

  RouteInventoryModule <.. RoutesApiHandler : reads
Loading

File-Level Changes

Change Details Files
Refactor homepage into a conversion-focused hero with updated trust strip and flow sections aligned to new routes.
  • Simplified hero copy and updated call-to-action buttons to point to /contact-us and /services.
  • Replaced old metrics, services, intelligence preview, campaign, roadmap, and contact sections with a streamlined hero, trust-strip, how-it-works, and closing CTA layout.
  • Adjusted background gradients, spacing, and typography for better desktop/mobile presentation.
src/app/page.tsx
Upgrade global navbar to be route-aware with transparent-on-home behavior and improved mobile drawer UX.
  • Replaced hash-based nav with top-level page links for Services, Intelligence, Membership, Leadership, About, Admin, and Route Ops.
  • Added scroll listener to toggle transparent vs opaque styles on the homepage and updated header to be fixed with backdrop blur.
  • Rebuilt desktop and mobile navigation styling, including a dedicated Security Audit CTA and accessible focus/ARIA attributes.
  • Simplified product-specific nav grouping and removed env-based app name/support email usage from the header.
src/components/layout/Navbar.tsx
Improve LiveSupport widget with safe-area-aware launcher visibility and full-height panel layout.
  • Made launcher visibility route- and scroll-aware (hidden at top of /, shown after scrolling or on non-home routes).
  • Adjusted launcher styling and positioning to respect mobile safe area insets and avoid overlapping primary CTAs.
  • Reworked side panel layout, spacing, and footer padding while preserving department definitions and contact links.
src/components/layout/LiveSupport.tsx
Introduce a structured route inventory and expose it via new health and routes API endpoints plus route directory surfaces.
  • Created routeInventory.ts central data source defining routeCoverage, serviceScaleCoverage, adminOpsCoverage, backendEndpoints, and legacyRedirects.
  • Added /live-preview composite page that consumes the inventory to render route coverage, service/admin panels, backend readiness, and legacy redirect listings.
  • Added /routes directory page that lists all known routes and links into the live preview surface.
  • Implemented GET /api/routes to return routes and redirects and GET /api/health to surface basic web service status.
  • Updated next.config.ts redirects and legacyRedirects inventory to normalize /home, /contact, /privacy, /terms, and /architecture paths.
src/data/routeInventory.ts
src/app/live-preview/page.tsx
src/app/routes/page.tsx
src/app/api/routes/route.ts
src/app/api/health/route.ts
next.config.ts
Standardize several marketing and solution pages on a shared PlatformModuleCard component and add new Membership and Leadership pages.
  • Introduced PlatformModuleCard component for consistent module tiles with icon, description, outcomes list, and CTA link.
  • Refactored Intelligence and Services pages into module-based grids using PlatformModuleCard, simplifying prior bespoke layouts.
  • Created new Membership and Leadership pages that present GEM CYBER offerings as modular programs using PlatformModuleCard.
  • Added /about route that re-exports the /about-us implementation (including metadata), and tuned about-us copy around GEM CYBER naming and SOC 2 wording.
src/components/ui/PlatformModuleCard.tsx
src/app/intelligence/page.tsx
src/app/services/page.tsx
src/app/membership/page.tsx
src/app/leadership/page.tsx
src/app/about-us/page.tsx
src/app/about/page.tsx
Document an agent execution playbook for GEM CYBER development and PR acceptance standards.
  • Added codex-agent-execution-playbook.md outlining agent mission, operating contract, required UX/route/backend standards, commands, visual targets, future backlog, and PR acceptance template.
  • codified expectations for routes (/services, /intelligence, /membership, /leadership, /about, /admin, /routes, /live-preview) and APIs (/api/routes, /api/health) as part of definition of done.
docs/codex-agent-execution-playbook.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai 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.

Hey - I've found 2 issues, and left some high level feedback:

  • In next.config.ts you’re adding a custom allowedDevOrigins field on a typed NextConfig, which isn’t part of the Next.js config schema and may cause type or tooling issues—consider moving this into your own config module or into env instead of the Next config object.
  • The routeInventory and actual runtime configuration aren’t fully aligned (for example, legacyRedirects declares a /architecture → /specs redirect that isn’t present in next.config.ts), so it would be good to reconcile this so the inventory remains a reliable single source of truth for the active routes/redirects.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- In `next.config.ts` you’re adding a custom `allowedDevOrigins` field on a typed `NextConfig`, which isn’t part of the Next.js config schema and may cause type or tooling issues—consider moving this into your own config module or into `env` instead of the Next config object.
- The `routeInventory` and actual runtime configuration aren’t fully aligned (for example, `legacyRedirects` declares a `/architecture → /specs` redirect that isn’t present in `next.config.ts`), so it would be good to reconcile this so the inventory remains a reliable single source of truth for the active routes/redirects.

## Individual Comments

### Comment 1
<location path="next.config.ts" line_range="4" />
<code_context>

 const nextConfig: NextConfig = {
-  /* config options here */
+  allowedDevOrigins: ['127.0.0.1'],
+  async redirects() {
+    return [
</code_context>
<issue_to_address>
**issue (bug_risk):** Custom `allowedDevOrigins` field will not be type-safe on `NextConfig` and may cause TS issues.

`NextConfig` doesn’t support `allowedDevOrigins`, so this will likely fail type-checking and be ignored by Next at runtime. If you need this value, define and export it separately (e.g. `export const allowedDevOrigins = [...]`) and import it where required instead of adding it to `nextConfig`.
</issue_to_address>

### Comment 2
<location path="src/data/routeInventory.ts" line_range="7-16" />
<code_context>
+export const routeCoverage: RouteItem[] = [
</code_context>
<issue_to_address>
**issue (bug_risk):** Including `/architecture` in `routeCoverage` conflicts with the redirect note in `legacyRedirects`.

`routeCoverage` lists `/architecture` as an active route, but `legacyRedirects` treats it as legacy and delegated to `/specs`, and there’s no actual `/architecture` page or matching redirect in `next.config`. Please make this consistent by either treating `/architecture` as legacy-only (remove from `routeCoverage` and add the redirect) or as a live route (remove the legacy redirect entry and underlying redirect).
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread next.config.ts

const nextConfig: NextConfig = {
/* config options here */
allowedDevOrigins: ['127.0.0.1'],

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

issue (bug_risk): Custom allowedDevOrigins field will not be type-safe on NextConfig and may cause TS issues.

NextConfig doesn’t support allowedDevOrigins, so this will likely fail type-checking and be ignored by Next at runtime. If you need this value, define and export it separately (e.g. export const allowedDevOrigins = [...]) and import it where required instead of adding it to nextConfig.

Comment thread src/data/routeInventory.ts

@devin-ai-integration devin-ai-integration 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.

Devin Review found 1 potential issue.

View 7 additional findings in Devin Review.

Open in Devin Review

Comment thread src/data/routeInventory.ts

@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: c8a5b25023

ℹ️ 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 thread next.config.ts
@support371 support371 closed this Mar 4, 2026
@support371 support371 reopened this Mar 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant