Every query compounds.
A fact in DeepTap is a verified, source-attributed claim with a confidence score and a decay schedule. Every retrieval deposits new facts into the tenant-scoped cache. The next query that touches the same territory reuses them at a fraction of the cost.
What "fact" means here
In DeepTap's model a fact is not a string. It is a structured claim with: the claim itself, the source URL, the section anchor, the extraction timestamp, the confidence prior assigned at extract time, the rerank score from the layer that promoted it, the firewall verdict from the inspection step, and the decay class chosen at deposit time. Facts are tenant-scoped; one tenant's cache is invisible to another, and the optional private corpus binding scopes them further.
This shape lets the next caller skip retrieval entirely when the cache holds a fact that answers the new query inside its decay window.
Decay schedules
Not every fact ages the same way. DeepTap classifies every deposit into one of four decay classes at deposit time:
Live prices, breaking news, current standings, anything that changes faster than a human can write a paragraph about it.
Active personnel, current product specs, regulation that is in flight, anything tied to a quarterly cadence.
Architectural facts, signed agreements, published case law, anything that changes only on a clear event.
Historical events, fixed mathematical relations, settled identity. Permanent facts age out only on explicit invalidation.
Cache hit behavior
When a query lands, the first pipeline layer hashes the normalized form, looks it up in the tenant-scoped cache, and checks every candidate fact's decay window. A hit means the rest of the pipeline does not run. The response envelope flags the hit so the caller can show provenance, and the credit cost reflects the cache-hit path rather than the full depth-1 cost.
A miss is honest. The cache short-circuits only when a fact is fresh enough to trust. Stale facts are evicted, not surfaced.
Cache invalidation
Three triggers invalidate facts: the decay window expires, a contradicting deposit lands with higher confidence, or the tenant calls the explicit invalidation endpoint. Contradiction handling logs the conflict so an operator can audit the chain. Explicit invalidation is the recommended path when a downstream system has independent ground truth that drift has not yet reflected in the cache.
What happens when a query has no useful cache hits
Same thing as a fresh query, plus a deposit step. The full seven-layer pipeline runs. Search fans out, extraction runs, the firewall inspects, rerank scores, and the surviving top-K facts deposit into the cache with the appropriate decay class. The next caller benefits.
Cache growth, illustrated
Why this matters
A search wrapper pays full cost every call. A knowledge engine pays the deposit once and reuses on every subsequent query that overlaps the same territory. Over a long-lived agent's lifetime the difference is structural, not marginal. The fact cache is the reason DeepTap calls itself a knowledge engine, not a search wrapper.