diff --git a/CITATION.cff b/CITATION.cff
index cf266e2..8412ead 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -24,8 +24,8 @@ authors:
repository-code: "https://github.com/Ronkupper/PRISM"
url: "https://github.com/Ronkupper/PRISM"
license: CC-BY-4.0
-version: "2.1.1"
-date-released: "2026-05-23"
+version: "2.2.0"
+date-released: "2026-05-30"
keywords:
- llm
- prompt-engineering
diff --git a/PRISM.md b/PRISM.md
index 9447c38..b164174 100644
--- a/PRISM.md
+++ b/PRISM.md
@@ -1,12 +1,12 @@
---
# Skill metadata (consumed by Claude.ai skill loader)
name: prism
-description: "PRISM โ structured multi-session, multi-vendor LLM-orchestrated audit and research framework. Currently v2.1.1. Trigger this skill whenever the user invokes PRISM mechanics by name or by recognizable construct: PRISM, PRISM audit, PRISM v2, begin a PRISM audit, Master file, any filename matching *_master_p*.md or *_starter_v*.md (v1.x), Prompt Strategy, Lens Library, Vendor Selection, Vendor Triangulation, Setup probes or any of P1-P7 by number, Monitor M* or any of M1-M12 by number, Standing Principle SP-*, Execution Envelope, Execution Self-check, Execution Output, Dispatch register, Dispatch shape (equivalence/split/limitation-named), the What is next artifact, context band or ๐ข๐ก๐ ๐ด, migration handoff, P0/P1 boundary, three-layer readiness, Claude Project recommendation, Update session, point refresh, Setup artifacts (Decision brief / Stakeholder register / Claim inventory / Jurisdiction map). Also trigger when the user attaches a Master file or a Lens Library file. Read this file in full at the start of any PRISM session before doing any work."
+description: "PRISM โ structured multi-session, multi-vendor LLM-orchestrated audit and research framework. Currently v2.2.0. Trigger this skill whenever the user invokes PRISM mechanics by name or by recognizable construct: PRISM, PRISM audit, PRISM v2, begin a PRISM audit, Master file, any filename matching *_master_p*.md or *_starter_v*.md (v1.x), Prompt Strategy, Lens Library, Vendor Selection, Vendor Triangulation, Setup probes or any of P1-P7 by number, Monitor M* or any of M1-M12 by number, Standing Principle SP-*, Execution Envelope, Execution Self-check, Execution Output, Dispatch register, Dispatch shape (equivalence/split/limitation-named), the What is next artifact, context band or ๐ข๐ก๐ ๐ด, migration handoff, P0/P1 boundary, three-layer readiness, Claude Project recommendation, Update session, point refresh, Setup artifacts (Decision brief / Stakeholder register / Claim inventory / Jurisdiction map). Also trigger when the user attaches a Master file or a Lens Library file. Read this file in full at the start of any PRISM session before doing any work."
# Framework metadata (consumed by PRISM maintenance tooling)
-version: 2.1.1
-released: 2026-05-23
-supersedes: 2.1.0
+version: 2.2.0
+released: 2026-05-30
+supersedes: 2.1.1
lens_library_embedded: "0.10"
substrate_target: [claude-opus-4-6, claude-opus-4-7]
normativity:
@@ -17,11 +17,11 @@ normativity:
lint_catalog_version: 1
---
-# PRISM v2.1.1 โ Framework operating document
+# PRISM v2.2.0 โ Framework operating document
-**Status:** v2.1.1 release. Canonical framework for Claude orchestration sessions.
+**Status:** v2.2.0 release. Canonical framework for Claude orchestration sessions.
**Date:** May 2026
-**Supersedes:** PRISM v2.1.0 (PATCH release: codifies triangulation integrity as SP-15; tightens ยง{section.what-v2-1-1-covers} framing prose to remove a read-prone summary line that compressed-attention readers misread as Claude-exclusion; rewrites the Prompt-digest field semantics in ยง{section.prism-execution-output} to lead with purpose, and inverts the Envelope-template token in ยง{section.prism-execution-envelope} to name the never-recomputed semantics explicitly). PRISM v1.10.4 is terminal on the v1.x line (pinned per DD ยง{section.standing-principles-introduced-or-extended-in-v2}).
+**Supersedes:** PRISM v2.1.1 (MINOR release: Pattern B Phase B2 โ retroactively applies strength ร polarity normativity markers to all legacy Standing Principle, Monitor, and Probe headings; purely additive metadata, no behavior change). PRISM v1.10.4 is terminal on the v1.x line (pinned per DD ยง{section.standing-principles-introduced-or-extended-in-v2}).
**Required attachments at every orchestration session:** this file (or the
PRISM v2 Skill that loads it) and the project's Master. This file embeds
Lens Library v0.10 in Appendix G; a singleton PRISM.md attachment is
@@ -80,8 +80,8 @@ Reading order for an operator returning to v2.0 after running a session:
## 1. Scope
-### 1.1 What v2.1.1 covers `[structural | stable]`
-
+### 1.1 What v2.2.0 covers `[structural | stable]`
+
PRISM v2.0 is a structured multi-session, multi-vendor LLM-orchestrated audit
and research framework. v2.0 covers:
@@ -119,8 +119,8 @@ and research framework. v2.0 covers:
- **Atomic prompt template v2 form** โ wraps the triple contract around the
prompt body (ยง{section.atomic-prompt-template-v2-form}).
-### 1.2 What v2.1.1 does not cover
-
+### 1.2 What v2.2.0 does not cover
+
- **Re-debating direction.** v2.0 implements the spec; the spec implements
the design document. Direction is settled. New direction goes through a
@@ -1688,7 +1688,7 @@ findings, not draft strategy. Result Completeness Check (ยง{monitor.M12}, ยง{sec
a convergence-time monitor. Single-responsibility discipline: probes are
Setup-time grading constructs only.
-#### 6.3.1 Probe 1 โ Coverage grading (iterates) `[structural | stable]`
+#### 6.3.1 Probe 1 โ Coverage grading (iterates) `[structural | stable | โ
]`
Grade the draft strategy against the Lens Library v0.9. Universal lenses
@@ -1741,7 +1741,7 @@ Saturation flag: not-yet (3 changes from P0.2)
only on genuine ambiguity (*fires-maybe* requiring dig-in vs. opt-out
decision). Empirical calibration deferred โ see ยง{section.empirical-calibration-items}.
-#### 6.3.2 Probe 2 โ Adversarial Scope (iterates) `[structural | stable]`
+#### 6.3.2 Probe 2 โ Adversarial Scope (iterates) `[structural | stable | โ
]`
Hunt for silent omissions and under-scoped treatments in the draft Prompt
@@ -1761,7 +1761,7 @@ the same as cross-vendor finding reconciliation.
address. Operator reviews; orchestration converts surviving candidates
into Lens references or new prompt additions in the next iteration.
-#### 6.3.3 Probe 3 โ Decision Framing (once)
+#### 6.3.3 Probe 3 โ Decision Framing (once) `[structural | stable | โ
]`
Does the strategy answer what the stakeholder actually needs to decide?
@@ -1769,7 +1769,7 @@ Does the strategy answer what the stakeholder actually needs to decide?
Outputs the Decision brief and Stakeholder register Setup artifacts
(ยง{section.decision-brief}, ยง{section.stakeholder-register}).
-#### 6.3.4 Probe 4 โ Pre-mortem (iterates)
+#### 6.3.4 Probe 4 โ Pre-mortem (iterates) `[structural | stable | โ
]`
Imagine execution completes. How would the finding fail to answer the
@@ -1778,7 +1778,7 @@ original question?
**Output.** A list of pre-mortem failure modes; each surviving mode either
becomes a new probe in the strategy or is dismissed with rationale.
-#### 6.3.5 Probe 5 โ Falsifier (once)
+#### 6.3.5 Probe 5 โ Falsifier (once) `[structural | stable | โ
]`
What findings would invalidate the thesis?
@@ -1787,7 +1787,7 @@ What findings would invalidate the thesis?
that, if observed, would refute the thesis. These become explicit
success/failure criteria for Layer 2 synthesis.
-#### 6.3.6 Probe 6 โ Domain Reconnaissance (iterates early)
+#### 6.3.6 Probe 6 โ Domain Reconnaissance (iterates early) `[structural | stable | โ
]`
What do practitioners, researchers, and serious analysts of this domain
@@ -1811,7 +1811,7 @@ domain-specific literature.
Outputs the Jurisdiction map Setup artifact (ยง{section.jurisdiction-map}).
-#### 6.3.7 Probe 7 โ User Voice (iterates early) `[structural | stable]`
+#### 6.3.7 Probe 7 โ User Voice (iterates early) `[structural | stable | โ
]`
Imports real end-user / customer / affected-user perspectives into Setup.
@@ -2289,7 +2289,7 @@ inline expansion per ยง{section.atomic-prompt-self-containment}.
### 9.1 Standalone monitors (M1, M2, M4, M5, M9)
-#### 9.1.1 M1 โ Missing Inputs `[structural | stable]`
+#### 9.1.1 M1 โ Missing Inputs `[structural | stable | โ ๏ธ]`
- **Trigger.** Every orchestration session-open and turn-close.
@@ -2302,7 +2302,7 @@ inline expansion per ยง{section.atomic-prompt-self-containment}.
- **Resolution.** Halt until attachments provided; or operator confirms
intentional absence.
-#### 9.1.2 M2 โ Version Drift `[structural | stable]`
+#### 9.1.2 M2 โ Version Drift `[structural | stable | โ ๏ธ]`
- **Trigger.** Every orchestration session-open. Compares attached
@@ -2328,7 +2328,7 @@ unlikely *by construction* but not impossible. Residual failure modes:
- Cross-device syncing serves a previous version.
- Multiple Masters from forked sessions (anti-pattern but not impossible).
-#### 9.1.3 M4 โ Ambiguous Ask `[methodological | stable]`
+#### 9.1.3 M4 โ Ambiguous Ask `[methodological | stable | โ ๏ธ]`
- **Trigger.** Every orchestration turn that processes operator input.
@@ -2342,7 +2342,7 @@ unlikely *by construction* but not impossible. Residual failure modes:
- **No execution mirror.** Execution sessions receive pre-resolved
dispatched prompts; M4 is orchestration-only.
-#### 9.1.4 M5 โ Context Pressure
+#### 9.1.4 M5 โ Context Pressure `[structural | stable]`
Spec per ยง{section.m5-context-pressure-monitor}.
@@ -2369,7 +2369,7 @@ Spec per ยง{section.m5-context-pressure-monitor}.
Fire during Layer-1 integration of new findings into the Master. Can chain
to M10.
-#### 9.2.1 M6 โ Premise Shift `[structural | stable]`
+#### 9.2.1 M6 โ Premise Shift `[structural | stable | โ ๏ธ]`
- **Trigger.** Layer-1 convergence โ new finding ingested.
@@ -2383,7 +2383,7 @@ to M10.
sections. v2 M6 reads premises from Setup artifacts. Surface broadened;
name unchanged because face value still describes the work.
-#### 9.2.2 M7 โ Claim Conflict `[structural | stable]`
+#### 9.2.2 M7 โ Claim Conflict `[structural | stable | โ ๏ธ]`
- **Trigger.** Layer-1 convergence โ new finding ingested.
@@ -2398,7 +2398,7 @@ to M10.
Assumption Register; M7 reads finding-vs-finding directly. Renamed to
match the actual surface.
-#### 9.2.3 M8 โ Stale Source `[structural | stable]`
+#### 9.2.3 M8 โ Stale Source `[structural | stable | โ ๏ธ]`
- **Trigger.** Layer-1 convergence โ orchestration ingesting findings from
@@ -2433,7 +2433,7 @@ scope*. Different artifacts, different lifecycles, different resolutions.
| **M8** | Cited evidence sources in returned findings | Per finding, at Layer-1 convergence | Re-dispatch with current sources |
| **ยง{section.currency-maintenance-point-refresh} point-refresh** | Lens Library entry's `rubric_anchor:` / `informed_by:` | Per Setup probe iteration | Inline refresh in Prompt Strategy; advisory signal toward Update session |
-#### 9.2.4 M12 โ Result Completeness Check `[structural | stable]`
+#### 9.2.4 M12 โ Result Completeness Check `[structural | stable | โ ๏ธ]`
- **Trigger.** Layer-1 convergence โ new finding ingested.
@@ -2466,7 +2466,7 @@ scope*. Different artifacts, different lifecycles, different resolutions.
Feed the priority-ranked candidate list at each orchestration turn-close.
-#### 9.3.1 M3 โ Sequence Violation `[structural | stable]`
+#### 9.3.1 M3 โ Sequence Violation `[structural | stable | โ ๏ธ]`
- **Trigger.** Operator declaration or strategy state.
@@ -2480,7 +2480,7 @@ Feed the priority-ranked candidate list at each orchestration turn-close.
intentionally skipped, or accept the out-of-order sequence with
documented rationale.
-#### 9.3.2 M10 โ Rerun / Fix Required `[structural | stable]`
+#### 9.3.2 M10 โ Rerun / Fix Required `[structural | stable | โ ๏ธ]`
- **Trigger.** Triggered by chain from M6 / M7 / M8 / M12 HIGH; or by
@@ -2501,7 +2501,7 @@ Feed the priority-ranked candidate list at each orchestration turn-close.
- **Surfaces in *What's next*.** Overdue Rerun Register items rank at
priority tier 3 per ยง{section.whats-next}.
-#### 9.3.3 M11 โ Layer 2 Readiness `[structural | stable]`
+#### 9.3.3 M11 โ Layer 2 Readiness `[structural | stable | โ
]`
- **Trigger.** Every orchestration turn-close.
@@ -2544,7 +2544,7 @@ mechanics evolve.
### 10.1 Standing Principles introduced or extended in v2
-#### 10.1.1 SP-1 extended โ Canonicity preservation `[operator-scaffolding | stable]`
+#### 10.1.1 SP-1 extended โ Canonicity preservation `[operator-scaffolding | stable | ๐ซ]`
- v1.x's SP-1 forbade silently reconstructing missing files from memory.
@@ -2558,7 +2558,7 @@ mechanics evolve.
- Never frame regeneration as "deterministic" or "low-cost" unless it
genuinely is.
-#### 10.1.2 SP-12 โ Bounded-Search Disclosure `[operator-scaffolding | stable]`
+#### 10.1.2 SP-12 โ Bounded-Search Disclosure `[operator-scaffolding | stable | โ
]`
- When orchestration answers on the basis of a bounded retrieval, the
@@ -2578,7 +2578,7 @@ mechanics evolve.
confirm before I conclude.
```
-#### 10.1.3 SP-13 โ Substrate Declaration `[operator-scaffolding | stable]`
+#### 10.1.3 SP-13 โ Substrate Declaration `[operator-scaffolding | stable | โ ๏ธ]`
- PRISM-loaded sessions verify substrate against declared target before
@@ -2602,7 +2602,7 @@ SP-13 verification:
[If no or cannot-determine: halt; ask operator.]
```
-#### 10.1.4 SP-10 โ Verify state before recommending `[operator-scaffolding | stable]`
+#### 10.1.4 SP-10 โ Verify state before recommending `[operator-scaffolding | stable | โ
]`
Carries forward from v1.10.4 as a named principle. The principle's
@@ -2625,7 +2625,7 @@ re-deriving it.
- Budget discipline: verification searches return substantial context;
only trigger on fast-moving state, not on stable defaults.
-#### 10.1.5 SP-14 โ Filename Discipline `[operator-scaffolding | stable]`
+#### 10.1.5 SP-14 โ Filename Discipline `[operator-scaffolding | stable | โ
]`
Extracted from v1.x SP-8 (which bundled two concerns under one number).
@@ -2702,7 +2702,7 @@ Per-SP disposition explicit:
| SP-14 | Filename Discipline | New in v2 (extracted from SP-8) | See ยง{section.sp-14-filename-discipline} |
| SP-15 | Triangulation integrity | New in v2.1.1 | See ยง{section.sp-15-triangulation-integrity} |
-#### 10.2.1 SP-8 narrowed โ Canonical Authority `[operator-scaffolding | stable]`
+#### 10.2.1 SP-8 narrowed โ Canonical Authority `[operator-scaffolding | stable | โ
]`
After the v2 split, SP-8 carries one concern:
@@ -3468,7 +3468,7 @@ indexes decisions by tag for easy review.
### C.1 `[structural | stable]`
-ยง{section.what-v2-1-1-covers} (scope), ยง{section.three-leg-constraint} (three-leg constraint), ยง{section.two-session-types} (two session types),
+ยง{section.what-v2-2-0-covers} (scope), ยง{section.three-leg-constraint} (three-leg constraint), ยง{section.two-session-types} (two session types),
ยง{section.the-triple-contract} (triple contract), ยง{section.the-master} (Master), ยง{section.whats-next} (*What's next*), ยง{section.forward-compatibility-commitments}
(forward-compatibility commitments), ยง{section.single-envelope-with-spectrum-shape} (single-Envelope-with-
spectrum), ยง{section.vendor-triangulation} (Vendor Triangulation), ยง{section.asymmetric-parallel-return-handling} (asymmetric returns), ยง{section.recommended-vs-executed-reconciliation}
@@ -3944,7 +3944,7 @@ Falsifiers: [list โ findings that would refute the thesis]
Each Standing Principle stated in full, in canonical order.
-### SP-1 (extended) โ Canonicity preservation
+### SP-1 (extended) โ Canonicity preservation `[operator-scaffolding | stable | ๐ซ]`
`[operator-scaffolding | stable]`
@@ -3964,7 +3964,7 @@ Order of operations when a canonical artifact is missing:
Never frame regeneration as "deterministic" or "low-cost" unless it
genuinely is. Cross-ref: ยง{section.sp-1-extended-canonicity-preservation}, ยง{section.missing-handoff-recovery}.
-### SP-2 โ Defer non-critical fixes to natural touchpoint
+### SP-2 โ Defer non-critical fixes to natural touchpoint `[operator-scaffolding | stable | โ ๏ธ]`
`[methodological | stable]` *(carryforward from v1.10.4)*
@@ -3973,7 +3973,7 @@ Non-critical issues queue against priority tiers in *What's next*; fix
at the next aligned step rather than mid-flight. M10 (Rerun) fires when
no natural touchpoint exists.
-### SP-3 โ DISSOLVED in v2
+### SP-3 โ DISSOLVED in v2 `[operator-scaffolding | stable]`
v1.10.4's SP-3 ("Convergence is part of prompt delivery") is
@@ -3981,7 +3981,7 @@ incompatible with v2's orchestration/execution split. Convergence moves
to orchestration; per-prompt convergence checklists drop from the
atomic prompt template (ยง{section.atomic-prompt-template-v2-form}).
-### SP-4 โ Every Monitor produces visible output
+### SP-4 โ Every Monitor produces visible output `[operator-scaffolding | stable | โ
]`
`[methodological | stable]` *(carryforward)*
@@ -3989,7 +3989,7 @@ atomic prompt template (ยง{section.atomic-prompt-template-v2-form}).
Silent monitors are useless monitors. Applies to all M1โM12 fires.
*What's next* surfaces every fire at appropriate severity.
-### SP-5 โ No heuristic guessing on ambiguous input
+### SP-5 โ No heuristic guessing on ambiguous input `[operator-scaffolding | stable | โ ๏ธ]`
`[methodological | stable]` *(carryforward)*
@@ -3997,7 +3997,7 @@ Silent monitors are useless monitors. Applies to all M1โM12 fires.
Wherever orchestration parses operator input, ambiguity halts and
asks. Pairs with M4 (Ambiguous Ask) firing.
-### SP-6 โ Rebuild at threshold
+### SP-6 โ Rebuild at threshold `[operator-scaffolding | stable | recommended | โ
]`
`[methodological | stable]` *(carryforward)*
@@ -4007,7 +4007,7 @@ above โ create_file rebuild via deterministic transformation script.
Applies to v2 framework builds, Library Update sessions, large Master
rewrites.
-### SP-7 โ File delivery is mandatory
+### SP-7 โ File delivery is mandatory `[operator-scaffolding | stable | โ
]`
`[methodological | stable]` *(carryforward)*
@@ -4017,7 +4017,7 @@ execution session that produces Output delivers a file. Every Update
session that produces a new Library file delivers a file. Reinforced
structurally by the triple contract's file-based Output (ยง{section.prism-execution-output}).
-### SP-8 (narrowed) โ Canonical Authority
+### SP-8 (narrowed) โ Canonical Authority `[operator-scaffolding | stable | โ
]`
`[operator-scaffolding | stable]`
@@ -4029,7 +4029,7 @@ start of the next session so M2 (Version Drift) can reconcile.
Filename discipline (the look-alike disambiguation pattern) extracted
to SP-14.
-### SP-9 โ Silence is never consent
+### SP-9 โ Silence is never consent `[operator-scaffolding | stable | โ ๏ธ]`
`[methodological | stable]` *(carryforward)*
@@ -4039,7 +4039,7 @@ ratification, ambiguity escalation, migration override at ๐ด, Project
recommendation accept/decline. Active operator action required;
no defaults-on-timeout.
-### SP-10 โ Verify state before recommending
+### SP-10 โ Verify state before recommending `[operator-scaffolding | stable | โ
]`
`[operator-scaffolding | stable]` *(carryforward as named principle)*
@@ -4050,7 +4050,7 @@ recommending. Mechanics live in Vendor Selection (ยง{section.vendor-selection-at
travels to point refresh (ยง{section.currency-maintenance-point-refresh}), Update sessions (ยง{section.currency-maintenance-update-session}), and any
future recommendation surface.
-### SP-12 โ Bounded-Search Disclosure
+### SP-12 โ Bounded-Search Disclosure `[operator-scaffolding | stable | โ
]`
`[operator-scaffolding | stable]` *(new in v2)*
@@ -4060,7 +4060,7 @@ default posture is to disclose the bound. "I found no evidence"
insufficient; "I found no evidence within [named scope]; confirm
before I proceed" is required. Cross-ref: ยง{section.sp-12-bounded-search-disclosure}.
-### SP-13 โ Substrate Declaration
+### SP-13 โ Substrate Declaration `[operator-scaffolding | stable | โ ๏ธ]`
`[operator-scaffolding | stable]` *(new in v2)*
@@ -4072,7 +4072,7 @@ operator. Operationalized inside execution sessions via the Self-check
block (ยง{section.prism-execution-self-check}); orchestration-side via session-open verification.
Cross-ref: ยง{section.sp-13-substrate-declaration}.
-### SP-14 โ Filename Discipline
+### SP-14 โ Filename Discipline `[operator-scaffolding | stable | โ
]`
`[operator-scaffolding | stable]` *(new in v2; extracted from SP-8)*
@@ -5024,7 +5024,7 @@ to the maintainer.
- **Repository.** `https://github.com/Ronkupper/PRISM`
- **Maintainer.** Ron Kuper ([@Ronkupper](https://github.com/Ronkupper))
-- **Framework version.** v2.1.1 (this file)
+- **Framework version.** v2.2.0 (this file)
- **Embedded Lens Library version.** v0.10 (Appendix G)
- **Release date.** 2026-05-23
- **Licensing.** Documentation under CC BY 4.0; any code under MIT;
@@ -5045,7 +5045,7 @@ without that capability can paste the URLs into a browser and download.
| Framework version stamp | `https://raw.githubusercontent.com/Ronkupper/PRISM/main/VERSION` | โ |
| Lens version stamp | `https://raw.githubusercontent.com/Ronkupper/PRISM/main/lens/VERSION` | โ |
| Releases index | `https://github.com/Ronkupper/PRISM/releases` | โ |
-| Release at this version | โ | `https://github.com/Ronkupper/PRISM/releases/tag/v2.1.1` |
+| Release at this version | โ | `https://github.com/Ronkupper/PRISM/releases/tag/v2.2.0` |
The two `VERSION` endpoints exist as cheap currency checks: each is a
single-line file containing the current version on the corresponding
@@ -5071,7 +5071,7 @@ failed check is not an error.
repository's `main` branch. The endpoints return one line each.
3. Compare. If the published version is greater than the attached
version on either track, surface a soft flag:
- `Framework v2.1.1 attached; v{published} available at {releases URL}.`
+ `Framework v2.2.0 attached; v{published} available at {releases URL}.`
`Lens v0.10 attached; v{published} available at {releases URL}.`
4. The flag is informational. The operator decides whether to upgrade
between sessions. PRISM does not silently swap attached files at
@@ -5114,8 +5114,8 @@ To cite PRISM in published work, see `CITATION.cff` in the repository.
A short attribution suitable for inline use:
> Kuper, R. (2026). *PRISM: A Framework for LLM Research and Audits*
-> (v2.1.1). https://github.com/Ronkupper/PRISM
+> (v2.2.0). https://github.com/Ronkupper/PRISM
---
-*End of PRISM v2.1.1 framework operating document.*
+*End of PRISM v2.2.0 framework operating document.*
diff --git a/PRISM_backlog.md b/PRISM_backlog.md
index 4a62ad9..b107152 100644
--- a/PRISM_backlog.md
+++ b/PRISM_backlog.md
@@ -1,6 +1,6 @@
# PRISM Backlog
-**Version:** 14
+**Version:** 15
**Maintained by:** Ron Kuper + Claude
**Purpose:** Capture ideas, proposals, and deferred items for future PRISM versions. Separate from PRISM.md because backlog items are proposals, not in-force rules โ keeping them out of PRISM.md preserves the "everything in PRISM.md is canonical" property.
@@ -74,26 +74,6 @@ When an item is declined, move it to **Declined** with rationale โ prevents re
---
-### Tooling-conventions Pattern B Phase B2 โ legacy element marking sweep
-
-**Status:** Gated on operator ratification of the proposed legacy markers at `PRISM-workshop/notes/pattern_b_legacy_marker_proposals.md` (produced in the v2.1.0 build session).
-
-**Scope.** Pattern B Phase B1 (shipped in v2.1.0) added the strength ร polarity vocabulary to the frontmatter `normativity` block and the convention-prose extension in the title block, but did not retroactively mark any existing Standing Principle, Monitor, Gate, or Probe. Phase B2 applies ratified polarity glyphs (and any non-default strength tokens) to all ~35 legacy elements in a single sweep.
-
-**Target release:** v2.2.0. The legacy sweep visibly touches every SP / Monitor / Gate / Probe heading; its own release is the cleanest framing for that surface change (per `design/tooling_conventions_micro_dds_rev1.md` X1).
-
-**Sequence to Phase B2:**
-
-1. v2.1.0 ships proposals document (done).
-2. Operator reviews each proposed marker; ratifies or amends.
-3. Phase B2 handoff written at `handoffs/tooling_conventions_pattern_b_phase_b2_build.md` after ratification.
-4. Phase B2 build session applies ratified markers via deterministic Python transformation.
-5. `PRISM-LINT-06 / element-marking-completeness` (reserved in catalog v1) may promote from `info` to `warning` after Phase B2 ships.
-
-**Provenance.** `PRISM-workshop/design/tooling_conventions_micro_dds_rev1.md` decisions B1โB6. Phase B1 build: `PRISM-workshop/handoffs/tooling_conventions_micro_dds_build.md` (rev1 + amendment).
-
----
-
## Accepted for v1.9
### ask_user_input UX integration
@@ -198,6 +178,24 @@ Codified as SP-9 in v1.9.
## Shipped
+### Tooling-conventions Pattern B Phase B2 โ legacy element marking sweep (v2.2.0)
+
+**Shipped on:** `main` of `Ronkupper/PRISM`, 2026-05-30. Tag `v2.2.0`.
+
+**What landed.** The retroactive Pattern B sweep: ratified strength ร polarity normativity markers applied to all 32 in-scope legacy elements (13 Standing Principles excluding retired SP-11, 12 Monitors, 7 Probes; no Gate elements survive the v2 dissolution). Markup-only โ zero body-text change. Released as MINOR (purely additive metadata on existing headings).
+
+- **Distribution:** 28 elements carry a polarity glyph at default strength (three-token form); SP-6 carries the four-token form with non-default strength `recommended`; 3 elements are detection-only / no-glyph (SP-3, M5, M9) and retain the two-token form.
+- **Operator calls.** SP-3 ratified Option 1 โ retains its numbering slot with the two-token `[operator-scaffolding | stable]` form (renumber-and-remove declined on citation-stability grounds; a v3.0.0 candidate). M5 ratified detection-only โ an override of the proposals-doc `โ ๏ธ` lean, on the B2 worked-example principle that M5's four-band behavior (silent / advisory / active / directive) would be distorted by any single polarity glyph.
+- **App F retrospective headings** received the marker alongside the ยง10 numbered headings, per the proposals doc's "every listed location" instruction.
+
+**Pre-flight.** Lint 0 errors / 0 warnings / 56 info-level orphans โ identical to the v2.1.1 baseline (ยง1.1/ยง1.2 anchor rename swapped one orphan for another, net unchanged). Idempotent transformation (second pass produces no diff). SP-15 (added in v2.1.1, after the proposals doc) deliberately left untouched at both its ยง10.1.6 and Appendix F locations. Customer-name leak-class sweep clean on every public-surface artifact.
+
+**Provenance.** `PRISM-workshop/handoffs/tooling_conventions_pattern_b_phase_b2_build.md` (ratified marker set, rev1, 2026-05-23); proposals at `PRISM-workshop/notes/pattern_b_legacy_marker_proposals.md`; vocabulary at `PRISM-workshop/design/tooling_conventions_micro_dds_rev1.md` B1โB6. Transformation scripts `PRISM-workshop/scripts/apply_phase_b2_markers.py` + `bump_v220_version_strings.py`.
+
+**Downstream.** `PRISM-LINT-06 / element-marking-completeness` remains at `info` โ promotion to `warning` is a separate decision after operators live with the marked file.
+
+---
+
### Release-hygiene patch โ SP-15 + ยง1.1 framing + Prompt-digest semantics (v2.1.1)
**Shipped on:** `main` of `Ronkupper/PRISM`, 2026-05-23. Tag `v2.1.1`.
diff --git a/PRISM_v2_1_1.md b/PRISM_v2_2_0.md
similarity index 98%
rename from PRISM_v2_1_1.md
rename to PRISM_v2_2_0.md
index 9447c38..b164174 100644
--- a/PRISM_v2_1_1.md
+++ b/PRISM_v2_2_0.md
@@ -1,12 +1,12 @@
---
# Skill metadata (consumed by Claude.ai skill loader)
name: prism
-description: "PRISM โ structured multi-session, multi-vendor LLM-orchestrated audit and research framework. Currently v2.1.1. Trigger this skill whenever the user invokes PRISM mechanics by name or by recognizable construct: PRISM, PRISM audit, PRISM v2, begin a PRISM audit, Master file, any filename matching *_master_p*.md or *_starter_v*.md (v1.x), Prompt Strategy, Lens Library, Vendor Selection, Vendor Triangulation, Setup probes or any of P1-P7 by number, Monitor M* or any of M1-M12 by number, Standing Principle SP-*, Execution Envelope, Execution Self-check, Execution Output, Dispatch register, Dispatch shape (equivalence/split/limitation-named), the What is next artifact, context band or ๐ข๐ก๐ ๐ด, migration handoff, P0/P1 boundary, three-layer readiness, Claude Project recommendation, Update session, point refresh, Setup artifacts (Decision brief / Stakeholder register / Claim inventory / Jurisdiction map). Also trigger when the user attaches a Master file or a Lens Library file. Read this file in full at the start of any PRISM session before doing any work."
+description: "PRISM โ structured multi-session, multi-vendor LLM-orchestrated audit and research framework. Currently v2.2.0. Trigger this skill whenever the user invokes PRISM mechanics by name or by recognizable construct: PRISM, PRISM audit, PRISM v2, begin a PRISM audit, Master file, any filename matching *_master_p*.md or *_starter_v*.md (v1.x), Prompt Strategy, Lens Library, Vendor Selection, Vendor Triangulation, Setup probes or any of P1-P7 by number, Monitor M* or any of M1-M12 by number, Standing Principle SP-*, Execution Envelope, Execution Self-check, Execution Output, Dispatch register, Dispatch shape (equivalence/split/limitation-named), the What is next artifact, context band or ๐ข๐ก๐ ๐ด, migration handoff, P0/P1 boundary, three-layer readiness, Claude Project recommendation, Update session, point refresh, Setup artifacts (Decision brief / Stakeholder register / Claim inventory / Jurisdiction map). Also trigger when the user attaches a Master file or a Lens Library file. Read this file in full at the start of any PRISM session before doing any work."
# Framework metadata (consumed by PRISM maintenance tooling)
-version: 2.1.1
-released: 2026-05-23
-supersedes: 2.1.0
+version: 2.2.0
+released: 2026-05-30
+supersedes: 2.1.1
lens_library_embedded: "0.10"
substrate_target: [claude-opus-4-6, claude-opus-4-7]
normativity:
@@ -17,11 +17,11 @@ normativity:
lint_catalog_version: 1
---
-# PRISM v2.1.1 โ Framework operating document
+# PRISM v2.2.0 โ Framework operating document
-**Status:** v2.1.1 release. Canonical framework for Claude orchestration sessions.
+**Status:** v2.2.0 release. Canonical framework for Claude orchestration sessions.
**Date:** May 2026
-**Supersedes:** PRISM v2.1.0 (PATCH release: codifies triangulation integrity as SP-15; tightens ยง{section.what-v2-1-1-covers} framing prose to remove a read-prone summary line that compressed-attention readers misread as Claude-exclusion; rewrites the Prompt-digest field semantics in ยง{section.prism-execution-output} to lead with purpose, and inverts the Envelope-template token in ยง{section.prism-execution-envelope} to name the never-recomputed semantics explicitly). PRISM v1.10.4 is terminal on the v1.x line (pinned per DD ยง{section.standing-principles-introduced-or-extended-in-v2}).
+**Supersedes:** PRISM v2.1.1 (MINOR release: Pattern B Phase B2 โ retroactively applies strength ร polarity normativity markers to all legacy Standing Principle, Monitor, and Probe headings; purely additive metadata, no behavior change). PRISM v1.10.4 is terminal on the v1.x line (pinned per DD ยง{section.standing-principles-introduced-or-extended-in-v2}).
**Required attachments at every orchestration session:** this file (or the
PRISM v2 Skill that loads it) and the project's Master. This file embeds
Lens Library v0.10 in Appendix G; a singleton PRISM.md attachment is
@@ -80,8 +80,8 @@ Reading order for an operator returning to v2.0 after running a session:
## 1. Scope
-### 1.1 What v2.1.1 covers `[structural | stable]`
-
+### 1.1 What v2.2.0 covers `[structural | stable]`
+
PRISM v2.0 is a structured multi-session, multi-vendor LLM-orchestrated audit
and research framework. v2.0 covers:
@@ -119,8 +119,8 @@ and research framework. v2.0 covers:
- **Atomic prompt template v2 form** โ wraps the triple contract around the
prompt body (ยง{section.atomic-prompt-template-v2-form}).
-### 1.2 What v2.1.1 does not cover
-
+### 1.2 What v2.2.0 does not cover
+
- **Re-debating direction.** v2.0 implements the spec; the spec implements
the design document. Direction is settled. New direction goes through a
@@ -1688,7 +1688,7 @@ findings, not draft strategy. Result Completeness Check (ยง{monitor.M12}, ยง{sec
a convergence-time monitor. Single-responsibility discipline: probes are
Setup-time grading constructs only.
-#### 6.3.1 Probe 1 โ Coverage grading (iterates) `[structural | stable]`
+#### 6.3.1 Probe 1 โ Coverage grading (iterates) `[structural | stable | โ
]`
Grade the draft strategy against the Lens Library v0.9. Universal lenses
@@ -1741,7 +1741,7 @@ Saturation flag: not-yet (3 changes from P0.2)
only on genuine ambiguity (*fires-maybe* requiring dig-in vs. opt-out
decision). Empirical calibration deferred โ see ยง{section.empirical-calibration-items}.
-#### 6.3.2 Probe 2 โ Adversarial Scope (iterates) `[structural | stable]`
+#### 6.3.2 Probe 2 โ Adversarial Scope (iterates) `[structural | stable | โ
]`
Hunt for silent omissions and under-scoped treatments in the draft Prompt
@@ -1761,7 +1761,7 @@ the same as cross-vendor finding reconciliation.
address. Operator reviews; orchestration converts surviving candidates
into Lens references or new prompt additions in the next iteration.
-#### 6.3.3 Probe 3 โ Decision Framing (once)
+#### 6.3.3 Probe 3 โ Decision Framing (once) `[structural | stable | โ
]`
Does the strategy answer what the stakeholder actually needs to decide?
@@ -1769,7 +1769,7 @@ Does the strategy answer what the stakeholder actually needs to decide?
Outputs the Decision brief and Stakeholder register Setup artifacts
(ยง{section.decision-brief}, ยง{section.stakeholder-register}).
-#### 6.3.4 Probe 4 โ Pre-mortem (iterates)
+#### 6.3.4 Probe 4 โ Pre-mortem (iterates) `[structural | stable | โ
]`
Imagine execution completes. How would the finding fail to answer the
@@ -1778,7 +1778,7 @@ original question?
**Output.** A list of pre-mortem failure modes; each surviving mode either
becomes a new probe in the strategy or is dismissed with rationale.
-#### 6.3.5 Probe 5 โ Falsifier (once)
+#### 6.3.5 Probe 5 โ Falsifier (once) `[structural | stable | โ
]`
What findings would invalidate the thesis?
@@ -1787,7 +1787,7 @@ What findings would invalidate the thesis?
that, if observed, would refute the thesis. These become explicit
success/failure criteria for Layer 2 synthesis.
-#### 6.3.6 Probe 6 โ Domain Reconnaissance (iterates early)
+#### 6.3.6 Probe 6 โ Domain Reconnaissance (iterates early) `[structural | stable | โ
]`
What do practitioners, researchers, and serious analysts of this domain
@@ -1811,7 +1811,7 @@ domain-specific literature.
Outputs the Jurisdiction map Setup artifact (ยง{section.jurisdiction-map}).
-#### 6.3.7 Probe 7 โ User Voice (iterates early) `[structural | stable]`
+#### 6.3.7 Probe 7 โ User Voice (iterates early) `[structural | stable | โ
]`
Imports real end-user / customer / affected-user perspectives into Setup.
@@ -2289,7 +2289,7 @@ inline expansion per ยง{section.atomic-prompt-self-containment}.
### 9.1 Standalone monitors (M1, M2, M4, M5, M9)
-#### 9.1.1 M1 โ Missing Inputs `[structural | stable]`
+#### 9.1.1 M1 โ Missing Inputs `[structural | stable | โ ๏ธ]`
- **Trigger.** Every orchestration session-open and turn-close.
@@ -2302,7 +2302,7 @@ inline expansion per ยง{section.atomic-prompt-self-containment}.
- **Resolution.** Halt until attachments provided; or operator confirms
intentional absence.
-#### 9.1.2 M2 โ Version Drift `[structural | stable]`
+#### 9.1.2 M2 โ Version Drift `[structural | stable | โ ๏ธ]`
- **Trigger.** Every orchestration session-open. Compares attached
@@ -2328,7 +2328,7 @@ unlikely *by construction* but not impossible. Residual failure modes:
- Cross-device syncing serves a previous version.
- Multiple Masters from forked sessions (anti-pattern but not impossible).
-#### 9.1.3 M4 โ Ambiguous Ask `[methodological | stable]`
+#### 9.1.3 M4 โ Ambiguous Ask `[methodological | stable | โ ๏ธ]`
- **Trigger.** Every orchestration turn that processes operator input.
@@ -2342,7 +2342,7 @@ unlikely *by construction* but not impossible. Residual failure modes:
- **No execution mirror.** Execution sessions receive pre-resolved
dispatched prompts; M4 is orchestration-only.
-#### 9.1.4 M5 โ Context Pressure
+#### 9.1.4 M5 โ Context Pressure `[structural | stable]`
Spec per ยง{section.m5-context-pressure-monitor}.
@@ -2369,7 +2369,7 @@ Spec per ยง{section.m5-context-pressure-monitor}.
Fire during Layer-1 integration of new findings into the Master. Can chain
to M10.
-#### 9.2.1 M6 โ Premise Shift `[structural | stable]`
+#### 9.2.1 M6 โ Premise Shift `[structural | stable | โ ๏ธ]`
- **Trigger.** Layer-1 convergence โ new finding ingested.
@@ -2383,7 +2383,7 @@ to M10.
sections. v2 M6 reads premises from Setup artifacts. Surface broadened;
name unchanged because face value still describes the work.
-#### 9.2.2 M7 โ Claim Conflict `[structural | stable]`
+#### 9.2.2 M7 โ Claim Conflict `[structural | stable | โ ๏ธ]`
- **Trigger.** Layer-1 convergence โ new finding ingested.
@@ -2398,7 +2398,7 @@ to M10.
Assumption Register; M7 reads finding-vs-finding directly. Renamed to
match the actual surface.
-#### 9.2.3 M8 โ Stale Source `[structural | stable]`
+#### 9.2.3 M8 โ Stale Source `[structural | stable | โ ๏ธ]`
- **Trigger.** Layer-1 convergence โ orchestration ingesting findings from
@@ -2433,7 +2433,7 @@ scope*. Different artifacts, different lifecycles, different resolutions.
| **M8** | Cited evidence sources in returned findings | Per finding, at Layer-1 convergence | Re-dispatch with current sources |
| **ยง{section.currency-maintenance-point-refresh} point-refresh** | Lens Library entry's `rubric_anchor:` / `informed_by:` | Per Setup probe iteration | Inline refresh in Prompt Strategy; advisory signal toward Update session |
-#### 9.2.4 M12 โ Result Completeness Check `[structural | stable]`
+#### 9.2.4 M12 โ Result Completeness Check `[structural | stable | โ ๏ธ]`
- **Trigger.** Layer-1 convergence โ new finding ingested.
@@ -2466,7 +2466,7 @@ scope*. Different artifacts, different lifecycles, different resolutions.
Feed the priority-ranked candidate list at each orchestration turn-close.
-#### 9.3.1 M3 โ Sequence Violation `[structural | stable]`
+#### 9.3.1 M3 โ Sequence Violation `[structural | stable | โ ๏ธ]`
- **Trigger.** Operator declaration or strategy state.
@@ -2480,7 +2480,7 @@ Feed the priority-ranked candidate list at each orchestration turn-close.
intentionally skipped, or accept the out-of-order sequence with
documented rationale.
-#### 9.3.2 M10 โ Rerun / Fix Required `[structural | stable]`
+#### 9.3.2 M10 โ Rerun / Fix Required `[structural | stable | โ ๏ธ]`
- **Trigger.** Triggered by chain from M6 / M7 / M8 / M12 HIGH; or by
@@ -2501,7 +2501,7 @@ Feed the priority-ranked candidate list at each orchestration turn-close.
- **Surfaces in *What's next*.** Overdue Rerun Register items rank at
priority tier 3 per ยง{section.whats-next}.
-#### 9.3.3 M11 โ Layer 2 Readiness `[structural | stable]`
+#### 9.3.3 M11 โ Layer 2 Readiness `[structural | stable | โ
]`
- **Trigger.** Every orchestration turn-close.
@@ -2544,7 +2544,7 @@ mechanics evolve.
### 10.1 Standing Principles introduced or extended in v2
-#### 10.1.1 SP-1 extended โ Canonicity preservation `[operator-scaffolding | stable]`
+#### 10.1.1 SP-1 extended โ Canonicity preservation `[operator-scaffolding | stable | ๐ซ]`
- v1.x's SP-1 forbade silently reconstructing missing files from memory.
@@ -2558,7 +2558,7 @@ mechanics evolve.
- Never frame regeneration as "deterministic" or "low-cost" unless it
genuinely is.
-#### 10.1.2 SP-12 โ Bounded-Search Disclosure `[operator-scaffolding | stable]`
+#### 10.1.2 SP-12 โ Bounded-Search Disclosure `[operator-scaffolding | stable | โ
]`
- When orchestration answers on the basis of a bounded retrieval, the
@@ -2578,7 +2578,7 @@ mechanics evolve.
confirm before I conclude.
```
-#### 10.1.3 SP-13 โ Substrate Declaration `[operator-scaffolding | stable]`
+#### 10.1.3 SP-13 โ Substrate Declaration `[operator-scaffolding | stable | โ ๏ธ]`
- PRISM-loaded sessions verify substrate against declared target before
@@ -2602,7 +2602,7 @@ SP-13 verification:
[If no or cannot-determine: halt; ask operator.]
```
-#### 10.1.4 SP-10 โ Verify state before recommending `[operator-scaffolding | stable]`
+#### 10.1.4 SP-10 โ Verify state before recommending `[operator-scaffolding | stable | โ
]`
Carries forward from v1.10.4 as a named principle. The principle's
@@ -2625,7 +2625,7 @@ re-deriving it.
- Budget discipline: verification searches return substantial context;
only trigger on fast-moving state, not on stable defaults.
-#### 10.1.5 SP-14 โ Filename Discipline `[operator-scaffolding | stable]`
+#### 10.1.5 SP-14 โ Filename Discipline `[operator-scaffolding | stable | โ
]`
Extracted from v1.x SP-8 (which bundled two concerns under one number).
@@ -2702,7 +2702,7 @@ Per-SP disposition explicit:
| SP-14 | Filename Discipline | New in v2 (extracted from SP-8) | See ยง{section.sp-14-filename-discipline} |
| SP-15 | Triangulation integrity | New in v2.1.1 | See ยง{section.sp-15-triangulation-integrity} |
-#### 10.2.1 SP-8 narrowed โ Canonical Authority `[operator-scaffolding | stable]`
+#### 10.2.1 SP-8 narrowed โ Canonical Authority `[operator-scaffolding | stable | โ
]`
After the v2 split, SP-8 carries one concern:
@@ -3468,7 +3468,7 @@ indexes decisions by tag for easy review.
### C.1 `[structural | stable]`
-ยง{section.what-v2-1-1-covers} (scope), ยง{section.three-leg-constraint} (three-leg constraint), ยง{section.two-session-types} (two session types),
+ยง{section.what-v2-2-0-covers} (scope), ยง{section.three-leg-constraint} (three-leg constraint), ยง{section.two-session-types} (two session types),
ยง{section.the-triple-contract} (triple contract), ยง{section.the-master} (Master), ยง{section.whats-next} (*What's next*), ยง{section.forward-compatibility-commitments}
(forward-compatibility commitments), ยง{section.single-envelope-with-spectrum-shape} (single-Envelope-with-
spectrum), ยง{section.vendor-triangulation} (Vendor Triangulation), ยง{section.asymmetric-parallel-return-handling} (asymmetric returns), ยง{section.recommended-vs-executed-reconciliation}
@@ -3944,7 +3944,7 @@ Falsifiers: [list โ findings that would refute the thesis]
Each Standing Principle stated in full, in canonical order.
-### SP-1 (extended) โ Canonicity preservation
+### SP-1 (extended) โ Canonicity preservation `[operator-scaffolding | stable | ๐ซ]`
`[operator-scaffolding | stable]`
@@ -3964,7 +3964,7 @@ Order of operations when a canonical artifact is missing:
Never frame regeneration as "deterministic" or "low-cost" unless it
genuinely is. Cross-ref: ยง{section.sp-1-extended-canonicity-preservation}, ยง{section.missing-handoff-recovery}.
-### SP-2 โ Defer non-critical fixes to natural touchpoint
+### SP-2 โ Defer non-critical fixes to natural touchpoint `[operator-scaffolding | stable | โ ๏ธ]`
`[methodological | stable]` *(carryforward from v1.10.4)*
@@ -3973,7 +3973,7 @@ Non-critical issues queue against priority tiers in *What's next*; fix
at the next aligned step rather than mid-flight. M10 (Rerun) fires when
no natural touchpoint exists.
-### SP-3 โ DISSOLVED in v2
+### SP-3 โ DISSOLVED in v2 `[operator-scaffolding | stable]`
v1.10.4's SP-3 ("Convergence is part of prompt delivery") is
@@ -3981,7 +3981,7 @@ incompatible with v2's orchestration/execution split. Convergence moves
to orchestration; per-prompt convergence checklists drop from the
atomic prompt template (ยง{section.atomic-prompt-template-v2-form}).
-### SP-4 โ Every Monitor produces visible output
+### SP-4 โ Every Monitor produces visible output `[operator-scaffolding | stable | โ
]`
`[methodological | stable]` *(carryforward)*
@@ -3989,7 +3989,7 @@ atomic prompt template (ยง{section.atomic-prompt-template-v2-form}).
Silent monitors are useless monitors. Applies to all M1โM12 fires.
*What's next* surfaces every fire at appropriate severity.
-### SP-5 โ No heuristic guessing on ambiguous input
+### SP-5 โ No heuristic guessing on ambiguous input `[operator-scaffolding | stable | โ ๏ธ]`
`[methodological | stable]` *(carryforward)*
@@ -3997,7 +3997,7 @@ Silent monitors are useless monitors. Applies to all M1โM12 fires.
Wherever orchestration parses operator input, ambiguity halts and
asks. Pairs with M4 (Ambiguous Ask) firing.
-### SP-6 โ Rebuild at threshold
+### SP-6 โ Rebuild at threshold `[operator-scaffolding | stable | recommended | โ
]`
`[methodological | stable]` *(carryforward)*
@@ -4007,7 +4007,7 @@ above โ create_file rebuild via deterministic transformation script.
Applies to v2 framework builds, Library Update sessions, large Master
rewrites.
-### SP-7 โ File delivery is mandatory
+### SP-7 โ File delivery is mandatory `[operator-scaffolding | stable | โ
]`
`[methodological | stable]` *(carryforward)*
@@ -4017,7 +4017,7 @@ execution session that produces Output delivers a file. Every Update
session that produces a new Library file delivers a file. Reinforced
structurally by the triple contract's file-based Output (ยง{section.prism-execution-output}).
-### SP-8 (narrowed) โ Canonical Authority
+### SP-8 (narrowed) โ Canonical Authority `[operator-scaffolding | stable | โ
]`
`[operator-scaffolding | stable]`
@@ -4029,7 +4029,7 @@ start of the next session so M2 (Version Drift) can reconcile.
Filename discipline (the look-alike disambiguation pattern) extracted
to SP-14.
-### SP-9 โ Silence is never consent
+### SP-9 โ Silence is never consent `[operator-scaffolding | stable | โ ๏ธ]`
`[methodological | stable]` *(carryforward)*
@@ -4039,7 +4039,7 @@ ratification, ambiguity escalation, migration override at ๐ด, Project
recommendation accept/decline. Active operator action required;
no defaults-on-timeout.
-### SP-10 โ Verify state before recommending
+### SP-10 โ Verify state before recommending `[operator-scaffolding | stable | โ
]`
`[operator-scaffolding | stable]` *(carryforward as named principle)*
@@ -4050,7 +4050,7 @@ recommending. Mechanics live in Vendor Selection (ยง{section.vendor-selection-at
travels to point refresh (ยง{section.currency-maintenance-point-refresh}), Update sessions (ยง{section.currency-maintenance-update-session}), and any
future recommendation surface.
-### SP-12 โ Bounded-Search Disclosure
+### SP-12 โ Bounded-Search Disclosure `[operator-scaffolding | stable | โ
]`
`[operator-scaffolding | stable]` *(new in v2)*
@@ -4060,7 +4060,7 @@ default posture is to disclose the bound. "I found no evidence"
insufficient; "I found no evidence within [named scope]; confirm
before I proceed" is required. Cross-ref: ยง{section.sp-12-bounded-search-disclosure}.
-### SP-13 โ Substrate Declaration
+### SP-13 โ Substrate Declaration `[operator-scaffolding | stable | โ ๏ธ]`
`[operator-scaffolding | stable]` *(new in v2)*
@@ -4072,7 +4072,7 @@ operator. Operationalized inside execution sessions via the Self-check
block (ยง{section.prism-execution-self-check}); orchestration-side via session-open verification.
Cross-ref: ยง{section.sp-13-substrate-declaration}.
-### SP-14 โ Filename Discipline
+### SP-14 โ Filename Discipline `[operator-scaffolding | stable | โ
]`
`[operator-scaffolding | stable]` *(new in v2; extracted from SP-8)*
@@ -5024,7 +5024,7 @@ to the maintainer.
- **Repository.** `https://github.com/Ronkupper/PRISM`
- **Maintainer.** Ron Kuper ([@Ronkupper](https://github.com/Ronkupper))
-- **Framework version.** v2.1.1 (this file)
+- **Framework version.** v2.2.0 (this file)
- **Embedded Lens Library version.** v0.10 (Appendix G)
- **Release date.** 2026-05-23
- **Licensing.** Documentation under CC BY 4.0; any code under MIT;
@@ -5045,7 +5045,7 @@ without that capability can paste the URLs into a browser and download.
| Framework version stamp | `https://raw.githubusercontent.com/Ronkupper/PRISM/main/VERSION` | โ |
| Lens version stamp | `https://raw.githubusercontent.com/Ronkupper/PRISM/main/lens/VERSION` | โ |
| Releases index | `https://github.com/Ronkupper/PRISM/releases` | โ |
-| Release at this version | โ | `https://github.com/Ronkupper/PRISM/releases/tag/v2.1.1` |
+| Release at this version | โ | `https://github.com/Ronkupper/PRISM/releases/tag/v2.2.0` |
The two `VERSION` endpoints exist as cheap currency checks: each is a
single-line file containing the current version on the corresponding
@@ -5071,7 +5071,7 @@ failed check is not an error.
repository's `main` branch. The endpoints return one line each.
3. Compare. If the published version is greater than the attached
version on either track, surface a soft flag:
- `Framework v2.1.1 attached; v{published} available at {releases URL}.`
+ `Framework v2.2.0 attached; v{published} available at {releases URL}.`
`Lens v0.10 attached; v{published} available at {releases URL}.`
4. The flag is informational. The operator decides whether to upgrade
between sessions. PRISM does not silently swap attached files at
@@ -5114,8 +5114,8 @@ To cite PRISM in published work, see `CITATION.cff` in the repository.
A short attribution suitable for inline use:
> Kuper, R. (2026). *PRISM: A Framework for LLM Research and Audits*
-> (v2.1.1). https://github.com/Ronkupper/PRISM
+> (v2.2.0). https://github.com/Ronkupper/PRISM
---
-*End of PRISM v2.1.1 framework operating document.*
+*End of PRISM v2.2.0 framework operating document.*
diff --git a/README.md b/README.md
index 50a62ea..69909a7 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ The framework ships as a single Markdown file (`PRISM.md`) that can be attached
The fastest path:
-1. Attach `PRISM.md` (or `PRISM_v2_1_1.md` for the version-pinned copy) to a fresh Claude chat.
+1. Attach `PRISM.md` (or `PRISM_v2_2_0.md` for the version-pinned copy) to a fresh Claude chat.
2. Tell Claude the problem you want to audit or research.
3. Follow the Setup probes (P1โP7), iterate against the Lens Library until you clear three-layer readiness, then dispatch atomic prompts per the *What's next* artifact.
@@ -25,7 +25,7 @@ The framework runs on any capable LLM โ Claude is the primary reasoning and bu
## Current version
-**v2.1.1** โ current file: [`PRISM.md`](./PRISM.md). v2.1.1 is a PATCH release over v2.1.0 codifying triangulation integrity as SP-15 (single-vendor multi-agent fan-out is not falsifier-grade triangulation; self-triangulation carries no asymmetric weighting), tightening ยง1.1 framing prose to remove a read-prone summary line, rewriting the Prompt-digest field semantics to lead with purpose, and inverting the Envelope-template token to name the never-recomputed semantics explicitly. The version-pinned snapshot at this tag is [`PRISM_v2_1_1.md`](./PRISM_v2_1_1.md) (byte-identical to PRISM.md at the v2.1.1 tag); previous versions are available via git tags per [`RELEASING.md`](./RELEASING.md).
+**v2.2.0** โ current file: [`PRISM.md`](./PRISM.md). v2.2.0 is a MINOR release over v2.1.1 completing Pattern B Phase B2 โ the retroactive application of strength ร polarity normativity markers to all legacy Standing Principle, Monitor, and Probe headings (markup-only; purely additive metadata, no behavior change). The version-pinned snapshot at this tag is [`PRISM_v2_2_0.md`](./PRISM_v2_2_0.md) (byte-identical to PRISM.md at the v2.2.0 tag); previous versions are available via git tags per [`RELEASING.md`](./RELEASING.md).
**Previous version:** v1.10.4 ([`PRISM_v1_10_4.md`](./PRISM_v1_10_4.md)) โ terminal on the v1.x line. Projects under v1.10.4 remain on v1.10.4; v2 supersedes for new work.
@@ -56,7 +56,7 @@ The **PRISM lint catalog** ([`lint_rules.md`](./lint_rules.md)) is the contribut
## Repository contents
- `PRISM.md` โ current framework version (singleton: framework body + Lens Library embedded as Appendix G + skill frontmatter; stable filename, always up to date).
-- `PRISM_v{n}.md` โ versioned snapshot of PRISM.md at the corresponding tag (e.g., `PRISM_v2_1_1.md`); for git-tag recovery per [`RELEASING.md`](./RELEASING.md). Not the primary install target.
+- `PRISM_v{n}.md` โ versioned snapshot of PRISM.md at the corresponding tag (e.g., `PRISM_v2_2_0.md`); for git-tag recovery per [`RELEASING.md`](./RELEASING.md). Not the primary install target.
- `PRISM_v1_10_4.md` โ terminal v1.x release retained at root for projects pinned to v1.10.4.
- `SKILL.md` โ standalone skill loader (frontmatter only); use as an alternative to the fused `PRISM.md` when a decoupled skill / body layout is preferred.
- `PRISM_backlog.md` โ active/deferred/declined roadmap items. Working document, not canonical.
diff --git a/RELEASING.md b/RELEASING.md
index 5e2bb70..c7fe66f 100644
--- a/RELEASING.md
+++ b/RELEASING.md
@@ -36,7 +36,7 @@ The lint catalog (`lint_rules.md`, `scripts/lint/`, `.github/workflows/lint.yml`
When `PRISM.md` advances to a new framework version (e.g. `v2.1.0`):
-1. **Edit `PRISM.md`** with the new framework content. Update the version string in the document header (`# PRISM v{X.Y} โ Framework operating document`), the frontmatter `version`, `released`, `supersedes` fields, the inline `Currently v{X.Y.Z}` substring inside the frontmatter `description`, the EOF marker, and any in-document version references (ยง18.1 project identity, ยง18.2 pinned-URL column, ยง18.3 currency example, ยง18.5 citation).
+1. **Edit `PRISM.md`** with the new framework content. Update the version string in the document header (`# PRISM v{X.Y} โ Framework operating document`), the frontmatter `version`, `released`, `supersedes` fields, the inline `Currently v{X.Y.Z}` substring inside the frontmatter `description`, the EOF marker, and any in-document version references (ยง18.1 project identity, ยง18.2 pinned-URL column, ยง18.3 currency example, ยง18.5 citation). When a release **adds or changes a Standing Principle, Monitor, Gate, or Probe**, give it the normativity marker at creation per the title-block tag convention (`[durability | review-trigger | strength? | polarity?]`) โ Pattern B applies to new elements going forward, not just the legacy sweep completed in Phase B2 (v2.2.0), so the sweep never needs repeating.
2. **Refresh the version-pinned snapshot.** Within the same major line, delete the prior snapshot; at a major boundary, retain the prior major's terminal snapshot (see *Retention*).
```bash
rm PRISM_v{old}.md # within same major
@@ -142,7 +142,7 @@ Before pushing a framework tag:
- [ ] `CITATION.cff` version + date + abstract current
- [ ] `README.md` *Current version* section current
- [ ] `VERSION` file matches frontmatter `version` and title-block heading
-- [ ] **Lint gate clean** โ the CI workflow at `.github/workflows/lint.yml` runs the `scripts/lint/` catalog against `PRISM.md` and reports zero error-severity findings. At v2.1.0, this is `PRISM-LINT-01` (named-refs-resolve). Active rules grow as the catalog evolves: when Pattern A's schema lands, `PRISM-LINT-03`, `-04`, `-05`, and `-07` become active; when Pattern B Phase B2 lands, `PRISM-LINT-06` activates. Info-level findings from `PRISM-LINT-02` (orphan anchors) are acceptable and do not block release.
+- [ ] **Lint gate clean** โ the CI workflow at `.github/workflows/lint.yml` runs the `scripts/lint/` catalog against `PRISM.md` and reports zero error-severity findings. At v2.1.0, this is `PRISM-LINT-01` (named-refs-resolve). Active rules grow as the catalog evolves: when Pattern A's schema lands, `PRISM-LINT-03`, `-04`, `-05`, and `-07` become active. `PRISM-LINT-06` (element-marking-completeness) remains catalog-reserved at info-severity after Phase B2 (v2.2.0) โ promotion to warning is a separate decision after operators live with the marked file. Info-level findings from `PRISM-LINT-02` (orphan anchors) are acceptable and do not block release.
- [ ] `design/` updated if MAJOR
- [ ] Commit signed (`gpg.format=ssh`, `commit.gpgsign=true`)
- [ ] Discussions announcement drafted (post after tag push and Release creation)
diff --git a/SKILL.md b/SKILL.md
index 27f498e..4755420 100644
--- a/SKILL.md
+++ b/SKILL.md
@@ -1,16 +1,16 @@
---
name: prism-v2
-description: PRISM v2.1.1 โ structured multi-session, multi-vendor LLM-orchestrated audit and research framework. Trigger this skill whenever the user invokes PRISM mechanics by name or by recognizable construct: PRISM audit, PRISM v2, begin a PRISM audit, Master file, any filename matching *_master_p*.md, Prompt Strategy, Lens Library, Vendor Selection, Vendor Triangulation, Setup probes or any of P1-P7 by number, Monitor M* or any of M1-M12 by number, Standing Principle SP-*, Execution Envelope, Execution Self-check, Execution Output, Dispatch register, Dispatch shape (equivalence/split/limitation-named), the What is next artifact, context band or ๐ข๐ก๐ ๐ด, migration handoff, P0/P1 boundary, three-layer readiness, Claude Project recommendation, Update session, point refresh, Setup artifacts (Decision brief / Stakeholder register / Claim inventory / Jurisdiction map). Also trigger when the user attaches a Master file or a Lens Library file. Do NOT trigger for unrelated audit work, generic prompt engineering, or v1.10.4-specific terminology like Starter, GATE-0/1/2, Scope Flags, Runtime Profile, Assumption Register โ those are v1.x and v2.0 supersedes them.
+description: PRISM v2.2.0 โ structured multi-session, multi-vendor LLM-orchestrated audit and research framework. Trigger this skill whenever the user invokes PRISM mechanics by name or by recognizable construct: PRISM audit, PRISM v2, begin a PRISM audit, Master file, any filename matching *_master_p*.md, Prompt Strategy, Lens Library, Vendor Selection, Vendor Triangulation, Setup probes or any of P1-P7 by number, Monitor M* or any of M1-M12 by number, Standing Principle SP-*, Execution Envelope, Execution Self-check, Execution Output, Dispatch register, Dispatch shape (equivalence/split/limitation-named), the What is next artifact, context band or ๐ข๐ก๐ ๐ด, migration handoff, P0/P1 boundary, three-layer readiness, Claude Project recommendation, Update session, point refresh, Setup artifacts (Decision brief / Stakeholder register / Claim inventory / Jurisdiction map). Also trigger when the user attaches a Master file or a Lens Library file. Do NOT trigger for unrelated audit work, generic prompt engineering, or v1.10.4-specific terminology like Starter, GATE-0/1/2, Scope Flags, Runtime Profile, Assumption Register โ those are v1.x and v2.0 supersedes them.
---
-# PRISM v2.1.1 framework loader
+# PRISM v2.2.0 framework loader
-This Skill loads PRISM v2.1.1 โ the canonical framework operating document for
+This Skill loads PRISM v2.2.0 โ the canonical framework operating document for
structured multi-session, multi-vendor LLM-orchestrated audit and research.
## When triggered
-1. Read `PRISM_v2_1_1.md` (version-pinned) or `PRISM.md` (always-current) from
+1. Read `PRISM_v2_2_0.md` (version-pinned) or `PRISM.md` (always-current) from
this Skill's folder, the operator's project, or the attached copy in full
before responding to the operator's request.
2. Run SP-13 substrate self-check (ยง10.1.3): declare your model identity and
@@ -43,7 +43,7 @@ structured multi-session, multi-vendor LLM-orchestrated audit and research.
## Files this Skill expects in the Project or attached
-- `PRISM.md` (always-current) or `PRISM_v2_1_1.md` (version-pinned)
+- `PRISM.md` (always-current) or `PRISM_v2_2_0.md` (version-pinned)
- `PRISM_lens_library.md` v0.10 (canonical catalog; `prism-lens-v0.10` tag)
- `[project]_prism2.0_master_*.md` (the Master)
- `[project]_brief.md` (subject brief, at Setup)
@@ -52,7 +52,7 @@ structured multi-session, multi-vendor LLM-orchestrated audit and research.
`PRISM.md` at the repo root carries its own skill frontmatter (`name: prism`,
v1.x fused-file pattern). This `SKILL.md` is the v2-native loader pattern
-(`name: prism-v2`) โ separate loader, body lives in `PRISM_v2_1_1.md`.
+(`name: prism-v2`) โ separate loader, body lives in `PRISM_v2_2_0.md`.
Either pattern works; pick whichever fits your environment.
## What this Skill does NOT do
diff --git a/VERSION b/VERSION
index 3e3c2f1..ccbccc3 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.1.1
+2.2.0
diff --git a/lint_rules.md b/lint_rules.md
index 1e06a32..a4936a9 100644
--- a/lint_rules.md
+++ b/lint_rules.md
@@ -87,10 +87,10 @@ rather than at lint time.
Every Standing Principle, Monitor, Gate, and Probe heading in `PRISM.md`
carries a parseable decision-tag block (`[durability | review-trigger]`
-plus optional strength and polarity tokens). Info-severity initially
-because Pattern B's Phase B1 ships frontmatter and new-element shape
-only; legacy elements remain unmarked until Phase B2 completes the
-sweep. Severity may promote to warning after Phase B2 ships.
+plus optional strength and polarity tokens). With Pattern B Phase B2
+shipped (v2.2.0), the legacy sweep is complete โ all in-scope elements
+now carry markers. Severity remains `info`; promotion to `warning` is a
+separate decision after operators have lived with the marked file.
**Status at catalog v1:** reserved slot. Activates when Pattern B Phase
B1 ships.