build:packages
prism · host agent · checkoutwaited 12sworked 1m 04s
bun run typecheck · packages/ui
Nº PRODUCTS
Spectrum is the map. Intelligence reads it. Envelope proves the chat stayed lean. Prepare says what to open. Guard says what to read. Dispatch is the teammate. Same engine. They cannot disagree.
01 · Playground
Local, not hosted. Packages, clusters, blast on the repo you already have. The same map as the IDE — Console Iris no longer mounts it.
bun run playgroundPlayground docs →Spectrum
repository map · local index
enginesurfacedispatch
02 · Intelligence
DNA, blast radius, and stack domains — the same Playground tabs as the IDE. Frontend, backend, DevOps, and the rest of the catalog, scored locally.
Understand a repo →DNA Analysis
prism · main · TypeScript monorepo
03 · Envelope
Iris no longer mounts the map. It shows index facts plus Envelope: bytes kept vs dump, follow-through, truncated lists. The ledger never holds source, and it is never uploaded.
Envelope and Iris →Envelope · prism
LocalReceipts for Intelligence calls. No prompts. No source.
search_symbols 50 of 60 · truncated
prepare_change pack 8 · 1.9k map tokens
ledger ~/.prism/envelope-ledger.jsonl
04 · Prepare
prepare_change returns a pack, reuse hits, House Style, notes, and a work order — paths only. Ambiguous names come back as candidates. Vendor and generated paths stay off-limits.
Prepare a change →add caching to fetchUser
No bodiesreuse lruCache · score 0.81
style route-handler · handlers next to the route
order vendor/legacy.ts off-limits · advisory
05 · Guard
guard_session ranks this session’s dirty files — working tree minus what you already had dirty. High blast first. Duplicates, orphans, boundary crossings flagged.
Guard a session →Read first
2 highsession 3 dirty · 17 pre-existing excluded
duplicate none in this hunk set
06 · Dispatch
A local page at prismhq.localhost:17330. Checkout-first and uncommitted; a worktree when you ask. Prism runs this repository’s checks — or shows — if it has none. Finish is not land.
prism init never asks for a key. No OAuth.
Dispatch docs →Also in this ship