main
docs(173 Ф.2.A0): disasm/структурный baseline — Cleanup[Never] hot-path parity-таргет
plan 268 F.0: fix proofreading nits (file count, dangling section ref)
delete compiler-bootstrap/: codegen поглотил bootstrap, дубликат не нужен
docs(plan03.3): зафиксирован план registry + задел из 03.1/03.2/03.4
docs: правка ссылок на перемещённые docs/guide|dev файлы
codegen Plan 04 Этап 6: Buffer удалён из языка полностью
feat(Plan 114 Ф.6.4-Ф.6.5): markdown fenced ```nova rewrite in docs/+spec/
spec Plan 08 Ф.7: D54 расширение + сводная conversions.md
docs: Plan 09 Ф.1-Ф.4 retro — Clang toolchain в run_tests.ps1
docs(plan103+plan100): honesty audit gap fixes (4 gaps)
docs(hygiene): перенос docs/cases|collections|idiom|idioms|migration|research|tutorial-cleanup в guide/dev
plan100.4.5 Ф.6: docs+close ✅ ФИНАЛ Plan 100.4 umbrella — все 5 sub-sub-plan'ов закрыты
docs(plan137 Ф.7): spec + docs — rename protocol references
docs(plan101 Ред. 3): complete rewrite — `fn[T]` prefix + bounds + protocol composition
docs(plan103.8 Ф.5): close -- master Plan 103 V1 complete; stdlib roadmap + simplifications update
feat(plan103.1): MemOrdering enum + fence() API — закрывает Q-memory-model
docs(plan103.2): close — 12 typed atomics × 13 ops merged (e39ce0c)
docs(plan103): fix stale status drift в plan-doc headers + README row
feat(Plan 113 Ф.1+Ф.2): rename #realtime_safe → #realtime + D172 amend + D64 retract
spec+plans: renumber D-коллизий волна 3 — D173→D370, D277-тройная→D375/D376 (batch2 завершён)
docs(104): указатель-продолжение — LSP-производительность в Плане 213 (сервер выключен из-за CPU-жора, чинится там); протокольное V2 — 104.10; интегратор
feat(plan-104.2): Variant B local var type inference in hover (M-104.2-local-var-type-inference)
merge(plan-104-3): completion provider — keywords/snippets/identifiers/methods/imports
merge(plan-104-4): documentSymbol + workspaceSymbol + references
docs(plan104.5): production-grade sub-plan
docs(plan104.6): production-grade sub-plan — Rename + Format-on-save
docs(editors): D278 + Q38 + plan 104.9 — highlighter↔lexer source-of-truth
spec+plans+tests: renumber D-коллизий волна 2 (D125/D126/D174/D180/D185/D258 → D367/D368/D371/D372/D373/D374)
docs(plan108): FULL CLOSURE — Plan 108 family complete
docs(Plan 110 + 110.1): metadata status update 🆕 PLANNED → ✅ ЗАКРЫТ
docs(plans): #513 -- 110.10 PLANNED sketch updated to Channel[T].new
docs(plan-110 followups): 3 new plan-docs covering all open [M-110-*] markers
docs(Plan 110.2-110.8): metadata status headers ✅ ЗАКРЫТ — sub-plans of Plan 110 umbrella
docs(plan-110 followups): cross-reference downstream notes в 6 existing plans
test+docs(plan110.9): CleanupTimeoutError #no_prelude gate regression tests + closure
fix(273): #realtime nogc fn silently accepted GC-allocating calls
refactor(D199 V4.4): rename sizeof[T]() → size_of[T]() для Rust-style consistency
spec+docs(Plan 114.4.4 Ф.9): D199 V3 amend + Q7 update + safety-hatch extracts
docs(Plan 114.4.4.5 V4.1): logs + plan-doc status closure
docs+spec(Plan 114.4.4 V4.6 M1+M2+M3+M4): D199 V4.6 amend + A41-A44 + plan-doc status + logs + 🎯🎯 family complete V3-V4.6
docs(plan): TLS-домен консолидирован — 116 ЗАКРЫТ (https-prod-ready ядро); 193 NEW = nova-tls вынос+examples+доки (116 #5/#6 + 195 Ф.3); 195 подрезан до общего native-паттерна (Ф.1-2 done, Ф.3→193)
docs(plan118.1.7 Ф.5): D2 + D216 §9 amend — #unsafe fn → unsafe fn keyword
docs(plan118.1.6): D216 §10 amend + plan-doc closure section
docs(plan-doc): replace ??commit_F4?? placeholder с fa844c7 (V1 Ф.4 SHA)
docs(plan118_6): A0 prod-grade criterion + backlog M-118.1-addr-of-* CLOSED + M-118.6-tuple-field-escape open
feat(118.7): raw &x — сырой стек-адрес без escape analysis (D216 §4 amend 2)
docs(147): analysis — D246 checker gaps backlog + spec D246 canon + plan121 cross-ref
fix(plan 123 baseline): Default impl for FnDecl/TypeDecl/RecordField
test+docs(plan123): chain-cache array-elem-type regression tests + closure
docs+spec(plan123-followups 2026-06-05): closure + D228 optimizer-consumer note
docs(plan 123 V*.2): logs + umbrella closure (CLOSED 2026-06-02)
feat(plan123 V1.1): multi-region mut cache — Plan 123 V1 family ✅ FULLY CLOSED
docs: correct 34 stale OPEN [M-] markers -> RESOLVED/SUPERSEDED (triage w33ant6rp)
docs(plan 123.2 Ф.6): closure logs + status flip
feat(plan123 V2.1): loop-body LICM coordination — closes [M-123.1.2-loop-body-licm-coordination]
docs(plan 123.3 Ф.6): closure logs + status flip
feat(plan 123.3.1): pure-call literal args extension + D219 amend V3.1 + tests
feat(plan 123.3.2): pure-call tuple/record literal args (V3.2)
docs(plan 123.4 Ф.5+Ф.6): D217 amend V4 + closure logs + status flip
feat(plan 123.4.2): chain prefix sharing (V4.2)
feat(plan123 V4.3): deep chain prefix sharing length 3+
feat(plan123 123.4.4): codegen fluent-chain root-temp pre-pass — closes [M-123.4.4-codegen-fluent-chain-root-temp]
feat(plan 123.5.1): LSP code-lens + hover providers + D217 §6 amend V5.1
feat(plan 123.5.2): LSP semantic tokens for cached @field reads (V5.2)
feat(plan 123.5.3): LSP quickfix `add #pure` suggestion (V5.3)
feat(plan123 V5.4): explain deep-walk + TypeDecl ro/mut classification — closes [M-123.1.2-explain-deep-walk]
feat(plan123 V5.5): incremental LSP semantic-tokens delta
feat(plan 123.6.1): 12 global CLI flags + CI perf regression gate + D217 §7 amend V6.1
feat(plan 123.6.2): Plan 57 nova bench integration via CPU savings estimate (V6.2)
feat(plan123 V6.2.1): real wall-clock bench для field-cache
feat(plan 123.6.3): configurable gate thresholds (V6.3)
Merge plan-123-receiver-field-cse into main — Plan 123 umbrella V7 + V*.1 followups
feat(plan 123.7.2): explicit IpaCtx parameter threading (V7.2)
feat(plan 123.7.3): SCC-based exact closure via Tarjan (V7.3)
feat(plan123 V7.4): incremental SCC cache — Plan 123 V*.3+ backlog ✅ FULLY CLOSED
feat(plan123 V7.5): callee-non-self-mutation IPA — closes [M-123.1.1-callee-non-self-mutation-ipa]
feat(plan123 V7.6): same-field reference-type IPA — closes [M-123.7.5-same-field-ref-type]
docs(plan124.9 Ф.3): plan-doc closure + README sync + AC ✅
docs(plan127 Ф.7): plan-doc closure + AC ✅
docs(plan127.1 Ф.3): plan-doc closure + README sync + AC ✅
docs+spec(plan128 Ф.5): D215/D228/D26/D32 amends + plan-doc closure
docs(plan128.2 Ф.3): plan-doc closure + README sync + AC ✅
docs(plan129): перевести план на русский (house style)
docs: prompts, spelled correctly, and read-project moved out of them
docs(plan130): план human-facing документации (обзор + актуализация)
docs(136.1 F3): close plan
docs(plan137): migrate old protocol names in docs/
docs(plan138.4): Ф.6/G-E addendum — Self as nested generic type-arg + H6 acceptance
docs(plan139.1 Ф.D): close — E1 ✅ FULL / E4 🟡 PARTIAL; remove [M-139-f0-lang-item-decl]
docs(140.3): Q34 followups resolved + contract-levels acceptance criteria
docs(140.3): close-out for ensures/invariant interp + contract-levels
fix(140.4): renumber spec D-block D271→D272 (collision with Plan 143.2)
docs(plan141): close Ф.3 — acceptance audit A1-A6, drop memcmp-eq marker, log simplifications/project-creation
docs(plan142): Ф.3 close — D227 acceptance + markers removed
docs(plan143): D270 + Q + Plan 143 §2.A acceptance — [M-opt-preempt-strided-loop]
docs(plan143.2): D271 spec + Q-loop-opt-thresholds §B + plan §7 DONE
docs(144.0): spec D273 may-GC lattice + Q-may-gc-precision + plan status DONE
docs(144): split phases Ф.1–Ф.8 + Ф.0-remainder into sub-plan files 144.x
docs(plan145.2): codegen emission determinism — status + plan + markers
Merge branch 'main' into plan-145.2
docs(149): fix residual stale ref 146 6.1 'Plan 148' -> 'Plan 149'
merge(Plan 147 Ф.7): ro-binding/param index-freeze + LSP quick-fix + spec amendment [D246]
docs(plan148 Ф.5): finalize — README index (139/139.1/147/148), project-creation, simplifications, plan status
docs(plan150): close — acceptance verdict + project-creation + simplifications
docs(151 F.5): close plan + redirect marker; correct mono-recursion misdiagnosis
152.0 Ф.6: gate verification (0 new regressions) + strings-internals doc
refactor(unicode): Collator bodyless namespace — drop _tag placeholder
docs(plan152.7.1): close A5 Write-sink + update plan status to fully closed
docs(221.1): полный свод не-закрытых планов — Ф.2б дополнен (172.13/172.14/174/179/209/старые PARTIAL); 152.7.2 → SUPERSEDED 208 (рассинхрон); роадмап-класс явно вне зонтика
docs(plan152_8): acceptance criteria + fix commits + Vec[int] rationale
docs(plan153): CLOSED — full deliverables, acceptance criteria, test matrix
docs(plans): актуализация протухших статус-строк по факту тела/git log (бухгалтерская волна)
docs(plan154): реструктуризация в umbrella «no silent no-op dispatch»
docs(plan158): close [M-codegen-conformance-stack-overflow] — worker stack fix + plan doc + logs
docs(plan160/D281): A8 pattern-access criterion + codegen fix note + logs
fix(161): реализованы E_DUPLICATE_PROTOCOL_IMPL/E_BLANKET_CONFLICT (D355 §4/§5) — Ф.2 была CLOSED только на бумаге
spec(renumber): D216-anon-tuple → D354, D282-blanket → D355 — разрешение двойных D-номеров (аудит 174; typed-pointers/extern-ABI сохраняют номера); conformance-файлы переименованы; plan163 D282→D288 (bonus-fix); conformance PASS
fix(spec): D285->D291 (cycle guard) + D290->D292 (ModuleSigTable) — resolve D-block collisions
docs(plans): канон формата статус-строк (**Статус:**) — 164/165/166/172.6/174/178/179/159.1
docs(plan167): close plan + update logs
docs(plan168): add AC results, neg-test listing, implementation commits
fix(60): complete md sweep + UTF-8 bug в migration tool
docs(172.1): аудит 27 сайтов канала (ultracode workflow) — 4 POISON, 12 SUSPECT, 0 опровергнуто + fix-спеки 5 кластеров
доки: синхронизация статус-шапок с фактом — 172.12/182/184 закрыты (дрейф вскрыт аудитом владельца); Ф.2-заголовок 173 влит веткой
194 A3: vrange-роутинг v[a..b] через .nv Vec[T] @index(Range)
plan(172.15): Ф.1 закрыта — 4 хардкода в __sret сняты разом; №477-№479 заведены
fix(типы): match-арм mixed-int-width sentinel-coerce — safe-widen unify + E_MATCH_ARM_WIDTH_MISMATCH
docs(172.3): Ф.5 CLOSE — type-set bounds завершён (D310)
docs(172.5/D326): close chain-gating fix — spec amendment + status/backlog updates
173.2: Restart-семейство РЕТРАКТИРОВАНО из Decision (решение владельца 2026-07-10, D416 §1/§4 амендмент) — словарь Escalate|Stop полный, прод-реди; гейт E_SUPERVISOR_RESTART_GATED, runtime-abort и restart_gated_neg удалены; рестарт — акторная идиома, повтор попытки = std/concurrency/retry внутри тела
план(174.1) Ф.3: char @to_str() + доменные str-экстеншены to_complex/to_version/to_url/to_cron; журнал+бэклог
fix(174.6/174.4): spec-дефекты по adversarial-аудиту
plan(175.2 Ф.2-v4 / 221 A-B11): эффект-API-полировка (находки владельца вычиткой) — 1-3 ✅ (extern/sleep-тип/тесты), 4-8 новая волна до тегов (handler-декларация, priv nanos, перенос Time→time.duration, default_handler-аргумент, real_time-нейминг); список открыт
docs(177.Ф.4): close-out — план ЗАКРЫТ + честный аудит полноты D325
docs: flatten ПАРИТЕТ record+map (владелец — как минимум паритет с оригиналом) + №70 линт-проход по корпусу (все W_* по std/examples/spec_tests/nova-http) + №71 порядок хвост-окна (P1-тихие первыми) + №72 str-exemption рек (ждёт да)
план(186): п.5 свип литералов-простыней закрыт — применимых сайтов нет (полная карта в плане: все простыни = fixed-size [N]u8/[N]u32/[N]int, x-блоб даёт []u8; динамических нулевых буферов не найдено)
планы: 188 (гетерогенные []any, вынос 174.3 Ф.3) + 189 (виртуальные часы — порядок под armed M:N, вынос 175 Ф.5) — по решению владельца выделить в отдельные планы
планы: 190 — трёхъярусный дизайн зон (топ DST-зоны + фикс-пояса + opt-in полный tzdb, ответ владельцу); 192 — конвенция именования native-пакетов (nova-<x> репо / <x> модуль, у нас её не было)
планы: консолидация дублей (запрос владельца) — 193(bcrypt-B)→191 Ф.B; 196(https-зонт)→116 критерии приёмки; 192→редирект в 195. Было 191/192/193/195/196 про 3 темы → стало 191(bcrypt) + 195(native-модули) + 116(TLS/https-зонт)
docs(plans): Plan 193 Ф.2 progress — duplicate-symbol ушёл, STOP на 2 gap'ах
revert(codegen): [196-capstone2] снос B10h/B10l ОТМЕНЁН — перепись была невалидна (d45-регрессия резала d45_inferred_return_type.nv на чекере до codegen, трафик веток замаскирован); после d45-фикса CC-FAIL undeclared identifier: generic newtype/named-tuple ctor продюсер Q1 не каналит (generics-гейт), легаси — единственный источник; реестр 46→48; урок в capstone-notes: детач+panic валиден только на целиком компилирующемся корпусе; путь закрытия — расширение ctor-продюсера на generic-формы; интегратор
plan(221): ЕДИНЫЙ план к релизу (вопрос владельца 2026-08-02) + каналы №143/144 подняты в S1b (договорённость Channel[T]-дженерик)
docs(196): extract retracted/misdiagnosed items to 196-retracted (co-authority F.4abc, ExprId-across-mono, B07-carrier, coord-remap); slim course-correction; 196.2 title = WAVE-1
docs(plans): почини ссылки на перемещённые/удалённые чекпоинты после переезда в wip/ (docs/, spec/) — 40 перемещённых путей + 34 удалённых заменены на «чекпоинт волны удалён при закрытии, см. git-историю» в местах ссылки
docs(plan): 196.4 sections 0,6-10 — Call-channel design, Tier-2 inventory, staging/risk
196.7 method-dispatch через resolved_callees: []u8 @to_str фасад больше не мис-диспатчится в чужой same-name (bare-T бланкет / D410 T.to_str); снят обход decode_utf8
196.8: primitive-receiver BOUNDED-blanket dispatch fix (D310 type-set bound)
docs(196.9): close [M-i64-clamp-primitive-collision-dispatch] (dup-name [M-primitive-concrete-overload-receiver-dispatch]); README pointer; plan status -> CLOSED
docs(аудит 172→221): рассинхроны статус-строк исправлены (198 главный: PROPOSED→Ф.1-Ф.4c выполнены; 217→РЕАЛИЗОВАН; 208 headline→ЗАКРЫТ; 200-п19→влито 1a7296c); недоделки аудита → 221.1 Ф.2а; потерь работ НЕ найдено
docs(199): status → CLOSED — все 4 фазы в main (Ф.1-4); brotli-check flagged for CI-green
docs(200)+std: четыре решения владельца 2026-07-20 — П2-хвост ЗАКРЫТ (str priv(type) навсегда: методы в другом модуле, 38 полевых чтений, коммент у деклы); П3 As*-префикс ОТКЛОНЁН; П6 пауза подтверждена; 200.1 ждёт очереди
docs(plans): статусы 202/203/204 → ✅ ЗАКРЫТ (git-сверка: индекс-таблица README и файлы 203/204 протухли на 📋 READY/СОГЛАСОВАН, хотя Ф.1-Ф.3 влиты 2026-07-13)
chore(207): ренейм интринсика __cas_raw → cmpxchg + схлопывание перегрузок compare_exchange
209: статус — Ф.4 (part-size тюнинг) ЗАКРЫТ, порог 500КБ→1.5МБ применён
docs(213): статус → ЗАКРЫТ — Ф.3 включён интегратором (бинарь v14 13:50 + nova.lsp.enabled=true); приёмка владельцем по факту тихой работы; интегратор
plan(215): персистентный кэш индекса nova-lsp — закрыт
docs: 216 ЗАКРЫТ ЦЕЛИКОМ (статус-строка); 221.1 Ф.2б — недоделанные планы (214 не начат, 217.1, 197-Ф.5); strict-effects-debt.txt → wip/ (слово владельца)
plan(217): зафиксированы решения владельца §8 (2026-07-20) — чистые уборщики / опциональный (StringBuilder авто НЕВОЗМОЖЕН в принципе) / блок 3a оставить / @cleanup 8 ресурсам = подплан 217.1 (ресурсы ДОЛЖНЫ иметь авто если нет причины) / молча+точка; §8 п.6 MaybeConsumed остаётся (рекоменд. запрет-б); +§3а ответ на вопрос владельца о разнице consume tx=e{} vs {consume tx=e;} (после 217 совпадают, разница только в границе жизни — блок = раннее освобождение); +подплан 217.1-cleanup-resource-rollout (стуб)
feat(218): предсобранный архив рантайма libnova_rt — dev-rebuild -O(4-4.3с)
plan(219): ЗАКРЫТ Ф.1+Ф.2 — build-демон реализован, гейты и замер
plan(220): §2.1 + minicoro.h как возможный ЧЕТВЁРТЫЙ блокер (зеркало аудита Ф.0 §2/§5 п.5 — в плане отсутствовал, терялся при разморозке); проверка = первое действие Ф.1
docs(221): архив — 221-history.md с дословными текстами Ф.0/Ф.1/A-R1/сводного порядка 2026-07-21
plan(221 п.11): №428 (энфорс Fail проверяет форму, а не свойство — К1, до тега, политику не менять) и №426 (обработчик с mut-захватом под spawn, форма опубликована)
registry(#591, #605, #606): the CI run after the push, read line by line
audit(221.2): каталог «мест на удаче» (opus-аудит, 45+ находок, 6 классов) + №259-№266 заведены в реестр
docs(222.12 §4 + 222.0): ЗАКРЫТ протухший «открытый вопрос — семантика паники в фибре» (владелец: вроде закрыли же — верно) — Ф.6 recover РЕАЛИЗОВАН вариантом (в) композицией spawn+Stop+@cleanup в serve_connection (222.7 merge a57626b, live-регресс зелёный); отдельный middleware не нужен; карта модулей обновлена
docs(A-V11): ревизия «план vs код» — шесть подпланов 222 реализованы на 90-100%, статусы актуализированы
docs(222.20-Ф.2, opus): дизайн-нота эффектов Polaris — сводная таблица решений владельцу (Q1 Handler: чистый + конструкторы/ambient/DI, полиморфизм = язык-RFC вне плана; Q2 SessionStore→effect чистым cutover; Q3 Log-эффект вместо 3 дублей — немедленный выигрыш; Q4 now_fn/id_gen→Time/Random; Q5 паника/Fail-норма; Q6 не-эффекты подтверждены; 11 проб на релиз-бинаре). №131 заведён — СТЕРЖЕНЬ: сырые effect-опы проходят strict-effects (дыра D62; решение владельца: закрыть или узаконить)
docs(222.20 Q1): целевой текст паники — фенсед-блоком (вложенные кавычки ломали разметку)
plan(222.20 Ф.1, sonnet): инвентарь эффект-поверхности polaris/http/tls/compress по Правилу 4 — карта эффектов, кандидаты в эффекты (SessionStore/now_fn→Time/id_gen→Random/3×Log-sink-дубликат), обходы Handler-класса (8 мест)
plan(222.22): реальность-чек — Ф.1 большей частью готова параллельной сессией; остаток сужен
docs(planы): 222.23 наблюдаемость Polaris (Log/Metrics/Audit — решение записано), №166 P1 (write_all mono), 3 follow-up конверсионной волны
docs(реестр+222.4): №94/96/97 ✅ ЗАКРЫТЫ планом 228 (канал-материализация, 6 армов+l2 снесены, n96 GREEN, split-brain SelfAccess); 222.4 ЗАКРЫТ — Middleware=голый newtype (nova-http 70fb77a)
docs(223): mark plan status IMPLEMENTED
docs(реестр+планы): №114/№116/№118 ✅ ЗАКРЫТЫ (main 6a1a9c4, два раунда, A/B-урок в записях; обходы №118 развёрнуты); 225.1 Ф.1+Ф.2 ✅ (899 правок, 3 репы, байт-C-гейт)
docs(plans, №72): зафиксировать закрытие [M-ro-launder-fullstack-value-exemption]
docs: coalesce-окно закрыто (№52); +план 227 std/validate (замена отклонённого #validate; 3 уровня валидации, готовые валидаторы, эффектный пример) + ссылка из 222.9
plan(228): fn-newtype материализация в канал (№94-v2) — opus-дизайн интегратора: (a) HOF-биндинг = единая канал-питаемая регистрация из resolved_types (6 армов → NO-HIT-снос); (b) чекер типизирует method-value → node_substs штатно наполняется (mvinfer-Step2m×3 снос; №82 бонус-проверка); (c) №96 capture-фильтр через resolved_callees use-site; (d) №97 по identity-репро. Фазы+гейты; финал = ре-гейт Middleware-mw2. Фундамент 196.5 готов, трейс-ID для NO-HIT влиты
plan(229): полная юзер-дока Polaris EN+RU (утверждена владельцем) — 11 разделов ×2 языка + README×2; принципы: источник истины=код, каждый сниппет компилируется (doc_samples_test.nv = живой гейт), roadmap честно отделён; правило поддержания — API-волна правит доку в том же слиянии
docs(230, 249): №390 — второй read после частичного чтения виснет и не будится таймаутом; в V2 запрещена общая формулировка «таймаут решает зависание», для моста 249 это третий, функциональный блокер Ф.2
plan(231, владелец): 231a → 231.1 — нумерация подпланов точкой (консистентно 222.x/225.1); ссылка в 231 поправлена
plan(232.1): Т1 ✅ исполнен (to_bool/to_char влиты)
docs(234): статус актуализирован — Ф.0 и B-шаг-1 влиты, B-шаги-2-4 стоят на №129, часть A следующая в компиляторной очереди после №146
docs(plans): ссылки nova-bigint -> nova-bignum (пакет переименован, решение владельца 2026-08-03)
docs(238): блокер «дженерики» решён — свойство считается ДО специализации
feat(lang): `use` retracted from hard keyword to contextual keyword (D443, Plan 239)
docs: решения владельца 2026-08-02 — Ф.0b той же волной агента 241; №281 довесок к ближайшему компилятор-окну после S1a; дата резолюций глоссария исправлена (08-03→08-02)
plan(242): §2b — автопроверка доков ПАКЕТНЫХ реп (единый кросс-репный скрипт; pre-commit через install-guards + CI-job docs-guard в каждой репе; 231-реестр тем же слиянием)
spec(D156-амендмент) + docs(plans): линейность наследуется контейнером; строка Статус вынесена из цитаты
plans(221/238/246/248): принцип «ужесточать до релиза, ослаблять после» — решение владельца; очередь пересобрана по направлению изменения, а не по «успеваем/не успеваем»
plan(247): ✅ ЗАКРЫТ — английская сторона гайдов написана, долг смешения языков доведён до нуля прямыми проверками стража
docs(248): волна 1 принята + два решения интегратора для волны 2
plan(249) §10: очередь расширения протоколов, спрос разведён по сценариям
docs(plan25): redirect phantom Plan 23 refs → Plan 83 (real M:N home); 23-mn-runtime-roadmap.md never created
plan(250): свести к одному числу (≥50, точное — за скриптом), спецификация vela-state-inventory.sh как ратчет Ф.3; инвариант №7 переписан (гейт на КАЖДОМ извлечении, ни одного действия вне выигранного CAS, кратность) и подкреплён структурой nova_resume_fiber+страж; мерила Ф.2/Ф.3 машинные вместо счёта комментариев; свойства Ф.1а 7→12 + обязательные очереди и mco_status в модели; снято опровергнутое (таблица «Три кандидата» обнулена Q2, вердикты 2 и 5 Ф.1б, Q3-перенос, Chase-Lev); нумерация инвариантов 1–7, «После плана 250» пересчитан честно (13, и это норма); вердикт готовности ко входу в Ф.1а с девятью остатками и исполнителями
plans: коллизия номера 251 устранена — инвентарь abort() переименован в 251.1 (подплан по прецеденту 221.1/253.N), ссылки обновлены
merge main into p252-modindex: переписанный раздел Ф.2 плана 252
plan(253): учтён вклад 252 Ф.2 — устраняется инвариант, введённый Ф.1
plan(253): зонтик сокращения инвариантов/дверей + подплан 253.1 (ReceiverMode)
plan(253.2/№466): Ф.1 записана как закрытая — фикс был сделан, в план не занесён
Merge branch 'p253-disarm'
fix(регрессия №492) + реестр №498-501: аудит std.net; все линт-правила в план 254
plan(255): Ф.1-бис — параллельный запуск стражей, решать ПОСЛЕ Ф.0
plan(256): паузы сборщика — доказать фикс и завести бюджет; №470/№474 получили план
std(№492): write_str удалён, 13 носителей на .write(); спека приведена к реализации; №493-496, план 257
docs(#514): close registry entry, correct root-cause vs [M-effect-forbid-generic-bound]
plan(259): fiber-arena guard pages do not scale — what other runtimes do instead
plan-26 Ф.15: production hardening — parse_expect bug, graceful unwrap, buffer cap
guard(measure 5): the doc-examples guard stops spawning a process per class
plan(261) phase 2: both packages green, and a correction to my own phase 1
plan(262): the real cause is skipped passes, and it is a class
plan(263): a registry entry must name the plan that fixes it
spec(D452): the separator follows the nature of the construct
fix(random): real_random() CSPRNG default handler for Random (#553)
spec(D455): a cancelled scope says so in its value
spec(D78 rev-6): a reset source root gets a name, and `[lib] src` takes two values
plan 268: a File has two consumers, and the second one is easy to forget
spec(D457): package-level visibility, and what a probe says about generics
plan 270: F.2 major correction -- bare constructor breaks ANY method, not just builtin names
plan 271: the owner picks the non-consuming synthesis path
plan-31 docs: обновить hash Ф.6 в commits секции
docs(33): порядок установки Z3 и разблокируемые фазы
docs(33.4): аудит gap'ов Plan 33 + план закрытия пarity-gap'ов
docs(plans): Plan 33.5 статус 🟡 partial → ✅ ЗАКРЫТ (аудит 2026-05-20)
docs(33.7): V2 closure — simplifications V20 + project-creation + plan doc
@ docs(modules): link module-system lineage forward — Plan 35/42 + D29 → 162/163
docs(36.D.1): закрыть plan 36.D.1 — multi-path nova test + удалить test-all
Plan 34: plan-reorganization + Plan 34 file (closed extended scope)
refactor(231): scripts/ переструктурирован — gate.sh + guards/ + tools/ (указание владельца)
docs(42.17): audit closure plan + fix doc drift (Ф.1)
feat(42.09+42.10+42.11): re-export facade + module-level forbid + inline doc
feat(42.12): conditional compilation - filename suffix + #cfg (D99)
feat(42.13): internal/ extended naming - owner.internal.target (D29 rev-3.1)
docs(42.16): finalize — README + project-creation + plan status
rename: Plan 40 → 44.1, Plan 41 → 44.2, Plan 43 → 44.3, Plan 23.1 → 44.4
docs(plan82/Ф.6): spec D97 ред.2 + закрытие 44.3 — Plan 82 ЗАКРЫТ
feat(plan48.1): cross-module generic template registration ordering — fixes Option[HashMap[K,V]] mono-erasure
docs(plans): status sync — Plan 83.1 Ф.1-Ф.3 done, Plan 51 closed
docs(52.1): Ф.2 const-map blocked, Ф.3 MIR reassessed
fix(plan52.x): close mono-pass blockers — verify + spread annotator fix
docs(plan54): final — 7/8 closed + Ф.3 accepted-as-is (паритет с Go/Rust/TS)
docs(57.E.2/3/4): design-sketch docs для distributed/AI/MBM extensions
plan(58): ревизия v2 — production-grade CI matrix
plan(62.A.bis Ф.4): удалить legacy hardcoded sum_schemas[Result] — Plan 62 закрыт
spec+plans: renumber D-коллизий волна 1 (D124/D138/D298→D366/D369/D377; D239 demote)
plan(68): print/println как Nova-функции через protocol-as-value
docs(plans): Plan 81 — module-resolution hardening + ссылки из старых планов
feat(70.2b): @method dispatch on mono'd sum-type — Plan 70.2 closed
docs(70.3 Ф.4): mark type-checker tightening closed — CC-FAIL confirmed
fix(70.5 Ф.4): uint.MAX parser fix — add uint to is_primitive_type keyword list
docs(75): отметить план закрытым — 10/10 PASS, 3 codegen-бага исправлены
refactor(types): Plan 76 — rename bottom-type Never → never (lowercase primitive)
Merge branch 'plan-80' — docs stale cleanup (must-consume README row)
docs(plan99.4): negative tests + spec D-block + Plan 78 amend + close marker
docs(plan79): Ф.5–Ф.8 closure — spec D135, Plan 72 negatives, plan ✅ ЗАКРЫТ
docs(plans): Plan 77 Ф.8 (строгие дорожки -> @) + новый Plan 80 (must-consume)
feat(plan83.3): Ф.2+Ф.3+Ф.5 — закрытие Plan 83.3 (Blocking → libuv threadpool)
docs(plan83): [M-opt-preempt-strided-loop] MVP-first — small-loop-skip before SIGURG
docs(plans): Plan 83.1 ЗАКРЫТ — Ф.1-Ф.5 (M:N-инфраструктура)
fix(plan83.10): armed M:N USER_TYPED throw routing — payload+tid propagation
plan(83.10.4): §3.5–3.6 coordination model — single-agent vs parallel + merge protocol
docs(plan83.10.4 Ф.1): audit report — 4 stable + 5 armed-mode races classified
docs(plan83-audit): full re-analysis + decomposition в 83.5–83.13
docs(plan83.11): §14 Phase A discovery — REVISED HYPOTHESIS (НЕ wake-before-park)
docs(plans): декомпозиция 169 на под-планы + 83.14 ReentrantMutex M:N
docs(plan83.2): honest partial — Ф.0 ✅ + Ф.1 infra ✅, full flip отложен
feat(plan83.3/Ф.6): type-checker enforcement тела blocking { }
docs(plan83.4): Plan 83.4.5 followup создан + статусы обновлены
docs(plan83.4): production-grade rewrite — паритет с Go/tokio/Kotlin/Node
docs(plans): обновить устаревшие статусы Plan 98/99/99.x/83.4.5.x
docs(plan83.4.5.10): Ф.2 wrong-hypothesis post-mortem + V2 real-bottleneck roadmap
docs(plan83.4.5.8): closure — D138 ACTIVE + plan status + logs
docs(plan83.5): REJECTED — TL_ALLOC уже active (wrong hypothesis post-mortem)
feat(plan83.6): per-worker SpawnCtx pool V1 — intrusive list, 3 tests PASS
docs(plan84): статус — peer-collision закрыт, nova test 12 PASS
test(plan85.1): полное покрытие StringBuilder — nova_tests/str_builder/
docs(plan91): split closure sections into sub-plan files 91.1–91.6
spec(91.10/91.15/91.16): complete D301/D302/Q-blocks, plan closure sections, tests
feat(plan91.11): SB cleanup + extend_from→append rename + zero-copy steal + parser multi-line chain + var_boxed fix
docs(plan91.13): slow test verified PASS on real DNS (net_v2_dns_real_slow)
docs(plan91.13 V2): plan-doc closure + parent doc Ф.3 closed
docs(plan91_14): plan CLOSED — simplifications, backlog followups, project-creation
spec+plans: разрешён кластер D-коллизий D184/D291/D292 (owner sign-off 2026-07-03)
docs(plan95.bis): ✅ ЗАКРЫТ — полный nova test 1063 PASS / 0 реальных FAIL
docs(plan-99.3): [M-str-len-closure-dispatch] closure entry + A99.M-str acceptance