Redirect Foundation and GameForge routes to a new domain
Introduce an `ExternalRedirect` component and update routes in `App.tsx` to redirect `/foundation/*` and `/gameforge/*` to `aethex.foundation`. This change enforces legal entity separation as per the Axiom Model, ensuring user-facing URLs reflect the independent `aethex.foundation` domain. Documentation in `replit.md` is updated to reflect this new routing architecture. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9203795e-937a-4306-b81d-b4d5c78c240e Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: c737b80b-9de9-4761-99f3-d5ff94612014 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7c94b7a0-29c7-4f2e-94ef-44b2153872b7/9203795e-937a-4306-b81d-b4d5c78c240e/uM0p4Kd Replit-Helium-Checkpoint-Created: true
This commit is contained in:
parent
22ca7d752b
commit
7197be23c4
4 changed files with 50 additions and 15 deletions
4
.replit
4
.replit
|
|
@ -61,6 +61,10 @@ externalPort = 3000
|
|||
localPort = 40437
|
||||
externalPort = 3001
|
||||
|
||||
[[ports]]
|
||||
localPort = 46043
|
||||
externalPort = 3002
|
||||
|
||||
[deployment]
|
||||
deploymentTarget = "autoscale"
|
||||
run = ["node", "dist/server/production.mjs"]
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ import LabsGetInvolved from "./pages/labs/LabsGetInvolved";
|
|||
import GameForgeStartBuilding from "./pages/gameforge/GameForgeStartBuilding";
|
||||
import GameForgeViewPortfolio from "./pages/gameforge/GameForgeViewPortfolio";
|
||||
import GameForgeJoinGameForge from "./pages/gameforge/GameForgeJoinGameForge";
|
||||
import ExternalRedirect from "./components/ExternalRedirect";
|
||||
import CorpScheduleConsultation from "./pages/corp/CorpScheduleConsultation";
|
||||
import CorpViewCaseStudies from "./pages/corp/CorpViewCaseStudies";
|
||||
import CorpContactUs from "./pages/corp/CorpContactUs";
|
||||
|
|
@ -195,9 +196,10 @@ const App = () => (
|
|||
path="/dashboard/labs"
|
||||
element={<LabsDashboard />}
|
||||
/>
|
||||
{/* GameForge Dashboard redirects to Foundation (Non-Profit Program) */}
|
||||
<Route
|
||||
path="/dashboard/gameforge"
|
||||
element={<GameForgeDashboard />}
|
||||
element={<ExternalRedirect to="https://aethex.foundation/gameforge/dashboard" />}
|
||||
/>
|
||||
<Route
|
||||
path="/dashboard/dev-link"
|
||||
|
|
@ -355,21 +357,13 @@ const App = () => (
|
|||
element={<LabsGetInvolved />}
|
||||
/>
|
||||
|
||||
<Route path="/gameforge" element={<GameForge />} />
|
||||
<Route
|
||||
path="/gameforge/start-building"
|
||||
element={<GameForgeStartBuilding />}
|
||||
/>
|
||||
<Route
|
||||
path="/gameforge/view-portfolio"
|
||||
element={<GameForgeViewPortfolio />}
|
||||
/>
|
||||
<Route
|
||||
path="/gameforge/join-gameforge"
|
||||
element={<GameForgeJoinGameForge />}
|
||||
/>
|
||||
{/* GameForge redirects to aethex.foundation/gameforge (Non-Profit Program - Axiom Model) */}
|
||||
<Route path="/gameforge" element={<ExternalRedirect to="https://aethex.foundation/gameforge" />} />
|
||||
<Route path="/gameforge/*" element={<ExternalRedirect to="https://aethex.foundation/gameforge" />} />
|
||||
|
||||
<Route path="/foundation" element={<Foundation />} />
|
||||
{/* Foundation redirects to aethex.foundation (Non-Profit Guardian - Axiom Model) */}
|
||||
<Route path="/foundation" element={<ExternalRedirect to="https://aethex.foundation" />} />
|
||||
<Route path="/foundation/*" element={<ExternalRedirect to="https://aethex.foundation" />} />
|
||||
|
||||
<Route path="/corp" element={<Corp />} />
|
||||
<Route
|
||||
|
|
|
|||
22
client/components/ExternalRedirect.tsx
Normal file
22
client/components/ExternalRedirect.tsx
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
import { useEffect } from 'react';
|
||||
|
||||
interface ExternalRedirectProps {
|
||||
to: string;
|
||||
}
|
||||
|
||||
const ExternalRedirect: React.FC<ExternalRedirectProps> = ({ to }) => {
|
||||
useEffect(() => {
|
||||
window.location.href = to;
|
||||
}, [to]);
|
||||
|
||||
return (
|
||||
<div className="min-h-screen flex items-center justify-center bg-background">
|
||||
<div className="text-center">
|
||||
<div className="animate-spin w-8 h-8 border-4 border-primary border-t-transparent rounded-full mx-auto mb-4" />
|
||||
<p className="text-muted-foreground">Redirecting to {to}...</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default ExternalRedirect;
|
||||
15
replit.md
15
replit.md
|
|
@ -22,7 +22,22 @@ The UI/UX emphasizes an isometric 2.5D realm selector, replacing 3D scenes with
|
|||
|
||||
Domain architecture is centralized around `aethex.foundation` as the Identity Authority (SSOT) for all identity and passport data, with all other platforms acting as OAuth clients. Creator and Project Passports are accessed via wildcard subdomains (`*.aethex.me`, `*.aethex.space`).
|
||||
|
||||
## Axiom Model Routing (Legal Entity Separation)
|
||||
The monolith (`aethex.dev`) implements split routing to enforce legal separation between For-Profit and Non-Profit arms:
|
||||
|
||||
| Route | Destination | Legal Entity | Action |
|
||||
|-------|-------------|--------------|--------|
|
||||
| `/foundation/*` | `https://aethex.foundation` | Non-Profit (Guardian) | **Redirect** |
|
||||
| `/gameforge/*` | `https://aethex.foundation/gameforge` | Non-Profit (Program) | **Redirect** |
|
||||
| `/dashboard/gameforge` | `https://aethex.foundation/gameforge/dashboard` | Non-Profit | **Redirect** |
|
||||
| `/labs/*` | stays on `aethex.dev` | For-Profit (Skunkworks) | Local |
|
||||
| `/nexus/*` | stays on `aethex.dev` | For-Profit (Monetization) | Local |
|
||||
| `/corp/*` | stays on `aethex.dev` | For-Profit (Services) | Local |
|
||||
|
||||
This ensures the Foundation's user-facing URLs display `aethex.foundation` in the browser, demonstrating operational independence per the Axiom Model.
|
||||
|
||||
## Recent Changes (December 2025)
|
||||
- **Axiom Model Routing**: Foundation and GameForge routes redirect to `aethex.foundation` domain for legal entity separation
|
||||
- **AI Intelligent Agent Integration**: Added global AI chat with 10 specialized personas (Network Agent, Forge Master, Ethics Sentinel, SBS Architect, Curriculum Weaver, QuantumLeap, Vapor, Apex, Ethos Producer, AeThex Archivist)
|
||||
- **Tiered Access Control**: AI personas gated by user tier (Free/Architect/Council) based on roles
|
||||
- **Realm-Aware Suggestions**: AI PersonaSelector suggests relevant personas based on current realm context
|
||||
|
|
|
|||
Loading…
Reference in a new issue