██████╗ ██████╗ ██╗███████╗███╗ ███╗
██╔══██╗██╔══██╗██║██╔════╝████╗ ████║
██████╔╝██████╔╝██║███████╗██╔████╔██║
██╔═══╝ ██╔══██╗██║╚════██║██║╚██╔╝██║
██║ ██║ ██║██║███████║██║ ╚═╝ ██║
╚═╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝ ╚═╝
S O V E R E I G N A G E N T H A R N E S S
═════════════════════════════════════════════
harness · mem · loop · sober · route · proxy · chat · graf
doctrine · knowledge · memory · reviews · routing+auth · compression+audit · chat · lanes
Your knowledge travels.
Its evidence comes with it.
AKF — Agentic Knowledge Format makes curated knowledge portable across models, providers and machines: readable pages, provenance, selected supporting evidence, revisions and authenticated bundles. PRISM delivers bounded, cited knowledge to your agent and applies deterministic repository checks. You keep the knowledge and the reasons behind it.
Eight small components, one Bun runtime —
pick what solves your problem. The harness alone gives you
steering files; prism-mem delivers to configured sessions
your signed, portable knowledge (AKF);
prism-chat alone is a lean line to your models;
prism-graf alone disciplines lane-based multi-agent work.
prism_dir=$(mktemp -d) && curl -fsSL https://git.sovereign-society.org/prism/prism-harness/raw/branch/main/install.sh -o "$prism_dir/install.sh"
Review install.sh before execution (less "$prism_dir/install.sh"),
then run it from your project, in the same shell: bash "$prism_dir/install.sh".
A new shell no longer has $prism_dir:
keep the path.
Works with the agent you already run. Free, sovereign, LSL-1.0.
Pinned installer:
planned, not available yet
The portable-knowledge revolution: AKF.
A decision can outlive its chat session. Keep the conclusion, source revision, selected evidence and publication history together in a signed, readable bundle. A new agent can inspect where the knowledge came from.
- CurateConclusion + evidence
- PublishValidate + authorize + sign
- TransferRecipient verifies its own trust
- RetrieveBounded pages + exact citations
JARVIS/Mnemos owns authentication and governed publication. PRISM delivers the packet to your selected agent. A signed snapshot authenticates bytes; factual truth and freshness still need checking. Copying it grants no execution or publication rights.
See the worked transfer and inspect the evidence · Configure the Knowledge adapter
Models propose. Rules check. Evidence stays.
The implemented doctrine gate makes no model call. PRISM evaluates captured guidance; JARVIS admits execution under policy and records the result.
- CaptureFresh guidance
- CompareSelected baseline
- AssertComplete; no added errors
- HaltReceipts + audit
Repeatable evaluation uses the same captured inputs and evaluation identity. Fresh runs can see changed files; replay preserves a historical result. Incomplete evidence cannot qualify as a pass. Model reasoning and live external effects retain their own uncertainty.
core.fsmonitor = <attacker command> in
.git/config. ANY subsequent git call —
git status, git rev-parse, git diff,
worktree ops — fires the attacker's command as the operator, BEFORE
any sandbox or approval gate. Every PRISM CLI now auto-scrubs the
LOCAL .git/config before touching it. A standalone
prism-harness scrub subcommand is exposed for ad-hoc use.
Full writeup →
-19592
-55607
-71963 Sept 2026 GitSpawn-class attacks — neutralized in every PRISM CLI
What do you actually need?
Every PRISM component is independent. Start from your goal, install the minimal set that solves it, and skip the rest. You can always add more later — nothing requires the full suite.
| You want… | You need | You can skip |
|---|---|---|
| Steering files, a real git workflow, team development skills | prism-harness | Everything else — the doctrine alone disciplines your agent. |
| Route across providers and models, rotate plans, keep keys safe | prism-route | loop, sober, proxy, chat, graf — unless you want their layers too. |
| Cut token bills and audit what eats your context window | prism-proxy | The rest — proxy works on its own as a loopback compressor. |
| Portable knowledge: your signed project brain through trusted startup bindings | prism-mem | The rest — mem rides @prism/harness and needs only a Mnemos owner. How it works → |
| Overnight memory; an agent that resumes tomorrow | prism-loop | The rest — loop is self-contained durable memory. |
| Enforce your standards on every MR review | prism-sober | The rest — sober is the review steering layer alone. |
| Disciplined multi-agent lanes with 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. |
The harness moves the benchmark — not just the model
Independent benchmarks show the same model scoring 77% and 93% on identical tasks depending on the harness it runs in. The model did not change — the system prompt, tool descriptions, and permission gating did. Models get dumber past ~50k tokens of context; a smart harness budgets context instead of stuffing it.
PRISM is that harness, made sovereign: doctrine your agent must read before it writes, compression that preserves every error and stack trace, routing that decides which model and which plan pays for each call. Your model choice stays yours. The discipline becomes ours.
What you get
Smarter agents — prism-harness
Twelve doctrine rules + templates scaffolded into your repo. Any visiting agent reads them first. AI-slop stops at the door.
One constitution for every agent you use.Smaller bills — prism-proxy
Loopback proxy audits what eats your context window (ranked tool table) and compresses: RTK for tool bloat, real WebP vision for prose, Caveman for the rest. Errors, stacks, and results preserved.
See exactly what is eating tokens. Then cut it.Multi-model routing — prism-route
KDL profiles, 5h/weekly plan rotation, failover tiers, file-based secrets from ~/.secrets/, Prometheus metrics. Agents never see a key.
Portable knowledge — prism-mem
Signed AKF knowledge bundles — plain Markdown + KDL, provenance, selected evidence, revision history and integrity manifest. Bounded, cited delivery through explicitly trusted Codex/Claude startup bindings.
Vendor memory is a lease. AKF is ownership.Overnight memory — prism-loop
Durable .prism/ memory and clean run boundaries. The agent resumes tomorrow where it stopped tonight.
Enforced reviews — prism-sober
Byte-capped steering files carry your doctrine into every automated MR review. Your standards, not the reviewer's mood.
Your rules, enforced on every MR.Sovereign VCS lanes — prism-graf
Doctrine for Graf-first multi-agent work: lane naming, worktree hygiene, the agents/rules/graf-first.md contract. Companion to JARVIS SPEC-028.
Chat without an agent — prism-chat
Terminal chat (ask/repl) and a local installable PWA riding the same gateway. Talk to your routed models directly.
GitSpawn-class defense: ships in every CLI
The Sept 2026 wave of malicious-git-config attacks
(full writeup)
showed that a repo delivered as a zip, USB stick, cloud-sync folder,
or shared drive can carry
core.fsmonitor = <attacker command> in
its .git/config. Any subsequent git call
triggers git to read the local config and run the attacker's command
as the operator — before any sandbox, prompt, or approval gate fires.
PRISM neutralizes this at two layers today. A third, the pinned installer, is not available yet.
Auto-scrub — every CLI
init, check, doctor, smoke — every PRISM command that shells out to git first scrubs the LOCAL .git/config of the target. Hard-fails with exit 1 on scrub errors. Fail-closed.
Scrub subcommand — ad-hoc use
prism-harness scrub /path/to/untrusted on any directory you didn't author. --dry-run reports, --json emits the report. Same scrubber, surfaced for operators.
Pinned installer — not yet available
install.sh has a --verify option for minisign signatures, but no signed release has been published yet, so it exits 4 today. Signed releases with a signed manifest of every component's version and digest are planned; the public key will be published outside the forge.
prism-chat: your lean, fast line to the models
Want a Hermes / OpenClaw–style chat that talks straight
to a model — no agent in the loop, no doctrine, nothing heavy?
prism-chat repl / ask is that:
lightweight, fast, efficient. Point it at a gateway and it streams
answers with session usage — the browser never touches a key.
# standalone lean chat — point at a gateway (default http://127.0.0.1:8788)
$ prism-chat repl --gateway http://127.0.0.1:8788 --dialect openai --model gpt-4o-mini
# or, with prism-route in front for routing + rotation + safe keys:
$ prism-route serve --profile frontier --bind 127.0.0.1:8788 # terminal 1
$ prism-chat repl --profile frontier # terminal 2
you> explain CRDTs in two sentences
prism> …
$ prism-chat serve # → http://127.0.0.1:8789 (installable PWA)
How it works — three steps
- Pick what you need. Start from your goal (see the table above) and install the minimal subset — or
--yesfor everything. One installer, one shared Bun runtime. - Scaffold.
prism-harness initdrops the doctrine into your repo, orprism-route setupwalks you through providers/models. Forge the agent's identity withprism-harness identity init. - Use it. Point your agent through
prism-route serve→prism-proxyfor routed, compressed, reviewed work — or skip the agent entirely withprism-chatfor a direct line to your models.
The eight-file identity canon: give the agent a soul
Doctrine tells the agent how to work. The identity canon
tells it who it is: charter, soul, goals, milestones,
heartbeat — eight files at ~/.prism/identity/. The
agent's name is the last question of the forge, so by the time it
gets one, the purpose already fits.
Sovereign by construction
- No telemetry, no central control. Operator-local logs, loopback by default, plaintext-passthrough you can security-scan.
- Keys stay on disk. File-based secrets in
~/.secrets/, redaction on every human surface, zero env leakage. - One runtime, small bundles. Eight components, one Bun,
dist/*.jsbundles measured in KB — auditable in an afternoon. - GitSpawn-class defense in every CLI.
core.fsmonitorpayloads can't fire against a target you've prepared withprism-* scrub. - Yours to keep. Distribution runs on the sovereign forge — no public registries. Prebuilt container images ship from R2 at
pkg.getharness.appand run as systemd quadlets. Eight components → - Knowledge you own.
prism-memcarries your project brain as signed, plain-file AKF bundles — no vendor memory lease. Portable memory →
Honest boundaries
PRISM is a harness, not an agent: it does not generate code, and it is not a vendor platform or a model wrapper — models stay yours. That is the point. The harness is the set of tools, prompts, and operational discipline an agent is plugged into. Plug yours in.