Skip to content

docs(evidence): next real-bug class selection — #400 dictionary-ref pilot (#382/#406 NO-GO) - #412

Merged
PhysShell merged 1 commit into
mainfrom
research/next-bug-class
Oct 18, 2026
Merged

PhysShell merged 1 commit into
mainfrom
research/next-bug-class

Conversation

@PhysShell

Copy link
Copy Markdown
Owner

Что и зачем

Research PR. В коде ничего не меняется: Own.NET, OwnIR, CI и goldens не затронуты.

Это kill-first исследование: какой пробел анализа владения стоит следующих инвестиций — #382, #406 или #400. Kill-gates предрегистрированы до экспериментов (00-preregistration.md).

Отчёт: docs/evidence/next-bug-class-2026-10/REPORT.md.

Кандидат Реальные баги Вердикт
#382 canonical first-party calls 0 NO-GO within current evidence budget (issue остаётся открытым)
#406 closure capture 0 NO-GO within current evidence budget (issue остаётся открытым)
#400 view invalidation 2 подтверждённых stale-ref дефекта: meziantou/Meziantou.Framework#2825, dotnet/maui#37148; оба воспроизведены на исходном коде GO, первый срез сужен до Dictionary + GetValueRefOrAddDefault/GetValueRefOrNullRef

Встроенные анализаторы .NET (AnalysisMode=All) оба дефекта не ловят. Сторонние анализаторы, CodeQL и Infer# — NOT_TESTED. Precision не измерена: это первый gate следующего PoC.

Owner decision: ACCEPT RESEARCH RESULT / GO-400-DICTIONARY-PILOT. Условия ограниченного PoC — в §6 отчёта.

Тип изменения

  • feat — новая возможность
  • fix — исправление бага
  • docs — документация (research evidence)
  • refactor / chore / test / ci — без изменения поведения

Как проверено

  • Скрипты в repro/ воспроизводят записанные выводы data/ побайтно. Исключение — корпус пар: он приватный, поэтому для него закоммичен только вывод.
  • Runtime-пробы (c_runtime_list, c_runtime_dictionary) запущены из этой ветки.
  • Сторонние исходники скачиваются по закреплённым SHA и не коммитятся (.gitignore).
  • ruff check . — чисто.
  • test_p037_evidence: состав support-файлов репозитория не изменился, их по-прежнему три.

Связанные issue

Refs #400, #382, #406

Чеклист

  • изменение покрыто тестом/селфтестом (или объяснено, почему нет) — research evidence, без кода
  • README/docs обновлены при необходимости
  • коммиты в conventional-commit стиле (feat:, fix:, docs: …)

🤖 Generated with Claude Code

…ilot (#382/#406 NO-GO)

Kill-first research over three candidates on main 2fefb19, pre-registered
before any experiment (00-preregistration.md):

- #400: two independent real stale-ref defects (meziantou/Meziantou.Framework
  #2825, dotnet/maui #37148), both reproduced on the original code; the
  built-in .NET analyzers do not flag them and Own.NET does not model the
  area. The research slice moves from List<T>/AsSpan to Dictionary ref
  returns (GetValueRefOrAddDefault / GetValueRefOrNullRef). Precision is
  not measured yet: that is the first gate of the authorised PoC.
- #382, #406: gaps reproduced, no real defect found within the budget:
  NO-GO within the current evidence budget; both stay open.

Reproducible probes (repro/) and recorded outputs (data/); third-party
sources are fetched by pinned SHA, never committed. No production change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@PhysShell
PhysShell merged commit 3d1d174 into main Oct 18, 2026
76 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant