These can't change anything in the service.
- Search issuesLinearOff
- Read an issueLinearOff
Product · how releases work
Every change your experts make can become a numbered release that never changes. Your eval cases run against it, and production is held back when they fail. Agents that read through the SDK or the resolve API get a release only when you move a label to it. Rolling back returns the label to where it pointed before.
01 / 05 · Releases and labels
Try it below. A release whose eval cases fail cannot take the production label. Rolling back returns production to the release it pointed at before, and that step is never held by the eval gate. Moving production to any other release is an ordinary move, and the gate checks it. The releases here are an illustration with made-up content.
Cut as release 1 · sealed
Instructions v2, Refund reply v2, Ticket triage v1, policy.md v4, 4 tools
Eval cases 2 of 2 passCut as release 2 · sealed
Instructions v2, Refund reply v3 adds the 30-day store credit rule, policy.md v5, 4 tools
Eval cases 2 of 2 passCut as release 3 · sealed
Instructions v2, Refund reply v4 trims the reply and drops the 30-day line, policy.md v5, 4 tools
Eval cases 1 of 2 passTry it
production is on r2. staging is on r3.
r3 is the newest release, and one of its eval cases fails. Try moving production to r3, then to r1, then roll back.
Label history
02 / 05 · Two views, one change
Both views show the same edit to the Refund reply skill. The expert writes in plain language and never meets a release number unless they go looking. You get the versions, the checks and the label. The skill here is an example.
What the expert sees
Draft a reply a customer can act on when they ask for a refund or a return.
The expert edits in the editor and publishes the skill. They do not choose when it reaches the agent.
What the engineer sees
Example agent · r3
| Item | In r2 | In r3 |
|---|---|---|
| Instructions | v2 | v2 |
| Refund reply | v3 | v4 |
| Ticket triage | v1 | v1 |
| policy.md | v5 | v5 |
| Tools | 4 | 4 |
Cutting a release pins each item at its version and fingerprints the set. The label is yours to move.
03 / 05 · Signed API and SDK
The SDK fetches whatever release a label points at, checks its signature, and caches it so Contexory stays out of your request path. The Claude Code and OpenClaw plugins work differently: they serve each skill's published version, unless they are pointed at an agent, and then they serve that agent's release at production.
import { Contexory } from "@contexory/sdk";
const cx = new Contexory({ apiKey: process.env.CONTEXORY_API_TOKEN });
const ctx = await cx.resolve("support-agent", "production");What comes back
04 / 05 · Runs
Stamp each span with its release using instrument(), and your OpenTelemetry Collector sends run summaries to Contexory with a write-only ingest key. Contexory ingests a second copy of your trace and never stores message content, tool arguments or tool results. Compare releases on the runs each one served.
Stamp every run with its release
import { instrument } from "@contexory/sdk";
const stamp = await instrument({ release: ctx });Sample runs · outcome met on 5 of 6
| Run | Release | Loaded | Steps | Outcome |
|---|---|---|---|---|
| #1048 | r2 | Refund reply | 4 steps | Resolved |
| #1047 | r2 | Ticket triage | 3 steps | Resolved |
| #1046 | r2 | Refund reply | 5 steps | Resolved |
| #1032 | r1 | Refund reply | 7 steps | Not resolved |
| #1031 | r1 | Ticket triage | 3 steps | Resolved |
| #1030 | r1 | Refund reply | 4 steps | Resolved |
Outcomes are rules you define for your agent, such as loading a skill or finishing without an error. The run ids, steps and outcomes here are an illustration.
05 / 05 · Tools
Each tool gets a plain name and an effect, and tools are grouped by effect so a deletion never sits beside a lookup. Every tool starts off, and someone turns on what the agent needs. A tool we have not reviewed is listed under its own name, because we do not guess what it does.
These can't change anything in the service.
These change things in the service. Turn on only what the agent needs.
We don't know whether these change anything, so they start off.
Contexory never stores your passwords or keys. You sign in with the service directly, and it keeps the credential.How we handle your data →
Rollback in one move
Bring one agent and one skill. Cut a release, write two eval cases, and move the label before the trial ends.
See pricing →