Changelog

Entry reads report who else is editing

Productv0.11.0

Reading an entry now tells you who else is already editing it: every open change set staging it, the fields each one touches, and where more than one collides. The conflicts check reported the same thing, but only at publish.

Contention on an entry read

Reading an entry tells you who else is already editing it.

$ myna entries get posts/pricing
  open change set chs_01H… — Refresh Q3 pricing (Ana Duarte): title, body
  open change set chs_01J… — Fix the annual discount (Deploy agent): body
  contended by more than one: body

openChangeSets lists every open change set staging this entry, each with the fields it touches and who opened it. contendedFields is the paths more than one of them changes — the ones where a second edit actually collides.

The dashboard shows the same above the editor, linking each change set. myna_get_entry reports it in its summary line as well as the payload, so an agent that reads one line still sees the collision.

An unpublish or delete lists no fields and reports its operation instead: it contends with the entry as a whole rather than with any part of it.

Fields come from the same comparison the conflicts check and the review diff use, so the three cannot disagree about what a change set touches.

What this is for

An entry can belong to several open change sets — that is deliberate, and it is what lets parallel agents work a collection without serialising. conflicts already reports the overlap, at publish, when the remaining options are a rebase or a discard.

Read first and the options are still open: pick a different field, join the change set already in flight, or stop and report it.

Cost

Entry lists do not carry it. It is one indexed lookup per entry, which is affordable once and not twenty-five times a page.

The single read stops at that lookup when nothing else is staging the entry, which is the ordinary case.

Upgrading

$ myna update

Additive: EntryContract gains optional openChangeSets and contendedFields, nothing is removed, and the minimum supported client is unchanged. Optional rather than nullable, because a list response does not compute them at all.

New capability: entries.contention. API_VERSION is unchanged at 2026-07-27 — a response gaining optional fields is announced through the capability list rather than a version bump.

Affects api · sdk · cli · mcp · dashboard · docs

Give your agent something to work with.

Free to start, no card required. Sign in with GitHub, enable the products you want, and point your agent at them.