750918527dc6e38aaee7b47908c0f4660a1bb4f1
Some checks failed
Deploy (Gitea) / deploy (push) Failing after 2s
- TUI agent-responds: hardened to detect and FAIL on cascade/exhausted responses (previously a separate WARN-only test that let real cascade failures slip through) - New TUI cascade-parsing test: /eval *provider-cascade* on screen, checks for clean keywords (no cl-dotenv quote artifacts) - Pre-warm step: sbcl --eval '(ql:quickload :passepartout/tui)' before launching tmux, cuts TUI startup from ~120s to ~10s - Removed test_agent_not_cascade_failure (absorbed into agent-responds) - New integration test: test-provider-cascade-parsing verifies PROVIDER_CASCADE entries are keywords without quotes, matching registered backends — catches the exact cl-dotenv quote bug - Fixed stop-daemon ghost symbol (removed export) and paren bug - Contract section updated with numbered Phase 2/3 items
Passepartout — Your Autonomous, Plain-Text Life Assistant
- Quick Start
- Why Passepartout
- Your data stays yours.** No database, no vector store, no cloud silo. Your entire memory is a folder of Org files. You can read them with any text editor, search them with grep, and back them up however you like. If Passepartout stops existing, your data doesn't disappear.
- The LLM can't do damage.** Every action the LLM proposes passes through a deterministic safety gate before it touches a file, runs a command, or sends a message. The LLM suggests; the gate decides. Hallucinations are blocked, not corrected after the fact.
- Runs on your hardware.** Works fully offline with Ollama and local models. Cloud providers (OpenRouter, OpenAI, Anthropic, Groq, Gemini, DeepSeek, NVIDIA NIM) are optional add-ons.
- Written in Common Lisp.** Code is data. The agent reads its own source the same way it reads a text file — it parses, modifies, and hot-reloads its skills without restarting. One language from the kernel to the TUI to the build system.
- Architecture
- Project Documentation
- License
Passepartout is an AI assistant that runs in your terminal, reads and writes your Org-mode files, executes tasks through a verified safety gate, and works fully offline with local LLMs. Everything it knows is a folder of plain text files that you own.
One-line install:
curl -fsSL https://raw.githubusercontent.com/amrgharbeia/opencortex/main/passepartout | bash -s configure
Then passepartout tui to start chatting.
Quick Start
You need SBCL (Common Lisp), git, and curl.
git clone https://github.com/amrgharbeia/opencortex.git ~/projects/passepartout
cd ~/projects/passepartout
./passepartout configure # install deps, tangle, setup wizard
passepartout tui # launch the terminal interface
See User Manual for the full guide.
Why Passepartout
Your data stays yours.** No database, no vector store, no cloud silo. Your entire memory is a folder of Org files. You can read them with any text editor, search them with grep, and back them up however you like. If Passepartout stops existing, your data doesn't disappear.
The LLM can't do damage.** Every action the LLM proposes passes through a deterministic safety gate before it touches a file, runs a command, or sends a message. The LLM suggests; the gate decides. Hallucinations are blocked, not corrected after the fact.
Runs on your hardware.** Works fully offline with Ollama and local models. Cloud providers (OpenRouter, OpenAI, Anthropic, Groq, Gemini, DeepSeek, NVIDIA NIM) are optional add-ons.
Written in Common Lisp.** Code is data. The agent reads its own source the same way it reads a text file — it parses, modifies, and hot-reloads its skills without restarting. One language from the kernel to the TUI to the build system.
Architecture
- Metabolic Loop — Perceive → Reason → Act, the fundamental cognitive cycle
- Dispatcher — 9-vector safety gate: secret scanning, path protection, shell safety, lisp validation, network exfiltration, privacy filtering
- Memory — Single-address-space object store with Merkle-tree integrity and snapshot rollback
- Skill Engine — 20 hot-reloadable skills loaded at boot, each an independent Org file
- TUI — Croatoan-based terminal interface connected via framed TCP protocol
- LLM Dispatch — Central dispatch for model inference requests
Project Documentation
| Document | Answers |
|---|---|
| User Manual | How do I use it? |
| Architecture | How does it work inside? |
| Design Decisions | Why was it built this way? |
| Roadmap | Where is it going? When? |
| TODO | Who is doing what? |
| Contributing | How do I contribute? |
License
Passepartout is released under the AGPLv3 license. See CLA.org for the Contributor License Agreement.
Languages
Shell
67.5%
Emacs Lisp
19.1%
Common Lisp
9.6%
C
2.2%
Dockerfile
1.6%