This protocol is the final external gate for the frozen Paul Rosenberg case. It
does not count AI review, fixtures, internal testing, or producer judgment as
independent evidence.
The frozen manifest is
`rosenberg-validation-protocol-v1.json`(../../artifacts/provenance-research/rosenberg-validation-protocol-v1.json).
Every review and participant session must carry the dossier SHA-256 recorded in
that manifest. If the dossier changes, freeze a new protocol revision and repeat
the study rather than mixing responses across revisions.
Recruit without overstating the case
The exact unsent copy and contact rules are in
`rosenberg-validation-recruitment-v1.md`(../ops/rosenberg-validation-recruitment-v1.md).
The first professional circulation set is limited to three current, official
organization channels in `config/rosenberg-recruitment-candidates.json`; every
row remains `research_only`. The message discloses the AI-assisted lead, the
unproved final handover and photograph lineage, the uncompensated status, the
local-download privacy boundary, and the absence of organizational endorsement.
An approval-ready personalized copy now exists at
`rosenberg-validation-recruitment-joseph-chirum-v1.md`(../ops/rosenberg-validation-recruitment-joseph-chirum-v1.md).
It uses the existing public Sun & Rain Works operator identity and reply address
and explicitly discloses that an email return exposes the sender address to the
facilitator while keeping correspondence outside the evidence bundle. Its
current SHA-256 and requested scope are frozen in
`config/rosenberg-recruitment-approval.json`; `approval` remains null.
Before any contact, create a named short-lived approval bound to the exact
dossier, protocol, target-list, personalized-copy, and requested-scope digests,
then run:
pnpm research:recruitment:approval -- --copy=docs/ops/rosenberg-validation-recruitment-joseph-chirum-v1.md --approval=<approval.json> --check
The command fails closed for placeholders, changed copy or targets, unknown
channels, synthetic approvers, expired approval, or any unapproved claims,
privacy, compensation, professional-contact, non-specialist, or human-coder
scope. A passing approval still is not evidence that a message was sent or a
participant responded; retain provider receipts separately.
Run the study
- Give an independent provenance researcher the frozen review task. They must
reproduce the answer from at least three source URLs, inspect RBS entry
`*5034`, identify a disagreement or non-comparable search outcome, and assess
the claim boundary. The reviewer can use the local-only return form on
`/research/rosenberg/validate`; it downloads a revision-bound JSON file and
does not upload the review. Before the review begins, the facilitator must
retain a private mapping from the generated reviewer code to the reviewer's
identity, affiliation, qualification, and conflict disclosure. Do not put
those direct identifiers in the downloaded file.
- Run the counterbalanced baseline and Meta Museum tasks with at least three
genuine researchers. Retain elapsed milliseconds, the URLs each participant
used, whether relevant evidence was found, and whether the answer was
reproduced. `/research/rosenberg/researcher-study` generates a random
condition order, times both conditions, requires three HTTPS citations and a
substantive answer for each, records the facilitator-confirmed washout or
condition separation, and downloads a revision-bound local JSON response.
It does not upload, score, or establish participant eligibility.
- Show the frozen interface to at least five genuine non-specialists. Ask the
two open-response questions without hints. Two human coders independently
assess whether each response states both the supported claim and its limit.
Participants can use `/research/rosenberg/study`; it generates a client-local,
pseudonymous JSON response bound to the frozen dossier and never uploads it.
Retain both coders' decisions. A distinct third human adjudicator is required
whenever the two coders disagree.
- Copy
`rosenberg-validation-assembly-manifest-template-v1.json`(../../artifacts/provenance-research/rosenberg-validation-assembly-manifest-template-v1.json),
set an ISO `assembledAt` timestamp, and point it at the returned independent
review, three researcher exports, five reader exports, and five separately
retained human-coding JSON files. Keep those raw files under the study
controller's approved retention policy.
- Assemble a new immutable evidence bundle. The command hashes every input,
rejects duplicate receipts, unsafe filenames, invalid coding, synthetic or
revision-mismatched sessions, and refuses to overwrite an existing output:
```powershell
pnpm research:validation:assemble -- <manifest.json> <new-evidence.json>
```
- Run the fail-closed evaluator against that new bundle:
```powershell
pnpm exec tsx scripts/evaluate-rosenberg-research-validation.ts <evidence.json>
```
The evaluator fails unless there is an attributable independent approval, at
least three genuine researcher sessions, at least five genuine non-specialist
sessions, a median time improvement of 20%, an 80% researcher reproduction
rate across at least three sources, 80% independently coded comprehension of
both claim and boundary, and a complete unique receipt ledger matching one
review file, every researcher file, every raw reader file, and every human
coding file. A manually constructed score-only input cannot pass.
The participant export is intentionally not evaluator-ready: it contains no
correctness score. Use `applyIndependentRosenbergComprehensionCoding` only after
two genuine human coders have recorded their decisions; do not infer or fill
those decisions with AI.
The researcher comparison export is also richer than the evaluator row: it
retains randomized order, both condition answers, both citation sets, and the
washout confirmation. Validate it with
`validateRosenbergResearcherStudyResponse`, then use
`toRosenbergValidationSession` to derive the evaluator input without discarding
the original returned file.
The assembled bundle adds an `assembly` receipt ledger without replacing the
raw evidence. Each source entry records its safe basename, evidence kind, and
SHA-256. The assembly command never authorizes publication and never fills
missing participants, identities, coding decisions, or outcomes.
Passing these thresholds is necessary but not sufficient for publication.
Rights, sensitivity, editorial, and accountable operator approval remain
separate release decisions.
Review-file custody
The downloadable independent-review file records the exact dossier digest,
review time, qualification statement, three or more checked HTTPS sources,
reproduction checks, corrections, notes, and a revise-or-approve decision. It
also records that the reviewer is genuine, independent from production, and
mapped to a real identity by the facilitator. The application retains no copy.
The facilitator must validate the file, preserve it under the approved research
retention policy, and merge it into the frozen evidence template. A generated
reviewer code without the separately retained identity mapping is not
attributable evidence and cannot unlock publication.