# Chronos OS — Temporal AI Agent Ecosystem Transform Chronos from a personal time-capsule app into **Chronos OS**: the infrastructure layer that gives every AI agent and SaaS product structured temporal long-term memory. ## Background | | Current (MVP) | Target (Chronos OS) | |---|---|---| | **Product** | Personal journaling SPA (React/TS/Vite) | Temporal AI Agent Ecosystem | | **Users** | Individuals writing letters to their future self | AI startups, SaaS builders, agent developers | | **Stack** | React 19 + localStorage + crypto-js | Python (FastAPI + LangGraph + SQLite + ChromaDB) + **Gemini 2.5 Flash (free)** | | **Memory** | Base64 encrypted blobs in localStorage | Structured SVO event tuples + dual calendars | | **Monetization** | Premium waitlist / Stripe demo | Usage-based (events + orchestration calls + marketplace cut) | The existing React app stays as-is on the Play Store / web — it becomes the **consumer on-ramp**. Chronos OS is a **new, separate Python project** built alongside it. --- ## Decisions (Finalized) | Decision | Choice | Rationale | |---|---|---| | **LLM Provider** | **Google Gemini 2.5 Flash** (free via Google AI Studio) | No cost, 1M token context, generous rate limits, no credit card needed | | **Deployment** | **Railway** (free tier → ~$5/mo) | One-click deploy, easy scaling | | **Pricing Model** | Premium 3-tier (see below) | Positioned against Mem0 ($19–$249), Zep (credits), LangSmith ($39/seat) | > [!WARNING] > **This is a brand-new Python project** — it does NOT modify your existing React/TS Chronos Vault app. The React app remains untouched. --- ## Proposed Changes The entire project lives under `c:\Users\reman\OneDrive\Desktop\Chronos OS\chronos-hub\`. Here is the complete file tree we will build: ``` chronos-hub/ ├── .env.example # Environment variable template ├── requirements.txt # Python dependencies ├── README.md # Chronos OS documentation │ ├── chronos_core/ # 🧠 Memory Core (the secret sauce) │ ├── __init__.py │ ├── models.py # Pydantic models for events, SVO tuples, calendars │ ├── svo_parser.py # LLM-powered SVO extraction from raw text │ ├── memory_store.py # SQLite event calendar + turn calendar │ └── vector_store.py # ChromaDB semantic search layer │ ├── api/ # 🌐 FastAPI Gateway │ ├── __init__.py │ ├── main.py # FastAPI app entry point + CORS + middleware │ ├── routes/ │ │ ├── __init__.py │ │ ├── ingest.py # POST /ingest — universal event ingestion │ │ ├── query.py # POST /query — temporal + semantic retrieval │ │ ├── connectors.py # POST /connect — register SaaS/agent tools │ │ ├── agent.py # POST /agent/run — execute agent with memory │ │ └── billing.py # Stripe checkout + usage tracking │ ├── auth.py # API key authentication middleware │ └── deps.py # Dependency injection (DB sessions, stores) │ ├── agent/ # 🤖 LangGraph Agent Runner │ ├── __init__.py │ ├── graph.py # LangGraph state graph definition │ ├── nodes.py # Agent nodes (call_model, use_tools, retrieve_memory) │ └── tools.py # Built-in tools (query_memory, search_connectors) │ ├── dashboard/ # 📊 Streamlit Dashboard │ └── app.py # Single-file Streamlit UI │ └── tests/ # ✅ Basic tests ├── test_svo_parser.py ├── test_memory_store.py └── test_api.py ``` --- ### Component 1: Chronos Memory Core (`chronos_core/`) > [!NOTE] > This is the core differentiator — the structured temporal memory layer based on the Chronos research paper's SVO event decomposition + dual calendar architecture. #### [NEW] [models.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/chronos_core/models.py) - Pydantic models: `SVOTuple` (subject, verb, object, timestamp, datetime_range, entity_aliases, confidence) - `EventRecord` — structured event for the Event Calendar (SQLite) - `TurnRecord` — raw conversation turn for the Turn Calendar (SQLite) - `IngestPayload` — incoming JSON from any SaaS/agent - `QueryRequest` — temporal + semantic query spec - `QueryResult` — ranked results with provenance #### [NEW] [svo_parser.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/chronos_core/svo_parser.py) - Uses **Google Gemini 2.5 Flash** (free tier via `google-genai` SDK) for SVO extraction - Fallback: LiteLLM gateway for swapping to other providers later - Prompt template: "Extract all Subject-Verb-Object events with timestamps from this text. Return JSON array." - Regex fallback for simple patterns when LLM quota is exhausted - Batch processing support for bulk ingestion #### [NEW] [memory_store.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/chronos_core/memory_store.py) - **Event Calendar** — SQLite table: `events(id, source_id, subject, verb, object, timestamp, datetime_start, datetime_end, entity_aliases, confidence, metadata_json, created_at)` - **Turn Calendar** — SQLite table: `turns(id, source_id, role, content, timestamp, event_ids, created_at)` - Methods: `insert_event()`, `insert_turn()`, `query_temporal()` (SQL WHERE on timestamp ranges), `query_by_entity()`, `multi_hop_query()` (join events across time) - Connection pooling with `aiosqlite` for async FastAPI #### [NEW] [vector_store.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/chronos_core/vector_store.py) - ChromaDB collection `chronos_events` - On each event insert: embed the raw text + store with SQLite event_id as metadata - `semantic_search(query, n_results)` — returns event IDs ranked by relevance - Hybrid retrieval: vector search → join with SQLite for full context + temporal filtering --- ### Component 2: FastAPI Gateway (`api/`) #### [NEW] [main.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/api/main.py) - FastAPI app with CORS middleware (allow all origins for dev) - Lifespan handler to initialize SQLite + ChromaDB on startup - Include all route routers - Health check endpoint at `GET /` #### [NEW] [routes/ingest.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/api/routes/ingest.py) - `POST /ingest` — the universal endpoint - Accepts JSON: `{ "source_id": "stripe-saas-123", "events": [{"text": "...", "timestamp": "..."}] }` or raw conversation turns - Pipeline: validate → SVO parse → insert into Event Calendar + Turn Calendar + ChromaDB - Returns: event IDs + extracted SVO tuples - Usage metering: increment event count for billing #### [NEW] [routes/query.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/api/routes/query.py) - `POST /query` — temporal + semantic retrieval - Accepts: `{ "query": "What contracts changed in Q1?", "time_range": {"start": "...", "end": "..."}, "source_ids": [...] }` - Hybrid retrieval: ChromaDB semantic → SQLite temporal filter → multi-hop reasoning - Returns ranked events with provenance chain #### [NEW] [routes/connectors.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/api/routes/connectors.py) - `POST /connect` — register a SaaS product's API schema - Stores tool definitions so agents can discover and call connected products - `GET /connectors` — list all connected tools - Non-agentic SaaS instantly becomes agent-actionable #### [NEW] [routes/agent.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/api/routes/agent.py) - `POST /agent/run` — execute an agent prompt with full Chronos memory - Accepts: `{ "prompt": "...", "thread_id": "...", "tools": [...] }` - Invokes LangGraph agent runner with memory context - Streams response via SSE or returns final result - Usage metering: increment orchestration call count #### [NEW] [routes/billing.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/api/routes/billing.py) - `POST /billing/checkout` — create Stripe checkout session - `GET /billing/usage` — current usage stats (events, orchestration calls) - Premium 3-tier pricing (see Pricing section below) #### [NEW] [auth.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/api/auth.py) - API key middleware: validate `X-API-Key` header - SQLite `api_keys` table: `(key_hash, source_id, tier, events_used, orchestration_used, created_at)` - Rate limiting per tier #### [NEW] [deps.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/api/deps.py) - Dependency injection for FastAPI routes - Provides: `get_memory_store()`, `get_vector_store()`, `get_svo_parser()` --- ### Component 3: LangGraph Agent Runner (`agent/`) #### [NEW] [graph.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/agent/graph.py) - LangGraph `StateGraph` with state: `{ messages, memory_context, tool_results }` - Nodes: `retrieve_memory` → `call_model` → `tools` (loop) → `END` - Conditional edges: if tool calls exist → execute tools → loop back to model - SQLite checkpointer for session persistence #### [NEW] [nodes.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/agent/nodes.py) - `retrieve_memory_node()` — queries Chronos memory before each agent turn - `call_model_node()` — invokes LLM with memory-augmented context - `execute_tools_node()` — runs tools (including connected SaaS tools) #### [NEW] [tools.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/agent/tools.py) - `@tool query_chronos_memory` — agents can query the temporal memory - `@tool ingest_event` — agents can store new events during execution - `@tool list_connectors` — discover available SaaS tools - `@tool call_connector` — invoke a connected SaaS API --- ### Component 4: Streamlit Dashboard (`dashboard/`) #### [NEW] [app.py](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/dashboard/app.py) - **Connect Your Product** — form to paste API key + register tool schema - **Event Timeline** — visualize all ingested events on a temporal axis (extends "Letters to the Future" UI to B2B) - **Test Agent** — text input to run agent prompts with live streaming - **Usage & Billing** — event counts, orchestration calls, tier status - Premium dark theme matching Chronos branding (deep navy + gold accents) --- ### Component 5: Configuration & Deployment #### [NEW] [requirements.txt](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/requirements.txt) ``` fastapi>=0.115.0 uvicorn[standard]>=0.34.0 pydantic>=2.10.0 aiosqlite>=0.21.0 chromadb>=0.6.0 google-genai>=1.0.0 litellm>=1.60.0 langgraph>=0.4.0 langchain-google-genai>=2.0.0 langchain-core>=0.3.0 streamlit>=1.42.0 stripe>=11.0.0 python-dotenv>=1.0.0 httpx>=0.28.0 ``` #### [NEW] [.env.example](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/.env.example) ``` GOOGLE_API_KEY=AIza... # Free from Google AI Studio STRIPE_SECRET_KEY=sk_test_... STRIPE_WEBHOOK_SECRET=whsec_... CHRONOS_DB_PATH=./data/chronos.db CHROMA_PERSIST_DIR=./data/chroma API_SECRET_KEY=your-secret-for-signing-api-keys ``` #### [NEW] [README.md](file:///c:/Users/reman/OneDrive/Desktop/Chronos%20OS/chronos-hub/README.md) - Project overview, quickstart, API docs, architecture diagram --- ## Build Schedule | Day | Focus | Deliverable | |-----|-------|-------------| | **Day 1** | Memory Core | `chronos_core/` — SVO parser + dual calendars + vector store, all working with tests | | **Day 2** | API Gateway | `api/` — `/ingest`, `/query` endpoints live, auth middleware, usage metering | | **Day 3** | Agent Runner + Connectors | `agent/` — LangGraph graph + `/agent/run` + `/connect` endpoints | | **Day 4** | Dashboard + Billing | `dashboard/app.py` + Stripe integration + deploy to Railway | | **Day 5** | Polish + Launch | README, tests, Reddit posts ("Free temporal memory for your AI/SaaS") | --- ## Pricing — Premium 3-Tier Model Positioned competitively against Mem0 ($19–$249/mo), Zep (credit-based), and LangSmith ($39/seat): | | **Explorer** (Free) | **Builder** ($49/mo) | **Scale** ($249/mo) | |---|---|---|---| | **Events/month** | 10,000 | 500,000 | 5,000,000 | | **Orchestration calls** | 100 | 10,000 | Unlimited | | **Connected tools** | 3 | 25 | Unlimited | | **Retention** | 30 days | 1 year | Unlimited | | **Agent threads** | 5 | 100 | Unlimited | | **Support** | Community | Priority email | Dedicated Slack | | **Event overage** | — | $0.05 / 1k events | $0.03 / 1k events | | **Orchestration overage** | — | $0.10 / call | $0.07 / call | > [!TIP] > **Why these numbers?** Mem0 Pro is $249/mo. LangSmith Plus is $39/seat (but per-seat adds up fast for teams). Zep credits are opaque. Our $49 Builder tier undercuts Mem0 Starter ($19) on raw value (50x more events) while the $249 Scale tier matches Mem0 Pro but adds orchestration + agent runner + marketplace — features they don't have. The "Explorer" free tier is generous enough to hook startups from Reddit. --- ## Verification Plan ### Automated Tests 1. **Unit tests** for SVO parser (mock LLM responses, verify tuple extraction) 2. **Unit tests** for memory_store (insert events, query by time range, multi-hop) 3. **Integration tests** for `/ingest` → `/query` round-trip via `httpx.AsyncClient` 4. **Agent test** — run a sample prompt through LangGraph, verify memory retrieval ### Manual Verification 1. **cURL the API** — ingest sample events, query them back, run an agent prompt 2. **Streamlit dashboard** — connect a mock tool, visualize timeline, test agent chat 3. **Stripe test mode** — create checkout session, verify usage tracking ### Commands ```bash # Run the API server cd chronos-hub && uvicorn api.main:app --reload --port 8000 # Run the dashboard cd chronos-hub && streamlit run dashboard/app.py --server.port 8501 # Run tests cd chronos-hub && python -m pytest tests/ -v ```