# Retained physical memory: a passive-relaxation benchmark

**Status: reproducible synthetic demonstration. No material has been measured.**

The bounded H03 question is whether a later probe distinguishes a controlled trained condition from a matched untrained condition, and whether an ordinary decaying state explains the difference. The supplied model is passive exponential relaxation. It does not learn, optimize a task, establish consciousness or show that energy itself stores a universal history.

Python 3.9 or later is the only prerequisite. No equipment is needed for the demonstration. An empirical extension needs a defined physical substrate with an established safe write/reset/read procedure, a calibrated readout, timing and independently repeated matched controls. This package does not prescribe an apparatus or a biological intervention.

## Run

```sh
python analysis.py
python analysis.py my-measurements.csv
python analysis.py --generate-demo
```

## Demonstration and columns

The generator creates eight delays (0, 2, 4, 7, 10, 14, 20 and 28 seconds), with six independent matched pairs per delay: 48 pairs and 96 rows. Every pair represents a fresh reset/retrain/probe run; no specimen is repeatedly probed across the time sequence. The trained-minus-untrained signal is generated as `1.5 exp(-t/12)` arbitrary units. Both conditions share a block offset and slow background drift. Each reading also receives independent Gaussian noise with standard deviation 0.015 arbitrary units. Seed: 20261019.

Columns are `dataset_kind`, `pair_id`, `condition`, `delay_s`, `response_au` and `sigma_response_au`. Each pair ID appears exactly twice, once as `trained` and once as `untrained`, at the same nonnegative delay. Response may be positive or negative, but supplied standard uncertainty must be positive. At least four delays and two independent pairs per delay are required. Arbitrary units mean the readout scale must be documented before any physical interpretation.

## Analysis

The script subtracts the matched untrained readout from the trained readout. It averages differences at each delay using their known independent variances. A weighted least-squares fit then estimates `log(difference)=log(A)-t/tau`. Log variance is approximated by the delta method: variance of the mean difference divided by its square. This is appropriate only when relative noise is small.

The code requires positive mean differences and a negative fitted log slope. If a mean is nonpositive, it stops with an explanation instead of silently removing the point or adding a small constant. A real study with such data needs a justified original-scale likelihood, an offset model and possibly censoring treatment; changing the method after inspection must be disclosed.

Output includes A, tau, conditional uncertainties, all delay means, fitted responses, reduced chi-squared in log space, original-scale exponential RMSE and the RMSE of the zero-difference baseline. The zero baseline is a descriptive contrast, not a statistical proof of memory. The exponential is the ordinary passive-relaxation baseline against which any stronger learning claim would have to compete.

Actual demonstration output is approximately A=1.493291 arbitrary units, tau=12.220417 s, conditional standard uncertainty of tau=0.118252 s, and exponential mean-response RMSE=0.008584 arbitrary units. The generating tau is 12 s. The realized fit need not equal its generating parameter exactly because the synthetic sample contains noise.

## Proposed empirical protocol and limits

Predefine the written history, reset, probe, delay grid, meaningful retained difference and analysis. Randomly assign trained and sham-trained runs with matched duration and incidental input where possible. Blind labels during readout processing. Retrain or use an independent sample for each probe when probing changes the state. Characterize whether shared offsets really cancel; a condition-specific offset is not removed by pairing.

Repeat at new delays and after a specified reset or transformation. A local positive result needs a reproducible history-dependent readout at a declared delay, not just a decaying transient created by instrumentation. Failure conditions include leakage through order or labels, disappearance under matched controls, and dependence on an unmodeled condition-specific baseline. A well-fit exponential supports this passive model; it is not evidence of adaptation beyond relaxation, and does not test survival through arbitrary transformations.

## Source connections

- `information-info-keim2019`: material-memory review, DOI 10.1103/RevModPhys.91.035002.
- `methods-method-uncertainty`: NIST measurement uncertainty, DOI 10.6028/NIST.tn.1297.
- `methods-method-prereg`: prospective versus exploratory analysis, DOI 10.1073/pnas.1708274114.

## Files and provenance

- `analysis.py`: Python 3 standard library only. No network calls or optional packages.
- `synthetic-demo.csv`: generated demonstration, never an experimental observation.
- `blank-measurements.csv`: header-only schema; intentionally contains no data.
- `preregistration-template.json`: editable planning record, not an independently timestamped registration.
- `expected-results.json`: output captured by actually running the bundled demonstration.

Run from any directory using the path to `analysis.py`. An optional CSV argument selects another dataset. The script prints JSON and leaves the input unchanged. `--generate-demo` regenerates the bundled synthetic CSV using a fixed seed; use a copy if you need to preserve a modified demonstration.

The `dataset_kind` field must describe the real provenance of every row. Use `synthetic_demo` for the supplied example. Set `measured` only for observations actually collected and documented. Mixed labels are reported, not silently treated as an experiment. Copy the blank schema before entering observations; never relabel the supplied synthetic values as measurements.

Expected numerical outputs are a software benchmark, not an empirical success criterion. Small last-digit differences across Python implementations can be compared with an absolute tolerance of 1e-7. No script makes a claim about universal memory, a parent universe, new propulsion or a unified theory.
