# Operational history of the Qwen3-32B run

This file records how the run was executed. It is not a result. Dates are 2026-10-18 unless stated.

## Sequence

1. **Freeze.** Protocol (`PREREG_QWEN3_32B.md`), criteria document, run configuration and manifest were frozen before any 32B statistic was read; manifest sha256 `b2ec42009c9d4bb1acf3517b0b0d2b5db1c3093848fb402ace97299fae368e10`.
2. **Thresholds.** The numeric thresholds were proposed in writing and approved by the author on 2026-10-18 without change (`thresholds_status` in `criteria_evaluation.json`). The author had already seen the 8B, 14B and Gemma results; the approval was not blind to them. The author declined an additional M500 MMLU run.
3. **Self-test tolerance.** The intervention self-test floor is multiplied by K = 10, calibrated data-independently (`code/q32/frozen_pipeline/calibrate_bf16_floor.py`, `bf16_floor_calibration.json`; maximum observed ratio 4.62). PREREG §11.1.
4. **Restarts on fresh VMs.** Three resume procedures (`ops/resume_2026-10-18T111134Z.txt`, `…T111343Z.txt`, `…T111553Z.txt`; 11:11, 11:13, 11:15 UTC). Each removed stale markers/results (`s0_env`, `s8_criteria`, `s9_summary`, `criteria_evaluation.json`, `RESULT.json`, `SUMMARY.md`) before restarting, because `s0_env` had been marked done on a fresh VM while data files were missing and the criteria and summary stages had been run with `NOT_RUN` labels after failed stages. No code, configuration or threshold changed. The frozen manifest hash in each note is identical.
5. **Completion.** All stages `s0_env … s8_criteria` finished with status `ok` (`RESULT.json`); the labels in `criteria_evaluation.json` are those of the completed run.

## NOT_RUN blocks

The stage log `logs/s8_criteria.log` of the private run contains three blocks in which every criterion was `NOT_RUN` (and A7–A10 `DESCRIPTIVE_NOT_RUN`), written before the missing stages had completed. They are not results and are not used. The log is part of the private run directory and is not published; this paragraph is the public record of it.

## Extra analysis after the run (not part of the frozen run)

- Machine extraction of the stored run files and aggregate verification: 62 checks, 0 failed (`results/q32/verification_q32.json`).
- The ablation × framing interaction table was computed from reconstructed per-item rows by `code/q32/analysis/analyze_interaction.py` (exploratory; Holm over 7 tests; sign-flip Monte-Carlo 200,000).
- Code audit of the add hook versus the `verify` read index (no GPU, no new measurement).
- Public aggregates, figures 8–13 and the article update (`code/q32/analysis/`).

## Not done

No new GPU measurement. The add validation test (§6.5 of the article) is described but not run. No M500 MMLU run. Block-level hashes in the private run's own manifest were not recomputed in the publication step.
