Skip to content

Releases: axiomantic/rhizo

v0.2.24

Choose a tag to compare

@github-actions github-actions released this 19 Oct 17:20

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-id extraction, and --json structured output.
    • Added rhizo session resolve <agent|session_key> [--json] for deep session inspection, thread ID resolution, and native wakeup guidance.
    • Enhanced rhizo send to detect Codex recipients and output structured [RHIZO CODEX-WAKE ACTION] blocks (and wake_tool_call in --json), providing exact parameters for send_message_to_thread(thread_id="<id>", message="RHIZO_WAKE").
    • Enhanced rhizo reply with 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.md and updated SKILL.md Section 3 / 3.5.
    • Added comprehensive test coverage in tests/test_nim_binary.py (test_71_codex_native_wakeup_protocol).

Changed

  • Updated conflicting Codex guidance in src/rhizo.nim, SKILL.md, and capability_archetypes.md that previously treated Stop hooks or background process completion as proof of autonomous idle turn resumption.

v0.2.23

Choose a tag to compare

@github-actions github-actions released this 19 Oct 08:20

Added

  • First-Class rhizo inbox Subcommand (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 --peek and --no-drain flags (backed by Redis LRANGE via scripts/peek.lua), leaving inbox queues untouched.
    • Added --limit <N> and -l <N> flags across both rhizo inbox and rhizo drain.
    • Added support for polymorphic positional arguments (rhizo inbox <agent> [count] or rhizo inbox [count] [agent]), resolving the active session agent if omitted.
    • Added command suggestions directing rhizo mail, rhizo mailbox, and rhizo messages to rhizo inbox.

v0.2.22

Choose a tag to compare

@github-actions github-actions released this 19 Oct 01:12

Added

  • Unbootstrapped Session Identity & Active Listener Hijacking Guardrails (src/rhizo.nim, src/guide.nim, skills/rhizo/SKILL.md):
    • Added explicit warning messages to rhizo listen when 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 who or garden-swarm.json.
    • Bumped Rhizo Guide to v1.8 with the Unbootstrapped Session Identity Invariant and Never Hijack or Kill Another Session's Active Listener rule.

v0.2.21

Choose a tag to compare

@github-actions github-actions released this 17 Oct 22:03

Added

  • Triad Update Checking Engine (src/update.nim, src/rhizo.nim):
    • Unified 24-hour update cadence checking for garden, rhizo, and vine cached in ~/.config/axiomantic/updates.json.
    • Smart installation kind auto-detection (dev_source git checkout, local_npm, homebrew, pnpm, yarn, bun, standalone_binary, global_npm).
    • Automatic <!-- TRIAD_UPDATE_RIDER --> prompt riders attached to rhizo who and rhizo ping during interactive use.
    • Full suppression in Autonomous Mode (AUTONOMOUS_MODE=1 or .autonomous) and JSON mode (--json).
    • Added rhizo update subcommand supporting --check, --apply, --skip <pkg@ver>, --disable, --enable, and --json.
  • 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 in rhizo listen --roster-guard to properly fail-open when garden is not installed.
    • Added path-aware test skips in test_24 and test_29 when external peer CLIs (vine, garden) are not in PATH.

v0.2.20

Choose a tag to compare

@github-actions github-actions released this 16 Oct 05:03

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.
  • 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_command in vine.toml targeting core coordination and pulse invariants, speeding up Strand Two-Key Gate verification from timeouts to ~14s.

v0.2.19

Choose a tag to compare

@github-actions github-actions released this 15 Oct 00:34

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 arm rhizo listen immediately upon task receipt and strictly choose Option A ("proceed to other relevant work") instead of Option B ("simply update the user... and end turn").
  • Anti-Premature-Yield Safety Guard in rhizo reply (src/rhizo.nim):
    • Emits a loud stderr warning when --listen is appended to a message whose subject indicates an initial task claim or acknowledgment (CLAIM or ACK), preventing workers from blocking or prematurely yielding their turn before implementing deliverables.
  • Reminder Scope & Project Boundary Isolation (scripts/reminder.lua, src/rhizo.nim):
    • Enforced project boundary isolation for scope: "*" reminders in evaluate_piggyback, tick_candidates, and list so project-scoped reminders do not leak across cluster boundaries to unrelated projects.
    • Added support for explicit @global scope for cross-project announcements.
    • Added --author (and --author=) flag alias for --by in rhizo remind add.
    • Added unit test coverage in tests/test_coordination_invariants.py (test_28_reminder_project_isolation).

Fixed

  • Sender Identity Resolution Precedence (src/rhizo.nim):
    • Fixed getActiveAgentName invocation in send dispatcher to prevent ambient sessionId from erroneously overriding explicit RHIZO_AGENT_NAME environment variables.

v0.2.18

Choose a tag to compare

@github-actions github-actions released this 15 Oct 00:08

Added

  • rhizo probe WISM 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 OFFLINE diagnostics when single-shot foreground listeners have exited.
  • In-Flight Task Lease Liveness in rhizo who (scripts/directory.lua):
    • Extended in-flight task lease liveness in scripts/directory.lua to recognize DELIVERED tasks within their active delivery window alongside IN_PROGRESS and CLAIMED.
    • Propagates WISM task progress (progress) into agent activity output when no explicit activity is set.
  • Extended Task Delivery Window & Immediate ACK/Re-Arm Mandate (src/rhizo.nim):
    • Increased default delivery lease window in doListen from 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.

Fixed

  • Windows Platform Compatibility (src/rhizo.nim, scripts/install.ps1, tests/):
    • Resolved start /B shell builtin execution by using cmd /c start /B in doRouteSetup.
    • Added USERPROFILE environment fallback for Windows home directory resolution in hook installation.
    • Normalized command-line quote escaping in test_coordination_invariants.py and forced RESP2 protocol for legacy Windows Redis services.
    • Optimized scripts/install.ps1 to re-use pre-built binaries and honor RHIZO_SKIP_NPX=1.
  • Nomenclature & Cleanup:
    • Renamed all remaining legacy Locutus references across scripts, test suites, documentation, and hooks to Rhizo (including tests/tripwire_locutus.py -> tests/tripwire_rhizo.py).

v0.2.17

Choose a tag to compare

@github-actions github-actions released this 14 Oct 15:27

Added

  • Closed-Circuit Two-Point Diff Mandate (Rhizo Guide v1.7):
    • Formally codified Section 11 in guide.nim (v1.7) and Section 2 in SKILL.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.
  • 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

Choose a tag to compare

@github-actions github-actions released this 14 Oct 00:28

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 --force is passed or the registration has expired.
  • Directory vs. Environment Drift Guard (src/config.nim, src/rhizo.nim):
    • Implemented checkProjectDrift to detect mismatches between RHIZO_PROJECT / RHIZO_PREFIX environment 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-drift escape hatch.
  • Automated Multi-Harness Session ID Detection (src/config.nim):
    • Added detectSessionId to automatically identify and bind the calling coding harness session (agy:<id> via ANTIGRAVITY_CONVERSATION_ID/ANTIGRAVITY_APP_DIR, claude:<id> via CLAUDE_SESSION_ID/CLAUDE_CODE, opencode:<id> via OPENCODE_SESSION_ID, codex:<id> via CODEX_SESSION_ID, pi:<id> via PI_SESSION_ID, and terminal fallback term:<tty>).
  • Enhanced Cluster Sweep & Stale Lock Garbage Collection (scripts/sweep.lua, src/rhizo.nim):
    • Upgraded rhizo sweep to cross-verify process liveness, clean orphaned listener registrations, and prune expired project locks.
  • 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), and docs/system_one_routing.md (cascading ModernBERT/Laya routing rules).
    • Updated AGENTS.md and README.md with structured onboarding maps for both human developers and LLM agents.
  • Dependencies & Testing (rhizo.nimble, tests/test_coordination_invariants.py):
    • Updated typestates dependency requirement to >= 0.13.0.
    • Added 325 lines of cross-project isolation, session binding, and drift guard negative control tests.

v0.2.15

Choose a tag to compare

@github-actions github-actions released this 10 Oct 09:45

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 argv parameters, 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.
  • Vine Guide v1.3 Synchronization:
    • Updated Vine Coordination Guide in AGENTS.md to v1.3 reflecting double-dash custom test runner invocation.