Athenaeum
Personal Command Center — a closed-loop personal OS for capture, forecasting, structuring, and execution. Second app in Phase 2 Wave A. Validates Organize flow and Aura’s Monte Carlo forecasting system under real-world personal management load.
Zone: staging/ (evaluation)
Port: 3130
Version: v0.2
Overview
Athenaeum is a unified personal productivity system built around four core modules:
- InboxManager — Captures and triages items into 5 GTD buckets: Tasks, Projects, Reference, Ideas, Someday. Implemented as pure functions for immutability and composability.
- ProjectManager — Project CRUD with tasks, priority levels, and status tracking. Toggle-based completion.
- Forecaster — Monte Carlo simulation adapted from Aura’s financial forecasting engine, repurposed for personal goal tracking with 4 noise profiles and black swan events. See Monte Carlo Goal Forecasting.
- CommandAssistant — Eliza-powered productivity persona for task guidance and natural language interface to inbox/projects, without cloud AI dependencies.
The differentiating value is the unified capture-forecast-structure-execute loop — a single surface connecting all four concerns. This makes Athenaeum a distinct product from GTD, which continues separately in apps/.
Source lineage: extracted from GTD (React+iOS, 140 tests, 7 integrations) and Aura (React, Monte Carlo forecasting, 48 tests).
Architecture
src/
├── components/ UI Components (Inbox, Projects, Forecast, Assistant)
├── lib/ Shared logic
│ ├── hooks/ Custom hooks (useDataSync)
│ ├── state/ Reducer and Action definitions
│ ├── AppContext.tsx Global state provider
│ └── db.ts Dexie persistence layer
├── modules/
│ ├── assistant/ CommandAssistant — Eliza productivity persona
│ ├── capture/ InboxManager — GTD inbox processing
│ ├── forecast/ Forecaster — Monte Carlo predictions
│ └── projects/ ProjectManager — project + task CRUD
├── types/ Shared type definitions
└── index.ts Barrel exportsTech Stack
| Technology | Version | Purpose |
|---|---|---|
| React | 19 | UI framework |
| TypeScript | 5.6+ | Type safety (strict mode, no any) |
| Vite | 7.3+ | Build tool / dev server |
| Vitest | 4.0+ | Test runner (Happy-DOM) |
| Dexie.js | — | IndexedDB persistence layer |
| ESLint | ^9.39.2 | Linting (pinned — do not upgrade to v10) |
| @ap/eliza-engine | workspace:* | Command assistant conversational AI |
| @ap/pipeline | workspace:* | Monte Carlo forecasting orchestration |
Workspace Setup
Requires sibling repositories resolved via Vite path aliases:
# From parent directory (ap/staging/)
git clone <eliza-engine-repo-url> eliza-engine
git clone <pipeline-repo-url> pipeline
cd athenaeum && npm installIntegration Points
| System | Status | Notes |
|---|---|---|
| @ap/eliza-engine | Active | Shared library — local natural language parsing |
| @ap/pipeline | Active | Shared library — Monte Carlo simulation (pipeline) |
| Linear | Planned | Governance visibility only (ADR-002) |
| Plane | Planned | Solopreneur task management — blocked by hardware |
| FireflyIII | Planned | Blocked by infrastructure deployment |
| EspoCRM | Planned | Blocked by infrastructure deployment |
Current Status
Phase: v0.2 — UI & Persistence complete Last Updated: 2026-02-15
React UI complete with 4 views (Inbox, Projects, Forecast, Assistant). Context-based state management implemented via React Context + useReducer. Dexie.js persistence layer added. 84 tests passing, standardized on Happy-DOM. Full ops-core compliance.
Strategic Blockers
- External integrations (Linear, Plane, FireflyIII, EspoCRM) blocked by hardware acquisition for Oracle Free Tier + TrueNAS deployment
- Integration target reframing per ADR-002: Linear=governance visibility, Plane=solopreneur task management
Next Priorities
- Research project ecosystem and create roadmap (
/gas:research-project→/gas:create-roadmap) - Enable cross-view data flow: inbox → projects → forecast → assistant (core value proposition)
- Wire planned integrations once infrastructure is available
Key Decisions
| Decision | Rationale |
|---|---|
| React 19 + TypeScript + Vite | Matches source apps (GTD, Aura, gw) for pattern consistency |
| @ap/pipeline for forecasting | Aura’s Monte Carlo system generalized for goal/task forecasting |
| @ap/eliza-engine for assistant | Natural language interface without cloud AI dependencies |
| Pure functions for InboxManager | Immutable transforms — simple, testable, composable with any state layer |
| 5-bucket inbox categories | Tasks, Projects, Reference, Ideas, Someday — standard GTD workflow |
| Dexie.js for persistence | localStorage hits 5MB limit at GTD scale; Dexie scales better for multi-module data |
| React Context + useReducer | Shared state architecture — views were isolated in v0.1 |
| GTD Integration protocol | Polymorphic plugin system for external services — proven pattern |
| Athenaeum as distinct product | GTD continues separately; differentiator is unified capture-forecast-structure-execute loop |
| Integration targets reframed (ADR-002) | Linear=governance (TeachersPet, circuit breakers). Plane=solopreneur task management. Neither deprecated, both bounded. |
Lessons Learned
- Dexie over localStorage: GTD hit the 5MB localStorage limit; Dexie scales better for multi-module data. Use Dexie for persistence from day one.
- Result types for external API calls: GTD’s Integration interface required
CreateTaskResult(notvoid) to prevent silent failures on task creation. - Box-Muller epsilon guard: The transform needs
u1clamped to minimum 0.0001 to preventlog(0)producing NaN in Monte Carlo simulations. - GAS adoption for structure: Ad-hoc development unsustainable once logic + UI complete with tech debt. Use GAS planning artifacts from day one.
Established Patterns
| Pattern | Reusable | Notes |
|---|---|---|
| Capture/Process/Organize flow | Yes | Any inbox/triage system |
| Monte Carlo goal forecasting | Yes | Noise profile presets + Box-Muller gaussian; financial, project, personal goals |
| Project with embedded tasks | Yes | Flat task list within project, toggle completion |