- Add daemon state tracking globals (mode, is_ruminating, cycles_by_type)
- Track trigger type and timestamp on each /cycle call
- Add DaemonStatusResponse model
- Add GET /daemon/status endpoint returning:
- mode: idle | conversation | autonomous
- is_ruminating: true when in rumination_free or corpus cycles
- last_trigger: type and timestamp
- cycles_breakdown: count by trigger type
- cycles_since_last_user: autonomous cycles since last user interaction
- time_since_last_user_seconds: elapsed time
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add /profile GET endpoint returning Ikario + David projections on 100 directions
- Compute Ikario state from Weaviate StateVector v1 + 113 thoughts
- Compute David tensor from user messages (SQLite) + declared profile
- Map direction categories to StateTensor dimensions via CATEGORY_TO_DIMENSION
- Calculate david_similarity as average cosine across 8 dimensions
- Result: 60.93% Ikario-David similarity (vs 100% when initialized from same source)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- api.py: REST API exposing LatentEngine via FastAPI
- POST /cycle: Execute semiotic cycle
- POST /translate: Translate state to language
- GET /state, /vigilance, /metrics, /health
- Loads embedding model and David profile at startup
- ~1.3s per cycle (embedding + dissonance + fixation)
- README2.md: Complete documentation of v2 architecture
- StateTensor 8x1024 explanation
- Module descriptions with code examples
- Amendments compliance
- Usage instructions
Start with: uvicorn ikario_processual.api:app --port 8100
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>