• v0.3.0 d50d72656c

    v0.3.0 — Event Orchestration, Human-in-the-Loop, Daily-Driver TUI

    amr released this 2026-05-06 16:12:33 -04:00 | 202 commits to main since this release

    Passepartout v0.3.0 ships Event Orchestration, Human-in-the-Loop approval workflows, a Daily-Driver TUI, and comprehensive v0.2.x backfill remediation. All features are implemented with full literate prose across 31 Org files.

    NEW FEATURES

    9-Vector Dispatcher Gates — Secret Exposure, Shell Safety, Lisp Validation, Path Protection, Network Exfiltration, and Privacy Filter. Every action the LLM proposes is checked by nine deterministic gates running in pure Lisp. Zero LLM tokens per gate.

    Human-in-the-Loop (HITL) — Continuation-based interaction. The agent can suspend its cognitive loop to ask for permission or clarification and resume precisely where it left off. Flight Plan workflow for blocked actions: the human reviews and approves in an Org buffer. The Dispatcher learns from every decision and writes rules for next time.

    Event Orchestrator — Unified hooks + cron + tier-based routing. Three complexity tiers: REFLEX (deterministic, no LLM), COGNITION (light LLM), REASONING (full LLM). Hooks via #+HOOK: Org-mode properties. Cron processing integrated into the heartbeat.

    Context Manager — Stack-based project focusing with persistence. push-context / pop-context / with-context stack operations. TUI /focus / /scope / /unfocus commands. Context stack persists to disk, auto-restores on boot.

    Model-Tier Routing — Quadrant-based routing with per-slot provider cascades. Privacy filter routes @personal content to local-only providers. Complexity classifier supports code, plan, chat, and background slots, each with its own cascade.

    Memory Scope Segmentation — memory-object extended with :scope property. Three scopes: :memex (permanent knowledge), :session (ephemeral), :project (current work). Scope-aware retrieval in the memory layer.

    Asynchronous Embedding Gateway — Provider-agnostic vector generation (Ollama, OpenAI, SHA-256 hashing). ingest-ast populates vectors at object creation time. Cron job (every 10m on :reflex tier) drains the pending queue. EMBEDDING_PROVIDER env var for provider selection.

    TUI Experience (Daily Driver) — Chat scrollback (Page Up/Down), input history (up/down arrows), status bar (connection, mode, msg count, scroll, activity indicator), message rendering (timestamps, colors, role icons), command palette (/help), multi-line input (\ + Enter), background activity indicator (…thinking spinner), tab completion for all / commands, configurable theme (tui-theme plist, /theme command).

    v0.2.x Backfill Remediation — 14 stale/todo/stub items resolved: vault-get-secret / vault-set-secret wrappers, Scribe + Gardener background workers, self-improve surgical edit + error fix, org-modify + org-ast-render, literate balance check + tangle sync, event orchestrator bootstrap, memory introspection, skill path relocs from skills/ to lisp/, semantic retrieval stubs, subtree-based skill loading, variable name drift normalization, STYLE-WARNING elimination.

    Multi-Distro Deployment — Debian + Fedora package detection, systemd service unit, Docker support.

    Project Rename — Full rename to Passepartout across all files, packages, and env vars. Bouncer renamed to Dispatcher.

    HARDENING & BUG FIXES

    • 12 pre-existing test bugs fixed (type mismatches, ~% literals, broken paths, real HTTP calls in unit tests, jailed-variable access, :if-exists :nil parsing, FiveAM suite cross-contamination)
    • Cascade quote parsing fix (cl-dotenv preserves surrounding quotes in .env values)
    • Backspace normalisation (Croatoan returns raw ncurses integers)
    • TUI input-blocking fix (agent responses now render immediately)
    • Connect-daemon retry with backoff (3 attempts, 3s intervals)
    • Daemon bootstrap fix (deferred symbol lookup via funcall + find-symbol)
    • Pre-warm in passepartout setup (cuts first TUI start from ~120s to ~10s)
    • 6 quality-of-life fixes: log-message output bleeding, now() seconds/minutes swap, TUI LLM backend load removal, handshake false positive, reason cascade test isolation, daemon boot fix

    TEST RESULTS

    Pipeline Reason 10P 0F OK
    Diagnostics 3P 0F OK
    Literate Programming 5P 0F OK
    REPL 7P 0F OK
    LLM Gateway 3P 0F OK
    Memory 9P 0F OK
    Embedding 12P 0F OK
    Context 6P 0F OK
    Messaging 5P 0F OK
    Dispatcher 19P 0F OK
    CLI 1P 0F OK
    Archivist 6P 0F OK
    TOTAL 86P 0F across 21 suites

    TUI Integration 7/7 pass

    9 additional suites have FiveAM test definitions but are unreachable from the daemon due to jailed-package symbol resolution at compile time — a known v0.2.x limitation to be addressed in v0.3.2.

    UPCOMING (v0.3.1 – v0.3.3)

    • v0.3.1: Parser RCE elimination (read-eval nil hardening)
    • v0.3.2: Shell safety & actuator sandboxing
    • v0.3.3: TUI critical fixes (word wrap, cursor movement, SIGWINCH, connection-loss, /quit, persistent history)
    Downloads