From 4d9dd4f2accdfd2c6dfb2fdd51ab00bc6408b7aa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 2 May 2026 22:32:04 +0000 Subject: [PATCH 1/2] Initial plan From 65464564f8d25364a6eadab901b824375ac15996 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 2 May 2026 22:34:30 +0000 Subject: [PATCH 2/2] feat: swap AI models to Grok and add PoweredByBanner component - Replace deepseek/deepseek-v4-flash with x-ai/grok-4.3 in feasibility.ts and personaReply.ts - Update model reference in documentation/architecture.md - Add PoweredByBanner.tsx with inline SVG wordmarks for xAI, Grok, SpaceX - Render PoweredByBanner in the site footer (layout.tsx) Agent-Logs-Url: https://github.com/nikkogibler/MarsFounderIO/sessions/8a3b6c4c-3a63-430f-a7c3-0c5ca0ce3ef0 Co-authored-by: nikkogibler <208503076+nikkogibler@users.noreply.github.com> --- artifacts/api-server/src/lib/feasibility.ts | 2 +- artifacts/api-server/src/lib/personaReply.ts | 2 +- .../src/components/PoweredByBanner.tsx | 76 +++++++++++++++++++ .../marsfounder/src/components/layout.tsx | 4 +- documentation/architecture.md | 4 +- 5 files changed, 83 insertions(+), 5 deletions(-) create mode 100644 artifacts/marsfounder/src/components/PoweredByBanner.tsx diff --git a/artifacts/api-server/src/lib/feasibility.ts b/artifacts/api-server/src/lib/feasibility.ts index 735ec89..d9ac987 100644 --- a/artifacts/api-server/src/lib/feasibility.ts +++ b/artifacts/api-server/src/lib/feasibility.ts @@ -63,7 +63,7 @@ Build: ${build?.name ?? "unknown"} Generate the feasibility report. Strict JSON only.`; const response = await openrouter.chat.completions.create({ - model: "deepseek/deepseek-v4-flash", + model: "x-ai/grok-4.3", max_tokens: 1500, messages: [ { role: "system", content: SYSTEM_PROMPT }, diff --git a/artifacts/api-server/src/lib/personaReply.ts b/artifacts/api-server/src/lib/personaReply.ts index cdedc73..909cd88 100644 --- a/artifacts/api-server/src/lib/personaReply.ts +++ b/artifacts/api-server/src/lib/personaReply.ts @@ -31,7 +31,7 @@ Voice rules (apply to ALL bots, then layer your personal flavor on top): Now stay in character.`; const response = await openrouter.chat.completions.create({ - model: "deepseek/deepseek-v4-flash", + model: "x-ai/grok-4.3", max_tokens: 400, messages: [ { role: "system", content: system }, diff --git a/artifacts/marsfounder/src/components/PoweredByBanner.tsx b/artifacts/marsfounder/src/components/PoweredByBanner.tsx new file mode 100644 index 0000000..f68d2a3 --- /dev/null +++ b/artifacts/marsfounder/src/components/PoweredByBanner.tsx @@ -0,0 +1,76 @@ +const WORDMARK_FONT = "'Inter', 'Arial', sans-serif"; + +export function PoweredByBanner() { + return ( +
+ + Powered by + + + {/* xAI wordmark */} + + + xAI + + + +
+ ); +} diff --git a/artifacts/marsfounder/src/components/layout.tsx b/artifacts/marsfounder/src/components/layout.tsx index 6a1344e..cf2c55a 100644 --- a/artifacts/marsfounder/src/components/layout.tsx +++ b/artifacts/marsfounder/src/components/layout.tsx @@ -1,4 +1,5 @@ import { Link, useLocation } from "wouter"; +import { PoweredByBanner } from "@/components/PoweredByBanner"; import { useGetMarsTime, useGetLightDelay, @@ -102,8 +103,9 @@ export function Layout({ children }: { children: React.ReactNode }) { -
+
© 2026 MARSFOUNDER INC. + NOT AFFILIATED WITH NASA OR SPACEX.
diff --git a/documentation/architecture.md b/documentation/architecture.md index 525ad68..7c2881c 100644 --- a/documentation/architecture.md +++ b/documentation/architecture.md @@ -53,7 +53,7 @@ Browser → Vercel (SPA) → VPS Docker container (Express API) → Neon Postgre - **Framework**: Express 5, TypeScript - **Build**: esbuild → single CJS bundle at `dist/index.mjs` - **Database access**: Drizzle ORM via `@workspace/db` -- **AI**: `@workspace/integrations-anthropic-ai` (OpenRouter via `openai` SDK, model `deepseek/deepseek-v4-flash`) +- **AI**: `@workspace/integrations-anthropic-ai` (OpenRouter via `openai` SDK, model `x-ai/grok-4.3`) - **Rate limiting**: - AI routes (`/api/personas/*`, `/api/missions/:id/feasibility`): 15 req/min - Write routes (`POST /api/builds`, `POST /api/missions`): 30 req/min @@ -82,7 +82,7 @@ File: `lib/integrations-anthropic-ai/src/client.ts` Uses the `openai` SDK pointed at OpenRouter: - `baseURL`: `https://openrouter.ai/api/v1` -- Model: `deepseek/deepseek-v4-flash` +- Model: `x-ai/grok-4.3` - Headers: `HTTP-Referer`, `X-Title` - Env var: `OPENROUTER_API_KEY`