What is P3AK
Platform OverviewBayouClaw — Linux Agent Runtime
What Impressed YouAlpine Docker, per-agent Linux users, Unix domain sockets, seccomp syscall filtering, and a policy engine enforcing the Iron Rule: no agent acts without HITL sign-off. Seven agents. Nine test suites. Fourteen board meetings run in production.
.vault file everywhere.Agent Roster
| Agent | Linux User | Role | Transport | Seccomp |
|---|---|---|---|---|
| amber | p3ak-amber | Kernel — routes all requests, voice interface | Unix sock | Restricted |
| ledger | p3ak-ledger | Financial analysis, AR/AP | Unix sock | Strict |
| counselor | p3ak-counselor | Legal review, contract analysis | Unix sock | Strict |
| signal | p3ak-signal | Email, calendar, communications | Unix sock | Restricted |
| scout | p3ak-scout | Web research, external data | Unix sock | Strict |
| architect | p3ak-architect | Codebase analysis, technical decisions | Unix sock | Strict |
| board | p3ak-board | Multi-agent synthesis, board meeting engine | Unix sock | Restricted |
Request Routing Architecture
/run/bayouclaw/*.sock. No network stack exposed. No open ports between processes. Not interceptable from outside the container — this is the architectural advantage over Claude Code's file-based mailbox approach.Dockerfile Security Model
HITL — Human in the Loop
OS-Level ControlThe agent cannot bypass this. The kernel enforces it. Every external action goes through a staging directory. Agents have WRITE to staging, ZERO access to outbox. The hitl-daemon is the only process that can move files forward. This is file permissions — not an if-statement.
6 Approval Levels
HITL Policy (abbreviated)
Approval Flow
Encryption & Key Management
Passcode CyclingYour question about passcode cycling landed on a real gap. The encryption stack is solid. The rotation pipeline is manual. That's Sprint 1 of hardening.
Current State
Target State
Known Attack Surface & Hardening Plan
Honest AssessmentEvery gap we know about, stated plainly. This is what a security specialist needs to see before touching the stack. No gap here is a design flaw — they're implementation debt from building fast. Each one has a fix path, a risk level, and a sprint target.
p3ak-vault rekey exists but is manual-only. No scheduled rotation, no policy enforcement. A compromised passphrase stays valid indefinitely until a human intervenes./var/spool/p3ak/staging/system/. Requires biometric + PIN. Old key archived in WAL with expiry timestamp. Sprint 1..vault binary format (header, segment table, encrypted blocks) has never been fuzzed. A malformed vault file could trigger panics, buffer misreads, or undefined behavior in the Rust parser. Ingest path accepts 38 file formats — each a potential vector.cargo fuzz targets for: vault header parsing, segment table deserialization, encrypted block decryption with corrupted ciphertext, WAL replay. CI-integrated. Each ingest format converter gets its own fuzz target. Sprint 2.git filter-repo and rotated. But anyone who cloned before the purge has the old keys in their local reflog.gitleaks pre-commit hook installed + verified across all 4 repos (238 commits scanned, 0 leaks). .gitleaks.toml + .pre-commit-config.yaml committed. Shipped April 10, 2026.p3ak-vault create requires --passphrase or exits with error. Unencrypted mode requires explicit --no-encrypt flag. Shipped April 10, 2026.create without the newly-required --passphrase / --no-encrypt. Regex-replaced 13 call sites. Suite is now 54/54 green. Harness jumped 458p/54f → 509p/3f. Shipped April 20, 2026.pai-migrate + pai-export subcommands. Three integration tests lock the trust contract: byte-identical round-trip, idempotent re-migration, destination-safety refusal. Ship date April 19, 2026. See Section 10 for the strategy.cargo-tarpaulin or llvm-cov report, so we don't know what % of lines/branches are actually exercised. Best-guess: ~70-80% line, unknown branch. A reviewer has to trust the count, not measure it.cargo tarpaulin --out Html --out Json to CI. Publish HTML report + per-crate % badge on the brief. Target: >85% line, >75% branch for vault-core, with explicit uncovered-path justification for anything lower. Sprint 2.p3ak-vault pai-export → launch BayouClaw against the same .vault file). Accepted tradeoff: better security posture OR better PAI-audience distribution. Mitigation: we own the MCP server surface and can rotate keys / revoke access through vault consent tokens. Document in an SECURITY.md on the pack repo. Sprint 2.p3ak-vault serve binds 127.0.0.1:8080 — localhost only. But no Web Application Firewall, no input sanitization layer above what Rust's type system provides. A malicious local process could send crafted HTTP payloads.SO_PEERCRED on Unix socket) or API token. Default: 100 req/s search, 50 req/s write. Configurable in config.toml. Burst buffer: 2x sustained. Sprint 2.chown + chmod 700) provide access control, but traffic is plaintext. A root-level compromise reads all IPC.SO_PEERCRED verifies peer UID. For multi-host deployments: mTLS over Tailscale WireGuard. Current single-host model: accepted risk. Document threat model.adduser). Use rootless Podman or Docker --userns=auto. Init script drops to unprivileged user immediately after socket bind via gosu. seccomp profile already blocks setuid/mount/ptrace for agent processes. Sprint 3.Risk Summary
Hardening Timeline
Performance
Real NumbersThese come from dev-environment profiling — not a formal load test. Vault ops are sub-second. Voice latency is network-bound (Deepgram + Cartesia). Agent routing is LLM-bound, not compute-bound. Formal JMeter benchmarks are the gap — reviewer feedback invited here.
| Operation | Median | P99 | Bottleneck | Status |
|---|---|---|---|---|
| Vault ingest (markdown) | 18ms | 45ms | Tantivy indexing | FAST |
| BM25 search | 12ms | 28ms | Index scan | FAST |
| Hybrid search (BM25 + ZVec + PageIndex) | 31ms | 62ms | Three-way merge | FAST |
| Vault create | 8ms | 20ms | Argon2id KDF | FAST |
| Vault ingest (PDF, Tier 2) | ~400ms | ~1.2s | PDF extraction | OK |
| Voice STT (Deepgram) | ~500ms TTFB | ~900ms | Network (cloud) | OK |
| Voice TTS (Cartesia) | ~500ms TTFB | ~800ms | Network (cloud) | OK |
| BayouClaw agent routing | <2s | <5s | LLM inference | LLM-BOUND |
| Board meeting (5 agents) | 30–60s | ~90s | Sequential LLM calls | EXPECTED |
| Room → vault push (full doc) | ~180ms | ~400ms | HTTP + ingest | FAST |
What Needs Measuring
Target SLAs (Proposed)
Amber — Voice AI with OS Access
LiveKit · Deepgram · CartesiaReal-time voice agent with full OS access, connected to BayouClaw's agent network. LiveKit Cloud handles WebRTC. Deepgram for STT. Cartesia TTS (Caroline voice). Nine tools — dangerous ones staged for HITL approval before any execution. The Force Field eliminates AI fingerprint patterns from her speech.
Test Suite
Coverage State401 Rust unit tests across 17 modules, 54 CLI integration tests, 12 accuracy benchmarks, 3 stress tests, 44 PyO3 native binding tests, 35 Python SDK tests. New in April 2026: temporal knowledge graph (19 tests), evolution graph with linking + strengthening (14 tests), wake-up context generator (6 tests). Plus 9 BayouClaw shell suites and 51 session regression tests. No CI/CD pipeline yet. Tests run manually. That's the gap.
Vault unit tests (Rust, 401 tests across 17 modules): Each module has an inline
#[cfg(test)] mod tests block. Tests cover: crypto roundtrip (encrypt → decrypt → verify), search accuracy (BM25, ZVec TF-IDF, hybrid), format conversion (38 file types → plaintext), WAL integrity (write-ahead log append + hash chain verification), classification confidence scoring, entity obligation matching, consent token HMAC-SHA256 signing + verification + revocation, memory rot detection (4 rot types), temporal knowledge graph (entity CRUD, temporal filtering, auto-extraction NER), evolution graph (document linking, strengthening, edge dedup), and wake-up context generation.Module test breakdown:
classify ............ 60 tests (8-store classification, confidence thresholds, signal weighting)
rerank .............. 55 tests (BM25+ZVec+PageIndex fusion, edge cases, empty results)
search .............. 41 tests (hybrid search accuracy, multi-vault, mode switching)
convert ............. 28 tests (38 formats: PDF, DOCX, XLSX, CSV, HTML, .mdr, .lhr, audio)
ingest .............. 23 tests (file → vault pipeline, upsert, dedup, batch)
rot ................. 21 tests (4 rot types, decay curves, remediation triggers)
zvec ................ 21 tests (TF-IDF vector math, cosine similarity, sparse ops)
types ............... 21 tests (Doc struct, metadata, serialization roundtrip)
binary_store ........ 20 tests (vault binary format read/write/corruption recovery)
wal ................. 19 tests (append-only log, hash chain integrity, tamper detection)
crypto .............. 18 tests (AES-256-GCM encrypt/decrypt, Argon2id KDF, key derivation)
consent ............. 14 tests (HMAC-SHA256 tokens, scope: sector/doc/full, TTL, revocation)
kg .................. 19 tests (temporal KG: entity CRUD, triples, time filter, NER extraction) NEW
evolution ........... 14 tests (document linking, strengthening, edge dedup, serialization) NEW
entity .............. 12 tests (CompanyMetadata schema, obligation catalog, completeness scoring)
store ................ 9 tests (vault CRUD, section management, room isolation)
wakeup ............... 6 tests (context generation, token budget, deleted doc exclusion) NEW
CLI integration tests (54 tests): Run the compiled
p3ak-vault binary as a subprocess. Test every CLI command end-to-end: create, ingest, search, read, write, classify, delete, export, sync, watch, canary-add, canary-check, serve. Each test creates a temp vault, runs the command, validates stdout JSON, checks exit codes, verifies vault state after mutation.Accuracy benchmarks (12 tests): Seed a vault with known documents, run 12 queries with known expected top-1 results. Measure Top-1, Top-3, and MRR (Mean Reciprocal Rank). Current: 98% Top-1 accuracy on the standard benchmark set. Tests fail if accuracy drops below 95%.
BayouClaw shell suites (9 suites, ~55 checks): Run inside Docker container. Cover: end-to-end pipeline (HTTP → Amber → agent → vault → response), agent intelligence (response quality scoring via rubric), security audit (auth bypass, injection, privilege escalation, seccomp enforcement, socket permissions), policy engine (rate limiting, Iron Rule blocking, token guard), self-test (Amber evaluates her own output quality). The security suite has 34 individual checks across 6 attack categories.
Regression tests (51 tests, 7 categories): Automated bash script that tests live infrastructure: service health (HTTP endpoints), vault search across 6 vaults, tool definitions in TypeScript, HITL policy enforcement, security posture (git history, env files, port exposure, container user), voice pipeline (STT/TTS/Force Field), and file existence. Results exported as JSON for the ops dashboard.
What's missing (the gap): No CI/CD pipeline. No automated runs on push. No concurrency testing. No load testing. No degraded-state testing. No mutation testing. No fuzz testing on vault binary format. These are the production hardening deliverables. A complete security testing framework spec is now ready (
spec/security-testing-framework-v1.md) covering all of these gaps with exact commands, tools, and pass/fail criteria.
Production Hardening
Where Reviewers FitP3AK's architecture is correct. The gaps are production readiness, not design. Default-encrypt and gitleaks are now shipped. Remaining: No CI/CD. No formal pen test. No automated key rotation. No load benchmarks. A complete security testing framework spec is ready at spec/security-testing-framework-v1.md — 11 sections, every test command documented, ready to execute day one.
P3AK × PAI Collaboration
Engine + Interfacehuman3.ai at $495–$2,495/yr, and a live Digital Assistant he calls "Kai" with ElevenLabs voice + Pulse dashboard. His thesis, published April 15, 2026: everyone converges on a single named DA with persistent memory + full life context. Timeline: by 2028.We agree. P3AK has been building the same architecture from the opposite direction — infrastructure-first instead of interface-first. His stack stores memory as plaintext under
~/.claude/MEMORY/. Ours stores it encrypted in a portable .vault. The collaboration: his interface, our engine, connected by an MCP bridge. Both MIT. Both want to give this away.To be precise: PAI runs on Claude Code — that's Miessler's runtime. P3AK's own runtime is BayouClaw (Section 02). The bridge doesn't ask his users to switch runtimes; it gives them encrypted memory inside the runtime they already have. Users who later need more than Claude Code can safely provide — regulated data, multi-agent HITL, auditable execution — can migrate their same
.vault file to BayouClaw with zero data loss..vault (AES-256-GCM + Argon2id).mdr multi-layer documents with access tiers (public/internal/legal/board).lhr Living Health Record — JSON frontmatter + FHIR mappingThe Bridge — P3AK-Vault for PAI
A clean drop-in pack that gives PAI's Kai direct access to a local P3AK vault via MCP. Nothing in PAI changes. The pack is a bridge — encrypted memory for PAI users without forcing a runtime switch — not a parallel runtime. PAI user adds one line to settings.json, installs one pack, and Kai gains four new tools via MCP:
| Tool | Purpose |
|---|---|
| vault_search | Hybrid BM25 + ZVec + PageIndex retrieval across all memory |
| vault_read | Fetch a specific document by ID |
| vault_write | Save insight / plan / goal / reflection / signal |
| vault_wake_up | ~170 token session briefing: active goals, recent rot, current focus |
Three hooks register automatically at PAI's standard lifecycle events: SessionStart (inject wake-up context), PostToolUse (auto-capture decisions/commitments/insights), SessionEnd (Evolution Graph + KG updates). All settings.json merges are idempotent — running the installer twice does not duplicate hooks.
p3ak-vault pai-migrate moves ~/.claude/MEMORY/ into an encrypted vault. p3ak-vault pai-export decrypts it back out to plaintext. The round-trip is byte-identical — verified by an automated integration test that diffs source vs restored tree. Users who decide encryption isn't for them get all their data back, no degradation. This is the trust claim the pack makes to any PAI user.Wave Layering — Ship regardless of response
pai-migrate + pai-export CLI subcommandssiliconbayou/p3ak-vault-for-pai.mdr as a PAI document export format.lhr as optional health-record format for PAI users.mdr / .lhr bidirectional bridgeWhat is NOT merged (stays P3AK-branded)
Our B2B and regulated stack has its own commercial path and stays separate from the Miessler collaboration. These properties remain under Silicon Bayou LLC with their own go-to-market:
p3ak-room
Multi-tenant data rooms with git versioning per company, 5 customizable sections,.mdr export. B2B SaaS.BayouClaw
Linux-native agent runtime. Regulated workloads. Seccomp-isolated. Detailed in Section 02. Different runtime from PAI on purpose.LIBERO
SEC/ESG regulatory compliance vertical. Ben Liberto collaboration. Enterprise SaaS.Entity Intelligence
Company-as-living-organism — obligation catalog, completeness scoring, CREST lifecycle. M6 shipped.uCTRL Partnership
Clinical HIPAA pathway with Matt + Darren (ex-Siri). SOMA + consent tokens. Regulated SaaS.Silicon Bayou LLC
Corporate parent. First customer of Entity Intelligence. Not in the personal-vault merge.Status — April 19, 2026
p3ak repo. See docs/strategy/miessler-collaboration-2026-04-19.md for the complete framing, pai-vault-pack-plan.md for the technical design, miessler-outreach.md for the outreach cadence, and tech-review-local-test-guide.md for the tech-team hand-off test plan.Getting Started
From Zero to Runningsiliconbayou — you'll need org access before any of this works.Prerequisites
| Tool | Why | Install |
|---|---|---|
| Rust | Compile the p3ak-vault engine | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
| jq | Parse JSON outputs in demos + installer | brew install jq · apt install jq |
| GitHub SSH | Clone the private siliconbayou/* repos | Add your key at github.com/settings/keys, ask Richard for org access |
| Docker | Only for full-stack path (BayouClaw runtime) | Docker Desktop (Mac/Windows) or dockerd (Linux) |
| Node + PG | Only for full-stack path (p3ak-room) | brew install node postgresql@16 |
The 10-Minute Smoke Test
What's Next — Three Branches
p3ak-vault-for-pai (private)bash src/install.sh — merges into your ~/.claude/settings.json without clobbering existing configp3ak-vault pai-migrate to move your MEMORY tree into encrypted vaultp3ak-vault pai-export — round-trip byte-identicalp3ak, p3ak-vault, p3ak-room, bayouclawscripts/start-p3ak.sh launches Docker + BayouClaw + Room togetherdocs/strategy/tech-review-local-test-guide.mdtech-review-2026-04-19If You Get Stuck
Rust won't compile
Checkrustc --version is 1.78+. Older toolchains miss features used in p3ak-vault-core. Rerun rustup update stable.Can't clone the repo
All repos are private. Your GitHub account needs read access to thesiliconbayou org. Call Richard at 985-246-0040.Ingest fails on a specific file
The 34-format pipeline has tiers. Tier 3 (Excel, ZIP, complex PPTX) needspip install 'p3ak-vault[markitdown]'. Skip or install that tier.PAI installer merges incorrectly
Back up~/.claude/settings.json, check $HOME/.p3ak/hooks.log, run bash ~/.p3ak/uninstall.sh. All changes are reversible.Docker / BayouClaw issues
Open/tmp/p3ak-startup.log — the start script logs every step. Common: Docker Desktop not fully started when script launches.Still stuck
File an issue in the appropriate repo with the error output. Richard or the team responds within one business day.Data Flow Demo
Watch The Ball Roll Through The Pipe.vault. Every action runs the real p3ak-vault binary — not a simulation, not a mock. The ball you see is the data you sent.node server.js running first — see commands below
What you see when you hit a button
.vault file (O_APPEND + fsync)vault_search, auditable via WALThe five input types
| Button | Simulates | Expected classification |
|---|---|---|
| 📄 Document | A full board meeting brief with decisions + action items + financials | FN Finance |
| 💬 Message | A chat IM referencing Ridgeline dinner + HIPAA attorney push | FN Finance / LG Legal |
| RFC 822 renewal proposal with price + term + effective date | LG Legal | |
| 🎤 Voice memo | Transcribed voice note about passport renewal before Japan trip | SHIELD Shield |
| 🤖 Agent request | JSON payload: summarize_q1_financials with generated output | FN Finance |
Running it locally (not deployed yet — needs a backend)
The visualizer runs against a live Node server that streams SSE events from the real p3ak-vault binary. It's not a static page, so we host it locally rather than on Cloudflare Pages. Three commands to run:
Requires the p3ak-vault binary — the server auto-detects it from ~/.cargo/bin, /opt/homebrew/bin, or target/release/. If it's missing, a red banner tells you how to build it.
/api/status which reads the real vault size off the filesystem. Click a second button and the doc count goes up, vault size grows, and the newly-added payload is immediately searchable. Cannot be faked.flow.html (same 3C0X-844G-AOTY code), deploy the Node server to a small Fly.io or Railway instance, and link to it from this section. Until then, local-only.Roadmap
Where We Are · What's Next.vault format, the same BayouClaw runtime, the same hybrid search engine. Canonical source: ROADMAP.md in the main repo.Recent ships
| Date | What shipped | Where to see it |
|---|---|---|
| Apr 20 | Data Flow visualizer (5 input types × 8 security stages, real binary) | /flow.html · Section 12 |
| Apr 20 | 54 stale CLI integration tests fixed · harness 458p/54f → 509p/3f | Section 4b · Adversarial Review |
| Apr 19 | P3AK × PAI collaboration strategy + pack scaffold | Section 10 · private p3ak-vault-for-pai repo |
| Apr 19 | P3AK Grandma MVP — macOS .app for non-technical users (v0 search-only) | packages/grandma-app/dist/P3AK.app |
| Apr 19 | 60-second demo screencast — asciinema cast + British female TTS | demo-assets/screencast/demo.html |
| Apr 19 | Adversarial Review (War Room) — 3 personas × 19 hand-authored claims | Section 09 · /war-room |
| Apr 11 | Self-evolving memory — temporal KG + Evolution Graph + Wake-Up | Section 02 · vault-core library |
| Apr 10 | Default-encrypt on vault create · gitleaks pre-commit across all 4 repos | Section 4b · FIXED |
Enterprise Track
.mdr document specp3ak-room Next.js app, p3ak-harness CREST skillsp3ak.ai, docs.p3ak.ai)~/p3ak/) · Amber voice · comm stacktaub.in email stack · MuninnDB · whisper-mac · Marpp3ak.ai landing refresh · eBPF kernel prototypepai-migrate + pai-export.mdr/.lhr as PAI export formats (needs Miessler)entity completeness CLIcrest-entity-review, crest-deadline-alertPersonal Track
spec/personal-taxonomy-v1.md — canonicalp3ak-vault create --profile personaldocs.p3ak.ai/personal.html PRD live.lhr format · SomaMetadata struct · consent token systemspec/fhir-alignment-v1.md)spec/lhr-protocol-v1.md finalized (Matt/Darren co-auth)Signal Intelligence Track
signal-ingest.py — 5 commands, live HN/arXiv/GH connectorssignal.html v3 — radar, filter, lean, credibility, Signal → Room