answer engine · live web · cited sources · versioned agents

Same input.
Same answer.
Every time.

Coldcache searches the live web, cites its sources and streams answers — on Claude, ChatGPT or Gemini, with no provider account to open. The difference is underneath: every chat is pinned to one immutable agent version and runs in a fresh context with zero carried-over memory. When the output changes, it was your input — never the model's accumulated state.

■ site-tester v3webjsonmemory: off
Create a workspaceHow it worksmodels included · memory off by default
The problem

Your agent drifts, and you can't prove why.

Every major assistant now carries state across chats. Memory is on by default. Projects and Spaces accumulate context. Custom instructions mutate in place, so editing them rewrites the history of threads that already ran. An agent you built to test websites behaves differently on session ten because it half-remembers the previous nine.

QA
“This flow passed last sprint and fails now. I have no idea whether the site regressed or the agent did.”
two variables, one observation
RESEARCH
“I rewrote the prompt and the summary changed. I can't tell if it got better or just different.”
no baseline to diff against
COMPLIANCE
“Show me the exact instructions that produced this reviewed document eight months ago.”
currently unanswerable

You cannot run an experiment on a substrate that is quietly changing underneath you.

The differentiator

Stateless, versioned agents.

An agent is a system prompt, a tool set, an output schema and model settings. In Coldcache that bundle is an immutable artifact with a number. Editing it never mutates it — it publishes the next one.

01 — PINNED

A chat binds to a version, not an agent

Every chat stores agent_version_id. The header shows site-tester v3 for the life of the chat. There is no “upgrade this chat” button, because that would be the bug.

02 — IMMUTABLE

Editing publishes v2, never rewrites v1

Published versions are frozen. v1 stays runnable, linkable and diffable forever. Publishing v6 on Monday does nothing to the chat you opened Friday on v3.

03 — STATELESS

Fresh context. Memory is opt-in.

Each run loads that version's instructions into a clean window. No cross-chat memory, no personalization. Memory is declared inside the version body — turning it on is itself a version bump.

agents / site-testerv6 published just now — nothing below moved
1
v1 · Jun 02
2
v2 · Jun 19
3
v3 · Jul 11
4
v4 · Aug 03
5
v5 · Aug 28 · stable
6
v6 · today
acme-signup-regression→ pinned v3unchanged · still streaming
q3-compliance-sweep→ pinned v3unchanged · 214 runs archived
nightly-smoke-batch→ pinned v5unchanged · job in flight
new chats from now→ resolve stablestill v5 — a human moves the stable pointer
Demo

What it actually looks like.

Four surfaces do most of the work: the pinned chat, version history, the run diff and the batch rerun.

■ policy-summarizer v7webmemory: offclaude-opus-5chat #4812 · fresh context
Summarise the draft data-localisation rules and flag anything that affects cross-border payment processors.
◆ Answer
The draft creates three obligations for payment processors. Local storage of the full transaction ledger with a 24-hour mirroring window1. A bar on offshore processing of card-present data, with an 18-month transition2. And an audit-access clause materially wider than the 2023 circular it replaces3.
SOURCES · SNAPSHOTTED
Gazette notification s.4(2)
1egazette.gov.in
Draft rules — processing restrictions
2meity.gov.in
Circular 2023/14 (superseded)
3rbi.org.in
run 4812.03 · schema valid ✓ · 3 sources snapshotted · 1,204 ms · 2,146 tok · €0.01
input hash 9f2c…a71b · output hash 4de0…c882 · context: fresh, 0 prior messages loaded
Reproducibility, honestly

What we can promise, and what we can't.

Nobody can make a language model deterministic. We are not going to claim it. Here is exactly where the line is, and what we do on each side of it.

What we can't control
What Coldcache does about it
→ The live web changes under you.
↳ Every source is snapshotted with a timestamp and content hash. Replay mode re-serves the exact snapshots, so you can hold the web still while you vary the prompt.
→ Providers update weights behind a model name.
↳ Versions pin exact model ids, never floating aliases. The id that actually served each run is recorded, so a substitution is never silent.
→ Sampling is stochastic above temperature 0.
↳ New agents default to temperature 0 with a fixed seed where the provider supports one. Raising it warns you the version is no longer bit-reproducible.
→ Even at temperature 0, providers don't guarantee identical bytes.
↳ So we don't promise identical bytes. We guarantee an identical causal input set. When outputs do match byte for byte, we report it as a measured fact.

The claim is not that the model is deterministic. The claim is that everything on our side of the line is.

Any provider

One set of semantics on every model.

Point a version at Claude, ChatGPT or Gemini. Web search, citations and JSON validation behave the same way on all three, so switching provider is a version bump you can diff — not a rewrite.

Claude

claude-opus-5 · sonnet-5 · haiku-4.5

Server-side web search with dynamic filtering; adaptive thinking with an effort dial.

ChatGPT

gpt-5.x · gpt-4.1 · gpt-4o

Responses API with the hosted web-search tool; url citations harvested per run.

Gemini

gemini-2.5-pro · 2.5-flash

Google Search grounding; grounding chunks recorded as sources.

Runs use Coldcache's model access; your own provider keys are an Enterprise option. Provider notes →

Pin an agent. Run it in a year. Get the same thing back.

Claude, ChatGPT and Gemini included — no provider account to open. Build one agent, publish v1, run it, then change the prompt and diff the two.