GameForge is the Foundation's flagship "master-apprentice"
- mentorship program. It's our "gym" where developers collaborate
- on focused, high-impact game projects within 30-day sprints.
- Teams of 5 (1 mentor + 4 mentees) tackle real game development
- challenges and ship playable games to our community arcade.
+ mentorship program. It's our "gym" where developers
+ collaborate on focused, high-impact game projects within
+ 30-day sprints. Teams of 5 (1 mentor + 4 mentees) tackle real
+ game development challenges and ship playable games to our
+ community arcade.
@@ -129,14 +130,19 @@ export default function Foundation() {
-
Role 1: Community
+
+ Role 1: Community
+
Our "campfire" where developers meet, collaborate, and
- build their `aethex.me` passports through real project work.
+ build their `aethex.me` passports through real project
+ work.
-
Role 2: Education
+
+ Role 2: Education
+
Learn professional development practices: Code Review
(SOP-102), Scope Management (KND-001), and shipping
@@ -144,7 +150,9 @@ export default function Foundation() {
-
Role 3: Pipeline
+
+ Role 3: Pipeline
+
Top performers become "Architects" ready to work on
high-value projects. Your GameForge portfolio proves you
diff --git a/client/pages/Login.tsx b/client/pages/Login.tsx
index e9c083d6..81a0f749 100644
--- a/client/pages/Login.tsx
+++ b/client/pages/Login.tsx
@@ -419,7 +419,10 @@ export default function Login() {
window.location.search,
).get("next");
if (next && next.startsWith("/"))
- u.searchParams.set("state", JSON.stringify({ redirectTo: next }));
+ u.searchParams.set(
+ "state",
+ JSON.stringify({ redirectTo: next }),
+ );
window.location.href = u.toString();
}}
>
diff --git a/client/pages/dashboards/LabsDashboard.tsx b/client/pages/dashboards/LabsDashboard.tsx
index b5e890e0..5c12e094 100644
--- a/client/pages/dashboards/LabsDashboard.tsx
+++ b/client/pages/dashboards/LabsDashboard.tsx
@@ -113,9 +113,7 @@ export default function LabsDashboard() {
if (affiliationRes.ok) {
const data = await affiliationRes.json();
hasLabsAccess =
- data.arms?.includes("labs") ||
- data.role === "admin" ||
- data.verified;
+ data.arms?.includes("labs") || data.role === "admin" || data.verified;
}
setIsAccessible(hasLabsAccess);
@@ -238,8 +236,8 @@ export default function LabsDashboard() {
What is LABS?
- LABS is our proprietary, for-profit R&D department that takes
- the open-source Axiom Protocol and builds competitive,
+ LABS is our proprietary, for-profit R&D department that
+ takes the open-source Axiom Protocol and builds competitive,
closed-source "secret weapons" on top of it.
@@ -430,7 +428,9 @@ export default function LabsDashboard() {
diff --git a/docs/FEDERATION-ARCHITECTURE.md b/docs/FEDERATION-ARCHITECTURE.md
index 4e2c841e..1fcee498 100644
--- a/docs/FEDERATION-ARCHITECTURE.md
+++ b/docs/FEDERATION-ARCHITECTURE.md
@@ -90,6 +90,7 @@ UNIQUE(user_id, provider) -- One user can only link one Discord accoun
#### Second Login with Different Provider Y (Same Person)
**Case A: Direct Provider Match**
+
```
1. User clicks "Login with Discord"
2. OAuth returns discord user data
@@ -101,6 +102,7 @@ UNIQUE(user_id, provider) -- One user can only link one Discord accoun
```
**Case B: Email Match (Account Recovery)**
+
```
1. User lost GitHub password, tries "Login with Discord"
2. Discord email matches existing Passport email
@@ -117,11 +119,12 @@ UNIQUE(user_id, provider) -- One user can only link one Discord accoun
```typescript
async function federateOAuthUser(
provider: string,
- oauthUser: OAuthUser
-): Promise
+ oauthUser: OAuthUser,
+): Promise;
```
**Logic:**
+
1. Look up `provider_identities` table
- If found → return linked Passport user_id
- If not found → create new Passport + provider link
@@ -159,6 +162,7 @@ redirect("/dashboard");
## Login Flow (Updated)
### Before (No Federation)
+
```
GitHub → GitHub auth session
Discord → Discord auth session (different user)
@@ -166,6 +170,7 @@ Google → Google auth session (different user)
```
### After (Federation)
+
```
GitHub → Federate to Foundation → Passport A session
Discord → Federate to Foundation → Passport A session (same)
@@ -181,7 +186,7 @@ Google → Federate to Foundation → Passport A session (same)
```
1. User signs up with GitHub
→ Creates Passport, logs in
-
+
2. User logs out, wants to use Discord
→ Logs in with Discord
→ System recognizes Discord is new
@@ -208,19 +213,24 @@ Google → Federate to Foundation → Passport A session (same)
## Security Considerations
### Provider ID Collision (Prevented)
+
```sql
UNIQUE(provider, provider_user_id)
```
+
→ Prevents provider ID from linking to multiple Passports
### Account Takeover (Prevented)
+
```sql
UNIQUE(user_id, provider)
```
+
→ User can't link same provider twice
→ User can't have duplicate providers
### Email Verification (Recommended)
+
→ For auto-linking on email match, require email verification
→ Prevent account takeover via unverified email addresses
@@ -262,7 +272,7 @@ If you had existing users with separate GitHub/Discord/Google accounts:
✅ **Data Consistency** - No duplicate user records
✅ **Security** - Prevents account fragmentation
✅ **Future Growth** - Easy to add new OAuth providers
-✅ **Account Recovery** - Email-based recovery across providers
+✅ **Account Recovery** - Email-based recovery across providers
---
diff --git a/docs/GAMEFORGE-ARCHITECTURE.md b/docs/GAMEFORGE-ARCHITECTURE.md
index 91560858..0dea6bf9 100644
--- a/docs/GAMEFORGE-ARCHITECTURE.md
+++ b/docs/GAMEFORGE-ARCHITECTURE.md
@@ -13,15 +13,18 @@
## Role 1: The "Product" (The User's Workspace)
### What It Is
+
The tangible dashboard where GameForge participants manage their team, tasks, and sprint progress.
### Details
+
- **URL:** `/dashboard/gameforge`
- **Theme:** "Modern Retro" (Green accents, Pixel fonts, Hex grid wallpaper)
- **Access:** Soft-gated - Any logged-in user with an AeThex Passport can view. Non-team members see "Join the Next Game Jam!" CTA linking to Foundation
- **JTBD:** "As a GameForge mentee, I need to see my team, my tasks, and my deadline for this month's game."
### Bespoke Features (Planned for Phase 3)
+
- **"Active Sprint" Header** - Prominent "Mission Control" header with live countdown to 4-week deadline
- **"The Scope Anchor"** - Read-only widget displaying the 1-Paragraph GDD (KND-001) as the "North Star"
- **"My Sprint Team"** - 5-person master-apprentice widget showing Forge Master and 4 Mentees (Scripter, Builder, Sound, Narrative), each linking to their aethex.me Passport
@@ -29,6 +32,7 @@ The tangible dashboard where GameForge participants manage their team, tasks, an
- **"Submit Final Build" CTA** - Pushes final game to aethex.fun Arcade
### Current Status (Phase 1)
+
**V0 (MVP):** Simple placeholder page with CTA links to Foundation and Discord channels.
**Timeline:** Full dashboard deferred to Phase 3 (Post-Monetization) per strategic roadmap.
@@ -37,21 +41,25 @@ The tangible dashboard where GameForge participants manage their team, tasks, an
## Role 2: The "Program" (The Non-Profit's Mission)
### What It Is
+
The **legal and cultural** "why" behind GameForge. This is the educational program run by **The AeThex Foundation** (Non-Profit) that lives inside the aethex.dev app.
### The Foundation's Role
#### 1. The "University" (Mentorship Program - Part VIII)
+
- **Purpose:** GameForge is the flagship "master-apprentice" program of the Foundation's Mentorship Program
- **Function:** The "lab" for our educational "university"
- **Model:** NOT a commercial venture; an **educational program**
#### 2. The "Community Builder" (Community is Our Core - Part I)
+
- **Purpose:** The "campfire" where developers meet, collaborate, and build community
- **Function:** A non-profit "gym" where developers can meet, collaborate, build their aethex.me Passports, and **ship a real product in 30 days**
- **Value:** Proves our community is talented and serves as a marketing funnel
#### 3. The "Showcase" (Portfolio Platform - aethex.fun)
+
- **Purpose:** Host non-commercial games as "social proof"
- **Function:** Games ship to aethex.fun Arcade after completion
- **Impact:** Attracts new developers to the Foundation and demonstrates capability
@@ -59,6 +67,7 @@ The **legal and cultural** "why" behind GameForge. This is the educational progr
### How It Works
**Team Structure (SOP-008 / Master-Apprentice Model)**
+
- **Forge Master (1)** - Experienced mentor who guides the team
- **Apprentices (4)** - Specialized roles:
- **Scripter** - Gameplay programming
@@ -67,6 +76,7 @@ The **legal and cultural** "why" behind GameForge. This is the educational progr
- **Narrative** - Story, dialogue, characters
**Sprint Structure (30-Day Cycle)**
+
1. **Team Formation** - Developers are matched with mentors
2. **Scope Setting (KND-001)** - Create 1-paragraph GDD to prevent feature creep
3. **Sprint Work** - 4 weeks of focused development
@@ -74,6 +84,7 @@ The **legal and cultural** "why" behind GameForge. This is the educational progr
5. **Evaluation** - Mentor feedback and performance assessment
**Program Goals**
+
- Developers learn professional practices (Code Review, Scope Management, Shipping Excellence)
- Top performers (3+ shipped games) earn **"Architect" 🛡️** status
- Build aethex.me Passport portfolio with shipping experience
@@ -84,18 +95,22 @@ The **legal and cultural** "why" behind GameForge. This is the educational progr
## Role 3: The "Strategic Asset" (The For-Profit's Advantage)
### What It Is
+
How the **Non-Profit "Guardian"** provides massive, tangible value to the **For-Profit "Engine."**
GameForge is a **"dual-purpose" asset** that serves both:
+
- The Foundation's mission (education, community, non-profit)
- AeThex.dev's commercial goals (revenue, talent, R&D)
### Asset 1: The "Talent Flywheel" (Funnel 3)
#### The Problem
+
A random developer applies to NEXUS marketplace. How do we know if they can truly "Execute with Excellence"? We don't.
#### The Solution: GameForge as Internal Vetting
+
1. **Entry:** New dev joins the Foundation and enters GameForge
2. **Battleground:** They ship **3 games in 3 months**, learning:
- **SOP-102** (Code Review standards)
@@ -105,6 +120,7 @@ A random developer applies to NEXUS marketplace. How do we know if they can trul
4. **Promotion:** Developer is now **battle-tested** and promoted to **"Architect" 🛡️** status
#### The Payoff
+
- **Scenario:** CORP signs a **$250,000** enterprise client project
- **Question:** Who does CORP hire from NEXUS?
- NOT the random dev with 0 shipping experience
@@ -116,9 +132,11 @@ A random developer applies to NEXUS marketplace. How do we know if they can trul
### Asset 2: The "R&D Testbed" (LABS Integration)
#### The Problem
-LABS invents a new, proprietary **"AI-Powered Procedural Content Generation (PCG) Engine."** It's a buggy, experimental "beta." We *cannot* sell this to a $250k client—it's too risky.
+
+LABS invents a new, proprietary **"AI-Powered Procedural Content Generation (PCG) Engine."** It's a buggy, experimental "beta." We _cannot_ sell this to a $250k client—it's too risky.
#### The Solution: GameForge as Free QA Army
+
1. **The Bridge:** LABS licenses the "beta" engine to GameForge (Non-Profit) as a "new tool" for the next month's game jam
2. **The Pressure Test:** **100 GameForge teams (500 developers)** compete to use this new AI engine
- They find hundreds of bugs
@@ -126,12 +144,14 @@ LABS invents a new, proprietary **"AI-Powered Procedural Content Generation (PCG
3. **The Feedback:** LABS gets **thousands of hours of free, real-world QA and user feedback**
#### The Payoff
+
- **V0 → V1 Development:** LABS patches bugs, integrates new ideas
- **Result:** Rock-solid, battle-tested V2.0 of the "secret weapon"
- **Deployment:** Now LABS can confidently sell this to high-paying enterprise clients
- **Revenue Impact:** De-risked IP → Higher client confidence → Premium pricing
**Example Timeline:**
+
- **Month 1:** LABS releases "beta AI-PCG" to GameForge
- **Month 1-4:** 500 GameForge devs use it, report bugs, discover uses
- **Month 5:** LABS releases V2.0 (polished, battle-tested)
@@ -159,6 +179,7 @@ AETHEX.DEV (For-Profit)
```
### The Complete Loop
+
1. **Foundation runs GameForge** (non-profit, educational)
2. **Developers ship games, build portfolios, learn from mentors**
3. **Top performers become "Architects"** (verified by 3 shipped games)
@@ -173,16 +194,19 @@ AETHEX.DEV (For-Profit)
## Implementation Roadmap
### Phase 1 (Current): MVP
+
- ✅ Foundation landing page featuring GameForge
- ✅ Simple `/dashboard/gameforge` placeholder with Discord/Foundation CTAs
- 🔄 Manual operations via Discord and Trello
### Phase 2 (Post-Monetization)
+
- Implement basic GameForge dashboard
- Integrate with team management
- Link to aethex.fun (basic MVP)
### Phase 3 (Ecosystem Scale)
+
- Full bespoke dashboard with all 4 widgets
- aethex.fun Arcade with full game hosting
- LABS → GameForge beta tech distribution system
@@ -193,6 +217,7 @@ AETHEX.DEV (For-Profit)
## Success Metrics
### Foundation Side (Non-Profit)
+
- Number of GameForge cohorts per month
- Developer retention and progression
- Mentorship satisfaction scores
@@ -200,6 +225,7 @@ AETHEX.DEV (For-Profit)
- Community engagement metrics
### For-Profit Side (aethex.dev)
+
- % of NEXUS contractors who are "Architects"
- Average project value for "Architect" projects
- Time-to-hire reduction through verified talent
diff --git a/docs/LABS-ARCHITECTURE.md b/docs/LABS-ARCHITECTURE.md
index 7726451a..a3d71751 100644
--- a/docs/LABS-ARCHITECTURE.md
+++ b/docs/LABS-ARCHITECTURE.md
@@ -7,6 +7,7 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
### The Complete Ecosystem Picture
#### `aethex.foundation` (The "Guardian")
+
- **Type:** Non-Profit
- **Primary Role:** Identity issuance and open-source research
- **Key Function:** Guardian of the open-source **Axiom Protocol**
@@ -14,6 +15,7 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
- **Focus:** Community education, mentorship, and open-source development
#### `aethex.dev` (The "Engine")
+
- **Type:** For-Profit
- **Primary Role:** Commercial application platform
- **Research & Development:** The **LABS** (Yellow) Arm
@@ -22,13 +24,13 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
### Research vs. Development
-| Aspect | Foundation | LABS |
-|--------|-----------|------|
-| **Entity Type** | Non-Profit | For-Profit |
-| **Focus** | Open-Source Research | Proprietary Development |
-| **Role** | Guardian of Axiom Protocol | Internal R&D Department |
-| **Output** | Community Knowledge | Competitive Advantage |
-| **Access** | Public | A-Corp Employees / Verified Users |
+| Aspect | Foundation | LABS |
+| --------------- | -------------------------- | --------------------------------- |
+| **Entity Type** | Non-Profit | For-Profit |
+| **Focus** | Open-Source Research | Proprietary Development |
+| **Role** | Guardian of Axiom Protocol | Internal R&D Department |
+| **Output** | Community Knowledge | Competitive Advantage |
+| **Access** | Public | A-Corp Employees / Verified Users |
## LABS Dashboard Architecture
@@ -45,11 +47,13 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
**Purpose:** High-level Kanban or list of all internal, proprietary R&D projects.
**Sample Data:**
+
- **"Axiom PCG Engine (for dev-link.me)"** [Status: In Development]
- **".aethex TLD Smart Contracts"** [Status: In Research]
- **"QuantumLeap Predictive Model v2"** [Status: Scoping]
**Functionality:**
+
- Display project status (Scoping → Research → In Development → Testing → Released)
- Show progress indicators
- Link to project details and whitepapers
@@ -66,6 +70,7 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
| aethex.me IP | [Secured] | The AeThex Corp |
**Functionality:**
+
- Track all proprietary IP (Patents, Trademarks, Trade Secrets)
- Show filing status and dates
- Indicate which subsidiaries/entities are licensed
@@ -76,10 +81,12 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
**Purpose:** Dashboard for the Marketing Team (SOP-402) to track R&D content and thought leadership.
**Sample Data:**
+
- "The Tech Behind PCG" [Status: Drafting]
- "Why We Chose a .aethex TLD" [Status: Published on aethex.blog]
**Functionality:**
+
- List upcoming technical whitepapers and blog posts
- Show publication status (Drafting → Review → Published)
- Link to published content on aethex.blog
@@ -91,6 +98,7 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
**Purpose:** A filtered view of the NEXUS bounty board showing only high-difficulty, high-reward "Research Bounties" that LABS has posted for elite "Architect" community members to help with.
**Functionality:**
+
- Filter NEXUS bounties by "research" category
- Show only high-reward opportunities
- Display difficulty level and required expertise
@@ -105,6 +113,7 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
## Access Control & Soft-Gating
### Public Users (Not A-Corp Employees)
+
- See header: "Research LABS"
- See "Join Labs?" CTA
- Can view published whitepapers (Publication Pipeline - published only)
@@ -112,6 +121,7 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
- Navigation: CTA button links to `/labs/join-request` or similar
### A-Corp Employees / Verified Users
+
- Full access to all widgets
- Can see all research tracks and progress
- Can view IP dashboard (with appropriate role restrictions)
@@ -122,12 +132,14 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
## Technical Implementation Notes
1. **Database Tables Needed:**
+
- `labs_research_tracks` (projects, status, progress, lead_id)
- `labs_ip_portfolio` (ip_name, type, status, filing_date, licensed_to)
- `labs_publications` (title, description, status, published_date, content_url)
- `labs_bounties` (links to nexus opportunities, filtered by category)
2. **API Endpoints:**
+
- `GET /api/labs/research-tracks` - Fetch all research tracks
- `GET /api/labs/ip-portfolio` - Fetch IP portfolio (admin + A-Corp)
- `GET /api/labs/publications` - Fetch publications (public + A-Corp)
@@ -136,6 +148,7 @@ The `LABS` (Yellow) Arm is **100% For-Profit** and remains part of `aethex.dev`.
- `POST /api/labs/join-request` - Request to join LABS (soft-gating)
3. **Soft-Gating Logic:**
+
- Check user's `arm_affiliations` table for "labs" affiliation
- Check if user has A-Corp role or is verified member
- Return different UI based on access level