Files
2026-09-30 21:38:56 +08:00

62 lines
3.3 KiB
Markdown

# Phase 4AR read-only progress and post-run audit
These tools are separate from the 16 registered scientific source files. They
never launch a brain, change plastic delta, resample inputs, resume a partial
epoch or authorize another assay. Tests use synthetic temporary data only.
## While the experiment runs
`progress_normal.py` reads the small committed ledger records. It distinguishes
completed CPU-verified epochs, completed probes, pending processes and mere
result files. It is not a whole-tree integrity check or a learning gate.
`normal_finalize.py check` makes a real Linux process query and examines the
actual terminal receipts. It intentionally refuses a live or incomplete run,
even when a completion-looking file exists. An absent PID alone proves nothing.
No final-audit directory or result is created by this check.
## After all registered work has ended
An operator must first provision this exact, empty, separately owned directory:
`/data/digital-drosophila/experiments/phase4ar-normal-conditioning-final-audit/`
Then run the committed `normal_finalize.py audit` with the existing science
environment and `-B`. The driver refuses uncommitted audit code, a nonempty
destination, missing/failed exit evidence, a live runtime or a stopped phase.
There is no automatic retry after a partial finalization.
The terminal ledger's authentic original PASS was written before
`audit/execution-complete.json` existed. A fresh unmodified ledger audit will
therefore report that exact one extra file. `terminal_ledger.py` retains both
original reports unchanged. It accepts this boundary only if every other field,
the full order, head, payload and compiler-cache identity agree, and both byte
totals differ by exactly that completion file's actual length. It never deletes
the file or changes a failure flag to PASS. Any other difference is rejected.
The terminal inventory includes all experiment payload, registered external
inputs and all six administrative supervisor files. Startup identities were
independently bound while the run was live. The driver additionally checks real
process quiescence before and after analysis; file existence is not a lock or
an atomic filesystem snapshot.
The frozen `normal_metrics.analyze` then runs in a fresh CPU process against all
33,920 task records and 3,920 probes. Its real exit and file bytes are recorded.
The old frozen data are reverified in a separate integrity process. Full
terminal inventory is read again after analysis. All new reports and their
manifest/checksums live outside the original experiment.
`normal_outcome.py` checks the internally consistent fixed terminal report:
all eight cells, the same-replicate conjunction, all controls and both H control
source mappings. Incomplete/invalid evidence is not a scientific negative result.
It cannot authenticate a caller's evidence flags itself; the driver must supply
the actual verified files and process evidence.
Even `NORMAL-ACQUISITION-PASS` is **not usable learning** or a model candidate.
Delayed reward, reversal and retention remain unrun and are not automatically
authorized. No parameter, seed or endpoint is chosen using intermediate results.
Historical integrity checks do not rerun the five old reference trials and are
never labeled as new numerical regression. Git stores code and selected small
evidence, not a second copy of the bulk experiment dataset.