77 lines
2.9 KiB
Plaintext
77 lines
2.9 KiB
Plaintext
[2026-01-17 14:35] Mode-Based Architecture Complete + Mode Label Display
|
|
|
|
=== PHASE 1: ARCHITECTURE SETUP ===
|
|
✓ Renamed oldTest → Mode1Test for naming consistency
|
|
✓ Created three-folder structure:
|
|
- Mode1Test/: Original application (standalone project, fully functional)
|
|
- Mode2Test/: Placeholder for alternative configuration
|
|
- ModeSwitch/: Orchestrator hub (Bun + Hono backend)
|
|
|
|
✓ Root cleaned: Only Mode1Test/, Mode2Test/, ModeSwitch/, Monica.txt, README.md, .git, .gitignore, LICENSE
|
|
|
|
=== PHASE 2: MODESWITCH ORCHESTRATOR ===
|
|
Built orchestrator to control mode switching:
|
|
- Listens on port 3006 (control/admin)
|
|
- Manages port 3005 (shared public port for active mode)
|
|
- Reads activeMode.txt to determine startup mode
|
|
- Kills existing process on port 3005 before starting new mode
|
|
- Supports hot-swap mode switching via API
|
|
|
|
Tech Stack: Bun + Hono + TypeScript (follows Monica standards)
|
|
Dependencies: hono@4.11.4, dotenv@17.2.3, @types/bun, typescript@5.9.3
|
|
|
|
Endpoints:
|
|
GET /health - Health check
|
|
GET /api/mode - Returns current mode and available modes
|
|
POST /api/mode/switch/:mode - Switch to a different mode
|
|
|
|
MODE_FOLDERS mapping:
|
|
'Mode1Test' → Mode1Test/
|
|
'Mode2Test' → Mode2Test/
|
|
|
|
=== PHASE 3: MODE1TEST FRONTEND UPDATE ===
|
|
Added active mode label display to Mode1Test frontend:
|
|
- Location: Bottom right footer, next to version label
|
|
- Style: Blue badge [Mode1Test] with light blue background
|
|
- Fetches from orchestrator API (http://localhost:3006/api/mode)
|
|
- Graceful fallback if orchestrator unavailable
|
|
- Updates on page load
|
|
|
|
Implementation:
|
|
- HTML: Added <span id="modeLabel"> element with styling
|
|
- JavaScript: Added displayCurrentMode() function
|
|
- Calls orchestrator /api/mode endpoint
|
|
- Displays mode in format: [Mode1Test]
|
|
- Fallback: Uses window.__MODE__ or defaults to [Mode1Test]
|
|
|
|
=== CURRENT STATUS ===
|
|
✓ Mode1Test running on port 3005
|
|
✓ Orchestrator running on port 3006
|
|
✓ Mode label displays in Mode1Test frontend
|
|
✓ Both services verified operational
|
|
✓ Ready for Mode2Test implementation
|
|
|
|
=== TESTING VERIFICATION ===
|
|
curl http://localhost:3005/version
|
|
→ {"version":"1.0.0-beta3"} ✓
|
|
|
|
curl http://localhost:3006/api/mode
|
|
→ {"currentMode":"Mode1Test","availableModes":["Mode1Test","Mode2Test"]} ✓
|
|
|
|
Mode switching available:
|
|
curl -X POST http://localhost:3006/api/mode/switch/Mode2Test
|
|
|
|
=== NEXT PHASE ===
|
|
Mode2Test development ready to begin
|
|
- Will follow same structure as Mode1Test
|
|
- Will have own package.json, backend/, frontend/
|
|
- Will run on same port 3005 when activated
|
|
- Will display [Mode2Test] label when active
|
|
|
|
=== NOTES ===
|
|
- Monica persona updated: Added Vite to frontend stack, defined Module architecture
|
|
- All code follows Monica standards: Bun, Hono, TypeScript, TailwindCSS
|
|
- Modular code documented with permanent comments
|
|
- Environment variables assumed correct (no sample .env files created)
|
|
- Code rewritten as original (no delta markers)
|