Repository navigation
Releases: axiomantic/rhizo
Releases · axiomantic/rhizo
Release list
v0.2.24
Added
- Codex-Native Wakeup Protocol (
RHIZO_WAKE):- Implemented compact, zero-polling wakeup protocol for OpenAI Codex Desktop and CLI using the exact shorthand
RHIZO_WAKE. - Added reverse session resolution functions (
getLocalSessionKeyForAgent,getRedisSessionKeyForAgent,resolveAgentSession) supporting bidirectional lookups between session keys and agent names. - Enhanced
rhizo session get <agent|session_key>to support reverse lookups,--thread-idextraction, and--jsonstructured output. - Added
rhizo session resolve <agent|session_key> [--json]for deep session inspection, thread ID resolution, and native wakeup guidance. - Enhanced
rhizo sendto detect Codex recipients and output structured[RHIZO CODEX-WAKE ACTION]blocks (andwake_tool_callin--json), providing exact parameters forsend_message_to_thread(thread_id="<id>", message="RHIZO_WAKE"). - Enhanced
rhizo replywith routine ACK guidance prohibiting wakeups on routine acknowledgments to eliminate ACK ping-pong loops. - Added comprehensive protocol documentation in
skills/rhizo/references/codex_wakeup_protocol.mdand updatedSKILL.mdSection 3 / 3.5. - Added comprehensive test coverage in
tests/test_nim_binary.py(test_71_codex_native_wakeup_protocol).
- Implemented compact, zero-polling wakeup protocol for OpenAI Codex Desktop and CLI using the exact shorthand
Changed
- Updated conflicting Codex guidance in
src/rhizo.nim,SKILL.md, andcapability_archetypes.mdthat previously treated Stop hooks or background process completion as proof of autonomous idle turn resumption.
v0.2.23
Added
- First-Class
rhizo inboxSubcommand (src/rhizo.nim,scripts/peek.lua,tests/test_nim_binary.py):- Added dedicated
rhizo inbox [name] [count] [--limit N] [--peek|--no-drain] [--drain]command for consuming or inspecting agent inboxes. - Defaults to draining (atomically popping messages FIFO oldest first) so that messages are consumed without piling up.
- Added non-destructive inspection via
--peekand--no-drainflags (backed by RedisLRANGEviascripts/peek.lua), leaving inbox queues untouched. - Added
--limit <N>and-l <N>flags across bothrhizo inboxandrhizo drain. - Added support for polymorphic positional arguments (
rhizo inbox <agent> [count]orrhizo inbox [count] [agent]), resolving the active session agent if omitted. - Added command suggestions directing
rhizo mail,rhizo mailbox, andrhizo messagestorhizo inbox.
- Added dedicated
v0.2.22
Added
- Unbootstrapped Session Identity & Active Listener Hijacking Guardrails (
src/rhizo.nim,src/guide.nim,skills/rhizo/SKILL.md):- Added explicit warning messages to
rhizo listenwhen refusing duplicate listeners, warning AI assistants against killing active listener PIDs or assuming they are orphaned. - Added guidance when no agent name is specified, prohibiting unbootstrapped sessions from guessing identities from
rhizo whoorgarden-swarm.json. - Bumped Rhizo Guide to
v1.8with theUnbootstrapped Session Identity InvariantandNever Hijack or Kill Another Session's Active Listenerrule.
- Added explicit warning messages to
v0.2.21
Added
- Triad Update Checking Engine (
src/update.nim,src/rhizo.nim):- Unified 24-hour update cadence checking for
garden,rhizo, andvinecached in~/.config/axiomantic/updates.json. - Smart installation kind auto-detection (
dev_sourcegit checkout,local_npm,homebrew,pnpm,yarn,bun,standalone_binary,global_npm). - Automatic
<!-- TRIAD_UPDATE_RIDER -->prompt riders attached torhizo whoandrhizo pingduring interactive use. - Full suppression in Autonomous Mode (
AUTONOMOUS_MODE=1or.autonomous) and JSON mode (--json). - Added
rhizo updatesubcommand supporting--check,--apply,--skip <pkg@ver>,--disable,--enable, and--json.
- Unified 24-hour update cadence checking for
- Garden Guide v2.2 & Vine Guide v1.6 (
AGENTS.md):- Embedded Three-Key Gate (Mechanical, Semantic, Adversarial Code Audit Pump) and Literal Fidelity & Reference Parity Mandate.
- Structural Assertion Rigor eliminating Green Mirages.
Fixed
- Packaging & CI Cross-Platform Hardening (
Formula/rhizo.rb,packaging/scoop/rhizo.json,src/rhizo.nim,tests/test_coordination_invariants.py):- Synced Homebrew formula and Scoop manifest specs with repository version
0.2.21. - Added
findExe("garden")check inrhizo listen --roster-guardto properly fail-open when garden is not installed. - Added path-aware test skips in
test_24andtest_29when external peer CLIs (vine,garden) are not in PATH.
- Synced Homebrew formula and Scoop manifest specs with repository version
v0.2.20
Added
- Distributed Cron & Heartbeat Scheduler (
rhizo pulse,scripts/pulse.lua,src/rhizo.nim):- Implemented distributed recurring cron scheduling backed by Redis sorted sets (
rhizo:pulses) with an atomic Lua execution engine. - Subcommands:
rhizo pulse add <id> --cron "<expr>" --task "<task>" [--agent <agent>] [--scope <scope>]: Schedules a recurring cron task with standard 5-field syntax.rhizo pulse list [--scope <scope>] [--json]: Lists all active pulses with next execution timestamps, cron expressions, and assigned agents.rhizo pulse remove <id>: Unregisters a scheduled pulse.rhizo pulse tick [--max <n>] [--json]: Sweeps and dispatches ready pulses to target inboxes, atomically advancing cron intervals with HA zero-duplicate execution.
- Added unit test suite in
tests/test_pulse.py.
- Implemented distributed recurring cron scheduling backed by Redis sorted sets (
- Rift CoW Terminology Normalization:
- Replaced legacy APFS copy-on-write references with generic, polyglot Rift CoW snapshotting across guides and prompt templates.
- Fast Hermetic Test Configuration (
vine.toml):- Configured project-level
test_commandinvine.tomltargeting core coordination and pulse invariants, speeding up Strand Two-Key Gate verification from timeouts to ~14s.
- Configured project-level
v0.2.19
Added
- Antigravity Non-Yield Invariant in Lifecycle Notice (
src/rhizo.nim):- Embedded explicit instructions in Section 2 of
[RHIZO LIFECYCLE NOTICE]instructing workers in background-capable harnesses (Antigravity) to armrhizo listenimmediately upon task receipt and strictly choose Option A ("proceed to other relevant work") instead of Option B ("simply update the user... and end turn").
- Embedded explicit instructions in Section 2 of
- Anti-Premature-Yield Safety Guard in
rhizo reply(src/rhizo.nim):- Emits a loud stderr warning when
--listenis appended to a message whose subject indicates an initial task claim or acknowledgment (CLAIMorACK), preventing workers from blocking or prematurely yielding their turn before implementing deliverables.
- Emits a loud stderr warning when
- Reminder Scope & Project Boundary Isolation (
scripts/reminder.lua,src/rhizo.nim):- Enforced project boundary isolation for
scope: "*"reminders inevaluate_piggyback,tick_candidates, andlistso project-scoped reminders do not leak across cluster boundaries to unrelated projects. - Added support for explicit
@globalscope for cross-project announcements. - Added
--author(and--author=) flag alias for--byinrhizo remind add. - Added unit test coverage in
tests/test_coordination_invariants.py(test_28_reminder_project_isolation).
- Enforced project boundary isolation for
Fixed
- Sender Identity Resolution Precedence (
src/rhizo.nim):- Fixed
getActiveAgentNameinvocation insenddispatcher to prevent ambientsessionIdfrom erroneously overriding explicitRHIZO_AGENT_NAMEenvironment variables.
- Fixed
v0.2.18
Added
rhizo probeWISM In-Flight Task Telemetry (src/rhizo.nim):- Upgraded
rhizo probe <agent> [--json]to inspect and report active WISM task telemetry (current_task,task_state,task_progress,task_lease_remaining_sec,in_flight_active). - Distinguishes actively executing workers (e.g. running Playwright/test suites) from stalled or offline workers, eliminating false
OFFLINEdiagnostics when single-shot foreground listeners have exited.
- Upgraded
- In-Flight Task Lease Liveness in
rhizo who(scripts/directory.lua):- Extended in-flight task lease liveness in
scripts/directory.luato recognizeDELIVEREDtasks within their active delivery window alongsideIN_PROGRESSandCLAIMED. - Propagates WISM task progress (
progress) into agentactivityoutput when no explicit activity is set.
- Extended in-flight task lease liveness in
- Extended Task Delivery Window & Immediate ACK/Re-Arm Mandate (
src/rhizo.nim):- Increased default delivery lease window in
doListenfrom 180s to 900s (15 minutes). - Updated
[RHIZO LIFECYCLE NOTICE]with an immediate task ACK/claim mandate, immediate background listener re-arming upon receipt in Tier 2 async harnesses (Antigravity), and periodic progress telemetry (rhizo task progress <id> "Step X/Y") during operations taking >2 minutes.
- Increased default delivery lease window in
Fixed
- Windows Platform Compatibility (
src/rhizo.nim,scripts/install.ps1,tests/):- Resolved
start /Bshell builtin execution by usingcmd /c start /BindoRouteSetup. - Added
USERPROFILEenvironment fallback for Windows home directory resolution in hook installation. - Normalized command-line quote escaping in
test_coordination_invariants.pyand forced RESP2 protocol for legacy Windows Redis services. - Optimized
scripts/install.ps1to re-use pre-built binaries and honorRHIZO_SKIP_NPX=1.
- Resolved
- Nomenclature & Cleanup:
- Renamed all remaining legacy
Locutusreferences across scripts, test suites, documentation, and hooks toRhizo(includingtests/tripwire_locutus.py->tests/tripwire_rhizo.py).
- Renamed all remaining legacy
v0.2.17
Added
- Closed-Circuit Two-Point Diff Mandate (Rhizo Guide v1.7):
- Formally codified Section 11 in
guide.nim(v1.7) and Section 2 inSKILL.md: every task deliverable must exhibit a Two-Point Diff: the Provider (new capability) and an active Consumer call-site in live entrypoints, routers, CLI dispatchers, or UI. Hermetic modules tested solely by their own unit tests are strictly prohibited as incomplete shelfware.
- Formally codified Section 11 in
- Holistic Production Integration (Anti-Stub / Anti-Toy):
- Deliverables must actually holistically integrate with real application state and production error paths rather than mock heuristics or dummy stubs.
- Aggressive Replacement Purge (Zero Dead Code):
- Obsolete code, deprecated functions, and vestigial fallbacks targeted for replacement MUST be deleted in the same strand diff.
v0.2.16
Added
- Cross-Project Identity & Registration Protection (
scripts/register.lua,scripts/drain.lua,scripts/directory.lua,scripts/status.lua):- Enforced strict project namespace isolation during agent registration (
rhizo open) and inbox draining (rhizo drain/rhizo listen). - Rejects cross-project identity hijacking (
ERR_CROSS_PROJECT_HIJACK) when an agent attempts to claim or drain an active codename belonging to a different project namespace, unless--forceis passed or the registration has expired.
- Enforced strict project namespace isolation during agent registration (
- Directory vs. Environment Drift Guard (
src/config.nim,src/rhizo.nim):- Implemented
checkProjectDriftto detect mismatches betweenRHIZO_PROJECT/RHIZO_PREFIXenvironment variables and the current git repository root (PWD). - Prevents accidental cross-project message pollution when subshells or terminal tabs change directories without updating environment variables; added
--allow-driftescape hatch.
- Implemented
- Automated Multi-Harness Session ID Detection (
src/config.nim):- Added
detectSessionIdto automatically identify and bind the calling coding harness session (agy:<id>viaANTIGRAVITY_CONVERSATION_ID/ANTIGRAVITY_APP_DIR,claude:<id>viaCLAUDE_SESSION_ID/CLAUDE_CODE,opencode:<id>viaOPENCODE_SESSION_ID,codex:<id>viaCODEX_SESSION_ID,pi:<id>viaPI_SESSION_ID, and terminal fallbackterm:<tty>).
- Added
- Enhanced Cluster Sweep & Stale Lock Garbage Collection (
scripts/sweep.lua,src/rhizo.nim):- Upgraded
rhizo sweepto cross-verify process liveness, clean orphaned listener registrations, and prune expired project locks.
- Upgraded
- Comprehensive Dual-Onboarding Documentation Suite (
AGENTS.md,README.md,docs/):- Authored
docs/architecture.md(system topology, Redis keyspace, Lua atomicity),docs/cli_reference.md(complete command & flag taxonomy),docs/wire_protocol.md(JSON envelope schema & HMAC-SHA256 Air-Gap Prompt Firewall specification),docs/wism_state_machine.md(10-state WISM transitions & leases), anddocs/system_one_routing.md(cascading ModernBERT/Laya routing rules). - Updated
AGENTS.mdandREADME.mdwith structured onboarding maps for both human developers and LLM agents.
- Authored
- Dependencies & Testing (
rhizo.nimble,tests/test_coordination_invariants.py):- Updated
typestatesdependency requirement to>= 0.13.0. - Added 325 lines of cross-project isolation, session binding, and drift guard negative control tests.
- Updated
v0.2.15
Added
- POSIX Double-Dash End-of-Options Pattern for Doorbell Wakeup (
rhizo poke <agent> -- <command...>):- Added support for
-- <command...>to pass custom wakeup commands without nested quotation marks or shell escaping headaches. - Automatically joins and shell-quotes trailing
argvparameters, eliminating JSON string escaping errors in autonomous agent harnesses. - Retained
--cmd <command>as a backwards-compatible option. - Added test coverage in
tests/test_coordination_invariants.py.
- Added support for
- Vine Guide v1.3 Synchronization:
- Updated Vine Coordination Guide in
AGENTS.mdtov1.3reflecting double-dash custom test runner invocation.
- Updated Vine Coordination Guide in