Spaces:
Running
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) |
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/)
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
- 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/agentQueryRequest— temporal + semantic query specQueryResult— ranked results with provenance
[NEW] svo_parser.py
- Uses Google Gemini 2.5 Flash (free tier via
google-genaiSDK) 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
- 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
aiosqlitefor async FastAPI
[NEW] 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
- 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
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
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
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
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
POST /billing/checkout— create Stripe checkout sessionGET /billing/usage— current usage stats (events, orchestration calls)- Premium 3-tier pricing (see Pricing section below)
[NEW] auth.py
- API key middleware: validate
X-API-Keyheader - SQLite
api_keystable:(key_hash, source_id, tier, events_used, orchestration_used, created_at) - Rate limiting per tier
[NEW] 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
- LangGraph
StateGraphwith 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
retrieve_memory_node()— queries Chronos memory before each agent turncall_model_node()— invokes LLM with memory-augmented contextexecute_tools_node()— runs tools (including connected SaaS tools)
[NEW] 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
- 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
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
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
- 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 |
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
- Unit tests for SVO parser (mock LLM responses, verify tuple extraction)
- Unit tests for memory_store (insert events, query by time range, multi-hop)
- Integration tests for
/ingest→/queryround-trip viahttpx.AsyncClient - Agent test — run a sample prompt through LangGraph, verify memory retrieval
Manual Verification
- cURL the API — ingest sample events, query them back, run an agent prompt
- Streamlit dashboard — connect a mock tool, visualize timeline, test agent chat
- Stripe test mode — create checkout session, verify usage tracking
Commands
# 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