THE ARTIFACT LAYER FOR AI AGENTS

A trusted home for the work your agents hand off.

Agent work gets stranded in chat threads, docs, and model-specific file stores. Publish the work worth keeping as a governed Artifact: versioned, attributed, and ready for the next agent or teammate to continue, with declared provenance attached.

agent-native signed provenance record revocable access
Connects over MCP to Claude Code · Codex · Cursor · claude.ai · ChatGPT — no glue code.
one paste — any agent
HAND THIS TO YOUR AGENT
MCP + OAUTH

Read https://regest.xyz/skill.md and connect yourself to regest.

# or wire it up yourself
 claude mcp add --transport http regest \
    https://api.regest.xyz/mcp

then run /mcp → sign in → approve read + write in your workspace → start a fresh session — tools load on reconnect.

Both paths end at you signing in — never at the agent.

No workspace yet? Create one — free · 1 GB · no credit card →

Then you ask your agent. Five examples, one per discipline:

  • Research: Publish the user findings to regest — cite the calls you drew on.
  • Engineering: Publish the checkout RCA to regest — list the commits you traced.
  • Finance: Publish the Q3 forecast to regest — record the actuals you pulled.
  • Design: Publish the empty states to regest — name the flows you walked.
  • Operations: Publish the vendor review to regest — note the clauses you read.
research engineering finance design operations

THE PROBLEM

Agents create the work — but can't hand it off.

An agent's output lands in a chat thread, a Notion page, or one model's file store. No identity, no provenance, no clean way for the next agent to pick it up. Every handoff becomes a workaround.

$ ls ~/agent-output/
market-analysis.pdf
REPORT
2.4 MB
ingest-pipeline/
CODE
2,310 LoC
acme-launch-site/
WEBSITE
14 files
user-research.md
RESEARCH
56 KB
pricing-model.csv
DATASET
880 KB
# created by agents — not by people
// WHAT EVERY HANDOFF IS MISSING

Agent identity

Who — or what — produced this? A raw file can't say.

Declared provenance

Which sources and versions did its producer declare? A raw file cannot preserve that trail.

Revocable sharing

Send it once and you've lost control of where it goes.
THE CATEGORY

Companies have systems of record for human-created work.
They don't yet have a system of release for agent-created work.

Agents ship deliverables the way CI ships builds — versioned, attributed, and consumed downstream. regest is that system of release.

THE MISSING PRIMITIVE

Meet the Artifact.

A versioned package of an agent's work — with identity, declared provenance, and history bound to the publication record, plus live access policy enforced whenever it is opened. Not a file in a folder. A governed object.

DATASET
v3
q3-forecast
@v3
● LIVE
agent:planner-07 · 2h ago
report.pdfREPORT2.4 MB
charts/12 IMG3.1 MB
model.csvDATASET880 KB
3 files · 6.4 MB · attested by regest
manifest opened 5 times by 2 other agents · via mcp
HOVER OR FOCUS A PROPERTY TO SEE WHERE IT LIVES →
IDENTITY
Signed by regest, attesting the named agent produced this exact content.
PROVENANCE
The sources and prior versions its producer declared — bound to the publication record.
PERMISSIONS
Who can open it or publish a new version — enforced as live policy, not implied.
HISTORY
Immutable versions preserve the history while the Artifact exists — retrieve an earlier one or trace known successors.
CONSUMPTION
Who has opened it since, and how they got it — recorded by regest, not declared by anyone.
THE AGENT HANDOFF

One agent finishes. The next starts informed.

Every agent publish carries the work, a required context brief, creator attribution, and an immutable version — plus any sources the producer declares. A later session retrieves the manifest and can continue without reconstructing the original chat.

two sessions — one artifact
SESSION A · PLANNER-07 upload_artifact
Publish the finished Q3 forecast. Make it visible to everyone in the workspace, and include the assumptions, open questions, and regest artifacts you used.
finance/q3-forecast.md@v3
Workspace-visible · attributed to planner-07 · attested by regest · 2 declared sources
SESSION B · FORGE-11 get_artifact
Open the latest Q3 forecast and bring me up to speed before I revise it.
finance/q3-forecast.md@v3

Base case: 4.2% growth, reflecting the latest bookings and FX updates.

Still open Confirm EMEA renewal timing before revising.
Declared sources market-data@v2 · pricing-model@v1
  1. Publish with context
    The producing agent sends the work, a useful brief, and a declared record of the sources it used.
  2. Attest the handoff
    regest binds exact content, attribution, context, and declared provenance to an immutable version.
  3. Continue cold
    A later agent retrieves the manifest and context in one call; small text content is included inline. Live access checks are enforced.
OBSERVED, NOT DECLARED

See who actually picked it up.

Provenance is what a producer says it drew on. Pickup is what regest saw — another actor opening the artifact manifest, with the reader and the route. Metadata-only opens count; raw downloads are not separate events. Your own opens are never counted.

q3-forecast@v3 CONSUMPTION
PUBLISHED BY YOUR TEAM
planner-07 · finance
MANIFEST OPEN — RECORDED BY REGEST
ledger-03 · reviewer · operations
4 manifest opens · via mcp · last 20m ago
WHAT THEY PUBLISHED NEXT
renewals · operations
regest records manifest opens, including metadata-only triage. It does not know what was done after an open or whether bytes were downloaded — the last step is a separate publish, with its own declared sources.

The pickup crosses teams

One workspace, explicit permissions. The agent that picks your work up answers to a different function and a different human — and the record is the same either way.

Recorded, not claimed

Provenance and context are producer assertions. A manifest open is what regest saw for itself: this reader opened the handoff through this route. Metadata-only opens count; raw downloads are not separate events.

Your agent can ask

Consumption is an MCP tool, not just a dashboard panel — so a publishing agent can check whether its last artifact manifest was opened before it republishes or follows up.

EVERY SURFACE

One artifact contract. Native to every surface.

Start with MCP. Switch to the SDK, CLI, or REST when code owns the workflow — the Artifact stays the same. Workspace Settings can also download a token-free SKILL.md pinned to that workspace's slug and public endpoints.

MCP · TOOLAGENT-FIRST

Ask. The agent handles the schema.

Ask in plain language. Your agent selects the typed publishing tool and includes the context and declared sources that make the handoff useful.

BEST FORMCP-aware agents
AGENT REQUESTregest MCP

Publish the Q3 forecast we just finished as finance/q3-forecast.md. Include the base-case assumption, the open EMEA question, and the source artifacts we used.

toolupload_artifact
resultfinance/q3-forecast.md@v3
SDK · TYPESCRIPT

Own the orchestration. Keep the contract.

Use the typed client when your external agent runtime, job, or service owns the workflow. The SDK includes the digest → authorship statement → local signature path; the private CryptoKey never leaves your runtime. Poll the durable publication cursor or receive signed, retryable webhooks to wake it — regest carries the handoff signal; it does not run agents.

BEST FORTypeScript runtimes · orchestrators
TYPESCRIPT@regest/sdk
import {
  Regest,
  buildActorAuthorshipStatement,
  sha256Hex,
  signStatement
} from "@regest/sdk"

const rg = Regest.fromEnv()
const name = "finance/q3-forecast.md"
const enrolled = await rg.enrollActorKey(actorPublicJwk)
const authorshipDsse = await signStatement(
  buildActorAuthorshipStatement({
    content_sha256: await sha256Hex(report),
    author: { actor_id: enrolled.actor_id, kid: enrolled.kid },
    artifact_name: name,
    issued_at: new Date().toISOString()
  }),
  actorPrivateKey,
  enrolled.kid
)

await rg.publish({
  name, content: report,
  context: "Base case: 4.2% growth; confirm EMEA renewal timing.",
  derivedFrom: sources,
  clientAttestation: authorshipDsse
})

const recent = await rg.listArtifacts({ producedBy, since })

const feed = await rg.publicationEvents({ cursor })
cursor = feed.next_cursor

const verified = await rg.verifyWebhook(rawBody, headers, {
  expectedWorkspaceId,
  expectedWebhookId
})
if (!verified.ok) throw new Error(verified.reason)
CLI · SHELL / CI

Publish explicitly from the command line.

Use a shell script or CI job when automation owns the handoff. Context travels with the file. Enroll the agent's public signing key here too; its private key stays in the runtime.

BEST FORShell workflows · CI jobs
SHELLregest CLI
$ regest key enroll --jwk public.jwk

$ regest publish finance/q3-forecast.md \
  --file q3-forecast.md \
  --context "Base case: 4.2% growth; confirm EMEA renewal timing." \
  --client-attestation authorship.dsse.json

$ regest events --cursor "$REGEST_CURSOR"

$ regest ls --produced-by "$ACTOR" --since "$SINCE"
REST · ANY LANGUAGE

Call the artifact service directly.

Use HTTP when a backend service or custom runtime owns the integration.

BEST FORBackend services · custom runtimes
HTTPJSON
POST /v1/artifacts

{
  "name": "finance/q3-forecast.md",
  "content": "# Q3 forecast\n…",
  "context": "Base case: 4.2% growth; confirm EMEA renewal timing."
}
finance/q3-forecast.md@v3 same Artifact · immutable version · creator attributed · context attached
GOVERNED ACCESS

Publish once. Nothing leaves as a copy.

Hand someone a file and it is gone — copied, forwarded, out of reach. A regest link moves nothing: every open is a fresh permission check, so an expiry lands and a revoke takes the work back, even from someone who already opened it.

14:02  ·  THE RECIPIENT OPENS IT
regest.xyz/s/x8K2q9
Verified
q3-forecast
@v3
Shared with you by acme · agent:planner-07
A live, governed view — the work stays in regest, not a copy in your inbox.
j.rivera · View access
no regest account needed
expires in 7d
16:20  ·  THE SAME LINK, AFTER REVOKE
regest.xyz/s/x8K2q9
404  ·  share not found
That is the whole response.
Same link, same afternoon. The recipient still has the URL — they just no longer have q3-forecast, because the bytes never left regest and every open asks again. Unknown, expired, revoked, and otherwise unavailable public links all show the same generic response — so a link can never be used to work out what a workspace holds.
// AND THE RULES BEHIND IT

Who can open it

Private, visible to the workspace, or granted to a named person or agent. Viewers read; editors publish the next version.

What an agent may share

A token can only share what its own agent published. Sending another actor's work out of the workspace is a human decision.

Who holds the controls

Owners act workspace-wide, including turning outside links off for everyone. Other members manage only the agents and signing keys they connected.
PROVENANCE

Every Artifact carries its lineage.

regest maps the sources each producer declared and the downstream consumers it has observed. Signed ancestry records what was claimed at publish; the forward view shows known consumers, not every possible dependency.

the artifact you're looking at signed edge (cryptographically bound) unsigned (external / recorded only)
WHERE IT CAME FROM signed, as-declared ancestry THIS ARTIFACT WHAT'S BUILT ON IT known consumers — not exhaustive survey.csvv1 · scout-03 github.com/acme/etl@9f8e · external, unsigned market-datav2 · scout-03 pricing-modelv1 · forge-11 q3-forecastv3 · planner-07 · signed board-deckv1 · a.chen ir-briefv2 · planner-07

Real work isn't a straight line — on the left, many sources converge to produce the artifact (a signed chain of declared sources); on the right, that artifact fans out to its known consumers (the ones regest has seen). Sources you can't access are redacted, never silently dropped.

THE PRODUCT

See it in the workspace.

Your agents, Artifacts, publication feed, and access policy — one governed workspace.

Search artifacts, agents…
+ Publish
ACME
Library
Everything your agents have published — versioned, signed, and governed.
9
artifacts
212 MB
stored
6
agents
All artifacts 9
dataset 3
code 4
report 2
DATASET
v3
q3-forecast
planner-07 · 2h ago
6.4 MB · org
CODE
v5
billing-refactor
forge-11 · 1m ago
1.2 MB · private
REPORT
v1
market-scan
scout-03 · 6m ago
3.0 MB · org
← back to library
q3-forecast
@v3● LIVE
agent:planner-07 · planning agent · 2h ago
Verified — signed by regest · content confirmed
Files · 3 items · 6.4 MB
report.pdfprimary2.4 MB
charts/3.1 MB
model.csv880 KB
← back to artifact
PROVENANCE
Lineage — q3-forecast@v3
focusancestordownstream
sources
this version
downstream
market-data
v2 · scout-03
signedattested
pricing-model
v1 · forge-11
signed
q3-forecast
v3 · planner-07
focusattested
board-deck
v1 · a.chen
known consumer
ir-brief
v2 · planner-07
known consumer
Many sources converge to produce an artifact; it then fans out to its known consumers. Ancestry is signed as declared at publish; downstream shows known consumers; sources you can't access are redacted, never dropped.
FLEET
Your agents
Named agents producing durable work — each publish is attributed to its regest identity and signed by regest.
6
agents
22
published
24
artifacts read
6
connected
planner-07
active
planner
12 published4 artifacts readconnected
forge-11
active
builder
7 published9 artifacts readconnected
scout-03
idle
researcher
3 published11 artifacts readconnected
ACTIVITY
Publication feed
The same durable handoff feed external agent runners poll. This view refreshes every five seconds; regest records the signal but does not run agents.
Polling · 5s
PUBLISH
planner-07 published q3-forecast · 6.4 MB
2h ago
PUBLISH
forge-11 published billing-refactor · v5
1h ago
PUBLISH
scout-03 published market-scan · v1
40m ago
PUBLISH
planner-07 published ir-brief · v2
6m ago
GOVERNANCE
Policies & audit
Require a context brief
Humans must include a brief when publishing (agents always must).
Allow share links
Members can create governed share links.
Default visibility
Visibility applied to a new artifact when none is specified.
Workspace
grant.create
you granted forge-11 editor on q3-forecast
1h ago
policy.update
you set default_visibility → org
3h ago
WALKTHROUGHEverything your agents publish — versioned, signed, and governed, in one place.

The vision

THE VISION
Repositories
organize software.
Databases
organize data.
Object stores
organize blobs.
regest
organizes agent work.
GET STARTED

Your agents ship the work.
Give it a system of release.

Create a free workspace, connect your agents in one command, and publish your first governed Artifact in minutes.

Create your workspace → See how it works
free · 1 GB · no credit card