Skip to content

Features

One page per major architect feature: what it is, the least code to use it, a tour of its code, the tests to read, and its status.

2 min read

Each page has the same five sections:

  1. What it is and when to use it, with a link to the design page under Architecture.
  2. A minimal example: the least code an app writes.
  3. Code tour: the files and symbols in reading order, and how one call flows through them.
  4. Tests to read: the tests that show it working end to end.
  5. Status: what is done in architect, and what Task and Studio still have to adopt.

When a page and the code disagree, the code is right.

Core#

  • Services and entities: #[architect::entity], #[architect::service], #[architect::rpc] and the layers they emit.
  • Transports: vox in process, over WebSocket and over iroh; the HTTP face with query arguments, ranged bytes and SSE.
  • EngineHost and protocol mounts: one server binary, /vox, /health, /version.json, vox_at, document, dav, otlp_forward.
  • Errors: #[architect::error], ClientError, the HTTP error envelope.
  • Telemetry: call spans as wide events, stages, rpc.server.duration, trace context across calls.
  • PubSub and streams: fan-out hubs, #[subscribe], client hooks, the full-sink pump.

Data#

  • Documents: CrdtDoc, kinds of document, named undo, DocRegistry.
  • The document file: crdt::file, one durable file per document.
  • Org sync driver: OrgSyncs, OrgDocs, Placement.
  • Peer to peer: pairwise exchange, iroh, device admission, share links.
  • Devices: the account’s devices, per-org enrolment, pairing by code or QR, revoking, one admission table.
  • Presence and collaborative text: Here, Roster, places, TextBinding, crdt(text).
  • Blobs: content-addressed bytes fetched on demand, pinned and collected.
  • Files: architect-files, an org’s files with versions, quota and access.
  • Attachments: architect-attachments, files attached to documents and records, offline first, access following the parent.
  • Bases: architect-bases, a vault’s .base files as table, cards and list views, view types extensions add, BASES_*.

Identity#

  • Auth: the auth engine, its services, the client kit, apps/auth-server.
  • Permissions: Principal, permit tables, PermissionsGate, the Action List authorizer.
  • Organizations: architect-orgs, the current org, scopes, server confinement.

App#

  • Settings: #[derive(Settings)], scoped values, the settings page.
  • Commands and the Action List: ActionList, the palette, the action list window, MCP.
  • Key bindings: architect-input, the person’s keymap, the binding editor.
  • Menus: MenuBar from the commands, native and in the window.
  • Workspace and shell: tab groups, docks, pop-out windows, screensets, the app frame.
  • Atom and forms: the optimistic store, the offline call queue, validated fields.
  • Editor: architect-editor, the one door to the editor repository; the language registry, [[languages]], the syntax.* theme tokens.
  • Capture: one quick-add parser, the composer, a capture window on a system-wide shortcut, the vault inbox and processing it, [[capture_targets]], CAPTURE_* and INBOX_*.

Extending#

  • Scripting: Luau over the Action List, saved scripts as actions.
  • Extensions: run-time packages from registries, hot reload, project requirements.
  • Canvas overlays and ImGui-shaped UI: drawing over a view in its coordinates; tool windows for scripts.
  • Remote views: a process extension’s Dioxus views in workspace panes.
  • Navigator: folders beside notes in the sidebar, a port of Notebook Navigator (GPL-3.0), as a built-in extension.
  • A2UI: agents’ generated UI: an agent’s form, list or approval drawn with architect-ui from a catalog, kept in Loro, its buttons asking before any write.
  • Sites: a vault published as a static site, extensions drawing their blocks, hosted by the architect server.

In this section

Linked from

architect·Published with architect