Skip to content

v0.5.5 — the ambient-attention release

Choose a tag to compare

@mvschwarz mvschwarz released this 27 Aug 19:40
· 2382 commits to main since this release

OpenRig v0.5.5

Summary — "The ambient-attention release"

v0.5.5 makes the fleet notice, retry, escalate, diagnose, and onboard on its own. Stop hand-babysitting the work in flight: rig parked diagnoses silent-stuck with confidence and teaching; the standing stuck-sweep runs without you; baton wakes retry, aggregate, and escalate on their own; parks carry their own wake and read HEALTHY; rig ps grows a typed ACTIVITY column from one oracle; the Slack human layer is live end-to-end; fresh installs onboard themselves.

v0.5.5 contains v0.5.4 in full. One reconciled lineage.

Migrations: TWO new. Head advances 071 → 073:

  • 072_thread_seat_map.ts
  • 073_queue_transition_wakes.ts

New verbs: rig parked [seat], rig seat handover --source fork:|rebuild (execute path), queue block --on <blocker> (park-with-wake), rig gateway human fragment-lifecycle verbs, rig view show escalations. rig ps gains a typed ACTIVITY column.

What Shipped

rig parked [seat] — derived silent-stuck diagnosis

Activity × open obligations, with per-input confidence and remedy taught inline. Reach for it when a seat looks idle and you suspect dropped work — before any claimedAt arithmetic or pane capture. The row face used to hide the difference between park and strand; this verb ends that.

Self-retrying wake ladder + escalations view

Failed baton wakes retry, aggregate, and escalate on their own. Transitions ARE the ladder state (restart-safe); per-destination aggregation; rungs deliver-and-advance; unconfirmed-with-no-pickup escalates without re-send. Watch rig view show escalations for the aggregates. Hand off the row and stop chasing nudges.

Standing stuck-sweep runs without you

Overdue + undelivered become routed findings with derived evidence inline. Stop hand-running queue overdue / undelivered on a timer — consume the sweep's findings instead.

Caveat (5.6 backlog): cross-host successor visibility is a proven false-positive class — 39 active findings at census (20 proven FP, 19 unverified). Contained fleet-wide one-per-condition; treat cross-host-lineage findings as unverified until the 5.6 detector fix. The delta itself teaches the caveat.

queue block --on <blocker> — park-with-wake

A park can carry its wake and read HEALTHY. queue block --on <blocker-qitem> records the wake; held-with-live-wake is not flagged; auto-unparked owners get an honest wake. For imminent-but-blocked work only; not-imminent work belongs in the mission workspace — the queue is a conveyor.

rig ps gains a true ACTIVITY column from one oracle

Typed taxonomy: working / idle-at-prompt / needs-input-as-count+reason / unknown. Evidence ladder with self-report on top and visible rung degradation. Seat-keyed across swaps. The TUI reads the same truth. For any "is it thinking or stuck" question — the oracle beats capture.

rig seat handover --source fork:|rebuild — EXECUTE

fork: carries live context; rebuild primes from the durable chain and names its priming artifacts. Mid-swap failures record honestly. When replacing an occupant — no more dry-run-only planning surface.

Slack human layer live end-to-end

Gateway running, thread-per-seat, exactly-once inbound reconciliation, escalation loudness (mention) distinct from routine. Humans are addressable members; rig gateway human has full fragment-lifecycle verbs. Any agent can escalate directly; escalation-class sends arrive loud on the destination's phone.

Fresh installs onboard themselves

Fresh installs get focused onboarding packs by default (config off; existing rigs untouched). When standing up a new rig or seat — stop hand-walking the eight pieces.

Refocus fires only when it should

At a context threshold or on demand — NEVER at session start. Post-compaction both runtimes; usage threshold Claude-only. A fresh seat getting a refocus is now a bug to file, not noise to ignore.

One-file scope convention

scope mission create → NOTES.md + intent-bearing SPEC; slice create → SPEC-only (no IMPLEMENTATION-PRD) + acceptance PROGRESS; release missions get a capability-delta scaffold. repair is ADDITIVE — stamps append, never rewrite author frontmatter. Stamp verification is a mechanical strip again.

Daemon bind intent has provenance

An inherited OPENRIG_HOST never selects single-bind; adoption gates test ALL required listeners. Daemon maintenance from any managed environment — no more env -u ceremony.

STOP doing (each was correct under 0.5.4 and is wrong now)

  1. STOP the per-lock author-reconstruction protocol. Stamps APPEND now; strip-reconstruction is mechanical.
  2. STOP diagnosing parks by claimedAt arithmetic + capture. rig parked derives the diagnosis with confidence and teaching; capture is a fallback glance.
  3. STOP storing deferred work as queue rows. The queue is a conveyor for imminent sequential work; deferred work lives in the mission workspace.
  4. STOP authoring IMPLEMENTATION-PRD.md and MISSION_NOTES.md on new work. SPEC.md is the one spec file; NOTES.md is the chain name.
  5. STOP routing contact through an orchestrator by default. Any agent escalates directly.

Landed, not yet drivable

Landed surface Missing live door Honest current action
A–D delivery preferences + availability (stored, validated) rules engine (0.5.6 slice 01) set availability via rig gateway human verbs; expect no routing effect yet
S01 operator rung human-layer connector delivery leg (0.5.6 wave S11 territory) escalation view + daemon health carry the floor
@external addresses on the direct send path routing falls through to tmux (0.5.6 wave-2 fix) reach humans via the gateway path (queue/escalation), not raw rig send
Multi-human topology single-human ships (honesty marker); multi-human is 0.5.7 one registered human; design assumptions accordingly

Behavior + Compatibility

  • Migrations — two new: 072_thread_seat_map.ts, 073_queue_transition_wakes.ts. Head advances 071 → 073.
  • API compatibility — existing commands remain available; new verbs are additive.
  • Lineage — the 0.5.5 product delta is reconciled onto the published 0.5.4 line by aggregate patch identity.
  • Release boundary — tag, npm publish, host install, and daemon cutover remain separate authorized acts.

Known Limitations (0.5.6 backlog)

  • Cross-host stuck-sweep false positives — 39 active findings at census (20 proven FP, 19 unverified); contained fleet-wide; detector fix lands in 0.5.6 wave 1.
  • @external direct-send routing — 0.5.6 wave-2 routing fix.
  • Delivery preferences → rules engine — 0.5.6 slice 01.

See Also