editorzero — KONSTRUKT

A constructivist design language for an AI-native docs platform. The zero is a circle; humans are squares, agents are circles, and that shape-opposition is the whole identity — carried through structure, not decoration. Bauhaus primaries on cool paper, thick black rules, solid offset shadows. Five product screens follow.

cobalt — action / agent chrome — highlight / human vermilion — live / destructive Space Grotesk · Archivo · IBM Plex Mono light mode · WCAG AA · fully tokenised
a Dashboard / Home — overview, recent docs, spaces, activity
editorzero
Acme Robotics ▾
Search docs, people, spaces…⌘ K
N

Tuesday · good morning

Welcome back, Nomi

312
Documents
3
Spaces
18
Principals · 5 agents
Recent documents edited by you & your agents
Write-Path Atomicity engineering · spec
agent live
N
Q3 Platform Roadmap product · planning
2h ago · you
CRDT Convergence Notes engineering · research
5h ago · agent:claude
RP
Incident 1147 Postmortem operations · review
yesterday · rai
Your spaces 3 active
Engineering
142 docs · 8 members · 3 agents
142
Product
88 docs · 6 members · 1 agent
88
Operations
54 docs · 4 members · 1 agent
54
Live activity
agent:claude proposed an edit + suggest on Write-Path Atomicityjust now
N
you published publish Q3 Platform Roadmap2h ago
agent:codex created CRDT Convergence Notes5h ago
b Documents in a space — collections tree + document table, human & agent editors
editorzero
Engineering ▾
Filter this space…/
N

Engineering · collection

Architecture

DocumentEditorsStatusUpdated
Write-Path Atomicity
doc_a1f · spec
Nlive
in review now
CRDT Convergence Notes
doc_b73 · research
NRP+1
draft 5h ago
Storage Engine Tradeoffs
doc_c20 · spec
RP
published 2d ago
Permission Resolution Order
doc_d04 · spec
N
published 3d ago
Snapshot & Restore Design
doc_e55 · research
agent:codex
draft 4d ago
Observability Spans
doc_f81 · spec
NRP
in review 6d ago
c Document — reading view — finished doc: title, rich body, metadata
editorzero
Engineering ▸ Architecture
Reading

Engineering · Architecture · Specification

Write-Path Atomicity

Every content mutation flows through a single transactional seam, ctx.transact(doc_id, fn), so that human keystrokes and agent edits land as one ordered, audited, convergent stream — never a partial write.

Why a single seam

The platform treats humans and AI agents as peer co-editors. That peerage is only real if both write through the same path with the same guarantees. A second mutation door — a faster, looser one for agents — is how convergence quietly rots and the audit log stops being a faithful record.

We therefore route all content writes through one function. Metadata mutations take the dispatcher transaction; content mutations take the document transaction. The boundary between them is enforced by METADATA_ONLY_CAPABILITIES, not by convention.

The three guarantees

  • Atomic. A capability either commits whole or not at all — no half-applied block trees.
  • Ordered. Concurrent edits serialise into one CRDT history that every replica reconstructs identically.
  • Audited. Exactly one audit entry per mutation; the log alone replays initial → final state.
Invariant · property-tested Any set of concurrent edits from any mix of human and agent clients converges to the same state across replicas — and the audit log alone can reconstruct that final state.

Shape of the seam

Surfaces never reach into storage. They call a capability; the capability runs inside the transaction and emits its audit entry as part of the same commit.

// content mutations are transaction-scoped
await ctx.transact(docId, (doc) => {
  doc.insertBlocks(afterId, blocks);
  // audit entry is part of THIS commit — never after
  ctx.audit("block.insert", { docId, blocks });
});

Because the audit write shares the commit, there is no window in which a mutation exists without its record. Crash between the two? Neither happened.

d Document editor — Tiptap-style toolbar + slash menu, block handles, a LIVE agent co-editor & tracked suggestion
editorzero
Engineering ▸ Write-Path Atomicity
N RP
¶ Text ▾
B I U S
</> 🔗 "
H1 H2 1.
💬 ◐ Ask
v14 · doc_a1f synced · CRDT

Write-Path Atomicity

Every content mutation flows through one transactional seam, ctx.transact(doc_id, fn), so human keystrokes and agent edits land as one ordered, audited stream.

The three guarantees

Atomic: a capability commits whole or not at all. Ordered: concurrent edits serialise into one history that every replica reconstructs identically.

agent:claude suggests an edit 12s ago · awaiting review
Audited: exactly one audit entry per mutation — and the log alone replays initial → final state, written shortly after the commit. Because the audit write shares the commit, no mutation exists without its record.

Crash between mutation and record? Neither happened.

/h

e Admin — members — users, teams & spaces; agents as first-class principals
editorzero
Acme Robotics · Admin
Find a member or agent…⌘ K
N

Organisation administration

Members & Agents

Total principals
18
Human members
13
Active agents
5
Members Teams Spaces Settings
PrincipalKindRoleTeamsRate limit
N
Nomi
nomi@acme.dev
human
Ownerfull access
EngProduct
agent:claude
token ··· 9f3a · rotated 4d
agent
Co-editorwrite · suggest
Eng
240/min · OK
agent:codex
token ··· c711 · rotated 1d
agent
Co-editorwrite · suggest
EngOps
120/min · OK
RP
Rai Patel
rai@acme.dev
human
Editorwrite
Eng
agent:indexer
token ··· 02bd · rotated 9d
agent
Readerread-only · embeddings
All
600/min · OK