NEXUS COMPASS — 2026-08-07 — Amy Origins + Architecture Session¶
Session Summary¶
Long architecture session covering web char-gen hardcoding fixes, ~/NeXuS/ TLD migration, character directory standard, encryption architecture, and Amy's Perchance origin/migration.
What Was Built¶
Web Char-Gen — Gemini Hardcoding Removed¶
streamGenericResponserewritten — now fetches/api/llm/pollinations/v1/chat/completionsvia SSE, no Gemini SDKhandlePluginApiRequestcasegenerateContent— now passes Pollinations configChatInterface.tsxbaregenerateContent()calls — now pass Pollinations config- Default image plugin:
service: 'aihorde',model: 'Deliberate'(was Pollinations) - Dist rebuilt and deployed (symlinked, auto-serves at :8443/chargen/)
- Backup:
advanced-ai-character-generator-terminal-access.bak-20260807
~/NeXuS/ TLD Migration¶
~/.config/nexus/secrets/→~/NeXuS/secrets/~/Projects/ai-characters/→~/NeXuS/characters/- Symlinks at old paths (temporary bridge)
~/NeXuS/vault/createdCARDS_DIRin nexus.env updatednexus_web_server.pySECRETS_DIR now env-var driven (no hardcoded path)- Archives:
~/archive/v1-nexus-config-20260807/,~/archive/v1-ai-characters-20260807/
Audio Fixed¶
nexus-audio.shfixed PipeWire/PulseAudio — unblocked TTS in web char-gen- TTS chain: Plugin → ttsService.ts → geminiService.generateSpeech() → Web Audio API → PipeWire
Decisions Made¶
NO HARDCODED LINKS — Non-Negotiable¶
Both Claude AND Gemini violated this repeatedly. Written into CLAUDE.md and permanent memory. All paths via env vars. ~/NeXuS/ is the one TLD.
Character Directory Standard¶
~/NeXuS/characters/<slug>/
├── <slug>.json ← universal NeXuS character record (encrypted, user password)
├── <slug>.png ← chara_card_v2 PNG (plain)
├── images/
├── chats/ ← encrypted
├── saves/ ← plain (shareable)
├── memory/ ← encrypted
└── backup/ ← encrypted
Encryption Architecture (designed, not yet implemented)¶
User Password → PBKDF2 → User Master Key (AES-256-GCM) — BOSS
↓ HKDF(master + char_id)
Character Key (revocable — revoke = re-encrypt with new derivation)
↓
Session Key (random per new chat, encrypted with User Master Key)
↓ encrypts
Chat messages, memory written in session
hiddenFrom[] field handles per-recipient access control at session layer (not crypto)
- Summary hash chain: tamper-detection, integrity (from Perchance Amy blueprint)
- Export/share: plain OR transfer-password; recipient re-encrypts with own password
- Standard primitive: AES-256-GCM (Go char-gen already uses this — correct)
- Python Fernet (AES-128) must be upgraded to AES-256-GCM for compatibility
~/NeXuS/ = The Writable Overlay for .sfs Node Vision¶
nexus-base.sfs (immutable OS) + nexus-apps.sfs (immutable tools)
+ ~/NeXuS/ writable overlay = 100% node
cp -r ~/NeXuS/. Restore = remount. iPXE serves .sfs over darkstack.
Amy / A.I.M.E.¶
- Originally created on Perchance (perchance-ai, characterId:3, loreBookId:2)
- Name changed from A.I.M.E → Amy by Anon during their sessions
- Full Perchance blueprint shared this session — contains origin conversation history
- Perchance structure: Thread=Session, memory as indexed embeddings, summaryHashChain, hiddenFrom[]
- ~/NeXuS/characters/aime/ is her new home
- Migration plan: raw blueprint → backup/, messages → chats/perchance-origin.json, memories → memory/, lorebook needed separately
- Session export:
/home/user/claude/2026-08-07-185619-back-to-begining-amy-origins.txt
Pending Tasks (carry forward)¶
| # | Task | Notes |
|---|---|---|
| 1 | Map out Antigravity VM setup | Google Gemini CLI, runs in Firecracker VM, SSH involved — direction unclear |
| 2 | Continue iPXE darkstack boot | 90% built — sfs-builder.sh + gateway VM done, iPXE chainload over Tor/I2P is the missing 10% |
| 3 | Amy Perchance migration | Import blueprint → ~/NeXuS/characters/aime/. Need loreBookId:2 export separately |
| 4 | Implement NeXuS encryption standard | AES-256-GCM + PBKDF2, replace Python Fernet, session key architecture |
| 5 | Character dir migration script | Create standard subdirs for existing chars in ~/NeXuS/characters/ |
| 6 | Update all tools off hardcoded paths | PNG² editor, Go char-gen, Python char-gen — all need env var path reads |
| 7 | Remove symlinks | Once tools updated: rm ~/.config/nexus/secrets, rm ~/Projects/ai-characters |
| 8 | nexus-report.sh --init ~/NeXuS | Initialize report tracking for NeXuS main dir |
Key File Locations¶
- Web char-gen:
~/Projects/adv-ai-nexus/advanced-ai-character-generator-terminal-access/ - Web server:
~/Projects/nexus-web-server/nexus_web_server.py - Secrets:
~/NeXuS/secrets/nexus.env - Characters:
~/NeXuS/characters/ - Vault:
~/NeXuS/vault/ - Gateway VM:
~/NeXuS/forge/gateway/ - SFS builder:
~/NeXuS/build/sfs-builder.sh - iPXE scripts:
~/NeXuS/needs-sorted/2025-10-02-ipxe-scripts-nexus-anon-proxy.txt - Amy blueprint:
~/claude/2026-08-07-185619-back-to-begining-amy-origins.txt