Skip to content

OpenRig v0.5.9

Choose a tag to compare

@mvschwarz mvschwarz released this 05 Sep 03:22
· 1994 commits to main since this release

OpenRig v0.5.9 — developer-beautiful mission control

OpenRig 0.5.9 turns the terminal UI into a real mission-control surface and
gives the instance beneath it a cleaner, more durable operating model. The TUI
is easier to scan, navigate, and drive at ordinary terminal sizes; System
World, project context, and managed skills now compose explicitly; and restore,
fresh launch, scheduled wakes, and project workflows report the state they
actually acted on.

Developer-beautiful terminal UI

  • Read the whole instance at a glance. The topology view now presents one
    continuous agent table across rigs, keeps pod separators visible, and shows
    bounded RECENT work from material queue transitions without duplicating
    archived rigs or inventing missing summaries.
  • Move from overview to action without losing context. Instance, rig,
    mission, slice, agent, and Explorer pages share one responsive visual grammar,
    preserve rig identity while scrolling, and keep lifecycle evidence and
    actions reachable at 160, 120, and 84 columns.
  • Use the terminal as a first-class interface. Semantic state colors,
    compact glyphs, restrained motion, resize redraw, filtering, pointer-local
    scrolling, terminal-native selection/copy, attach actions, and socket-driven
    commands work through the same production surface.

A coherent instance, context, and skill model

  • Start from one additive instance layout. CLI and daemon startup reconcile
    the same canonical $OPENRIG_HOME structure, preserve existing content, and
    refuse wrong-type managed paths before writing.
  • Compose a System World with the current project. context.root is the
    addressable context library, context.system_world selects the instance-wide
    baseline, and rig context work-install reports System World, topology, and
    project inputs together.
  • Manage skills as their own resource. skills.root names one versionable
    catalog. rig skill loadout composes system, topology, and project selectors;
    its apply mode owns only its manifest-listed projection and refuses to erase
    local or modified content.
  • Prime each runtime at the right width. Provider-shaped onboarding gives
    Codex a compact bootstrap plus addressable coverage map while retaining the
    fuller guided route for runtimes that benefit from it.

Lifecycle and recovery honesty

  • Create a deliberately blank occupant for one seat. rig seat launch <seat> --fresh --reason <why> is the explicit no-continuity path; it preserves
    sibling seats and durable work and refuses unmanaged ambiguity.
  • Compile authored work into an executable lifecycle. rig workflow compile reads project.yaml, mission.yaml, and slice.yaml as one graph;
    instantiate-lifecycle starts an eligible graph with an opaque replay key,
    and typed acceptance evidence prevents a workflow advance from standing in
    for release acceptance.
  • Know what a restore attempted. Snapshot selection can be explicit,
    snapshots can retain the intended seat roster, and rig restore status
    derives the current intended-set result while keeping historical nodes and
    unverified resume lineage out of a false success.
  • Keep automation attributable. Watchdog reminders deliver the authored
    message under an explicit scheduler identity, and effective-model detection
    follows the identity-verified current occupant rather than a retained
    predecessor session.
  • Choose judgment only where it earns the loop. The shipped
    agent-operated-workflows skill distinguishes AI-enabled software,
    agent-operated workflows, and agent-operated software. The 0.5.9 instance
    migration is its first reference implementation.

Upgrade and setup notes

  • Root, CLI, daemon, and web UI package versions advance to 0.5.9. The
    terminal TUI keeps its independent 0.1.0 version.
  • Database migration head advances from 078_idle_gate_fired_condition to
    079_workflow_lifecycle_parallel; normal daemon startup applies it.
  • Existing instances have a deliberate layout boundary: context telemetry moves
    to state/context-usage, provider telemetry lives at
    state/provider-usage, the addressable library moves to context/, and the
    default System World lives at context/system/system-world.yaml.
  • Do not perform that change as a directory rename while an old collector is
    writing. Load the shipped openrig-upgrade skill and follow its 0.5.9
    Agent-Operated Migration: inspect, prepare with a retained preimage, activate
    the exact target runtime separately, verify paired canonical samples, then
    invoke the non-destructive library finalizer with that exact receipt. The
    complete command sequence and rollback contract are in the top-level README.

Known limitations

  • The migration helper deliberately does not stop or start the daemon, mutate
    the database, relaunch seats, or delete legacy telemetry/library state. Those
    lifecycle and eventual-retirement decisions remain explicit operator work.
  • A restore attempt receipt derives what the durable event and current process
    evidence can prove; missing or ambiguous native identity remains unresolved
    instead of being guessed.
  • The TUI remains a terminal surface. Font choice and terminal color rendering
    stay under the user's terminal emulator rather than OpenRig.

Release verification

  • The accepted product candidate is exact commit
    102dabce4ea56d870243ecd3f6ef38185ec76537, tree
    4b7898b6829bd3e28113bfd996f67bb1cc2761e9, with independent whole-outcome
    evidence for the composed source heads and focused QA on the final TUI repair.
  • The build VM ran the accepted candidate as a healthy, clean daemon. SQLite
    integrity passed, and the 0.5.9 migration verifier reported a complete fresh
    canonical Claude telemetry pair with no legacy tails.
  • Release preparation additionally rebuilds the exact versioned cut, scans the
    complete npm inventory for private substance, installs the frozen tarball in
    isolation, and binds its runtime identity and public capability reads to the
    cut. Those receipts travel with the private publication packet.