Skip to main content
Version: v2 · 2.4.0

How v2 works

V2 separates typed preparation from live editing and also supports direct native scripting. The AI client uses twenty MCP tools; the native bridge supplies bounded reads, applies explicit changes and performs verified document saves on Glyphs' main thread.

PartResponsibility
AI client and skillsChoose a supported workflow, scope it and review its evidence with the designer.
SidecarServe MCP, manage jobs, copy saved sources and run external preparation.
Private native workerUse glyphs-cli with the selected Glyphs application to measure or prepare detached font data.
BridgeRead explicit targets, check preconditions, apply changes in chunks, invoke direct native document saves and manage exact recovery and native history.
CompanionsDraw cached curve or reference overlays independently of the MCP client.

apply_job never saves a font. Source copying, hashing and whole-font preparation run outside the editor. accept_job and save_document use the bridge only for the synchronous native NSDocument operation; filesystem preflight and source verification stay in the sidecar. Live writes yield to Cocoa between chunks so the canvas can remain responsive.

The bridge can also negotiate the closed native_action catalog without adding tools. The sidecar exposes the job kind only when the bridge reports native.action.v1 plus recognized actions. Most actions prepare the same fixed native command on a disposable saved snapshot. Glyph colors can prepare on detached target copies inside the editor; live application compares its before/after hashes and retains native objects only for bounded Undo, rollback and discard.

With script.native.v1, python_script uses the conversation lifecycle directly inside Glyphs. Syntax/target preparation never executes Python; the agent uses the current Run action under original task authorization, with no mandatory code review. Dirty and pathless fonts run without Save using a detached current-state recovery copy. Callbacks yield between batches. Whole scripts run once. Restore before run reloads the whole baseline, replacing later unsaved edits and clearing Undo history. There is no external worker or layer snapshot for scripts. Typed jobs retain the algorithms and recovery described above.

One job, one identity​

start_job prepares a typed result and returns a job ID. get_job returns progress and evidence. apply_job applies the stored result to the matching saved document. accept_job verifies the applied targets, persists the whole document and makes the job terminal. discard_job cancels preparation or reverses still-current affected targets. Repeated calls reconcile the same recorded native operation instead of creating duplicate writes.

The bridge shares per-document ownership across apply, accept, save, discard and rollback. A competing operation cannot open a second Undo scope or alter the owner's state.

Native editing remains central​

accept_job accepts the reviewed result by saving the entire document and returning path/hash evidence. Typed-job Undo and Redo use native per-glyph history and remain available after Keep or Save; guarded workflow recovery ends when the result is settled. Revert uses Glyphs' own saved-document workflow. The Reference Inspector compares against a selected source; it is not a log of tool calls or an acceptance interface.

Use the twenty-tool reference for supported inputs, and Safety and recovery for state and failure handling.

Faster preparation, shared results​

Widths, Dimensions, glyph colors and coordinate-only node moves can prepare with bounded live reads and detached target copies. The private bridge negotiates this route; no new tool or execution mode is exposed. Preparation remains read-only, requires a saved clean document, and produces the same guarded patches. Other algorithms and external export processing are unchanged.

Typed results now offer Keep without saving, Save and selective Undo. Keep ends the workflow recovery offer and retains native Undo/Redo. Script restoration still restores the whole pre-run font, including pre-existing unsaved edits. When Automatic Keep is enabled, a visible, connected and freshly reconciled successful result card can Keep after 30 seconds. Failed, partial, blocked and uncertain outcomes remain manual. “Wait for my answer” disables the countdown until the user changes that preference; text-only responses remain manual.

Use native questions for unresolved decisions and missing information, grouping related independent questions. Disable Automatic Keep before waiting; silence, Skip and dismissal apply no choice. Routine progress, success and errors stay in the conversation. An optional card adds value for visual comparisons, interactive inspection, substantial reports, useful live controls or recovery information. Use an available renderer or native Glyphs view for visual outline review; the workflow card is not itself a dedicated glyph viewer.