Ко всем документам · PBH-VERIFY-01: проверенный модуль диагностики sphdiag
PBH-VERIFY-01 — пилот «вывод → реализация → независимая проверка» для модуля сферических 3+1-диагностик
Что это. Небольшой воспроизводимый эксперимент ТЗ ../pbh_computational_physics_agent_prompt_ru.md: модуль sphdiag вычисляет по сферическому срезу (A, R, K^r_r, K^θ_θ) и материи (скалярное поле φ, Π или Vlasov-моменты) проекции T_ab, невязки связей, массу Misner–Sharp, световые расширения θ±, классы сфер и кандидаты apparent horizon — с оценками численной ошибки и статусами пригодности. Он не эволюционирует данные и не решает связи. Выводов о f_PBH, EKG→Vlasov или космологическом сценарии пилот не делает.
Результат одной строкой
Модуль (impl-B-v0.5, контракт v1.4) проходит 34 из 35 тестов независимой матрицы v2 (провал U62 — неустранимый по одному снимку компромисс между ложной тревогой и пропуском недоразрешённости). Все 13 предрегистрированных мутантов убиты и разработческими тестами, и замороженными независимыми матрицами. Аудит нашёл все 4 тайно внесённых кодовых дефекта и частично — круговой тест. Естественные ошибки найдены в контракте (14 шт., одна — неверный знак в F10), в численной логике реализации (не в формулах) и в допусках самой проверки. Самая содержательная находка получена на реальных данных V1: первый горизонт V1 ставится на ядре шириной в одну ячейку, где знаки θ± не разрешены (см. decision.md).
Структура
| Путь | Содержание |
|---|---|
context_audit.md |
Доступный контекст, V0/V1/V1b, принято/гипотеза/проверено/противоречие |
physics_contract.md |
Контракт (v1.0 заморожен до кода; v1.1–v1.4 с происхождением каждого изменения, §13–§16) |
derivation.md, derivation/ |
Вывод F1–F13 (sympy из 4-метрики; сверка с [S1]–[S4]) |
verification_plan.md |
Замороженная матрица тестов (v1, затем v2 с журналом изменений допусков) |
src/sphdiag/ |
Основной модуль (архитектура B) |
tests/dev/ |
Разработческие тесты реализации B |
independent_reference/ |
Независимые эталоны (аналитика, собственный ФКГ-интегратор, собственный решатель связей, FD) — без импорта sphdiag |
tests/independent/ |
Независимая матрица (run_matrix.py), направляется на любую реализацию через SPHDIAG_PATH |
arch_A/ |
Архитектура A: один агент с самопроверкой (код, тесты, REPORT.md) |
audit_copy/ |
Копия кода для аудита (с тайными дефектами — mutants/audit_seeds.md) и audit_findings.md |
mutants/ |
Генератор мутантов, мутанты по версиям кода (v0.1, v0.3, v0.4, с копией BASE) и скрипты прогона |
extension/ |
Подключение снимков Einstein–Vlasov из pbhgr.cosmo_ev (V1) |
results/ |
JSON и логи всех прогонов, agent_costs.md |
mutation_report.md, audit_report.md, evidence_matrix.csv, decision.md, results/comparison_A_B.md |
Итоговые документы |
agent_logs/ |
Журналы ролей и timeline.txt |
Версии зафиксированы git-тегами: contract-v1.0 … contract-v1.4, impl-B-v0.1 … impl-B-v0.5, arch-A-v1, verify-matrix-v1, verify-matrix-v2.
Зависимости
Python 3.12.3, numpy 2.5.3, scipy 1.18.1, pytest 9.1.1 (системные). sympy 1.14.0 + mpmath 1.3.0 — только для derivation/ и части эталонов; ставятся локально:
pip install --target .pydeps sympy==1.14.0
Команды
Разработческие тесты:
cd /root/PBH/pbh_verify_01 && PYTHONPATH=src python3 -m pytest tests/dev -q
Независимая матрица (≈ 1–4 мин):
cd /root/PBH/pbh_verify_01 && SPHDIAG_PATH=src python3 tests/independent/run_matrix.py --out results/matrix_now.json
Та же матрица на реализации A:
cd /root/PBH/pbh_verify_01 && SPHDIAG_PATH=arch_A/src python3 tests/independent/run_matrix.py --out results/matrix_A_now.json
Символьная проверка формул:
cd /root/PBH/pbh_verify_01 && PYTHONPATH=.pydeps python3 derivation/core.py
Мутанты (генерация, затем dev-набор и замороженная матрица; замороженная копия матрицы — git archive verify-matrix-v2 tests/independent independent_reference | tar -x -C <dir>):
cd /root/PBH/pbh_verify_01 && python3 mutants/make_mutants.py --out mutants/v0.4
cd /root/PBH/pbh_verify_01 && ./mutants/run_dev_on_mutants.sh mutants/v0.4 results/mutants_dev_v0.4code_v0.4suite.txt
cd /root/PBH/pbh_verify_01 && ./mutants/run_matrix_on_mutants.sh v2_on_v0.4 <frozen_v2_dir> mutants/v0.4
Расширение на данных V1 (≈ 2–4 мин на прогон, < 100 МБ):
cd /root/PBH/pbh_verify_01 && PYTHONPATH=/root/PBH/pbhgr:src python3 extension/vlasov_snapshots.py --mu 0.10 --dR 0.3 --tend 29.5 --tstart 27.6 --out results/extension/mu010
Ресурсы и расходы
- Машина: VPS 2 vCPU / 3.7 ГБ без swap. Параллельно шли 3D-прогоны
pbhgrдругого сеанса; пилот их не трогал. Все вычисления пилота одномерные, < 200 МБ. - Прямые денежные расходы: 0 € (серверы и платные API не арендовались).
- Субагенты (одна модель, раздельные контексты): 5 агентов, суммарно ≈ 1.56 млн токенов субагентов (реализация B 378 тыс. за 5 раундов; верификатор 482 тыс.; derivation 230 тыс.; аудит 189 тыс.; агент A 278 тыс.) плюс контекст координатора. Длительности —
results/agent_costs.md. - Время по стенным часам: 22:31–≈02:30 UTC (≈ 4 ч), см.
agent_logs/timeline.txt. - Человеческое вмешательство после выдачи ТЗ: не зарегистрировано (не логировалось; в сеансе не было сообщений пользователя после начальной команды). Оценок «ускорения» не делается.
Ограничения
См. decision.md (разрешено/заблокировано) и audit_report.md §6. Главные: оценка ошибки по одному снимку не видит изломов (нужна сходимость на двух сетках); погрешности входных полей не принимаются; касательные нули не ищутся; все роли — экземпляры одной модели, поэтому общая ошибка возможна (пример — одинаковый ложный VIOLATED у A и B, N13).