/ sovereign agent harness

Pick the components you need.

For model-free repository checks, start with captured doctrine audits and comparison. JARVIS is an optional policy-governed executor.

You don't need all of PRISM. Every component is small, independent, and composable — a Bun-built dist/*.js bundle sharing one runtime. Start from your goal, install the minimal set, add more later. All live on the sovereign forge at git.sovereign-society.org/prism.

What do you actually need?

You want…You needYou can skip
Steering files, a real git workflow, team dev skills prism-harness Everything else — the doctrine alone disciplines your agent.
Route across providers/models, rotate plans, safe keys prism-route loop, sober, proxy, chat, graf — unless you want their layers too.
Cut token bills and audit context prism-proxy The rest — proxy compresses on its own.
Portable, signed knowledge through trusted startup bindings prism-mem The rest — mem ships inside @prism/harness and needs only a Mnemos owner. AKF explained →
Overnight memory; resumable agent prism-loop The rest — loop is self-contained durable memory.
Enforce your standards on every MR prism-sober The rest — sober is the review steering layer alone.
Disciplined multi-agent lanes on a sovereign VCS prism-graf The rest — graf alone scaffolds agents/rules/graf-first.md + lane discipline.
Just talk to your models — a lean, fast Hermes/OpenClaw-style chat, no agent in the loop prism-chat The harness and plugins — chat is a direct, efficient line to your models.
Defend against the Sept 2026 GitSpawn-class repo payload wave prism-harness scrub The other plugins — every CLI also auto-scrubs; this is the explicit form.
You probably don't need all eight. The suite is a toolbox, not a requirement. Install the one that matches your goal above; every component works standalone.

The components, in detail

Each one answers: what do I get?

prism-harness — discipline

Any AI agent that visits your repo reads your doctrine before it writes a line: twelve rules, templates, six CLI subcommands (init, check, upgrade, openspec, steer, identity), plus the install.sh Bash meta-installer (minisign pinning planned, not available yet).

Get: one constitution for every agent you use. v1.0.0-rc.6

prism-route — routing + rotation

KDL profiles decide provider, account, and plan per request: 5h/weekly rotation, failover tiers, quota headroom scoring, file-based secrets from ~/.secrets/, Prometheus metrics at /metrics. Keys never enter env vars.

Get: multi-model routing; expensive plans rotate themselves. v1.0.0-rc.6

prism-loop — memory

File-based, lock-coordinated protocol for overnight agent loops: durable .prism/ memory, run boundaries, resumable across sessions and agents (Claude Code, Codex, OpenCode). doctor now auto-scrubs the LOCAL .git/config before spawning the doctor process.

Get: overnight work that remembers until morning. v1.0.0-rc.6

prism-mem — portable knowledge

The eighth component: signed AKF knowledge bundles (plain Markdown + KDL, revision history, BLAKE3 manifest) injected through configured, trusted Codex/Claude startup bindings, plus Mnemos operational context for resuming work across providers. A strict JSON facade in front of your Mnemos owner — PRISM runs no second memory engine. Ships inside the @prism/harness package.

Get: a project brain that travels — any agent, any machine. Full explanation → v1.0.0-rc.6

prism-sober — reviews

Condenses your doctrine into byte-capped steering files Sober loads on every MR review (4,096 B per file, 12,000 B total). No LLM, no network — deterministic.

Get: your standards enforced on every merge request. v1.2.0-rc.6

prism-proxy — compression + audit

Loopback proxy ranks every tool by context-window consumption, then compresses: RTK for tool bloat, real WebP@87 vision with bold/italic for long prose, Caveman for the rest. Errors, stack traces, and results are always preserved.

Get: up to 70% smaller context bills, full audit trail. v1.0.0-rc.6

prism-chat — direct chat

Your lean, fast line to the models — a Hermes/OpenClaw-style chat with no agent in the loop. Terminal (ask/repl) plus a local installable PWA at 127.0.0.1:8789. Works standalone (point at a gateway), or rides prism-route serve for routing. Streaming, session usage, markdown export — no keys in the client.

Get: talk straight to your models, fast and efficient. v1.0.0-rc.6

prism-graf — lane discipline

Scaffolds agents/rules/graf-first.md for Graf-first multi-agent work: lane naming conventions, worktree hygiene, the contract for JARVIS SPEC-028's runtime graf adapter. First RC; init auto-scrubs for git-fallback repos.

Get: sovereign multi-agent coordination without GitHub. v0.1.0-rc.1

Install Browse the forge ↗

The scrub subcommand — GitSpawn-class defense

Every PRISM CLI exposes a scrub subcommand that removes dangerous git-config keys (core.fsmonitor, core.hooksPath, core.sshCommand, filter.*.clean/.smudge, and adjacent command-execution vectors) from the LOCAL .git/config of a target. Defense for the Sept 2026 wave of malicious-repo payload attacks. Full writeup →

# 1. Scrub BEFORE opening any untrusted repo in an AI agent.
prism-harness scrub /path/to/untrusted-repo
# 2. Audit (CI gate, supply-chain check).
prism-harness scrub --dry-run --json /path/to/repo | jq .
# 3. Same surface on every other CLI:
prism-graf scrub ~/projects/maybe-hostile
prism-loop scrub ~/projects/maybe-hostile
prism-sober scrub ~/projects/maybe-hostile
prism-route scrub ~/projects/maybe-hostile
prism-proxy scrub ~/projects/maybe-hostile

Every PRISM CLI that touches a repo also auto-scrubs before any git call — prism-harness init, prism-graf init, prism-loop doctor, prism-route smoke, prism-proxy smoke. Fail-closed: if the scrub reports errors, the CLI exits 1 without touching the repo.

What the agent reads

The CLIs are small, but together they enforce twelve markdown rules and ship dozens of templates. On every session start, the visiting AI agent reads the doctrine at agents/rules/*.md first. That reading is what stops AI-slop:

Path conventions — non-overlapping

your-project/agents/{rules,templates,scripts,...}      ← doctrine (per repo)
your-project/.prism/{blueprint,ledger,heartbeat,...}    ← loop memory (per repo)
your-project/.graf/                                     ← graf object store (per repo)
~/.prism/identity/*.md                                  ← agent identity (per user)
~/.sober/steering/*.md                                  ← Sober-Raccoon (per repo)
~/.config/containers/systemd/prism-*.container         ← container (per host)

Each tool owns its own surface. No path overlap. Each tool has a sovereign index.

Model + services first

The installer prompts component selection in priority order: model + services (prism-route) first, plugins after. Without prism-route the identity canon has nothing to talk through. Without prism-sober the doctrine is unverifiable. Without prism-loop the agent forgets by morning. Each adds a layer. And prism-chat hands the same gateway to the human directly — a terminal and a PWA, no agent in the loop. prism-graf gives multi-agent operators a sovereign VCS with lane discipline; JARVIS SPEC-028 is the runtime adapter that hires specialists onto those lanes. And prism-mem closes the loop that matters most over months: what your agents establish becomes signed, portable knowledge your configured future sessions can retrieve — the portable brain.