Skip to content

One person approves one exact revision for one place.

An approver signs off one exact revision for one destination, an edit sends it back, and live means the destination confirmed it.

  • One approval is required before any piece leaves.
  • Approval binds to a revision hash and a destination.
  • A queued job never reads as a live page.

Roles decide who can release a piece.

Permissions come from your signed-in session, so Oat's agents never hold a publishing credential, and people release what Oat prepares.

Roles

  • Owner manages access and policy.
  • Editor edits, comments and submits.
  • Approver signs off one exact revision and releases it.

An approval names a hash and a destination.

An approval records the revision hash, the destination, who approved and when, and an edit afterwards returns the piece to review.

The approved revision goes to WordPress, Vercel or GitHub.

WordPress receives a draft, Vercel gets a deploy hook Oat watches, GitHub gets a commit on your branch, and every workspace can export Markdown and HTML.

The state on screen is the state at the destination.

A piece shows as live only when the destination confirms it, and a retry runs under the same intent, so nothing publishes twice.

Delivery states

Deploying
The site is rebuilding and Oat is watching.
Live
The destination confirmed the page is public.
Outcome unknown
The destination did not answer, so Oat keeps checking.

Every action stays on the record.

Approvals, revisions, comments, role changes and deliveries are logged with who and when, and the log never copies your writing.

Bring your archive and arrive to work already waiting.

Request access

Nothing publishes without a person approving that exact revision.

Read next