Repository navigation
v0.5.6 — world-building as context engineering
v0.5.6 — world-building as context engineering
OpenRig 0.5.6 ships the context system's next layer, makes long-running
agents durable, and makes messages to humans trustworthy. Three themes: the
context a seat runs on is structured, tagged, and verifiable; an agent seat
can now outlive its own context window without a human managing the
transition; and anything routed to a human carries proof of delivery.
The context system: structured, tagged, verifiable
- The mission install. A documented five-layer convention
(docs/reference/mission-install.md) for installing project context into a
seat: the pieces, their arrangement, the seat's own position, the current
contract, and a derive-your-own-delta step that proves the install was
consumed rather than skimmed. - Lore routing. What a seat learns locally routes into addressable,
rig-local lore packs (docs/reference/lore-routing.md) — carried with a
maturity stage from birth, and structurally excluded from anything that
ships. - Taxonomy everywhere. Every pack entering
rig contextcarries its
class — WORLD / LORE / SKILLS / MISSION — surfaced in listings, with a loud
refusal for untagged packs. - A public world pack with checkable claims. The public onboarding pack
is authored as atoms whose claims each carry a check that can fail, with
the verifier shipped inside the pack — public content that cannot rot
silently. - A complete, self-retrievable skill index. The skill router's index now
covers the full shipped set, is retrievable through the routes it teaches,
and carries a recurrence test so coverage gaps stay found. - A substance gate for what ships. A whole-surface review pass over every
packaged file (bundle and npm surfaces included) runs as a named release
step; this release shipped with all 5,316 packaged files passing.
Continuity: seats that outlive their context windows
- Continuity policies in the agent spec.
compaction_strategyis now live
configuration with four modes:default-compaction,managed-compaction,
handover, andapprentice-handover. Modes apply to Claude seats
(positive runtime matching — Codex seats keep their native behavior) and
resolve through the same spec-default < profile < member precedence as the
rest of the agent spec. - The apprentice handover, automated. A seat declaring
apprentice-handovergets two armed triggers: near its context threshold,
the system creates a fresh successor seat and runs its onboarding install;
nearer the wall, it mints an owned handover work item for the seat that
executes the swap. The executing seat is declared configuration (mechanic:on the
policy) — never inferred from topology, and arming refuses loudly if it is
missing. - Managed compaction with honest restores. Seats in
managed-compaction
mode get a pre-compaction prep nudge (deposit your state before the window
closes) and, after a configured restore, a durable receipt recording how
much usable context the restore actually recovered — so a restore that
silently refills the window instead of recovering width is visible. - Context-usage triggers as a primitive.
rig watchdoggains a
usage-threshold condition: fire any command when a seat's context usage
crosses a calibrated per-seat threshold. The continuity modes are built on
it; your own automation can be too.
The human layer: delivery you can prove
- No more silent fall-through. One destination resolver classifies every
dispatch: terminal-bound seats use the terminal; registered humans and
virtual seats route through the gateway; nothing falls through to a
terminal lookup that cannot succeed. Unregistered external addresses get a
structured, teaching refusal. - Delivery receipts on the work item. Every gateway post writes its
receipt atomically on the queue row:posted(with the message timestamp
and channel),transport-failed(with the error), or — derivably —
never-posted.rig queue undeliverednow consults that ledger first and
returns only genuine failures. "Did this reach them?" is one read. - Notification levels, one vocabulary. Queue transitions classify as
RECORD<NOTICE<ALERTat write time — a human-required decision is
ALERT; system ceremony events areNOTICE; the rest is durable record.
Two independent dials configure the minimum level that posts and the
minimum level that interrupts. - A delivery-rules engine. Stored per-human preferences and availability
decide how each message class is delivered. Anoffpreference suppresses
interruption — never the durable record, the post, or the receipt. Away
windows defer routine traffic into digests (4-hour and daily), with
exactly-once delivery by construction: durable episode identities, retry
until a real receipt, and structurally non-overlapping digests. - Files dropped in Slack become work. A file or image upload lands as a
work item with the file transferred to local storage and referenced by
path — authenticated download, size-bounded, per-file failures named, and
no URL or token ever written to a row. A park blocked on a registered human
automatically enters the alert path and posts exactly once per episode.
Operational honesty
- A rate-limited seat gets exactly one timed wake at its stated reset.
- A seat holding claimed live work while sitting idle gets woken by the
system, consuming the arbitrated activity oracle — with exactly one wake
per park episode. - Refocus state keys to the current occupant of a seat; a fresh occupant
never inherits a predecessor's baselines. rig pscounts claimed in-progress work as assigned work.- Sends refuse empty bodies; unknown daemon API routes return JSON 404s.
- Stuck-sweep findings stop re-minting after closure; cross-host custody
verification completes durably instead of refreshing forever. - Blocker actuation is unified: one helper, cross-host closure honest,
delivery after the transaction commits. - Rig expansion and serialization preserve what they were given:
session_sourceversions,services, and member overrides survive
round-trips; fork forwards model, role, restore policy, and label. rig view show executionderives who is building what, what is next, and
each item's completion rung (locked / built / reviewed / folded / adopted)
at read time — unknowns render as INDETERMINATE, never as idle or done.
Process and reference
- The SDLC conventions document is now a component menu: choose per mission
from the simple flow, the wave model, or the rigorous overlay, with
planning rigor as a dial. Four full references ship atdocs/reference/:
planning-dial.md,wave-sdlc.md,release-boundary.md, and
product-management-pass.md, joined bymission-install.mdand
lore-routing.md.
Upgrade notes
- Three database migrations apply automatically on daemon start:
074_context_usage_watchdog,075_context_usage_watchdog_generation, and
076_owner_notification_levels. No manual steps. - Context packs: 41 ship (up from 39).
- Delivery defaults are deliberately wide open (post at
NOTICEand above,
interrupt atALERTand above). Tune down from measured volume with the
two dials rather than pre-filtering. - Continuity modes are opt-in per seat; unconfigured seats keep today's
behavior exactly.