Loom: inspectable human intervention for long-running coding work

An agent can keep working for hours, but human intent does not stand still. Priorities change, safety corrections arrive, and requirements become ambiguous. Those interventions are often pasted into a running session without a durable record of what changed, what was paused, or why work later resumed.

Loom treats each intervention as an append-only IntentPacket. It preserves the utterance and hash separately from its normalized interpretation, classifies the utterance, binds executable directives to governing intent, and blocks release when binding is missing, the directive diverges, or a high-risk interpretation has not been accepted by a DECISION packet.

Release is policy-checked rather than implicit. Loom evaluates a small typed condition AST, records its evaluation trace, applies narrow structured NORM precedence, and refuses equal-precedence conflicts until a DECISION chooses a candidate. A fixed-capacity batch policy records why every queued packet was or was not released.

A local, receipt-backed intervention protocol with inspectable policy traces, demonstrated through a deterministic in-process mock-adapter state machine. Production-agent effects and real-world outcome improvements remain roadmap items.

The mock-adapter demo uses an in-process durable inbox. Commands have idempotency keys and delivery, ACK, or rejection receipts. Attempts have IDs, heartbeat TTLs, and LIVE, STALE, or UNKNOWN liveness. On this adapter path, PARK_REQUESTED becomes PARK_ACKED at a caller-reported safe point before the adapter-backed work item is recorded as parked. Other direct park paths are separate and do not enforce the ACK handshake.

SyncView makes the recorded governance surface visible. Its read-only local dashboard shows sessions, kind badges, packet state, evidence records, UNBOUND and divergence defects, unresolved policy decisions, overdue parks by class and SLA, stale attempts, blocker owners, and why-not-released traces. Desktop and mobile fixture views were tested with keyboard navigation, light/dark themes, compact density, semantic landmarks, and non-color state cues.

The public demo is safe by construction. fixtures/demo/ is synthetic and deterministically rebuildable. The operator's imported local store is ignored and excluded from the public tree, and every screenshot and video step uses fixture data only.

What was built

  • append-only, SHA-256-chained intent and receipt stores;
  • nine-kind utterance taxonomy, binding guard, divergence guard, and sweep;
  • multi-blocker park taxonomy with all-resolved resume and decision owner;
  • typed verification records with evaluator and evidence locators;
  • typed release conditions with deterministic evaluation traces;
  • proposed normalization artifacts and DECISION acceptance for high-risk interpretations;
  • one in-process mock-adapter state machine with idempotent receipts, liveness, and an adapter-path safe-point ACK;
  • deterministic batch-capacity policy with why-not traces;
  • narrow structured NORM precedence with DECISION-required ties;
  • responsive, accessible, read-only SyncView.

Built with Codex

The human operator approved the product spec, constraints, privacy boundary, and acceptance order. All implementation code and tests were written by GPT-5.6 Sol through Codex CLI sessions from that human-approved spec. The taxonomy and governance design emerged from a human+AI loop. The required /feedback Session ID is supplied privately through Devpost; public identifiers and raw logs are intentionally omitted from the repository.

Known limitations

  • direct park paths bypass the ACK handshake;
  • safe-point checkpoint is caller-supplied, not worker-verified (adapter.py:371);
  • DECISION packets are not bound to the specific proposal they approve (core.py:1449, norms.py:287);
  • semantic-verification evidence paths are recorded without existence checks;
  • adapter ACK and work parking are separate commits; a crash between them requires manual reconciliation and is not yet detected by validation;
  • no measurements yet of effects on real coding agents or user error/recovery rates.

Roadmap

  • production Claude Code, Codex CLI, and terminal adapters;
  • worker-verified checkpoints and proposal-bound DECISION packets;
  • evidence-path existence and integrity checks;
  • a crash-safe effect outbox plus restart reconciler;
  • measured real-agent and user error/recovery studies;
  • compaction, indexing, and larger-scale performance work.

Built With

Share this project:

Updates