Search

All documents · PBH-VERIFY-01: the verified sphdiag diagnostics module

audit_report.md — PBH-VERIFY-01

RU 2026-09-29 · 14.0 KB · Markdown

This document is in Russian (original language). Your browser can translate it; the key results are summarised in English on the Results page.

Сводка всех найденных ошибок: естественных (возникших при работе) и внесённых (контролируемых). Для каждой указано, кто и как её нашёл, когда и чем она исправлена. Первичные документы: derivation.md §6, audit_copy/audit_findings.md, verification_plan.md §8–§10, agent_logs/implementation_B.md §5 и разделы v0.2–v0.4, arch_A/REPORT.md §4–§5, results/extension/.

Статус этого документа: EXECUTED — все перечисленные прогоны реально выполнены; команды и логи в README.md и results/.

1. Естественные ошибки в физическом контракте

# Версия Ошибка Кто нашёл, как Исправление
N1 1.0-draft Знак в тождестве массовой формы F10: −(R²R′/4)𝓗 вместо +(R²R′/4)𝓗 роль Physics derivation, символьно (sympy, derivation/core.py); подтвердили независимо агент A (sympy) и верификатор (К1) v1.0 (до кода)
N2 1.0-draft Неполное распространение ошибок σ(𝓗), σ(𝓜), σ(𝓗_M) (нет членов с σ(Γ) и σ(R′)) → ложные VIOLATED у центра derivation (Р2) v1.0
N3 1.0-draft Нет порядка статусов геометрии; не покрыт изолированный маргинальный узел derivation (Р3) v1.0
N4 1.0 Противоречие: UNCERTAIN vs NO_TRAPPED_SPHERES+marginal_present (исключение недостижимо) независимо: реализация B (I-1), агент A (п. 1), верификатор (К3a′) v1.1 (C2)
N5 1.0 σ(f′) без ошибки округления; порог VIOLATED обнуляется при Σ|T| = 0 → ложные VIOLATED на точных данных B (I-3), A (п. 3), верификатор (К23) v1.1 (C4)
N6 1.0 Ошибка численной φ′ не входит в σ невязок для скалярного поля → ложные VIOLATED на согласованных EKG-данных B (I-4), A (п. 3), верификатор (К24) v1.1 (C5)
N7 1.0 Неразрешённый знак (+,0) → PAST_TRAPPED_ONLY на плоском Минковском (гиперболоид до r/τ = 10⁷) аудит (A10, пробой), верификатор (К3c), derivation §7 п. 5 v1.1 (C3)
N8 1.0 Кандидат AH зависит от направления нумерации r (при убывающей метке горизонт Шварцшильда теряется) аудит (A6), агент A (п. 7) v1.1 (C1: θ_out по росту R)
N9 1.0 σ = |D⁴−D⁶| растёт вместе с O(1)-ошибками на изломах → «CONSISTENT» на несходящихся данных аудит (A7, A11) v1.1 (C7, статус UNRESOLVED) — частично: см. §6
N10 1.0 σ не видит сеточного шума: у почти касательной сферы шум 1e-8 даёт ложный AH_CANDIDATE или ложный NO_TRAPPED (3 из 6 реализаций) агент A (п. 2), собственный тест сценария порога v1.1 (C6, σ_noise)
N11 1.0 R = 0 вне центра молча принимается; отклонения центра, M_int ≠ M_MS, M < 0 не попадают в статус аудит (A8, A9, A12, A15) v1.1 (C8, C9)
N12 1.1 Цепочка неразрешённых точек у центра (τ± ≈ 2–5) классифицировалась DOUBLY_MARGINAL и попадала под исключение → PAST_TRAPPED_ONLY для неразрешённого будущего-trapped ядра координатор, на реальных данных V1 (pbhgr.cosmo_ev, μ = 0.36, t = 11.84 t_H; расширение пилота) v1.2 (C11, класс UNRESOLVED)
N13 1.2 Узловая ошибка вычисленных полей (M, Γ) не входит в σ их производных → ложный VIOLATED на гладких точных данных (N = 100, |X|/σ = 95) независимая матрица v2 (U62) — у A и B одинаково v1.3 (C12)
N14 1.2 Формат предупреждений не задан → тест не может проверить наличие предупреждения верификатор (К29/К31), провал W85 v1.3 (C13, коды)
N15 1.3 Случайный нуль разностной оценки |D⁴−D⁶| (σ(M′) = 3.5e-9 при истинной ошибке 4.5e-7) → ложный VIOLATED сохранился после C12 координатор, проба U62 на v0.4 v1.4 (C14, окно 3 точки). Цена: на v0.5 недоразрешённый центральный бугорок (w/h ≈ 1.3–1.5) получает CONSISTENT вместо UNRESOLVED — компромисс «ложная тревога ↔ пропуск неразрешённости» не устраняется оценкой по одному снимку

2. Естественные ошибки реализации B (src/sphdiag)

Физических формульных ошибок в реализации не обнаружено ни разработчиком, ни аудитором, ни независимой матрицей: на точных фонах F7–F13 совпали с первого запуска (журнал B §5). Ошибки были в численной логике, оценках ошибки и тестах:

# Ошибка Как найдена Исправлена
B1 Узкий интервал [R_lo, R_hi] у горловины (R′ = 0) не содержал точного R ручная сверка с derivation.md §3 v0.1
B2 Касательный нуль «объяснялся» FUTURE_MOTS → NO_TRAPPED_SPHERES собственная проба открытого вопроса v0.1
B3 Переполнение в тесте смены знака RuntimeWarning v0.1
B4 Коэффициент порога округления (×2 и двойной учёт) собственный тест v0.1
B5 Слабые тесты: 7 выживших мутантов аудитора (M_prop без A, L2vol без A, σ_M, правило PAST_MARGINAL, проверка знака на концах интервала, Γ(0) для cell, проверка конечности масс); частично круговой ФКГ-тест аудит A13 (мини-мутационный прогон) v0.2 (+17 тестов)
B6 Исключение для DOUBLY_MARGINAL применялось к цепочке точек (буквальное чтение v1.1) расширение на данных V1 (N12) v0.3
B7 Ложный VIOLATED у центра на гладких данных при N = 100 матрица v2, U62 (N13) v0.4
B8 Формат предупреждений матрица v2, W85 v0.4
B9 Случайный нуль оценки σ у центра проба координатора (U62 на v0.4) v0.5

Ограничения, которые остаются (записаны разработчиком): 𝓗 в центральной области сходится как h² (свойство формы 𝓗, не ошибка); касательные нули между узлами не находятся; модуль доверяет объявленной чётности; при r/τ ≳ 10⁵ на гиперболоиде — предел точности double.

3. Естественные ошибки агента A (arch_A/)

По отчёту A: ложные VIOLATED из-за округления в D(M); inf ≤ inf давало CONSISTENT; ложный кандидат на шуме; выживший мутант σ(Γ) без /A; пустое утверждение or True и заглушка в тестах; O(N)-цикл Python. Все найдены самопроверкой и исправлены до сдачи. Независимая матрица v1 на A: 27/29, оба провала — дефекты допусков самой матрицы (см. §4); матрица v2: 26/35, все 9 провалов — требования v1.1–v1.3, которых не было в контракте v1.0, по которому работал A, плюс общий с B ложный VIOLATED (U62).

4. Естественные ошибки роли независимой верификации

# Ошибка Как найдена Исправлена
V1 Модель округления в K40 не учитывала вторую вложенную производную (∝ ε/(ah)², а не 1/(hR)) → ложный FAIL у обеих реализаций на 1.05–1.24× допуска координатор: проба масштабирования по N (dev·(ah)²/ε ≈ 11–60 = const) матрица v2
V2 Допуск M12 привязан к одному, случайно сверхточному (порядок 6.2) маршруту Γ′ → штраф корректной реализации 4-го порядка (A) координатор + верификатор: два других маршрута 4-го порядка дают ровно ошибки A матрица v2 (худший из трёх маршрутов)
V3 Допуск квадратуры не учитывал кубическое правило контракта (ложный FAIL X52 на макете) макет верификатора матрица v2
V4 M13 не ловил мутант past_marg мутационный прогон на макете матрица v2 (+2 сетки)
V5 Ошибки собственных эталонов до первого запуска (журнал плана §9) самопроверка RS1–RS6, макет до v1

Эти провалы не исправлялись задним числом: v1 сохранена под тегом verify-matrix-v1, её результаты — в results/matrix_B_v0.1.json, results/matrix_A_v1.json, изменения v2 с исходными значениями — в verification_plan.md §10.2.

5. Внесённые (контролируемые) дефекты

5.1 Тайные дефекты в копии для аудита (mutants/audit_seeds.md)

Дефект Класс Найден аудитом? Как
S1: знак потока в M_flux M4a да (A4, major) чтением, затем пробой и падающим тестом
S2: сфера Хаббла принимается как кандидат AH M5 да (A2, critical) чтением, затем пробой
S3: V = m²φ² M3c да (A3, critical) чтением
S4: чётность R в центре M8 да (A1, critical) чтением
S5: круговой ФКГ-тест (ожидаемое ρ и H из тестируемого кода) M6 частично (A13: «ФКГ-тест частично круговой: берёт ρ из тестируемого кода») чтением тестов

Все четыре кодовых дефекта одновременно ломали 22 из 80 разработческих тестов, поэтому аудит мог найти их и без чтения. Аудитор сообщает, что A1–A4 найдены сначала чтением. Проверить это независимо нельзя: это самоотчёт агента.

5.2 Автоматические мутанты — см. mutation_report.md.

6. Что остаётся открытым

  1. Негладкие данные (излом, скачок): по одному снимку модуль даёт VIOLATED (безопасная сторона) или, на мелкой сетке, CONSISTENT (излом затрагивает фиксированное число точек, доля < 5 %). Надёжная проверка — сходимость на двух сетках; в модуль не встроена.
  2. Погрешности входных полей (σ_KB, σ_A) не учитываются (аудит A14). На данных частиц V1 это делает статус связей VIOLATED при относительной невязке ~1e-5 в объёме: невязка не убывает с K при фиксированном числе частиц на ячейку (скан K = 1000/2000/4000, results/extension/Kscan), то есть это шум выборки, а не ошибка V1.
  3. Касательные нули (рождение пары MOTS) между узлами не находятся.
  4. Вопросы верификатора К25 (смысл inner/outer при Γ < 0 в полях корня), К27 (относительный критерий UNRESOLVED без абсолютного масштаба), К30 (размывание неразрешённой особенности вдали от центра правилом 5 %).
  5. Независимость: все роли — экземпляры одной модели. Одинаковый ложный VIOLATED у A и B (N13) — пример общей ошибки, которую согласие двух реализаций не выявило бы; нашёл её тест с эталоном из ОДУ.