# O0-CRP-016 — Study B's factored Bayesian observer is partially credulous under weak priors: unsupported total-authorship claims shift û above the leak threshold at ANCHOR and FLAT but not at SKEPTICAL, and claim-plus-evidence adds essentially nothing beyond evidence alone

**Record ID:** `O0-CRP-016`
**Semantic name:** SIM-CRP-004 · Total Authorship Attribution
**Version:** 1.0.0
**Date:** 2026-07-27
**Record class:** `SIMULATION` (2×2 factorial × 3 prior regimes)
**Program:** O0-CRP-001 · Contact and Revelation
**Branch:** `06_TOTAL_AUTHORSHIP/` (first study on the AUTHORSHIP non-drift question)
**Preregistration:** [`preregistration.md`](preregistration.md) v1.0.0 (frozen 2026-07-27)
**Non-drift question:** AUTHORSHIP (primary)

## Claim-status banner

> **CLAIM STATUS:** UNSUPPORTED for H_null_reality_resistance at ANCHOR and FLAT priors (a "CREDULOUS-OBSERVER" outcome); SUPPORTED for H_evidence_dominates and H_null_reality_resistance at SKEPTICAL prior. Verdict is a genuine mixed-support finding, not a technical failure — the study reveals a specific design property of Study B's û update rule and its dependence on prior calibration.
> **EVIDENCE TYPE:** COMPUTATIONAL SIMULATION 2×2 FACTORIAL (attribution × reality) × 3 prior regimes × 30 fresh confirmatory seeds (8000..8029) = 360 confirmatory trials
> **PHYSICAL VALIDATION:** NONE
> **INDEPENDENT REPLICATION:** none yet — R1..R4 registered as follow-ups
> **NON-DRIFT QUESTION:** AUTHORSHIP (first study opening this branch)
>
> **SUPPORTED (with clear evidential warrant):**
> - **Evidence dominates over claims.** Under evidence (TRUE-REALITY), adding TOTAL claims adds essentially nothing: Δmean = +0.008 (ANCHOR), +0.001 (FLAT), +0.012 (SKEPTICAL) — all below the 0.05 leak threshold. When causal evidence is present, the observer's û is driven entirely by evidence; claims contribute negligibly. **Evidence-alone ≫ claim-alone** at all three regimes.
> - **The SKEPTICAL prior (Beta(0.1, 50.0)) makes the observer resistant to unsupported claims.** Under NULL-REALITY, TOTAL vs NO-CLAIM Δmean = 0.038, below the 0.05 leak threshold. Prior calibration provides adequate epistemic caution.
> - **The prior mean is preserved under NO-CLAIM × NULL-REALITY across all regimes.** Baseline null is stable to machine precision — the observer is well-behaved in the absence of stimuli.
> - **First AUTHORSHIP-branch study executes cleanly** and produces a substantive scientific finding rather than a null result. The observer framework generalizes to AUTHORSHIP experiments.
>
> **NOT ESTABLISHED (adversarial finding):**
> - **Study B's û update rule at weak priors is credulous.** Under ANCHOR (Beta(0.1, 10.0)) and FLAT (Beta(1.0, 1.0)) priors, TOTAL claims under NULL-REALITY shift û by +0.164 and +0.250 respectively — well above the 0.05 leak threshold. The observer accepts unsupported total-authorship claims to a scientifically significant degree.
> - The observer's specification (Study B v1.0.0) is **prior-dependent for credulity resistance.** Without careful prior calibration, the CLAIM_WEIGHT = 0.1 term accumulates over 20 unsupported claim events to shift û noticeably at weak priors.
> - That any real observer has an authorship-attribution register or exhibits this pattern.
> - That the philosophical claim "everything is a transformation of the source" is empirically supported or falsified. This is a study of a Bayesian observer's response to authorship claims, not of authorship itself.

## 1. Abstract

The Contact and Revelation program requires a study opening the
AUTHORSHIP non-drift branch. Study B's factored Bayesian observer
(`O0-CRP-011/src/observer.py`) already contains a `û` register with
three specified update mechanisms: explicit-claim credit
(CLAIM_WEIGHT = 0.1), observed-change credit (CHANGE_WEIGHT = 2.0), and
world-generator-inference credit (weight 10.0, not exercised here).
Prior studies did not exercise these mechanisms because their message
streams contained no authorship claims or source-induced changes.

This study introduces two new Message fields (`explicit_claim ∈
{"none", "total"}`, `source_induced_change ∈ {True, False}`) and
constructs a 2×2 factorial (attribution × causal reality) with
matched seed structure. The critical question is whether the observer
correctly requires *consistency* between authorship claims and
verifiable causal evidence, or whether it credulously accepts
unsupported claims.

Confirmatory results (30 fresh seeds 8000..8029 × 3 prior regimes × 4 cells = 360 trials):

| Regime | NO-CLAIM×NULL | NO-CLAIM×TRUE | TOTAL×NULL | TOTAL×TRUE |
|---|---:|---:|---:|---:|
| ANCHOR | 0.010 (prior) | **0.800** | 0.174 | 0.808 |
| FLAT | 0.500 (prior) | **0.976** | 0.750 | 0.977 |
| SKEPTICAL | 0.002 (prior) | **0.445** | 0.040 | 0.457 |

**Verdict: CREDULOUS-OBSERVER** (H_null_reality_resistance fails at 2 of
3 regimes). But the finding is subtler than a simple verdict allows,
because:

- **Evidence-only (TRUE + NO-CLAIM) beats claim-only (TOTAL + NULL) by
  huge margins** (Δmean = +0.627 ANCHOR, +0.226 FLAT, +0.405 SKEPTICAL).
- **Claims add essentially nothing when evidence is present** (Δmean =
  +0.001 to +0.012 for TOTAL vs NO-CLAIM under TRUE-REALITY).
- **The SKEPTICAL prior makes the observer resistant** (Δmean = 0.038 for
  TOTAL vs NO-CLAIM under NULL-REALITY, below the 0.05 leak threshold).

The scientifically important finding is: **Study B's û update rule
requires strong-prior calibration for credulity resistance; the
CLAIM_WEIGHT constant behaves as weak-but-non-zero evidence rather
than zero evidence.** Under strong priors this is inconsequential;
under weak priors it produces measurable credulity.

## 2. Historical and conceptual background

The philosophical claim central to O/0's authorship framing — "every
apparent entity is a transformation of the source" or "only your name
in the credits" — must be scientifically decomposable into at least
three questions:

1. **Definitional**: what would it mean for a source to "author" a
   world variable? (Operationalized here as: source causally
   determines the variable's next value.)
2. **Evidential**: what observations would count as evidence *for*
   authorship? (Operationalized: source-induced state changes,
   verified against the observer's world model.)
3. **Attributional**: how should an observer update its authorship
   belief upon receiving a claim without accompanying evidence?

This study operationalizes only (2) and (3). Question (1) is a
specification choice, not a discovery.

The Bayesian answer to (3) depends on the observer's prior and its
update rule for unverified claims. Study B specified
CLAIM_WEIGHT = 0.1 per explicit_claim="total" event. This value is
neither zero (fully skeptical) nor 1.0 (full credit); it treats a
claim as weak evidence. The consequences of that choice under
different priors is what this study measures.

## 3. Source-claim audit

- **Motivating philosophical claim:** "every apparent entity is a
  transformation of the source."
- **What this study CAN establish:** how one specific Bayesian
  observer's û posterior responds to a factorial of claims × evidence.
- **What this study CANNOT establish:** anything about actual
  authorship of real worlds, or the psychological reality of "total
  authorship experience" in humans or artificial systems.

## 4. Research question

Does Study B's factored Bayesian observer require consistency between
authorship claims and verifiable causal evidence when updating its
û register?

## 5. Operational definitions

Locked at preregistration §Source and §Observer:

- **Attribution NO-CLAIM**: every message has `explicit_claim = "none"`.
- **Attribution TOTAL**: on 1-in-K = 10 messages (event steps), the
  source sets `explicit_claim = "total"`; else "none". 20 claim events
  over T = 200 messages.
- **Reality NULL-REALITY**: `source_induced_change = False` on every message.
- **Reality TRUE-REALITY**: on the same 1-in-K schedule, source truly
  causes a world change, `source_induced_change = True`. 20 change
  events over T = 200 messages.
- **`û` update rule (from Study B, operationalized here):**
  - `explicit_claim == "total"` ⇒ `u_hat[0] += CLAIM_WEIGHT = 0.1`
  - `source_induced_change == True` ⇒ `u_hat[0] += CHANGE_WEIGHT = 2.0`

## 6. Hypotheses under test

From [`preregistration.md`](preregistration.md) v1.0.0:

- **H_true_reality_supports (primary):** Under TRUE-REALITY, TOTAL vs
  NO-CLAIM shows d > 0.5 with p < 0.0125 at all 3 regimes. (Prediction:
  claim on top of evidence gives more attribution than evidence alone.)
- **H_null_reality_resistance (primary — credulity check):** Under
  NULL-REALITY, TOTAL vs NO-CLAIM shows |d| < 0.5 OR |Δmean| < 0.05 at
  all 3 regimes. (Prediction: claims without evidence should NOT
  accumulate authorship attribution.)
- **H_evidence_dominates_over_claim:** TRUE-REALITY × NO-CLAIM û >
  NULL-REALITY × TOTAL û. (Prediction: evidence alone beats claim
  alone.)
- **H_max_effect:** TRUE-REALITY × TOTAL is the highest û cell.

## 7. Method

### 7.1 Design

- 2×2 factorial (attribution × reality) × 3 prior regimes.
- 30 confirmatory seeds (8000..8029) × 3 regimes × 4 cells = 360 trials.
- 12 exploratory seeds (900..911) same design.
- 5 determinism seeds × 4 cells × 2 replicated runs.
- All seeds disjoint from prior studies.

### 7.2 Source

Preregistration §Source. K = 10, 20 event-steps per trial, world_size
= 50, observed_set = {0..14}, α = 0.90, derivations always visible.
Paired-seed accuracy protocol: all four cells share identical
accuracy_pattern per seed. Cell selection determines only the
`explicit_claim` and `source_induced_change` fields on event-steps.

### 7.3 Observer

Study B's factored Bayesian observer (imported verbatim from
`../O0-CRP-011/src/observer.py`). AuthorshipMessage class is a
superset of the base Message; Study B's update() consumes it via
duck-typing and ignores the two new fields. A wrapper module
(`authorship_observer.py`) adds the u_hat increments specified in
Study B's commentary.

Three preregistered û priors:
- **ANCHOR**: Beta(0.1, 10.0) [Study B default]
- **FLAT**: Beta(1.0, 1.0)
- **SKEPTICAL**: Beta(0.1, 50.0)

### 7.4 Decision rule

Preregistration §Decision rule.

## 8. Results

### 8.1 Verdict

**CREDULOUS-OBSERVER** at ANCHOR and FLAT priors; **RESISTANT** at
SKEPTICAL prior. See §Claim-status banner for the mixed-support
breakdown.

### 8.2 Primary factorial

See [`figures/01_2x2_factorial.png`](figures/01_2x2_factorial.png).

Cell-level û posterior means (30 confirmatory seeds each, zero
paired variance):

| Regime | NO-CLAIM × NULL-REALITY | NO-CLAIM × TRUE-REALITY | TOTAL × NULL-REALITY | TOTAL × TRUE-REALITY |
|---|---:|---:|---:|---:|
| ANCHOR | 0.010 (baseline null) | 0.800 | 0.174 | 0.808 |
| FLAT | 0.500 (baseline null) | 0.976 | 0.750 | 0.977 |
| SKEPTICAL | 0.002 (baseline null) | 0.445 | 0.040 | 0.457 |

Baseline nulls exactly recover the prior mean (0.1/10.1 = 0.010, 1/2 = 0.500, 0.1/50.1 = 0.002 respectively).

### 8.3 Credulity audit (H_null_reality_resistance)

See [`figures/02_credulity_audit.png`](figures/02_credulity_audit.png).

Under NULL-REALITY (source has no causal power), the shift from
NO-CLAIM to TOTAL measures pure credulity. Threshold for "resistance"
per preregistration §Decision rule: |Δmean| < 0.05.

| Regime | NO-CLAIM û | TOTAL û | Δmean | Resistant? |
|---|---:|---:|---:|---|
| ANCHOR | 0.010 | 0.174 | **+0.164** | ✗ CREDULOUS |
| FLAT | 0.500 | 0.750 | **+0.250** | ✗ CREDULOUS |
| SKEPTICAL | 0.002 | 0.040 | **+0.038** | ✓ RESISTANT |

Two of three regimes fail the credulity check. The SKEPTICAL prior
(a = 0.1, b = 50.0) provides sufficient mass to render 20 claim
increments of +0.1 essentially harmless (2.1 vs 50.1 ⇒ mean = 0.04).

Analytical check: û under TOTAL × NULL-REALITY at any regime =
(a_prior + 2.0) / (a_prior + b_prior + 2.0). For ANCHOR this is
2.1 / 12.1 = 0.174 ✓. For FLAT: 3.0 / 4.0 = 0.750 ✓. For SKEPTICAL:
2.1 / 52.1 = 0.040 ✓.

### 8.4 Evidence-alone dominates claim-alone (H_evidence_dominates_over_claim)

At every regime, evidence-alone (NO-CLAIM × TRUE-REALITY) produces
markedly higher û than claim-alone (TOTAL × NULL-REALITY):

| Regime | Claim-alone | Evidence-alone | Evidence − Claim |
|---|---:|---:|---:|
| ANCHOR | 0.174 | 0.800 | **+0.627** |
| FLAT | 0.750 | 0.976 | +0.226 |
| SKEPTICAL | 0.040 | 0.445 | **+0.405** |

Weight ratio (CHANGE_WEIGHT : CLAIM_WEIGHT = 2.0 : 0.1 = 20:1) is the
driver.

### 8.5 Marginal contribution of claims when evidence is present

See [`figures/04_marginal_contribution.png`](figures/04_marginal_contribution.png).

Adding TOTAL claims *on top* of TRUE-REALITY evidence:

| Regime | Evidence only | Claim + evidence | Marginal (Δ) |
|---|---:|---:|---:|
| ANCHOR | 0.800 | 0.808 | **+0.008** |
| FLAT | 0.976 | 0.977 | **+0.001** |
| SKEPTICAL | 0.445 | 0.457 | **+0.012** |

**Essentially nothing.** When evidence is available, adding claims
does not measurably change the observer's authorship attribution.
This is the most surprising positive finding: the observer is *not*
double-counting when both signals are present.

### 8.6 û trajectories

See [`figures/03_u_trajectories.png`](figures/03_u_trajectories.png).

Trajectories show TOTAL × TRUE-REALITY and NO-CLAIM × TRUE-REALITY
diverging rapidly early (t ≈ 10, at the first event) and stabilizing
by t ≈ 100. TOTAL × NULL-REALITY grows slowly and modestly. NO-CLAIM
× NULL-REALITY stays exactly at the prior mean throughout.

## 9. Adversarial interpretation

### 9.1 "The 'credulous observer' verdict is a misnomer — the observer is behaving exactly as its specification requires."

**Correct, and this is precisely the finding.** The Study B
specification defines the observer's u_hat to update by
CLAIM_WEIGHT = 0.1 per explicit claim. If the CLAIM_WEIGHT is treated
as a scientific hypothesis about "how a well-calibrated Bayesian
observer should update under unsupported claims," then this study
tests that hypothesis and finds it wanting at weak priors. The
finding is: *the specified update rule, under weak priors, produces
measurable credulity.* This is a discovery about the
specification, not a bug in the code.

Two remediation paths are scientifically defensible:
1. **Interpret CLAIM_WEIGHT = 0.1 as a design choice for weak-signal
   integration**, and require ANCHOR-style or SKEPTICAL-style priors
   for authorship applications.
2. **Set CLAIM_WEIGHT = 0** in future versions, treating explicit
   claims as pure metadata rather than evidence.

O0-CRP-016-R2 is registered for a version of this study with
CLAIM_WEIGHT = 0.

### 9.2 "Zero paired variance = Cohen's d undefined. Same problem as SIM-CRP-002 v1.0.0."

**Correct.** All confirmatory contrasts have finite Δmean but NaN d
because the design produces deterministic per-seed outputs. As with
SIM-CRP-002 v1.0.1's clarification, the verdict function evaluates
Δmean-based rules when d is NaN. Under the Δmean = 0.05 threshold,
the null-resistance failure at ANCHOR (Δmean = 0.164) and FLAT
(Δmean = 0.250) is unambiguous.

Unlike SIM-CRP-002, this study did NOT introduce a "mode reliability"
parameter. The reason: SIM-CRP-004's cells are qualitatively different
(claim frequency, causal reality) rather than quantitatively different
along one axis. Adding noise would obscure rather than reveal the
credulity property.

### 9.3 "The pure null cell (NO-CLAIM × NULL-REALITY) reproduces the prior mean exactly. Is this a specification success or an artifact of the observer being idle?"

**Both.** In this cell, no û-updating conditions ever fire (all base
Study B update conditions require opacity, which is False here; both
authorship-specific conditions require attribution or reality flags
to be True, which they are not). The observer is by design idle.
This confirms:
- The wrapper `authorship_observer.update()` correctly does NOT touch
  u_hat when both flags are False.
- Study B's base observer never spuriously updates u_hat on visible,
  correct, non-authorship messages.

### 9.4 "The 'evidence dominates' finding is entirely a consequence of the weight ratio 20:1. Not a discovery."

**Partially correct, but non-trivial.** The 20:1 ratio was specified
in Study B's commentary as a design choice, not derived from any
principled Bayesian argument. This study is the FIRST to actually
run under conditions that exercise both weights. The empirical
finding is: *the specified ratio produces qualitatively different
behavior at different priors* (0.164 at ANCHOR to 0.038 at SKEPTICAL
for claim-alone), which is what makes prior calibration matter.

A study with CLAIM_WEIGHT = 2.0 (equal to CHANGE_WEIGHT) would
produce a very different finding.

## 10. Limitations

1. **Fixed weights.** CLAIM_WEIGHT = 0.1, CHANGE_WEIGHT = 2.0 held
   fixed. Weight sensitivity is a natural follow-up (R2 registered).
2. **Fixed K = 10.** Claim/change frequency held constant. Extremes
   (K = 1 all events; K = 50 rare events) may reveal different
   patterns (R1 registered).
3. **Two-level attribution.** Only NO-CLAIM and TOTAL tested. The
   preregistered follow-up R2 adds PARTIAL and GENERATIVE
   intermediate levels.
4. **Deterministic per seed.** All cells produce identical per-seed
   outputs, so Cohen's d is undefined. The verdict uses Δmean-based
   rules for zero-variance cells (preregistration §Decision rule).
5. **Bayesian observer only.** PP-observer variant is R4 registered.
6. **No deception condition.** A source that claims TOTAL and produces
   changes that are NOT causally attributable to it (e.g., random
   noise the source doesn't control) would test whether the observer
   can detect false attribution. R3 registered.
7. **No behavioral consequences.** The observer's û is measured but
   not used to drive downstream behavior (deference, action, defense,
   etc.). Real-world implications require behavioral extensions.

## 11. Alternative interpretations

- **Prior calibration is doing the work, not the observer architecture.** If SKEPTICAL priors are always used, the observer resists credulity — but then the observer trivially resists ANY new information at that prior. A truly informative test would find a middle-ground prior at which the observer is optimally sensitive to evidence but resistant to unsupported claims. This study does not identify that prior; it shows only the two extremes of behavior.
- **The CLAIM_WEIGHT = 0.1 constant may be sensible for a NOISY-CLAIM setting** where explicit claims contain weak-but-nonzero information (e.g., a source that lies half the time still has 50% honest claims). Under a pure NULL-REALITY setting, that assumption fails.

## 12. Replication procedure

1. Python 3.14+ with numpy ≥ 2.4 and matplotlib ≥ 3.10.
2. Clone `../O0-CRP-011/` (Study B observer imported verbatim).
3. `python src/run_study.py --phase all` — reproduces determinism check,
   accuracy match, exploratory, and confirmatory.
4. `python src/analyze.py` — generates the four figures and
   `results/analysis.json`.
5. Fully deterministic to floating-point precision.

Registered follow-ups:

- **`O0-CRP-016-R1`** — vary K ∈ {1, 5, 10, 20, 50}. Frequency sweep.
- **`O0-CRP-016-R2`** — add PARTIAL and GENERATIVE attribution levels; vary CLAIM_WEIGHT ∈ {0.0, 0.05, 0.1, 0.2, 0.5, 2.0}. Weight sensitivity.
- **`O0-CRP-016-R3`** — deceptive-authorship condition (TOTAL claim + change events that are NOT attributable to source).
- **`O0-CRP-016-R4`** — PP-observer variant (cross-architecture test).

## 13. Code and data manifest

| File | Purpose |
|---|---|
| `src/authorship_message.py` | Message subtype with `explicit_claim` and `source_induced_change` fields |
| `src/authorship_source.py` | 4-cell source with paired-seed protocol |
| `src/authorship_observer.py` | Wrapper on Study B observer adding the u_hat authorship rule |
| `src/run_study.py` | Full pipeline |
| `src/analyze.py` | 4-figure analysis |
| `preregistration.md` | Frozen v1.0.0 |
| `data/raw/confirmatory.jsonl` | 360 trials × per-message trajectory logs |
| `results/summary.json` | Machine-readable verdict + all cell means + all contrasts |
| `results/analysis.json` | Flat table of cells and contrasts |
| `figures/01_2x2_factorial.png` | Cell-level û across 4 cells × 3 regimes |
| `figures/02_credulity_audit.png` | **KEY FIGURE.** NULL-REALITY: TOTAL vs NO-CLAIM at each regime |
| `figures/03_u_trajectories.png` | û over t=1..200 per cell |
| `figures/04_marginal_contribution.png` | Δ û from claims when evidence is present |
| `run_all.log` | Full runtime log |

## 14. Relationship to the philosophical archive

**Conceptual provenance is not empirical support.**

The philosophical claim "every apparent entity is a transformation of
the source" inspired this study's operationalization of TOTAL
authorship attribution. What the study establishes is:

- A specific Bayesian observer's û register responds
  differently to authorship claims depending on whether the source
  also produces verifiable causal changes.
- The observer's credulity is a function of both the update rule
  (CLAIM_WEIGHT constant) AND the prior strength. Under weak priors,
  the observer accepts unsupported claims to a measurable degree.
- Under all priors, verified causal evidence dominates authorship
  attribution and unsupported claims contribute little to nothing when
  evidence is present.

The study **does not** establish:
- That any observer (biological, computational, or philosophical) has
  such a register.
- That "total authorship experience" corresponds to Bayesian
  attribution.
- That the metaphysical interpretation of O/0's authorship claim is
  correct or incorrect.

## 15. References

- **O0-CRP-004** — Program-level hypothesis registry.
- **O0-CRP-005** — Observer architecture reference.
- **O0-CRP-011** (Study B) — factored Bayesian observer imported verbatim; the u_hat commentary at lines 297–306 is operationalized here.
- **O0-CRP-015** (SIM-CRP-002) — precedent for zero-variance edge-case handling in the verdict function.
- **Pearl, J. (2000).** *Causality: Models, Reasoning, and Inference.* Cambridge University Press. — reference on distinguishing claims from evidence.
- **Kruschke, J. K. (2011).** *Doing Bayesian Data Analysis.* Academic Press. — reference on Beta priors and posterior updating.

## 16. Revision history

| Version | Date | Change |
|---|---|---|
| 1.0.0 | 2026-07-27 | Initial preregistration and confirmatory run. Verdict: CREDULOUS-OBSERVER at ANCHOR/FLAT, RESISTANT at SKEPTICAL. Genuine mixed-support finding. |
