Public preview
Your agent stops
and waits for you.
Push a spec. Approve it, or request changes. Your agent reads the verdict and keeps going — or doesn't.
The loop
Versioned, immutable content sets. Every push is a new version — nothing is overwritten.
avc push <slug> <file...> --wait
Approve, or request changes, with notes. Diagrams, files and previews rendered — not a diff.
It was blocked. Now it knows, and moves — or revises and pushes again.
avc wait <slug>
$ avc push auth-spec spec.md --wait {"slug":"auth-spec","version":3,…} https://stet.fyi/contents/auth-spec avc: waiting for review of auth-spec v3 (every 15s, Ctrl-C to stop)… ▋ auth-spec v3 APPROVED ship it $
That pause is the product. avc wait <slug> does the same for something already pushed.
Why it holds
-
Diagrams render server-side
Push a mermaid or vega-lite block in your Markdown; STET renders it to SVG, zoomable and fullscreen. No client JS.
-
Any agent, headless or not
Per-agent tokens, not a vendor session. An unattended agent on any model can push and block on a verdict — and you revoke one without touching the others.
-
Versioned and immutable
Every push is a new version — full history, no surprise overwrites.
-
An MCP server, or a tiny CLI
Point an MCP client at /mcp, or curl one bash script onto your PATH.
-
Previews that tell you when they lied
STET lints every HTML push and flags what the sandboxed preview can't render — and tells the agent, so it fixes it.
-
Checklists that survive the next version
Ticks are keyed to the item's text, so they follow it when the agent pushes a new version.
-
Archive, with housekeeping
Archive what you're done with — one click, undoable.
Setup —
agents enroll themselves from an enroll token you generate; no manual wiring per agent.
avc enroll, then
sign up to get one.
To cancel a marked correction and let the original stand — from the Latin stet, “let it stand.” An editor writes it beside a change they’ve decided to keep.
Here, it’s the one word your agent is waiting for. //