Humans run analytics, then decide.
Time to review, reconcile, and align. Stale context is acceptable — humans close the gap before acting.
The New Era
AI Systems make decisions continuously — in milliseconds, concurrently, with no time to reconcile.
State changes faster than it propagates. Incorrect decisions compound at scale.
Your analytics stack was designed for the old era. It wasn't built for automated decisions.
The singular point of truth for every automated decision. Context lands, is derived in place, and — where Tacnode is the system of record — is committed under ACID, so decisions and the state they change never drift apart.
Connect with psql, your favorite ORM, or any PostgreSQL driver. Your SQL skills apply directly.
Full SQL support — JOINs, CTEs, window functions
Native vector search with pgvector syntax
Works with existing tools, libraries, and workflows
psql tacnode
-- Get customer context for fraud scoringSELECT c.id, c.risk_score,
v.recent_transactions,
e.embedding <-> query_embedding AS similarity
FROM customers c
JOIN velocity_features v ON c.id = v.customer_id
JOIN embeddings e ON c.id = e.customer_id
WHERE c.id = $1AND v.window = '15m';
-- Raw state, derived features, and vectors in one query
Production Grade
Built to hold under real load.
Production-grade coherence isn't a feature — it's what happens when the infrastructure underneath is built for it.
A context gap is the condition where a decision system cannot access complete, consistent, and current context within the window it has to decide. It takes two forms: pipeline lag — derived state (velocity counts, aggregates, features) trails the raw events that change it — and inconsistent reads — context split across systems that cannot be queried under one consistent snapshot. The result is that automated decisions run against a version of reality that no longer exists. The logic is correct; the context is wrong.
What is the validity window for a real-time decision?
The validity window is the time between when context is needed and when the decision commits and becomes irrevocable. For card authorization, it may be 50–200ms. For fraud detection, seconds. For credit underwriting during a live checkout, under a second. The context gap exists whenever pipeline lag, cache TTL, or cross-system retrieval latency exceeds that window — meaning the context the decision uses no longer reflects the state that actually exists.
Do AI agents need a context lake?
Agents that only read documents do not. The requirement appears when multiple agents act concurrently on the same mutable state with no human gate between the decision and its consequence — approving, allocating, enforcing a cap, releasing inventory. Each agent reads context, decides, and commits inside a window too short to reconcile. Without one shared, current view, agents diverge: two of them approve against the same balance, or one acts on state another has already changed. A context lake gives the whole fleet one version of reality to act on — and where it owns that state, it serializes their commits, so two agents cannot both win the same limit.
How is a context lake different from agent memory?
Agent memory stores what an agent has seen and said — conversations, documents, extracted facts — and serves it back through semantic retrieval. It answers what the agent knows. A context lake holds the operational state the decision runs against: balances, limits, inventory, velocity counters, entitlements, and the derived signals it computes from them, kept current and consistent across every agent and service. It does not just hand that state out — it models it, derives from it, and where it owns the dataset, commits changes to it under ACID. Memory makes one agent informed. A context lake keeps a fleet of them from acting on realities that no longer match.
Why do fraud detection systems approve transactions they should block?
Fraud detection failures often trace to the context gap: velocity counters that lag real-time event ingestion, cross-channel state that can't be queried under one consistent snapshot, or concurrent fraud bursts where multiple sessions read the same stale counter before any write is reflected. The fraud model logic is correct — but it evaluates a version of the account that no longer exists. The Tacnode Context Lake™ closes this gap by giving the fraud decision live, shared, internally consistent context, so it does not approve what it would have blocked had it seen current state.
How is a context lake different from a feature store?
A feature store pre-computes and caches features for ML models, optimizing for read throughput. It works when the validity window is wide enough that pre-computed features remain accurate. The context gap appears when state changes faster than a pipeline can refresh cached features — during concurrent fraud bursts, active checkout sessions, or real-time credit decisions. A context lake holds the state and derives from it in place: raw state and derived features live in one system, refresh incrementally with sub-second lag, and are queried together under a single consistent snapshot. Where it owns the dataset outright, it is also the system of record for it — writes commit under ACID rather than landing somewhere else first.
What is Decision Coherence?
Decision Coherence is the property where every agent and service in a system acts on the same, current version of reality — no diverging views, no stale context, no conflicting decisions. It is what you get when the context gap is closed. Achieving it requires three properties working together: Shared (every service works against one consistent source), Live (state propagates from ingestion to query in sub-seconds), and Semantic (derived context — features, aggregates, vector embeddings — computed and served by the same system that holds the raw state).
The next decision is already running.
Make sure it sees the world as it is — not as it was.