Releases: Ronkupper/PRISM
PRISM v2.14.0
MINOR over v2.13.0 — the output-discipline rev. Broadens SP-16 — The Elephant Rule to the uninvited-frame family, adds SP-17–SP-20, gives the Execution Self-check a mechanical step 6, and introduces the Independent Validation Dispatch (§4.14).
SP-16 broadened (§10.1.7). Framing is a targeting decision. A sentence may invoke an adverse frame — by denying it, defending against it, or conceding it — only when that frame is live. Three lettered clauses: (a) negations — the shipped rule, plus a self-bounding-verb fast path ("shrink" already bounds the claim, so "…they don't eliminate it" is uncalled-for by default) and a worst-case-section exception (where the explicit job is worst-case assessment, the extreme is a called question); (b) defensive intensifiers — "real", "actual", "truly" imply a doubt nobody raised: "public companies with real reported revenue" becomes "public companies with disclosed revenue"; (c) temporal hedges — "for now", "currently" concede a trajectory the evidence never put on the table.
Four new Standing Principles (§10.1.8–§10.1.11).
- SP-17 — Plain words first
[✅]: compression that costs comprehension is a defect with the same standing as an arithmetic defect. "Sellable-country discipline intact" becomes "the approved-country list stays tightly controlled." - SP-18 — It must recompute
[🚫]: every stated relationship re-derives exactly from the document's own content — (a) arithmetic ("the midpoint" of 105 and 130 is 117.5, never a silent 115), (b) structure (enumeration intros track their lists; repeated structures verify as a set), (c) citation-claim congruence (same noun, same metric as the source). - SP-19 — Claims carry their basis
[🚫]: hint-don't-assert under uncertainty; method-not-target front matter; mixed-basis ratios labeled at point of use. - SP-20 — Editions stand alone
[🚫]: deliverable editions are fully self-contained — the choice between them belongs to the presenter, invisibly. ("Edition" is the framework term; "variant" stays reserved for dispatch variants.)
Execution Self-check (§3.2.2 and Appendix E.2). Step 5 broadens to the full family — negations, intensifiers, hedges, fast path included. New step 6 is the SP-18 recompute gate: recompute arithmetic, re-count enumerations, verify repeated structures as a set, re-read sourced claims for noun-and-metric congruence. Steps 5–6 fire before the Output is emitted. Judgment-class principles (SP-17/19/20) enforce via the validation dispatch and lenses, with no Self-check step.
Independent Validation Dispatch (§4.14, template Appendix E.13). After substantial deliverable work, a very short prompt goes to a fresh session whose only context is the deliverable, plus cross-consistency materials when in scope. Axes: logic, defensibility, internal consistency, consistency against attached materials, readability, quality. The independence rule is the point: author rationale, structure notes, and known-weak-spots stay out — a validator told where to look confirms the author's map; a validator given only the artifact draws its own. Posture epistemic, shape limitation-named with the producing session as the named limitation; never a triangulation seat. Default lens kit: LL-D-019/020/021 plus an SP-18-style recompute sweep.
Lens Library v0.15. LL-D-019 "Who said otherwise?" broadens to the family; new Pack 1 lenses LL-D-020 "Help or ammunition?" and LL-D-021 "Does a stranger follow?". 24 → 26 entries. Standalone release: https://github.com/Ronkupper/PRISM/releases/tag/prism-lens-v0.15.
Roster wiring. §2.1 construct roster (+4 SPs, +1 mechanism), §2.3 SP table and §10.2 catalog (+4 rows each; SP-16 gloss now reads "uninvited-frame discipline"), §16 calibration item 9, Appendix C.2, both glossary rows, the Supersedes paragraph, and a frontmatter supersedes-pointer correction (2.12.2 → 2.13.0, fixing a shipped v2.13.0 metadata bug).
Unchanged. Monitor, Probe, and Gate semantics carry over; the lint catalog stays at v4 (0 errors, 54-info baseline); the §2.2 ASCII visual map carries over from v2.13.0 untouched. Skill archive regenerated via the deterministic projection; plugin.json at 2.14.0. Snapshot PRISM_v2_14_0.md is byte-identical to PRISM.md at this tag.
Calibration ask (§16 item 9). On your next run: intensifier and hedge false-flag rates on legitimate usage, the step-6 recompute catch rate, validation-dispatch yield (findings per run the producing session had passed), and LL-D-020/021 fire rates. These calibrate family strictness and dispatch cadence.
PRISM v2.13.0
MINOR over v2.12.3. Codifies SP-16 — The Elephant Rule (§10.1.7, [methodological | stable | 🚫]): negation as a targeting decision.
The principle. A sentence may negate only a live alternative — a belief the reader demonstrably brings (a common prior, a named risk) or an inference the document's own numbers invite. Every other negation plants the accusation it denies: the reader leaves carrying the frame, the author reads as defensive, and the text implies a critic nobody heard from. The test, run on every negation: would a cold reader plausibly arrive believing Y, or derive Y from the document itself? Yes → called-for; keep, and record which live alternative it negates. No → uncalled-for; rewrite positively without referencing Y at all.
Example, called-for: "The limit is export permission, not customer demand" — both hypotheses are live and the contrast names the binding constraint. Example, uncalled-for: a heading "Why it's a real market, not a hyped one" — nobody alleged hype — becomes "What anchors the $2.0 billion."
Wired into two places:
- Execution Self-check step 5 (§3.2.2 and Appendix E.2) — an output gate that fires before the Output is emitted: enumerate every negation, tag each called-for (naming the live alternative) or uncalled-for (rewrite before release). Headings, titles, and opening sentences get the strictest scrutiny — they set frames the rest of the document inherits. Uncalled-for negations are rewritten, never annotated.
- Lens Library LL-D-019 — "Who said otherwise?" (Pack 1) — the audit-side twin for reviewing existing documents. Embedded Appendix G advances to v0.14 (23 → 24 entries); the standalone Library ships at https://github.com/Ronkupper/PRISM/releases/tag/prism-lens-v0.14.
Roster wiring. §2.1 construct roster, §2.3 SP table, §10.2 catalog (new-in-v2.13.0 row), §16 calibration item 8, and both glossary rows updated.
Unchanged. No Monitor, Probe, or Gate semantics changed; the lint catalog stays at v4; the §2.2 ASCII visual map carries over from v2.12.3 untouched. Skill archive regenerated via the deterministic projection; plugin.json at 2.13.0. Snapshot PRISM_v2_13_0.md is byte-identical to PRISM.md at this tag.
Calibration ask (§16 item 8). On your next run: how many negations did step 5 tag, what fraction were false flags, and did LL-D-019 fire on anything a human reviewer had already passed? Signal-to-noise here decides whether the gate stays this strict.
PRISM v2.12.3
PATCH over v2.12.2 — converts the §2.2 visual map to pure-ASCII drawing characters. No framework-body mechanic change.
Why a second rendering fix
v2.12.2 aligned every line of the map to a fixed character count, but field testing on the GitHub mobile app showed the map still drawing crooked. Root cause: Unicode box-drawing and arrow glyphs (─ │ ┌ ▼ ► and friends) are missing from many mobile monospace fonts and get substituted from wider fallback faces — so two lines with identical character counts render at different physical widths whenever their box-glyph counts differ. Character alignment cannot fix a per-glyph advance mismatch.
The fix
The map now uses printable ASCII only — +, -, |, v, -> — which every font renders at uniform advance. Geometry, 72-column width, and content are otherwise unchanged. The block is machine-verified: ASCII-only, uniform width, outer border pierces and interior sub-box rails all column-true.
The map still pans horizontally on a phone at 72 columns; a narrower phone-width rebuild remains under consideration as a follow-up.
Unchanged
No Standing Principle, Monitor, Probe, Gate, or section semantics changed. Embedded Lens Library stays v0.13; lint catalog stays v4. The Skill archive (plugins/prism/) was regenerated from PRISM.md via the deterministic projection.
Version-pinned snapshot at this tag: PRISM_v2_12_3.md (byte-identical to PRISM.md).
PRISM v2.12.2
PATCH over v2.12.1 — repairs the rendering of the §2.2 visual map. No framework-body mechanic change.
What was wrong
The ASCII map's outer right border drifted across four different columns (lines ran 70–73 chars wide), the exterior connector rail under the execution box sat one column off the ┬ border piece it descends from, and one line carried an emoji that renders double-width on most fonts. Together these garbled the diagram in strict monospace renderers — most visibly in the GitHub mobile app, where the right border appeared as scattered fragments.
What's fixed
Every box line now closes at a single fixed column (width 72), connector rails align exactly with the border pieces they pierce, and the in-diagram band reference is plain text instead of an emoji. The repaired block is machine-verified: uniform width, rail alignment, and no double-width glyphs.
Note: at 72 columns the map still pans horizontally on a phone — a narrower mobile-first rebuild is under consideration as a follow-up.
Unchanged
No Standing Principle, Monitor, Probe, Gate, or section semantics changed. Embedded Lens Library stays v0.13; lint catalog stays v4. The Skill archive (plugins/prism/) was regenerated from PRISM.md via the deterministic projection.
Version-pinned snapshot at this tag: PRISM_v2_12_2.md (byte-identical to PRISM.md).
PRISM Lens Library v0.15
One lens broadened, two added (Pack 1: Using the product). Catalog grows 24 → 26 entries.
Release: https://github.com/Ronkupper/PRISM/releases/tag/v2.14.0 (paired framework release)
LL-D-019 — "Who said otherwise?" (amended). Broadens from negations alone to the uninvited-frame family: negations, defensive intensifiers ("real", "actual", "truly"), and temporal hedges ("for now", "currently"). Each is tagged against the live-alternative test — does it answer a belief the reader demonstrably brings, or plant a doubt nobody raised? Two refinements ride along: a self-bounding-verb fast path (a verb like "shrink" already bounds the claim, so a trailing denial of the unbounded case is uncalled-for by default) and a worst-case-section exception (where the section's explicit job is "how bad can it get?", the extreme is a called question).
LL-D-020 — "Help or ammunition?" (new). A per-sentence triple audit read as the document's named expert audience — analyst, quant, banker: does the sentence (1) make sense, (2) read clearly, (3) land as positive or at least defensible for the subject? The pass recomputes any arithmetic the sentence implies under a hostile-but-fair posture; a sentence that is true and clear can still hand a hostile expert ammunition. Specialist: named-audience expert reviewer. Evidence class: document. Informed by: hostile-review / red-team editorial practice, equity-research and credit-memo review conventions, and the plain-language tradition.
LL-D-021 — "Does a stranger follow?" (new). A cold-reader pass: every referent resolves on the page — third-party claims attributed ("the often-quoted figure" — quoted where, by whom?), acronyms defined at first use, insider jargon expanded, and every premise the document's logic depends on stated rather than assumed. Headings and openers audited first. Specialist: cold reader / new-to-file editor. Evidence class: document. Informed by: technical-writing cold-read practice, curse-of-knowledge research, and the plain-language tradition.
Pairing. The framework side ships as the broadened SP-16 family plus SP-17–SP-20 and Self-check steps 5–6; these lenses are the audit-side twins for documents that already exist, and the default kit of the new Independent Validation Dispatch (§4.14).
Unchanged. The other 23 entries are untouched; the entry schema and pack structure carry over from v0.14.
Snapshot: lens/PRISM_lens_library_v0_15.md (byte-identical to the canonical file at this tag).
PRISM Lens Library v0.14
Adds LL-D-019 — "Who said otherwise?", the negation-audit lens (Pack 1: Using the product). Catalog grows 23 → 24 entries.
Release: https://github.com/Ronkupper/PRISM/releases/tag/v2.13.0 (paired framework release)
What it does. Applied to an existing document, the lens enumerates every negation ("not Y", "X, not Y", "rather than Y", "no Y") and runs each against the live-alternative test: would a cold reader plausibly arrive believing Y, or derive Y from the document's own numbers? A negation that passes carries information — it names the binding constraint or pre-empts a real misread. A negation that fails plants the accusation it denies: the reader leaves carrying the frame, the author reads as defensive, and the text implies a critic nobody heard from. Findings: keep (and record the live alternative) or rewrite positively.
Specialist posture: communications editor / framing reviewer. Evidence class: document. Informed by: Lakoff's Don't Think of an Elephant!, misinformation-correction research, and the plain-language editorial tradition.
Pairing. The same rule ships in the framework as SP-16 (The Elephant Rule) with a Self-check step-5 output gate — SP-16 governs documents PRISM produces; LL-D-019 audits documents that already exist.
Unchanged. The other 23 entries are untouched; the entry schema and pack structure carry over from v0.13.
Snapshot: lens/PRISM_lens_library_v0_14.md (byte-identical to the canonical file at this tag).
PRISM v2.12.1
PATCH over v2.12.0 — documentation-consistency fixes. No framework-body mechanic change.
What's fixed
- SP-15 joins the §2 system map. SP-15 (Triangulation integrity) has been in the framework since v2.1.1 — with its own §10.1.6 section and references throughout the body — but the §2.1 construct list and the §2.3 Standing-Principles table never picked it up. The map now matches the body.
- SP-11 gap explained. The §10.2 per-SP disposition catalog now records that SP-11 was never assigned in v1.x or v2; the principle series continues at SP-12. Readers no longer need to hunt for a principle that doesn't exist.
- §18.1 release-date stamp corrected. The project-identity block carried a stale date from the v2.11.x cycle.
- README backlog links fixed. Two links pointed at the superseded
PRISM_backlog_v13.md; they now point atPRISM_backlog_v14.md.
Unchanged
No Standing Principle, Monitor, Probe, Gate, or section semantics changed. Embedded Lens Library stays v0.13; lint catalog stays v4. The Skill archive (plugins/prism/) was regenerated from PRISM.md via the deterministic projection.
Version-pinned snapshot at this tag: PRISM_v2_12_1.md (byte-identical to PRISM.md).
PRISM v2.12.0
PRISM v2.12.0 adds a second Skill command: /prism-whats-next.
What's new
/prism-whats-next resumes a PRISM engagement from the Master's What's next artifact — the companion to /prism-start (start vs. resume). It locates the Master, runs the SP-13 substrate self-check + M1 (Missing Inputs) / M2 (Version Drift), and proceeds from the predicted next action. If no Master is found it runs SP-1 / missing-handoff recovery rather than regenerating from memory.
Scope
A new plugin slash-command — additive, no framework-body change. No Standing Principle, Monitor, Probe, or section changed; the embedded Lens Library stays v0.13 and the lint catalog stays v4. Asking "What's next?" in plain language is equivalent and remains the portable form on every vendor.
Use it
On Claude / Claude Code, after installing or updating the Skill:
/prism-start <subject> # begin an engagement
/prism-whats-next # resume from the Master's What's next
Confirmed on Claude / Claude Code; end-to-end firing in Cowork is still report-worthy.
Snapshot PRISM_v2_12_0.md is byte-identical to PRISM.md at this tag.
PRISM v2.11.1
PRISM v2.11.1 renames the Skill slash-command to /prism-start.
What changed
The command added in v2.11.0 is now /prism-start <subject> (was /prism:start). Plugin commands surface in the slash menu by their bare filename — not auto-namespaced as plugin:command — so the prior name appeared as a bare /start and read as orphaned next to other plugins' commands (observed in Cowork and Claude Code). Baking the prefix into the filename makes it self-identifying.
Scope
Invocation-surface fix only — no framework-body change. No Standing Principle, Monitor, Probe, or section moved; the embedded Lens Library stays v0.13 and the lint catalog stays v4. The natural-language invocation ("Run a PRISM audit on …") is unchanged and remains the portable form on every vendor.
Use it
On Claude / Claude Code, after installing or updating the Skill:
/prism-start <your subject>
Confirmed on Claude / Claude Code; end-to-end firing in Cowork is still report-worthy.
Snapshot PRISM_v2_11_1.md is byte-identical to PRISM.md at this tag.
PRISM v2.11.0
Superseded by v2.11.1: the command is now
/prism-start(renamed from/prism:start). Plugin commands surface in the slash menu by their bare filename, notplugin:command, so the original showed as a bare/startand read as orphaned; v2.11.1 bakes the prefix into the name. The notes below describe v2.11.0 as originally shipped.
PRISM v2.11.0 adds an explicit Skill slash-command invocation path.
What's new
On Claude, /prism:start <subject> activates PRISM and begins Setup — the seven probes P1–P7 — for the subject you pass. Type /prism in the slash menu to discover it. With no subject, it asks for one; with an existing Master attached, it surfaces your subject against that engagement's What's next rather than silently restarting Setup.
Why this is a MINOR, not a framework change
The command is a packaging and invocation affordance — a plugin slash-command (plugins/prism/commands/start.md) — not a framework-body mechanic. No Standing Principle, Monitor, Probe, Gate, or section changed; the embedded Lens Library stays v0.13 and the lint catalog stays v4. The natural-language invocation ("Run a PRISM audit on …") is unchanged and remains the portable form on every other vendor.
Support
Confirmed on Claude / Claude Code. Plugin-defined slash-commands are untested in Cowork — if you run PRISM there, please report whether /prism:start registers and fires (Discussions → Q&A or Show-and-tell).
Install / upgrade
/plugin marketplace add Ronkupper/PRISM
/plugin install prism@prism
Already installed? Update the plugin to pick up the command.
The version-pinned snapshot PRISM_v2_11_0.md is byte-identical to PRISM.md at this tag.