Implementation observation: 2026-09-08. This is a source reading of the shipped command surface, not a transcript of a live command session. A /loom snapshot has its own export timestamp; that timestamp is not this observation date.

/loom is the operator namespace around a bounded candidate ledger. It deliberately distinguishes inspection, run creation, external export, and human-authorized state transitions. It is not the model-tool API: models receive only iconloom_context, iconloom_submit, and iconloom_record_finding; a command or generic tool approval does not supply artistic, approval, blocker, or release consent. Source: iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/src/extension.ts:75-151,1010-1138; iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/docs/TRUST.md:45-66.

Authorized browser arena control — 2026-09-08

/loom bridge is the explicit human control for the second live-human decision channel. It starts the local extension bridge only when the person chooses it; the browser channel is off otherwise. An independently Authelia-authenticated browser may then request only shortlist, unshortlist, reject, restore, promote_champion, and undo. It cannot execute arbitrary /loom text or carry prompt, tool, shell, path, or SVG input.

The bridge preserves the existing decision contract rather than creating web authority: a non-undo decision names the exact 64-hex candidate hash, expected current revision, explicit confirmation, authenticated identity, and single-use action-and-subject-bound authorization. The extension applies the transition through typed arena-decision handling, appends its human event, and re-exports the sanitized snapshot. A stale revision, missing identity, expired or mismatched authorization, deterministic blocker, or unsupported action refuses. Approval and release remain typed TUI-only gates. Root web code never reads .iconloom/** or writes ledger state.

This is an authorized policy amendment, not a runtime-verification claim.

Surface at a glance

Authority classCommandsEffect and boundary
Inspect/loom help, /loom status, /loom history, /loom doctor, /loom advisor statusReads project or advisory state. /loom status can direct an operator to an already-pending decision but does not decide it.
Initialize or explore/loom init, /loom make, /loom more, /loom refine, /loom mixCreates durable project/run records. make freezes a bounded run; more asks for further bounded alternatives; refine and mix create new descendants rather than editing an accepted SVG in place.
Export/loom snapshot [output]Atomically writes sanitized schema-version-2 metadata outside .iconloom and copies only declared canonical source SVGs and proof PNGs into artifacts/snapshots/gallery/. It is useful for visibility, never a route to record a candidate decision.
Browser arena control/loom bridgeStarts the local extension bridge only on an authenticated human’s explicit request. While it runs, the independently Authelia-authenticated browser can submit only the six bound arena actions; it cannot proxy arbitrary /loom input or approval/release.
Live-human decision surface/loom, /loom arena, /loom compare, /loom undo, /loom approve, /loom release, /loom advisor install/loom enters the TUI arena when a decision is pending. Arena and compare may end with no change; a mutation exists only after the live human path authorizes one. Undo appends an inverse event. Approval, release, and advisor installation remain typed-TUI confirmation gates.

The command registry, help text, and dispatcher establish this surface. /loom compare is inspection until a separately authorized arena action is taken; it neither selects, approves, nor releases by itself. Source: iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/src/extension.ts:75-151,642-875; iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/docs/USAGE.md:35-99.

flowchart LR
  A["/loom init"] --> B["/loom make: bounded run"]
  B --> C["Proofs, validation, evidence"]
  C --> D["TUI arena/compare or /loom bridge browser arena"]
  D --> E["Live human decision record"]
  E --> F["/loom approve: exact champion"]
  F --> G["/loom release: immutable version"]

The arrows from the arena onward are live-human transitions. The browser branch exists only while an authenticated human has explicitly started /loom bridge, and it ends before TUI-only approval and release. In headless or RPC use, a pending decision returns decision_required; it never turns absence of a person into synthetic consent. Source for the continuing TUI behavior: iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/docs/USAGE.md:56-62.

What each phase preserves

  1. /loom init establishes the project Constitution and Icon Contract. /loom make records a bounded run from that frozen context, then dispatches the prescribed generation work. The command begins exploration; it does not select a result.
  2. /loom status, /loom history, and /loom doctor expose current state, event history, and integrity diagnostics. The arena and compare surface native-size evidence using blind labels before a reveal, so a label is not a candidate identity. Full hashes and proof paths come from the revealed evidence or arena handoff. Source: iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/docs/USAGE.md:30-34,64-99.
  3. /loom more, /loom refine, and /loom mix are bounded experiments, not escape hatches. more issues a fresh limited batch; refine names one parent and an explicit defect/allowlist; mix names two parents and an explicit trait recipe. Each produces new candidate lineage rather than a hidden patch to the prior bytes. Source: iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/docs/USAGE.md:101-143; iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/src/extension.ts:697-812.
  4. A live human arena can record shortlist, unshortlist, rejection, restoration, champion promotion, or undo. The TUI path remains available; the browser alternative requires an independently Authelia-authenticated human, explicit confirmation, full 64-hex candidate hash for a non-undo transition, current state revision, and the extension’s fresh single-use action/subject authorization. The extension refuses stale, mismatched, blocked, or unauthorized requests and applies only the typed arena transition.
  5. /loom approve binds the exact current champion to its evidence and contract state through a typed challenge. /loom release is a separate typed challenge that stages then journals an immutable release version. A stale binding or changed decision head refuses rather than silently approving later bytes. Source: iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/src/tui/human-gate.ts:59-118; iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/src/core/decisions.ts:327-456; iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/src/extension.ts:791-848.

Important refusals

  • A generic tool approval cannot stand in for a human decision. The token must name the intended action and exact target, must still be fresh at execution, and cannot be replayed. Source: iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/src/tui/human-gate.ts:20-50.
  • A deterministic validation blocker is not an advisory choice. The core rejects override attempts, so neither /loom, a browser bridge, nor a model can waive it.
  • /loom undo preserves the audit chain by appending an inverse event instead of removing history. /loom snapshot is intentionally sanitized: schema version 2 exports candidate preview metadata and copies only declared canonical SVG/proof assets; it does not expose leases, idempotency keys, raw SVG submissions, ledger storage paths, arbitrary files, or placeholders for unavailable assets.
  • Advisor installation is a human-gated configuration action, not a way to turn an advisor into a co-decider. The installed advisor remains read-only and cannot approve, release, or change the primary session. Source: iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/docs/AGENTS.md:51-80; iconomatix-extracted/iconomix/iconloom-1.0.0/iconloom-1.0.0/src/tui/human-gate.ts:77-118.

Related: index, agents, svg-and-evidence, sets-and-state, search-and-decisions, private page (sign-in required).