# Phase 6: read-only baseline Phase 0–5

`run_utc: 2026-08-29T03:38:48Z`  
`workspace: /workspace/scratch/33c456a0a128`  
`baseline_policy: Phase 0–5 immutable; regression executed from clean ZIP extracts`  
`overall_status: PASS`

Этот файл фиксирует технический baseline для сборки Phase 6. Статусы ниже относятся только к точным байтам, конечным записям, объявленным контрактам и выполненным программам. Они не предъявляют референт, событие, истинность, применение, цель, смысл, происхождение, новизну или приоритет.

## 1. Инвентарь фаз

| Phase | Замороженный публичный заголовок | Главный формальный узел | Source / release manifest entries | Текущий чистый прогон |
|---:|---|---|---:|---:|
| 0 | «МАТЕМАТИКА НЕ ВЫШЛА ИЗ ЗАПИСИ» | MRB-0; bridge erasure; запрет autonomous export | K0 20 + P0 3; package 26 | PASS 47/47 |
| 1 | «МАТЕМАТИКА НЕ ВЫШЛА ИЗ ЗАПИСИ» | factorization/readset; lift; application binding | R1 38; release 3 | PASS 62/62 |
| 2 | «У РАЗЛИЧИЯ ДОЛЖЕН БЫТЬ ПРЕДОК» | AST-1; FDT-2; typed provenance | R2 48; release 5 | PASS 155/155 |
| 3 | «ЦИКЛ НЕ ЯВЛЯЕТСЯ ИСТОЧНИКОМ» | CP-LFP-3; SG-LFP-3; FP-SEL-3 | R3 42; release 5 | PASS 105/105 |
| 4 | «ОТСУТСТВИЕ ЗАПИСИ НЕ ЯВЛЯЕТСЯ ЗАПИСЬЮ ОТСУТСТВИЯ» | CBE-4; MCW-4; BND-4 | R4 36; release 5 | PASS 94/94 |
| 5 | «ДОКАЗАТЕЛЬСТВО НЕ ПРЕДЪЯВЛЯЕТ ДОКАЗАННОЕ» | PSR-5; ADM-5; NEX-5 | R5 36; release 5; closed package 47 | PASS 153/153 |

Совокупный фактический результат чистого прогона: **PASS 616/616**.

Разбиение, закреплённое freeze-записями:

- Phase 2: filtration 49, provenance 37, AST 42, self-audit 27;
- Phase 3: cyclic provenance 36, support grounding 37, self-audit 32;
- Phase 4: runtime 49, self-audit 45;
- Phase 5: proof-readset runtime 95, self-audit 58.

## 2. Фактически выполненный чистый прогон

Все шесть канонических ZIP сначала прошли `unzip -t`, затем были распакованы в отдельный каталог `/tmp/mrb06-baseline.SnQEv8`. Тесты, contract audits, self-audits и manifest checks выполнялись только в этой копии. Ни один член живых каталогов `math_record_boundary_phase0` … `math_record_boundary_phase5` для прогона не редактировался.

| Phase | Unit tests | Contract audit | Self-audit | Manifest audit |
|---:|---:|---|---|---|
| 0 | PASS 47/47 | `NO-AUTONOMOUS-EXPORT-IN-MRB-0`; erasure `BRIDGE-ERASURE-PRESERVES-M-IN-MRB-0` | `SELF-AUDIT-PASS` | K0, P0, package PASS |
| 1 | PASS 62/62 | lift/readset/application: `*-INVARIANT-AUDIT-PASS` | `PHASE1-SELF-AUDIT-PASS` | R1, release, package PASS |
| 2 | PASS 155/155 | `FILTRATION-INVARIANT-AUDIT-PASS`; `PROVENANCE-INVARIANT-AUDIT-PASS` | `PHASE2-SELF-AUDIT-PASS` | R2, release, package PASS |
| 3 | PASS 105/105 | cyclic provenance PASS 4164 cases; support grounding PASS 256 cases | `PHASE3-SELF-AUDIT-PASS` | R3, release, package PASS |
| 4 | PASS 94/94 | `EXTENSION-ABSENCE-INVARIANT-AUDIT-PASS`, 6656 cases | `PHASE4-SELF-AUDIT-PASS` | R4, release, package PASS |
| 5 | PASS 153/153 | `PROOF-READSET-INVARIANT-AUDIT-PASS`, 530808 cases | `PHASE5-SELF-AUDIT-PASS` | R5, release, package PASS |

## 3. Точные команды регрессии и manifest audit

Каждая группа запускается из указанного корня распакованной копии. `PYTHONDONTWRITEBYTECODE=1` применяется к каждому Python-процессу, а не только к первой команде цепочки.

### Phase 0

Рабочий каталог: `math_record_boundary_phase0`

```sh
env PYTHONDONTWRITEBYTECODE=1 PYTHONHASHSEED=0 python3 -m unittest -q test_all.py
env PYTHONDONTWRITEBYTECODE=1 python3 proof_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 proof_checker.py --audit-erasure proof_with_bridge.json
env PYTHONDONTWRITEBYTECODE=1 python3 self_audit.py self_claims.json
sha256sum -c K0_MANIFEST.sha256
sha256sum -c P0_MANIFEST.sha256
sha256sum -c PACKAGE_MANIFEST.sha256
```

### Phase 1

Рабочий каталог: `math_record_boundary_phase1`

```sh
env PYTHONDONTWRITEBYTECODE=1 PYTHONHASHSEED=0 python3 -m unittest -q test_all.py test_application.py test_self_audit.py
env PYTHONDONTWRITEBYTECODE=1 python3 lift_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 readset_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 application_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 phase1_self_audit.py self_claims_phase1.json
sha256sum -c R1_MANIFEST.sha256
sha256sum -c RELEASE_MANIFEST.sha256
sha256sum -c PACKAGE_MANIFEST_PHASE1.sha256
```

### Phase 2

Рабочий каталог: `math_record_boundary_phase2`

```sh
env PYTHONDONTWRITEBYTECODE=1 PYTHONHASHSEED=0 python3 -m unittest -q test_filtration.py test_provenance.py test_ast_pair.py test_phase2_self_audit.py
env PYTHONDONTWRITEBYTECODE=1 python3 filtration_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 provenance_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 phase2_self_audit.py self_claims_phase2.json
sha256sum -c R2_MANIFEST.sha256
sha256sum -c RELEASE_MANIFEST_PHASE2.sha256
sha256sum -c PACKAGE_MANIFEST_PHASE2.sha256
```

### Phase 3

Рабочий каталог: `math_record_boundary_phase3`

```sh
env PYTHONDONTWRITEBYTECODE=1 PYTHONHASHSEED=0 python3 -m unittest -q test_cyclic_provenance.py test_support_grounding.py test_phase3_self_audit.py
env PYTHONDONTWRITEBYTECODE=1 python3 cyclic_provenance_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 support_grounding_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 phase3_self_audit.py self_claims_phase3.json
sha256sum -c R3_MANIFEST.sha256
sha256sum -c RELEASE_MANIFEST_PHASE3.sha256
sha256sum -c PACKAGE_MANIFEST_PHASE3.sha256
```

### Phase 4

Рабочий каталог: `math_record_boundary_phase4`

```sh
env PYTHONDONTWRITEBYTECODE=1 PYTHONHASHSEED=0 python3 -m unittest -q test_extension_absence.py test_phase4_self_audit.py
env PYTHONDONTWRITEBYTECODE=1 python3 extension_absence_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 phase4_self_audit.py self_claims_phase4.json
sha256sum -c R4_MANIFEST.sha256
sha256sum -c RELEASE_MANIFEST_PHASE4.sha256
sha256sum -c PACKAGE_MANIFEST_PHASE4.sha256
```

### Phase 5

Рабочий каталог: `math_record_boundary_phase5`

```sh
env PYTHONDONTWRITEBYTECODE=1 PYTHONHASHSEED=0 python3 -m unittest -q test_proof_readset.py test_phase5_self_audit.py
env PYTHONDONTWRITEBYTECODE=1 python3 proof_readset_checker.py --audit-contract
env PYTHONDONTWRITEBYTECODE=1 python3 phase5_self_audit.py self_claims_phase5.json
sha256sum -c R5_MANIFEST.sha256
sha256sum -c RELEASE_MANIFEST_PHASE5.sha256
sha256sum -c PACKAGE_MANIFEST_PHASE5.sha256
```

## 4. SHA-256 самих manifest-файлов

| Phase | Manifest | SHA-256 |
|---:|---|---|
| 0 | `K0_MANIFEST.sha256` | `d3a498655b295ef547fd63d56fdd2063d98d72d4a1ab8db835b2c3903f675f50` |
| 0 | `P0_MANIFEST.sha256` | `b5ee7711785497eaefc988333b13a72cae1d9fe6f9b9e421124e927886f1267f` |
| 0 | `PACKAGE_MANIFEST.sha256` | `6aad6c5a6b0876b5e68aef53dc273d06b1346ba48bd0d11fc2f165a5fa57bf2d` |
| 1 | `R1_MANIFEST.sha256` | `a33fbee4c209764a338f55b3c850323a3eaeab9ff5a9f47c6dd98ffc1e77e04d` |
| 1 | `RELEASE_MANIFEST.sha256` | `4be78db1b13a34eedd1357370ba02a69af8185da5900a9531d7181c158965092` |
| 1 | `PACKAGE_MANIFEST_PHASE1.sha256` | `3040214622c7d3afecfef53c8074e00d8d39b128f602e2a5b71fb4a925e6ce82` |
| 2 | `R2_MANIFEST.sha256` | `d6fb16f7114c961e7711e07fb32cd68b6988abb8600264351bab61c1c774b4b5` |
| 2 | `RELEASE_MANIFEST_PHASE2.sha256` | `1ea85d29dfdd3e7d2f1af10d1ef7de8c3a33941f6aeaab721dcbf3b72be83a7c` |
| 2 | `PACKAGE_MANIFEST_PHASE2.sha256` | `dd0e03d1e150ca0ce20fd6491266beddba4c3a0b6c68f843fb2427bf9c047fda` |
| 3 | `R3_MANIFEST.sha256` | `a224a90f2fe17a85ad9a0108177ef3ca49ab5984ceec6903e519476a68cfd7f6` |
| 3 | `RELEASE_MANIFEST_PHASE3.sha256` | `4490f4b0e9d69600c16f731966e1dc52fba4a74287cf8b59e22225022a231b9b` |
| 3 | `PACKAGE_MANIFEST_PHASE3.sha256` | `9435eddf095e4c4a0f06b292d2f9e5fd4cbab9b1a67d0d8b7d24cfe83afafaba` |
| 4 | `R4_MANIFEST.sha256` | `e76a6442b05f248945bf86c0349f1e80bbf39ec7198f6394968cc09d3de7ac37` |
| 4 | `RELEASE_MANIFEST_PHASE4.sha256` | `b8eb96daed84f0d7b96cbb7330a2b66d5cd89cd0c7f37bc255ed6c4423743aef` |
| 4 | `PACKAGE_MANIFEST_PHASE4.sha256` | `b7edc06ab7ce78e2eb276701d31c4fe3c03e91e030eb2ad7a24ffdcbabc74097` |
| 5 | `R5_MANIFEST.sha256` | `c3ea64dd5213a52e7c0a8fb91b7a0f1d7bd0a8e9f47c97c3228c5cdf80ea9f5a` |
| 5 | `RELEASE_MANIFEST_PHASE5.sha256` | `b5f77ae397bfdf49897eddee43aee6ffc175367b78d7aeb9676e27ba1bd539a2` |
| 5 | `PACKAGE_MANIFEST_PHASE5.sha256` | `4197d1bf7d05f1c2fb1392f1e72a2e9be0cf0f4cea17c79279fecd41c29b4455` |

## 5. Канонические release-артефакты и ZIP

Phase 0 не содержит канонического DOCX/PDF release; его внешним контейнером является ZIP.

| Phase | Артефакт | Bytes | SHA-256 |
|---:|---|---:|---|
| 0 | `Mathematics_Did_Not_Leave_Record_Phase0.zip` | 66000 | `d0f47c0814287f95063a4b1c14709b485e709b62349d32f7d1ce8271eac83b28` |
| 1 | `release/Mathematics_Did_Not_Leave_Record_Phase1_RU.docx` | 65566 | `c16859b5d4688d2c3c7455ad56f30ab6dbe47cbd4db925dbf9f41085687004b2` |
| 1 | `release/Mathematics_Did_Not_Leave_Record_Phase1_RU.pdf` | 780999 | `a6067807184d1f3350188fda433339ccb190cba0af9d8b9a7ad1dd97e3481b8c` |
| 1 | `Mathematics_Did_Not_Leave_Record_Phase1.zip` | 594711 | `405a7a6f10583fb593edbfd61b2747b38973adc9bbdb99d4364d710108a10c0b` |
| 2 | `release/Difference_Must_Have_Ancestor_Phase2_RU.docx` | 90061 | `d2d559b1db676f11c5b27646587947325a6f8215853e911df397d3946b56ace8` |
| 2 | `release/Difference_Must_Have_Ancestor_Phase2_RU.pdf` | 1043904 | `456d1bad23f576ea28eb10161c85609fe0ba5140a68db1ad62c74e077f915b36` |
| 2 | `Difference_Must_Have_Ancestor_Phase2.zip` | 775094 | `a89fb5efd66b4e6d247eb127a6c3ce364f318a149118bcdccd4dbed841d97c6e` |
| 3 | `release/Cycle_Is_Not_A_Source_Phase3_RU.docx` | 165079 | `fb5c5de67ec45a4ffb2f4243da77d2ec750446878cf36af66f179c5920a395c9` |
| 3 | `release/Cycle_Is_Not_A_Source_Phase3_RU.pdf` | 1981276 | `83af5ac6da187d59680e2d108888ac0113b15d2f0228bb2fb612c6dfe32f43d7` |
| 3 | `Cycle_Is_Not_A_Source_Phase3.zip` | 2754255 | `7534779ad84a408051a804e4e6e1bf8f50a06611c985856d06df51c3819609f0` |
| 4 | `release/Absence_Of_Record_Is_Not_Record_Of_Absence_Phase4_RU.docx` | 124558 | `36c39b2f19c84e35e31779d17ef528c7dc33799a00d4455d74347fc138b045b8` |
| 4 | `release/Absence_Of_Record_Is_Not_Record_Of_Absence_Phase4_RU.pdf` | 1515477 | `17c01e402400879db2317cc6eff35371c435dfd0c14a7346f38b37815d1ebf85` |
| 4 | `Absence_Of_Record_Is_Not_Record_Of_Absence_Phase4.zip` | 2163612 | `902d49d3244e7da95bd15cc75f450514a7ce9ccd71ee4cdbc5f21fb2b60e2a00` |
| 5 | `release/Proof_Does_Not_Present_The_Proved_Phase5_RU.docx` | 153523 | `58598bffd66a61bc50ef379b224d0308eaa167deda20883f44a31c48f0e6c74c` |
| 5 | `release/Proof_Does_Not_Present_The_Proved_Phase5_RU.pdf` | 2070382 | `1969ae4b3504fffe2ebfe14dc2120a54654fb47cb02e6dc79b6ed11a9b586694` |
| 5 | `Proof_Does_Not_Present_The_Proved_Phase5.zip` | 2864136 | `da7059e5463fc2ede9b4003e296088b8d3b763264adfb780a9cce5fc6e399905` |

Все шесть ZIP: `unzip -t` PASS.

Канонические PDF page counts из freeze/QA-записей: Phase 1 — 47; Phase 2 — 59; Phase 3 — 114; Phase 4 — 86; Phase 5 — 131.

`Mathematics_Did_Not_Leave_Record_Phase1_RU_raw.docx` присутствует локально как промежуточный файл, но не входит в канонический release manifest и поэтому не включён в таблицу.

## 6. Безопасный способ повторить регрессию без мутаций Phase 0–5

Предпочтительный маршрут — проверять неизменяемые ZIP в одноразовой копии, а не запускать Python внутри живых phase-каталогов.

1. Сверить шесть ZIP с SHA-256 из раздела 5.
2. Выполнить `unzip -t` для каждого ZIP.
3. Создать отдельный каталог только под регрессию:

   ```sh
   reg_dir="$(mktemp -d -p /tmp mrb06-regression.XXXXXX)"
   ```

4. Распаковать каждый ZIP в точный `reg_dir`; у архивов разные корневые каталоги `math_record_boundary_phase0` … `math_record_boundary_phase5`, поэтому они не перекрываются.
5. Выполнить команды раздела 3 внутри распакованных корней. Ставить `env PYTHONDONTWRITEBYTECODE=1` перед **каждым** Python-вызовом.
6. Не запускать обычный `python -m py_compile` в живых phase-каталогах: он может записать `__pycache__`. Если compile-gate нужен, компилировать копию внутри `reg_dir` либо выполнять `compile(source, path, "exec")` в памяти.
7. Считать PASS только при одновременном выполнении четырёх условий: unit suite PASS, contract audit PASS, self-audit PASS, все `sha256sum -c` PASS.
8. Живые Phase 0–5 использовать только как read-only reference; Phase 6 хранит собственные baseline-записи и не добавляет свои файлы в старые manifests.

Минимальный gate перед freeze Phase 6: **616/616 baseline tests + все 18 manifest-файлов PASS + шесть ZIP integrity PASS**. Любое расхождение останавливает freeze Phase 6; старые файлы не «чинятся» на месте.

