Watch your AI agent outlive its own context window.

Run it. Let the context fill. Let it compact. Again. And again. The chatter folds away. Your goals, rules and decisions stay exactly as you wrote them.

Free until [date]. Bring your own model: OpenAI or Anthropic (verified), Mistral, Groq, Together, Gemini or DeepSeek (same OpenAI-compatible path, not yet verified end to end).

context windowcompaction 0
Illustration, not a live run. Yellow lines are what you declared. They never get summarized. The real thing: run the challenge.

Change one URL. Say it once.

Point your client at your ContextContinuity URL. Then, in your messages, start a line with Goal: Rule: Decision: Always or Never. It holds for the life of the work. To change one, write the new line and name the old one: (replaces #d1) with the handle shown next to it, or (replaces: the exact old line). An unclear target changes nothing and tells you so.

Norwegian works too: Mål: Regel: Beslutning: Alltid Aldri, and erstatter: to replace one.

Verified client: the official openai Python SDK (3.19.2) and the challenge script below. Other OpenAI-compatible clients use the same URL contract but are not verified unless listed here.

your-agent.py
client = OpenAI(
    base_url="https://[endpoint]/t/your-key/openai/v1",
    api_key="YOUR_PROVIDER_KEY",
)
in your messages
Goal: ship the billing refactor
Rule: never touch the migrations folder
Decision: use Postgres, not SQLite
Rule: use four spaces (replaces: Rule: use tabs)
Exact, not remembered
Through every compaction, crash and restart, every request to your model carries your goals, rules and decisions word for word, or is refused before it is sent. What the model does with them is the model's own.
For long runs
Coding, research, support, overnight jobs: anything that runs long enough to outgrow its context window.
Nothing to rewrite
A little magic behind one URL. Your agent, your model and your provider key stay exactly as they are.

Get a free key.

No account, no email. Your key is shown once, inside your base URL.

Tick the first box to get your key.

Don't take our word for it.

One script, one dependency, your own model and key. It does real work with tools that run on your machine, states a Goal, a Rule and a Decision, replaces the Decision by its handle after the first compaction, waits for three context turnovers, reconnects, and asks the model what holds now.

It prints three separate verdicts. Continuity and projection are what the service did, read from your run's own /cc/status and /cc/ledger. Model is what your model did with it. A model can fail its row while continuity passes; the report says so instead of hiding it.

What it does not show: a server restart (reconnect is a new connection to the same run, and is reported as exactly that), anything about other tenants, or anything beyond the model you chose. Your key goes only to your own base URL; the report holds neither key nor token.

1. get the script (plain Python, read it first if you like)
curl -O https://[endpoint]/challenge/cc_challenge.py
pip install openai
2. run it with your base URL, your key, your model
python cc_challenge.py \
  --base-url "https://[endpoint]/t/your-key/openai/v1" \
  --api-key "YOUR_PROVIDER_KEY" --model "gpt-4o-mini"
3. read the verdicts, then inspect or delete the run yourself
CONTINUITY   PASS   g1, r1, d1 registered · d1 superseded, d2 open, lineage kept
                    3 context turnovers · same run after reconnect
PROJECTION   PASS   0 failures on every request
MODEL        your model's row

GET    …/t/your-key/v1/cc/status     GET …/v1/cc/ledger
DELETE …/t/your-key/v1/me