In distributed AI coding tools, a question asked on one device should not vanish because another device is offline. A file anchor should not silently attach to the wrong line of code because the system guessed wrong. These are the kinds of failures that are easy to dismiss as edge cases until they happen during a real work session. Critic, a project tracked at critic.run, recently shipped three changes that address exactly these problems.

The Queuing Problem: Questions That Survive Offline Devices

Critic's agent question system previously operated as a best-effort queue. If a developer asked a question from a change page and their coding agent was not currently connected, the system assumed the machine was online and attempted to route the question directly. When the device was offline, the work was lost or stalled with no visibility into what happened.

The new implementation rewrites the queue as a leased handoff. A question arrives with its session context attached to it, and any connected author device can claim it atomically, meaning two devices cannot pick up the same question. If the original device disconnects, the lease expires after 45 seconds and the question becomes available to another device. The session transcript, however, stays on the machine that created it, preserving the full context even when no device is actively processing the work.

This matters because AI coding agents are not always running. A developer might ask a question while switching contexts, closing a laptop, or working across multiple machines. The system now treats the coding agent as an asynchronous participant rather than a constant presence. Any connected device can pick up the work during the lease window, and the original session remains the authoritative source of context when it comes back online.

Anchoring: Making Conservative Choices About Code References

File anchors let an AI agent refer to specific locations in a codebase. When the system needs to determine which line or block a reference points to, it previously matched candidates with limited scoring logic, which meant close but incorrect matches could be silently attached to the wrong line without warning.

The updated anchoring logic in the protocol layer introduces a more conservative scoring approach. Exact blob matches take priority. When there is no exact match, the system scores rename candidates and surrounding-context candidates separately, and close matches are surfaced as ambiguous rather than attached silently. This prevents the kind of misdirection where an agent references the wrong function or variable because the matching logic made an optimistic assumption.

The distinction is subtle but important. A system that silently attaches a reference to the nearest plausible match can produce confident-sounding but incorrect outputs. A system that flags ambiguity forces the developer to confirm or correct the reference. The new logic favors the latter behavior, trading some convenience for accuracy.

Status Visibility: From Empty Rows to Reconnecting States

The user interface component that displays agent question status has also been updated. Previously, when a lease expired and no device was actively answering, the status showed an empty row, giving the developer no indication that the system was waiting or retrying. The new component reads the lease information already stored in the queue and translates a stale lease into a Reconnecting state. A pill in the interface now shows which device is currently answering, and if the lease has expired, the interface reflects that the system is attempting to reconnect rather than silently waiting.

The component avoids issuing an extra query to check lease status because it reads directly from the queue's existing lease data. This keeps the status display lightweight and avoids the kind of polling overhead that can slow down a development interface.

What These Changes Represent

Critic's recent updates reflect a shift toward treating AI coding agents as unreliable but persistent participants in a distributed workflow. Questions survive offline periods. References avoid silent misdirection. Status indicators communicate what the system is actually doing rather than hiding intermediate states behind empty rows.

These are not headline features. They are infrastructure refinements that make the experience of working with an AI coding agent more reliable across sessions and devices. The fact that they shipped in a single update suggests the project has reached a stage where the focus has moved from building core capabilities to hardening the experience around them.