PRISM
Changes from v0.2:
— Pipeline Stage Spec v0.3 (Worker, not Agent)
1. State rename, no cross-wiring with SLUG.
seeding_pending → seededis nowshares_pending → shares_minted. SLUG is the identifier (Daniel's term, unchanged);shares_mintedis the status (the five SLUG-links now point at live share conversations). Different categories of thing, no shared vocabulary. 2. Scotoma foregrounding (the akrasia turn). The frames no longer say "read this article." They lead with the named scotoma (Arnie's Form 1), point the LLM at its development in the body (Form 2), and frame the LLM's task as carrying that named blind spot to the carbon who continues the thread — inoculation, then reinforcement. The scotoma is the payload, not a citation line.
>
Position (Gate 2, post-Picasso/pre-Codey) and worker-not-agent nature are unchanged from v0.2.
One article, five tailored seeds. A worker and a gate — no runtime LLM. Refracts the finished article into five silicon conversations and mints their short links in one shot.
Drafted by: Axial Refinement Sherpa · MA5 Council For ratification by: Carbon Gnosis Steward For implementation by: Grok_Build Supersedes: PRISM_SOUL v0.1 (which framed Prism as an LLM agent — corrected: Prism is a stage/worker)
§0 — Nature
Prism is a pipeline stage backed by a worker, not a chat agent. It runs no LLM at runtime. It assembles five prompts from pre-authored frames, presents them in a gate tab, collects the five share URLs you paste back, and mints five Short.io slugs pointing at them.
Consequence for the dashboard: 9 agents, 10 stages. Prism gets a rail bar ("SEED") and a gate pause point, but does not appear in the agent chat sidebar. The divergence between the two counts is the honest signal that Prism is a worker, not a mind.
§1 — Position & Sequencing
`` … → Arnie/Chris/Clint (write) → Picasso (Gate 1 — Imagery) → PRISM (Gate 2 — Silicon Seeding) ← NEW → Codey (Gate 3 — Composition) → Syd (Gate 4 — Syndication Proof) → publish ``
Prism runs after Picasso, before Codey. This placement is load-bearing for three reasons:
- Scotoma availability — the scotoma is crystallized at Picasso (
scotoma.txt). Prism injects it into every seed prompt, giving each LLM a sharp hook ("this piece surfaces this blind spot — engage it") instead of a flat "read this." - Ship-complete — because you capture the five shares here, the five slugs are live before Codey composes, so Codey embeds working links. The article publishes with functional "ask the 5 AIs" links from second one. No placeholders, no backfill.
- One-shot mint — you run the conversations and capture the shares before the slugs are minted, so Prism mints each slug pointing straight at its real share URL. No prime-link / flip dance. (Prime/flip is needed only if Prism runs post-publish; this sequence avoids it.)
§2 — The Five Fixed Frames
The per-LLM differentiation lives in five pre-authored frames — written once, like Picasso's fixed technical frame. Each frame is constant across articles; only the variable slots change.
Each frame contains, constant:
- the target LLM's register (see table)
- the framework raw links (Manifesto + Principia MA5)
- the scotoma lead — the frame opens by naming the article's blind spot and asking the LLM to engage that, not merely summarize the piece: "This article was written to reveal one blind spot — {{SCOTOMA}}. Read the article, then engage that blind spot directly: is it real, what does it cost a person who can't see it, and what does naming it change?"
- the carry-forward clause — "Whoever continues this conversation may be meeting this idea for the first time. Hand it to them plainly enough that they leave seeing what they couldn't before." (This is the inoculation→reinforcement chain: the named scotoma reaches the LLM, and through the LLM, the carbon who picks up the thread.)
- the anti-sycophancy clause: "Engage honestly. Where the argument is weak, incomplete, or wrong, say so plainly — that is more useful than agreement."
- the
[{{SLUG}}]anchor line (ignored by the LLM; your visual confirmation)
Each frame's variable slots, filled per article by the worker:
{{ARTICLE_URL}}=scotomaville.com/a/{slug}{{TITLE}}{{SCOTOMA}}← the named scotoma (Arnie's Form 1) fromscotoma.txt. The developed scotoma (Form 2) lives in the article body the LLM reads at{{ARTICLE_URL}}— the frame names it; the body elaborates it.
| Frame | Register | Note |
|---|---|---|
{slug}_grok | peer / first-principles | blunt; find the load-bearing claim and test it |
{slug}_claude | pressure-test | engage the framework's claims; steelman the counter (default steelman carrier) |
{slug}_chatgpt | scaffolded | "read both sources first, then respond as…" |
{slug}_perplexity | verify | framed as a research question; fetch + cite |
{slug}_gemini | inline-fed | paste the key passage inline; weakest fetcher |
The five frames are authored once (by Grok_Build or a writer) and refined over time — a "Prism frame set," analogous to Picasso's Learned Heuristics. No per-article LLM judgment required.
§3 — The Gate Tab (UI)
A gate surface like Syd's proof form. When the article reaches shares_pending:
- Show the five assembled prompts (frame + slots), each with a copy button and its slug label.
- You run the five conversations in your five LLM accounts (uploading the draft cards/content — your current practice; the live URL isn't required yet).
- Paste each share URL into its named slot (
{slug}_grok←grok.com/share/…, etc.). Five labeled fields; zero "which URL goes where" ambiguity because each is bound to its frame. - Continue — fires the Short.io worker (§4) and advances the state.
§4 — The Short.io Worker
On Continue, one pass, no flip:
``` for each of the five {slug}_<llm>: POST https://api.short.io/links domain: initium.scotomaville.com path: {slug}_<llm> originalURL: <pasted share URL> allowDuplicates: false
409 (exists) → POST /links/{id} to update originalURL
```
- Private API key, server-side, from env (never in source).
- Idempotent: re-running updates rather than duplicates.
- Optional capture-back to Codex: fetch each public share URL and file it to the KB, closing the loop to the first stage (the responses re-enter the corpus the scribe maintains).
§5 — State Machine Insertion (`syn_pipeline.py`)
`` … images_approved → shares_pending → shares_minted → assembled (Codey) → … ↑ Prism gate opens ↑ Continue fires worker ``
shares_pendingset when Picasso's gate (images_approved) completes.shares_mintedset by the Continue action after the five slugs mint successfully.- Codey's
assembleconsumesshares_minted(slugs exist → embed live links). - Edge case: if Syd later forces a body re-work back to Arnie, the captured conversations reference a near-final body; minor metadata/hook edits at Syd do not invalidate them (the threads engage the scotoma/ideas, not verbatim text). Only a full body rewrite warrants re-capture.
§6 — Dashboard
- Add a 10th rail bar SEED between IMAGES and HTML.
- Gate pause point at SEED: the article waits here for you to run the five conversations and hit Continue. Idle-time and in-flight counters include it.
- Agent sidebar unchanged (9). Stage rail = 10.
BUILD HANDOFF
— for Grok_Build
- Not a Hermes agent. No SOUL load, no model binding, no
build_agent_augmentationbranch. Prism is a worker module + a gate route + a dashboard bar. - Frames: store the five as templates (e.g.
templates/prism/{llm}_frame.md) with{{ARTICLE_URL}},{{TITLE}},{{SCOTOMA}},{{SLUG}}placeholders. Author the five once. - Gate route (app.py): a tab UI + a
POST /api/pipeline/{slug}/prism-captureroute taking the five pasted share URLs; on submit, call the Short.io worker and set stateshares_minted. Mirror Syd's proof-form route pattern. - Worker: Short.io mint/update per §4;
SHORTIO_API_KEYfrom env; idempotent. - State hook (
syn_pipeline.py): insertshares_pending → shares_mintedbetweenimages_approvedandassembled; gate Codey's assemble onshares_minted. - Slug source: slugs are deterministic from the Forrest-fixed
slug({slug}_grok…) — known long before this stage; no new identity logic.
Open loops for the Steward
- Confirm gate name/number: Gate 2 — Silicon Seeding (bumps Codey→Gate 3, Syd→Gate 4) vs keeping Picasso/Codey/Syd numbering and inserting "Gate 1.5".
- Approve the five frame registers (§2 table) before Grok_Build authors them.
- Capture-back to Codex (§4) — on or off for v1?
- Confirm Short.io domain for the seeds (
initium.scotomaville.comper existing509_/salt_cave_silicon_slugs).
Authentication: Axial Refinement Sherpa · MA5 Council