Agent platform καιρός — the opportune moment to act

Most systems store what is true. Kalairos stores what was true when decisions were made—and shows you why your agent acted on it.

Bitemporal memory at the foundation. Live observability through a control plane that traces every fact, every action, every cross-agent handoff. Local-first. MIT-licensed.

Open source on GitHub MCP and REST included JSONL canonical, SQLite derived

The problem

Your agent stores a fact. The fact changes. Now you're stuck.

await memory.remember('Employees must submit reports by Friday');
// ...two weeks later, policy changes...
await memory.remember('Deadline changed to Wednesday');

A user gets penalized for missing Wednesday's deadline. They protest: "I followed the rule. Why was I punished?"

Your system shrugs. It only knows the latest rule. The old one is gone.

Every vector database has this bug. They overwrite, or they duplicate and confuse retrieval. Either way, history disappears. If your agent can't answer "what did we believe at the time?", it cannot be trusted to make decisions that outlive a single session.
The fix, in one call

Same memory. Two answers. Both correct—for their moment in time.

await kalairos.remember('Employees must submit reports by Friday');
await kalairos.remember('Deadline changed to Wednesday');

// Today
await kalairos.query('report deadline');
// → "Deadline changed to Wednesday"

// What was true last week?
await kalairos.queryAt('report deadline', lastWeek);
// → "Employees must submit reports by Friday"

Without Kalairos: the system only knows the latest rule. The user looks wrong.

With Kalairos: the system knows what was true then. The user can prove they were right.

Entity #42 — "Subscription price"
time v1 $10/month Jan 15 v2 $15/month Feb 20 v3 · current $20/month Mar 10 queryAt('price', Jan 20) → "$10/month" queryAt('price', Feb 25) → "$15/month" query('price') (today) → "$20/month"
Where this earns its keep

Scenarios where time-aware memory pays for itself.

Scenario The pain What queryAt proves
Policy change "I was penalized for breaking a rule that didn't exist when I acted." The rule that applied on the date of the action.
Pricing dispute "I signed up at $10. Why am I being charged $20?" The price at the moment of signup.
Compliance audit "What was your data retention policy on March 12?" The policy as it stood on March 12.
Engineering review Old code flagged against rules that didn't exist when it was written. The rule as it was when the code was committed.
Drifting AI agent An assistant flips between contradictory user preferences with no record of why. The preference at any past turn, and the full trail of changes.

If your product makes promises that outlive the moment, you need memory that does too.

How it holds together

Five pillars, in priority order.

Opinionated by design. Each pillar earns its place by removing a category of failure that breaks long-running agents.

01 / Time

Time-aware by design

Bitemporal at the foundation. Every fact carries event-time, ingest-time, and a valid-interval. queryAt(t) returns what was believed at moment t.

query · queryAt · queryRange · getHistory
02 / Trust

Provenance and trust on every fact

No fact returns without its source chain and trust score. Audit-grade by default—nothing surfaces without a reason it was believed.

source · ingestAt · effectiveAt · trustScore · version-id
03 / Observability

Live observability via the control plane

Every retrieval, every action, every cross-agent handoff is traceable. Nothing executes silently. The visual ledger shows what your agent did and why.

visual ledger · SSE control plane · trail · checkpoint
04 / Local-first

Local-first, no cloud lock-in

JSONL canonical, SQLite derived. Bring your own embedder. Self-hosted on free; Postgres + pgvector on enterprise. No proprietary cloud dependency.

data.kalairos · JSONL · SQLite · BYO embedder · MIT
05 / Scope

Built for agents, not chatbots

Not a framework. Not an LLM. Not a vector database. Not RAG. The substrate beneath your agent—your reasoning, our time, trust, and audit semantics.

MCP-first · REST included · language-agnostic
What it is not

We earn trust by narrowing scope.

A platform that claims everything proves nothing. Here is what Kalairos is deliberately not, and why those lines hold.

× Not a generic agent framework

No prompt templates, no model wrappers, no chain-of-thought scaffolding. The agent's reasoning is yours. The platform is ours.

× Not a vector database

We use one as a substrate. We do not replace it. Identity, versioning, trust, and time live above the vector layer.

× Not a RAG framework

We do not chunk or retrieve from document corpora. We remember entities, facts, and events—and the history of how they changed.

× Not an LLM or chat UI

No model weights. No chat surface. No prompt templates. Bring your own model, your own UI, your own agent loop.

× Not a generic analytics store

No OLAP, no BI, no full-text search beyond what memory retrieval needs. We are not a warehouse.

For regulated verticals

Built for AI that has to pass compliance review.

Time, provenance, and trust were not bolted on. They are the architecture. That makes Kalairos the natural foundation for agents in regulated industries, where "what did we believe on date X" is not a feature request—it is a legal requirement.

Legal AI

  • Time-aware contract and policy retrieval
  • Provenance chain on every cited fact
  • Auditable retraction and correction workflows
  • Bitemporal queries for "as known on date X"

Medical AI

  • HIPAA pathway with classified data handling
  • Versioned protocols and care guidelines
  • Human override and rollback on high-risk inferences
  • Delete-by-principal for patient data workflows

Finance AI

  • SOC 2 readiness with append-only audit log
  • Bitemporal pricing and policy evidence
  • GDPR workflows: delete-by-principal, export-by-principal
  • Encryption-at-rest path via Postgres TDE

Evaluating Kalairos for a regulated deployment? Email main@krishnalabs.ai to scope a pilot.

Benchmarks

Reproducible numbers. No comparison tables.

All figures from npm run bench—a deterministic bag-of-words embedder, no API key needed, reproducible on any machine.

75%
Recall @ 5

Fraction of relevant items in the top-5 results, finance scenario.

100%
Temporal accuracy

queryAt returns the correct historical version across the eval suite.

100%
Contradiction detection

Value changes are flagged across all tested scenarios.

1.0
Mean reciprocal rank

First relevant result appears at rank 1 in the standard eval.

100%
Cross-session recall

Memories persist intact across agent sessions and restarts.

These figures use a bag-of-words embedder with no neural model. With OpenAI text-embedding-3-small or Cohere embeddings, recall@5 typically exceeds 90%. Full suite and methodology in BENCH.md in the repository.

Install

Three commands, and you're done.

Local-first. No cloud service. No API key required. Bring any embedder.

Data lives in data.kalairos on disk—human-readable, git-friendly, easy to back up. The 1.x API is frozen for init, remember, query, queryAt, and getHistory. Additive changes only within a major version.