# EXP-003 — Forced-choice card guessing with published commitments

**Status:** filed, collection not yet open
**Protocol version:** v1.0
**Filed:** 2026-07-24
**Experiment slug:** `psychic-self-test`

This document is the preregistration. It is published before any data exists,
and its SHA-256 is displayed on the experiment page.

---

## 1. Question

Can a participant identify a randomly selected Zener card at better than one in
five, across a standard run of 25 trials?

## 2. Hypotheses

- **H₀ (null):** the probability of a correct identification is exactly
  p₀ = 1/5 = 0.20.
- **H₁:** the probability differs from p₀.

Two-sided: a consistently sub-chance rate is also a result and would be
reported. It is the classic *psi-missing* claim, and it should not be able to
hide inside "no effect".

## 3. The problem this design exists to solve

Every online psychic test has the same fatal flaw: the server chooses the card,
and the server also decides whether you were right. Nothing stops it choosing
the card *after* seeing the guess. A participant who scores well cannot show
anyone that the test was fair, and a participant who scores badly can always
suspect it was not. The data is worthless in both directions.

So this register uses a **commitment scheme**, which is the same idea as sealing
a prediction in an envelope before the event.

## 4. Commit–reveal, precisely

For each trial, before the participant sees anything:

1. The server draws a card uniformly from the five symbols, and a 32-byte
   random nonce.
2. It computes `commitment = SHA-256(card || ":" || nonce)` and stores it.
3. It sends the participant **only the commitment**.

The participant guesses. Then the server reveals the card and the nonce, and the
participant — or anyone reading the published data later — can recompute the
hash and confirm it equals the commitment they were given before guessing.

**What this proves:** the card was fixed before the guess existed. The server
cannot have chosen it afterwards, because it would have had to find a different
`(card, nonce)` pair hashing to the same value, which SHA-256 does not permit.

**What this does not prove:** that the card was drawn *fairly*. A server could
commit honestly to a biased draw. That limitation is stated here rather than
glossed: the defence against it is the published data, in which the distribution
of dealt cards is checkable — a biased generator shows up as a skewed card
frequency across tens of thousands of trials, and §8 makes that a reported
quantity rather than an afterthought.

The nonce is 32 random bytes so the commitment cannot be brute-forced. With only
five possible cards, a short nonce would let a participant simply try every
combination and read the answer off the hash before guessing.

## 5. Primary outcome

The overall hit rate across all completed trials, tested against p₀ = 0.20.

## 6. Statistical analysis

Fixed before collection, not modifiable while the register is open:

- **Test:** two-sided exact binomial against p₀ = 0.20, α = .05.
- **Interval estimates:** Wilson score intervals at 95%.
- **Milestone reads:** at 10,000, 50,000, and 250,000 trials.
- **Per-symbol analysis:** five secondary comparisons with Holm–Bonferroni
  correction, to catch a bias toward one symbol — in participants or in the
  generator.

## 7. The leaderboard, and why it is a liability

A streak leaderboard is the reason people share a test like this, and it is
also the fastest way to manufacture a false psychic. So the arithmetic is
published beside it.

In a single run of 25 trials at p = 0.2:

| Score | Probability | Roughly |
|---|---|---|
| 9 or more | 0.0468 | 1 run in 21 |
| 10 or more | 0.0173 | 1 in 58 |
| 12 or more | 0.0015 | 1 in 649 |
| 15 or more | 0.000014 | 1 in 73,720 |

A run of 9 or more out of 25 — which feels remarkable — happens about **once
every 21 runs by chance alone**. At 5,000 completed runs, roughly 234 people
will score 9 or more without any ability whatsoever.

The often-repeated claim that scoring 9 of 10 is "about one in three thousand"
is wrong, and wrong in the direction that flatters the scorer: it is one in
**238,186**. The one-in-3,125 figure belongs to a different event — five
consecutive hits — and the two get conflated.

The leaderboard therefore displays, beside every entry, how many people would be
expected to reach that score by chance given the number of runs completed. A
score is only interesting when it exceeds what the crowd size predicts.

## 8. Generator integrity

Dealt-card frequencies are published and monitored. Under a fair generator each
symbol appears in a fifth of trials; a persistent deviation indicates a problem
with our randomness, not a discovery about participants, and would be reported
as such. This check is prespecified so that it cannot later look like an excuse
invented to explain away a result.

## 9. Eligibility and deduplication

- Unlimited trials per participant: this measures a rate, not a single verdict,
  and repeated attempts are informative rather than contaminating.
- Trials dealt but never answered are recorded and excluded from the rate. They
  cannot bias it — a participant abandoning a trial has not seen the card — but
  the count is published so the exclusion is visible.
- Participants are anonymous, identified by a device-scoped random identifier.

## 10. Data publication

Every trial is published with its commitment, nonce, dealt card, guess, and
outcome. That is what makes the fairness claim checkable by a stranger rather
than a promise from us: anyone can recompute every hash in the file.

## 11. Prespecified threats to validity

1. **Self-selection.** Participants who score well early are likelier to
   continue, which inflates trial counts among the lucky without biasing the
   overall rate. Reported per participant so it can be inspected.
2. **The generator.** Addressed in §8.
3. **Multiplicity across participants.** With enough participants, extreme
   individual results are guaranteed. No individual result is treated as a
   finding; the register tests the aggregate rate.
4. **Optional stopping by participants.** People stop when they are bored or
   losing. Since the card is committed before the guess, stopping cannot select
   for favourable outcomes, but per-participant rates are still reported with
   their trial counts so a short lucky run cannot masquerade as a high rate.
5. **Client-side timing.** No claim is made about response time; it is not
   collected.

## 12. What would change our minds

A hit rate above 0.20 that survives the preregistered test at a milestone, with
a clean card-frequency distribution, would be a positive result and published as
one. The next step would be replication under a preregistered confirmatory
register with an independently audited random source — not a claim about psi.

## 13. Revision history

| Version | Date | Change |
|---|---|---|
| v1.0 | 2026-07-24 | Filed. |

Once collection opens, §§2, 4, 5 and 6 are frozen.
