# INTEGRITY — E4-H034

## File inventory

| File | Status | Notes |
|---|---|---|
| `README.md` | final | status INCONCLUSIVE / OPEN |
| `ORIGINAL_CLAIM.md` | preserved | original hypothesis, unedited |
| `PRIOR_ART.md` | final | marks all novelty unverified |
| `PREREGISTRATION.md` | preserved | written before the run, unedited |
| `METHODS.md` | final | derivation + protocol |
| `RESULTS.md` | final | separates P1 (derivation) from P2 (synthetic) |
| `LIMITATIONS.md` | final | nine limitations, including the untested core |
| `DATA_PROVENANCE.md` | final | states no data were used |
| `REPRODUCE.md` | final | |
| `INTEGRITY.md` | this file | |
| `code/h034_theory_and_protocol.py` | final | the only script |
| `results/h034_results.csv` | generated | 16 rows |
| `results/h034_run_log.txt` | generated | console output of the reported run |

## No discarded versions with hidden results

Two bugs were found and fixed *before* any number was recorded:

1. `group_cv` built the design matrix with `column_stack` over rows, transposing it — raised
   `LinAlgError: Incompatible dimensions` rather than returning a wrong number.
2. The synthetic signal term was 2.5× `E_out`, too small relative to the material nuisance to be
   detectable in 480 samples; increased to 40× so the demonstration exercises the protocol at a signal
   level it can see.

Both fixes are recorded here because (2) in particular changed the numbers: the demonstration was
**strengthened** to make the protocol's power visible. A reader should know that the signal strength
was chosen by the investigator, and that a smaller signal would have produced a weaker or null
demonstration. **This does not affect the scientific claim, which is about real MLIPs and was not
tested at all**, but the choice is disclosed rather than hidden.

## Checks performed

- Script exits 0; CSV parses; 16 rows.
- Every number in `RESULTS.md` traces to the CSV or the run log.
- P1 ratio 0.125 at `R_c = 8` verified by hand: `(4/8)³ = 0.125`.
- P2 grouped split verified to hold out whole materials (fold assignment on `material` id).

## Checks NOT performed

- No independent re-implementation of the grouped CV.
- No real data, so no external validation of any kind.
- No statistical test on the P2 improvements (480 samples, one seed). The numbers are illustrative of
  the protocol's direction, not estimates with error bars.

## Claims made and not made

| Statement | Allowed? |
|---|---|
| "`E_out ∝ P²/(κR_c³)` follows from point-dipole elasticity" | **Yes** — derivable, and derived |
| "Error should scale quadratically in `|P|`" | **Yes** — as a prediction |
| "The grouped-CV protocol distinguishes signal from leakage" | **Yes** — synthetic demonstration |
| "Elastic dipoles predict MLIP error" | **No** — untested |
| "This is novel" | **No** — unverified |
| "Validated on defect data" | **No** — no data |
