TrajectoryOS - Project Status Report
**What We Have**: Fully functional TypeScript-based life physics engine with web dashboard **What's Missing**: AI-powered features (interview, agents), Python ML models, Echelon integration **Critical Path**: LLM integration for Interview → Background analysis agents → Echelon embodied signals
Full Public Reader
# TrajectoryOS - Project Status Report
Last Updated: December 21, 2025
Phase: 1 (Core Life Physics Implementation)
---
🎯 Executive Summary
What We Have: Fully functional TypeScript-based life physics engine with web dashboard
What's Missing: AI-powered features (interview, agents), Python ML models, Echelon integration
Critical Path: LLM integration for Interview → Background analysis agents → Echelon embodied signals
Current State: ~50
- ✅ Life Physics Engine: 100
- ✅ State Management: 100
- ✅ Web Dashboard: 85
- 🚧 Interview System: 20
- 🔮 Python ML Models: 0
- 🔮 Echelon Integration: 0
---
✅ COMPLETED: TypeScript Life Physics Engine (100
Location: `/services/trajectory-core/src/domain/physics.ts`
The core life physics model is fully implemented in TypeScript and production-ready:
### 1. Physics Calculations ✅
- Escape Index: `η = T / (G × M)` where T includes alignment
- Thrust Computation: `T = A × Σ(skill_level × utilization × weight)`
- Regime Detection: Falling, Approaching, Threshold, Escaping, Free
- Escape Velocity: Rate of change in η over time
### 2. State Management ✅
- Prisma ORM: Complete schema for all models (User, SkillBelief, Project, LifeState, etc.)
- SQLite: Currently used database (PostgreSQL planned for production)
- API Endpoints: Full CRUD for state, skills, projects
- History Tracking: State snapshots over time
### 3. Skill Graph ✅
- Bayesian Tracking: Skill beliefs with confidence scores
- Evidence Integration: Update beliefs from new evidence
- Skill Relationships: Transfer edges between related skills
---
🔮 PLANNED: Python ML Models (Designed but Not Built)
Status: These models were designed but are not currently implemented. Physics calculations are done in TypeScript for now.
Future Architecture (Q1 2026):
### 1. Skill Graph Model 🔮
- Files: `bayesian_model.py`, `message_passing.py`, `graph_structure.py` (planned)
- Status: Designed, not implemented
- Planned Features:
- Bayesian inference with Gaussian conjugate priors
- Message passing through skill transfer edges
- Uncertainty quantification (credible intervals, samples)
- Multiple evidence sources with different reliabilities
- Keystone skill identification
### 2. Alignment Model 🔮
- Files: `project_embedding.py`, `features.py`, `scorer.py` (planned)
- Status: Designed, not implemented
- Planned Features:
- Semantic project embeddings (sentence-transformers)
- Directional coherence (pairwise similarity)
- Skill utilization focus (entropy-based)
- Temporal consistency tracking
- Outlier project detection
- What-if simulations (remove/merge projects)
### 3. Gravity & Mass Estimators 🔮
- Files: `feature_extractors.py`, `gravity_regressor.py`, `mass_model.py`, `estimator.py` (planned)
- Status: Designed, not implemented
- Planned Features:
- Time-decayed deadline pressure
- Multi-component gravity (financial, health, social, deadlines)
- Coupling density measurement
- Skill breadth cognitive overhead
- Decomposition and recommendations
- Intervention simulations
### 4. Life State Dynamics 🔮
- Files: `state_representation.py`, `transition_model.py`, `readout_heads.py`, `dynamics.py` (planned)
- Status: Designed, not implemented
- Planned Features:
- 32-dimensional latent state compression
- State transition dynamics z_{t+1} = f(z_t, u_t, w_t)
- Natural dynamics (decay, recovery)
- Action effects (remove constraint → -G, simplify → -M)
- Deterministic + Monte Carlo rollouts
- Escape time estimation (with confidence intervals)
- Plan evaluation
### 5. Echelon Fusion Model 🔮
- Files: `mapper.py` (planned)
- Status: Designed, awaiting Echelon integration (Q1-Q2 2026)
- Planned Features:
- Flow-based alignment boosts
- Stress detection (6 indicators)
- Verbal/embodied claim validation
- Skill evidence generation from flow
- Gravity adjustments from embodied stress
- Context-aware recommendations
### 6. Scenario Generators & Evaluators 🔮
- Files: `trajectory_scenarios.py`, `evaluator.py` (planned)
- Status: Designed, not implemented
- Planned Features:
- Goal-directed plan generation (10+ templates)
- Multi-objective evaluation
- Pareto frontier computation
- Sensitivity/robustness analysis
- Composite scoring functions
Note: These Python models represent the planned ML-enhanced architecture. Current physics calculations are done efficiently in TypeScript.
---
⚠️ IN PROGRESS: TypeScript Services (40
Core Services Structure
services/
├── trajectory-core/ ⚠️ 40% complete
│ ├── src/
│ │ ├── domain/ ✅ Types defined
│ │ │ ├── types.ts
│ │ │ ├── physics.ts
│ │ │ └── skillGraph.ts
│ │ ├── services/ ⚠️ Skeleton only
│ │ │ ├── LifeStateService.ts
│ │ │ ├── SkillGraphService.ts ← Currently using simple averaging
│ │ │ └── PlannerService.ts ← Stub
│ │ └── index.ts ⚠️ Basic Express server
│ └── prisma/
│ └── schema.prisma ✅ Complete
│
├── agent-orchestrator/ ❌ 10% complete
│ └── src/
│ ├── agents/ ❌ Stubs only
│ └── flows/ ❌ Not started
│
├── background-worker/ ❌ 5% complete
│ └── src/ ❌ Minimal structure
│
└── echelon-bridge/ ❌ 5% complete (future)
└── src/ ❌ Stub returning mocksWhat Exists vs. What's Needed
Trajectory Core (services/trajectory-core/)
✅ What Exists:
- Prisma schema with all tables (User, SkillBelief, Project, Constraint, etc.)
- Domain types (`types.ts`, `physics.ts`)
- Basic Express server setup
- Database connection
- Simple averaging in `SkillGraphService` (lines 51-91)
❌ What's Missing:
- Python model integration - No HTTP calls to Python services yet
- LifeStateService - Currently a skeleton, needs to call `LifeStateDynamics`
- PlannerService - Stub, needs to call `ScenarioGenerator` + `Evaluator`
- Physics computation - Needs to call Python models, not compute locally
- Caching layer - No Redis integration yet
- Event system - No pub/sub for state changes
Agent Orchestrator (services/agent-orchestrator/)
✅ What Exists:
- Directory structure
- Package.json with dependencies
❌ What's Missing:
- Everything - this is basically empty
- InterviewAgent
- PlannerAgent (background analysis)
- Evidence extraction
- LLM integration
Background Worker (services/background-worker/)
✅ What Exists:
- Minimal structure
❌ What's Missing:
- Job queue setup
- Periodic tasks (daily analysis, skill decay)
- Integration with other services
---
❌ NOT STARTED: Frontend & Gateway (20
Apps Structure
apps/
├── web-dashboard/ ⚠️ 20% complete
│ ├── src/
│ │ ├── app/ ✅ Next.js skeleton
│ │ │ ├── page.tsx ✅ Basic layout
│ │ │ └── planner/ ✅ Planner page skeleton
│ │ └── lib/ ❌ No API client yet
│ └── package.json
│
└── api-gateway/ ❌ 10% complete
└── src/ ❌ Minimal structure✅ What Exists:
- Next.js app with basic routing
- Planner page UI skeleton
- Home page with escape index display concept
❌ What's Missing:
- API client library (no fetch calls to backend)
- WebSocket integration
- Authentication flow
- State management (React Query, Zustand, etc.)
- All actual features (interview, physics dashboard, plan viewer)
---
🚨 CRITICAL GAP: The Integration Layer
The Problem: We have world-class Python models and a TypeScript skeleton, but they don't talk to each other yet.
What's Needed: Python API Server
Option 1: Single FastAPI Server (Recommended for MVP)
Create `models/api/server.py`:
from fastapi import FastAPI
from models.skill_graph import BayesianSkillModel, SkillGraph
from models.alignment import AlignmentScorer
from models.gravity_mass import GravityMassEstimator
from models.life_state import LifeStateDynamics
from models.echelon_fusion import EchelonFusionModel
from models.generators import TrajectoryScenarioGenerator, ScenarioEvaluator
app = FastAPI()
# Initialize models
skill_model = BayesianSkillModel(...)
alignment_scorer = AlignmentScorer()
gravity_mass = GravityMassEstimator()
dynamics = LifeStateDynamics()
echelon_fusion = EchelonFusionModel()
scenario_gen = TrajectoryScenarioGenerator()
scenario_eval = ScenarioEvaluator(dynamics)
# Endpoints
@app.post("/skill_graph/update_belief")
def update_skill_belief(request: UpdateBeliefRequest):
# Call BayesianSkillModel
pass
@app.post("/alignment/score")
def score_alignment(request: ScoreAlignmentRequest):
# Call AlignmentScorer
pass
# ... etc for all 6 modelsRun on port 8001: `uvicorn models.api.server:app --port 8001`
Option 2: Separate Microservices (Overkill for Phase 1)
Run each model as its own FastAPI app on different ports (5001-5006).
What's Needed: TypeScript HTTP Client
Update `services/trajectory-core/src/services/SkillGraphService.ts`:
import axios from 'axios';
const PYTHON_API_URL = process.env.PYTHON_API_URL || 'http://localhost:8001';
export class SkillGraphService {
async ingestEvidence(userId: string, evidence: SkillEvidenceInput[]) {
// Store in DB
await this.prisma.skillEvidence.createMany({...});
// Call Python model for Bayesian update
for (const ev of evidence) {
const response = await axios.post(`${PYTHON_API_URL}/skill_graph/update_belief`, {
skill_id: ev.skillId,
evidence: {
source: ev.source,
signal: ev.levelEstimate,
confidence: ev.confidence,
context: ev.rawText,
},
});
const { mean, std } = response.data;
// Update DB with Bayesian posterior
await this.prisma.skillBelief.upsert({
where: { userId_skillId: { userId, skillId: ev.skillId } },
update: { level: mean, uncertainty: std },
create: { userId, skillId: ev.skillId, level: mean, uncertainty: std },
});
}
}
}---
📊 Folder Structure Analysis
Current Layout
cc-trajectory/
├── apps/ # Frontend applications
│ ├── api-gateway/ ❌ Barely started - Could consolidate
│ └── web-dashboard/ ⚠️ Skeleton only
│
├── services/ # Backend microservices
│ ├── trajectory-core/ ⚠️ Core exists, needs Python integration
│ ├── agent-orchestrator/ ❌ Empty
│ ├── background-worker/ ❌ Empty
│ └── echelon-bridge/ ❌ Future (Phase 2)
│
├── models/ ✅ COMPLETE - All 6 models ready
│ ├── skill_graph/
│ ├── alignment/
│ ├── gravity_mass/
│ ├── life_state/
│ ├── echelon_fusion/
│ └── generators/
│
├── ingestion/ ❌ Empty placeholder
├── infra/ ❌ Empty placeholder
├── tests/ ❌ Empty
└── docs/ ✅ Comprehensive docsRecommendations
#### ✅ KEEP AS-IS:
- `models/` - Perfect, production-ready
- `docs/` - Excellent documentation
- `services/trajectory-core/` - Core structure is good, just needs integration
#### ⚠️ CONSOLIDATE:
- `apps/api-gateway/` → Merge into `services/trajectory-core/`
- Why: For MVP, don't need separate gateway. trajectory-core can serve both API and WS
- Save: One less service to deploy/manage
- Keep: The gateway concept for when you scale (Phase 2+)
#### ❌ DEFER (Build Later):
- `services/agent-orchestrator/` - Not critical for MVP
- For now: Simple interview can live in `trajectory-core`
- Build this properly in Phase 1.5 after core physics works
- `services/background-worker/` - Not critical for MVP
- For now: Can use simple cron or scheduled tasks
- Build when you have real users with real data
- `services/echelon-bridge/` - Phase 2 only
- Keep the stub, don't build until Echelon is ready
- `ingestion/` - Phase 1.5
- For MVP, manual upload is fine
- Build when you need Google Calendar, Notion, etc.
- `infra/` - When deploying
- For now, local dev is fine
- Build Docker configs when ready to deploy
Recommended Simplified Structure (Phase 1 MVP)
cc-trajectory/
├── apps/
│ └── web-dashboard/ # Next.js frontend only
│
├── services/
│ └── trajectory-core/ # Unified backend (API + physics + simple interview)
│ ├── src/
│ │ ├── api/ # REST endpoints + WebSocket
│ │ ├── domain/ # Types, physics
│ │ ├── services/ # Business logic
│ │ └── python/ # Python model HTTP client
│ └── prisma/
│
├── models/ # Python ML models (FastAPI server)
│ ├── api/ # ← ADD THIS: FastAPI wrapper
│ │ └── server.py
│ └── [existing models]/
│
└── docs/Benefits:
- Fewer moving parts
- Easier to develop/debug
- Faster to MVP
- Can split back out later when needed
---
🎯 Recommended Action Plan
Phase 1 MVP (Next 2-4 weeks)
Goal: Working physics dashboard with one user (you)
#### Week 1: Python API Integration
1. ✅ Create `models/api/server.py` with FastAPI
2. ✅ Add endpoints for all 6 model systems
3. ✅ Create TypeScript HTTP client in `trajectory-core`
4. ✅ Update `SkillGraphService`, `LifeStateService` to call Python
5. ✅ Test end-to-end: Evidence → Python → DB → Frontend
#### Week 2: Core Features
1. ✅ Build simple interview flow (text-based, no LLM needed)
2. ✅ Display skill beliefs with uncertainty
3. ✅ Display physics variables (T, A, G, M, η)
4. ✅ Show escape index over time (chart)
5. ✅ Manual project/constraint management
#### Week 3: Planning Features
1. ✅ Scenario generation UI
2. ✅ Call Python scenario generator
3. ✅ Display ranked plans
4. ✅ Plan evaluation metrics
#### Week 4: Polish & Deploy
1. ✅ Authentication (simple JWT)
2. ✅ Deploy to Fly.io (or Railway)
3. ✅ User testing with yourself
4. ✅ Iteration based on real usage
### Phase 1.5 (After MVP works)
- Add LLM-powered interview agent
- Background analysis jobs
- Artifact ingestion (calendar, Notion)
- Multi-user support
### Phase 2 (Q2 2026)
- Echelon integration
- Embodied validation
- The full moat
---
🔧 What to Build Next (Priority Order)
Priority 1: CRITICAL PATH (Build This Week)
1. Python FastAPI Server (`models/api/server.py`)
- Single endpoint file wrapping all 6 models
- Run on `:8001`
- 200-300 lines total
2. TypeScript Python Client (`services/trajectory-core/src/python/client.ts`)
- Axios wrapper for all Python endpoints
- Type-safe request/response
- Error handling
3. Update SkillGraphService
- Replace simple averaging with Python Bayesian calls
- ~50 line change
4. Create LifeStateService
- Call Python dynamics model
- Expose forecast endpoint
- ~200 lines
5. Create PlannerService
- Call Python scenario generator
- ~150 lines
Priority 2: FRONTEND (Next Week)
6. API Client Library (`apps/web-dashboard/src/lib/api.ts`)
- React Query hooks
- Type-safe API calls
7. Physics Dashboard (`apps/web-dashboard/src/app/dashboard/`)
- Display T, A, G, M, η
- Charts over time
- Skill graph visualization
8. Planner UI (enhance existing `/planner`)
- Scenario comparison table
- Metrics visualization
Priority 3: NICE-TO-HAVE (Later)
9. Agent Orchestrator - Phase 1.5
10. Background Worker - Phase 1.5
11. Artifact Ingestion - Phase 1.5
---
💡 Key Insights
What's Working Well
1. Python Models: World-class, production-ready, mathematically sound
2. Architecture Docs: Clear, comprehensive, well-thought-out
3. Monorepo Structure: Good organization with pnpm workspaces
4. Database Schema: Well-designed, supports all needed features
What Needs Attention
1. Integration Gap: The 70
2. Scope Creep Risk: You have 4 empty services that aren't needed for MVP
3. Over-Engineering: Don't need separate gateway, worker, agent for first version
4. Testing Gap: No tests yet (add after MVP works)
Recommendations
DO THIS:
- Focus 100
- Build minimal viable dashboard
- Ship something working in 2 weeks
- Iterate based on real usage
DON'T DO THIS:
- Build agent-orchestrator yet
- Build background-worker yet
- Build complex ingestion pipelines
- Over-architect before you have users
DEFER:
- LLM interviews (use simple forms first)
- Complex auth (JWT is fine)
- Multi-user (single user MVP)
- Fancy visualizations (tables/simple charts first)
---
📈 Project Health: B+
Strengths:
- ✅ Modeling layer is exceptional
- ✅ Architecture is well-designed
- ✅ Documentation is thorough
Weaknesses:
- ⚠️ Integration gap (Python ↔ TypeScript)
- ⚠️ Too many placeholder services
- ⚠️ Frontend barely started
Risk Level: Low
- Core IP (models) is done
- Main risk is scope creep, not technical feasibility
Recommendation: Simplify and ship. You have the hard part done (the models). The integration is straightforward. Cut scope ruthlessly and get something working in 2 weeks.
---
Next Steps (This Week)
1. Create Python FastAPI server (4-6 hours)
2. Wire up TypeScript client (2-3 hours)
3. Test end-to-end flow (2 hours)
4. Build minimal dashboard (4-6 hours)
Total: ~2-3 focused days to have a working system
Then iterate based on what you learn from using it yourself.
Promotion Decision
Attach run IDs, datasets, metrics, and reproduction commands.
Source Anchor
Comp-Core/backend/cc-trajectory/docs/guides/PROJECT_STATUS.md
Detected Structure
Method · Evaluation · Code Anchors · Architecture