main
spec+fixtures(№95, миграционная часть): if let/while let → канон pattern-bind (Plan 114-ретракция)
lint: fix W_REDUNDANT_OF (4) + W_NONVARIADIC_OF (6) in spec_tests/conformance
196.6: снапшот 198-корпуса (1120 файлов) убран из spec_tests — попал в main моим недосмотром при слиянии race-state-dump (repro-артефакт, не тесты); фиксы и дедуп-переименования остаются
fix(types, [M-crossmodule-samename-typecheck-bleed]): резолв имени типа через file-identity объекта, не access-сайта
fix(codegen,types): [M-str-primitive-static-arity-overload] закрыт — primitive Type.method() multi-overload resolved_callees + channel-first codegen dispatch
plan(210) Ф.4: фикстуры embed_dir (pos/neg/edge/non-ASCII)
feat(embed_resolve): Ф.7.1/7.2/7.3 Go-паритет+ — glob/hidden именованные аргументы embed_dir + новый интринсик embed_str
feat(unsafe): D424 M4 — raw-ptr extern/external fn ⇒ unsafe fn по инференсу [M-174.6-rawptr-extern-unsafe-infer]
202 Ф.1+Ф.1b: module-registry path-keyed (D78 rev-4) + mangling collision fix
fix(D78, P1 221.1): dupN-физическая коллизия типа vs суффикс-матч селективного импорта [M-d78-dup-decl-type-cross-import-ambiguous]
merge(249 Ф.5): http_proxy_chain разнесён на шесть файлов, Upstream — эффект, конфигурация по канону
std(naming): collections/hashmap → hash_map — единственный нарушитель snake_case-правила модулей
fix(imports): order-dependent import-cycle resolution — generalize entry-exports fix to любой in-progress модуль (D291)
registry(#583): a spawn-consume-capture no-cleanup type calls a symbol nobody emits
test(lint): conv_clean shows the canonical form now that the coercion consumes
test(176/Ф.2): m176_io_forward — pos форвард (2 модуля/метод/цепочка-3) + neg
test(conformance): M-176 xmod/same-module variant-ctor + immediate method call
test(conformance): M-176 variant-chain — add colliding (D381) + generic axes
fix(imports, [M-imports-multipeer-cycle-partial-exports]): two-pass peer resolve — seed ALL peers' exports before recursing into any
feat(concurrency): supervised(cancel:) returns Outcome[T] (Plan 266, D455)
194 A4.2: ретракт debug_assert → #debug assert
test(imports): order_dependent_cycle regрессия-фикстура + backlog-маркеры
mark the invariants the merged waves stated on their honest word
fix(221.1 №49): consume-scope binding shadows imported module name (checker channel)
api(char): char.from(int) → fn int @to_char() (решение владельца, цепочечность; §22 одна дверь) — 34 сайта в 18 файлах
refactor(conformance): канонизация str+ хвостов после ретракции E_STR_CONCAT_PLUS — 20 фикстур на интерполяцию/явный concat (EXPECT-маркеры не менялись, побайтовая эквивалентность; hunt_str_concat_operator пересмыслен на явные .concat-цепочки)
fix(198.4c/D307): [M-198-f4c-1-privfile-type-not-discriminated] priv(file) TYPE file-discrimination — checker + codegen; fixture GREEN + promoted to conformance
fix(net): port 0 is a request, not an error (registry #563)
docs: правка ссылок на перемещённые docs/guide|dev файлы
fix(lint,№463): зачистка корпуса под W_REDUNDANT_PAREN — 0 находок в std/spec_tests/examples
fix(checker,codegen [M-concrete-instance-arity-overload-mangle]): concrete overload dispatch survives a bound-generic same-name sibling (реестр 221.1 №34)
fix(compiler, [M-2223-closurefull-generic-overload-resolution][M-2223-generic-method-instance-mono-symbol-collision]): №124 concrete-vs-generic ClosureFull tie-break + №125 value-kind clone single-key dispatch collision
fix(lint): подсказка with_capacity → .new(cap: n) (форма 200 П4; .new().cap(n) устарела — поправка владельца) + метки тестов array_new_test; интегратор
test(conformance, [M-assoc-const-chained-method-call-p67], окно №73): фикстура на цепной method-вызов на голом assoc-const
196.5 ДЕФЕКТ-2: record_schemas-гэп Vec[T].new() в prefix-generic []T-теле — emit_fn больше не эмитит erased-тело INSTANCE prefix-generic slice-ext методов (mono-only, Plan 101.1 sentinel); erased-эмит травил mono-реестры erased-инстансами (Vec____Nova_T_p + static_new); static-семейство сохраняет несущую erased-базу; временные NOVA_D2_TRACE трейсы убраны; conformance d145_prefix_generic_vec_construct (int+str)
feat(lints): W_NON_COMPOUND_ASSIGN + W_WHILE_COUNTER_FOR_RANGE — два новых стилевых линта (Плата 185) + разкраснение std/spec_tests/examples
style(spec_tests): D452 — migrate to canonical match-arm/statement separators
lint-cleanup v2: nth x26 -> skip(n).next() / .collect().get(i)
spec_tests: П4 handler-op миграция + missing Duration import fix + default-handler фикстура
lint(221.1, №416): p416b — W_MANUAL_COALESCE (11) в spec_tests
fix(№513): spec_tests/conformance — Channel.new → Channel[T].new (49 сайтов)
migrate(238 Ф.4): 26+2 сайта mut-флага в Fail/ResourceTrace-handler → Atomic*
fix(compiler, [M-closurefull-explicit-return-body-unit-mistype]): №128 emit_block_expr infers block-value type from a last `return expr` statement, not only trailing expr
fix(№453): EXPECT_TIMEOUT_MS больше не уносит фикстуру в timeout-лейн (подстрочный матч выбрасывал 7 конкурентных фикстур из гейта); неизвестные маркеры вычищены (EXPECT_OUTPUT->EXPECT_STDOUT ×5, мусорный EXPECT_RUN_OK ×3) + страж check-expect-markers со селфтестом 4/4; конвенция: миграция как четвёртое основание для инварианта (вопрос про план 196) и место контрактов в иерархии
fix(consume-checker, D131/D133-класс): №55 [M-consume-fn-value-call-arg-not-tracked] закрыт — consume-arg через первоклассный fn-value
198 Ф.2 REDO: отмена pivot standalone-per-file — revert к D307-канону (шаг 1/N)
codegen: replace three linear scans over growing collections with O(1) lookups
fix(221.1 №116 follow-up): когерентный Option[fn-newtype-alias] лоуэринг — интеграторский A/B репро закрыт
fix(221.1 №114/№116/№118): D55/D108 sum-lift map-literal gaps, Option[fn] literal-position mono, ?? panic на Result[(), E]
174.2 Шаг3: миграция потребителей str.from(scalar) -> .to_str() (std + spec_tests + examples)
feat(lint): [M-canon-mut-param-position] — канон mut-параметров = префиксная форма; W_PARAM_TYPE_POS_MUT банит постфиксный синоним
lint(221.1, №416): p416b — W_CONSUME_NAKED_NAME (5) в spec_tests
M-178-consume-field-ctor-from-var: спека (D133 «Что считается consume» + D188 v3 п.2/3/4) + conformance-тесты (pos анонимный/типизированный, neg use-after-move/double-move, v3-хвост) + бэклог CLOSED
fix(p375-ptr2): №375 ro-source *mut T bypass + №367 read-parity + №368 ptr() inference gap
fix(codegen/D164 Ф.3): примитивный получатель диспатчится в свой unconstrained-бланкет, а не в чужой конкретный одноимённый метод — guard Plan 164 расширен на примитивы (был явный skip); закрывает класс int.to_str()→чужой NetErr.to_str(nova_int) type-confusion (тот же класс, что 196.6); +conformance d164 (коллизия int/bool/char-бланкет vs D164Err); байт-паритет при отсутствии бланкета сохранён
consolidation(207): atomic-семейство — AtomicIsize/AtomicUsize -> AtomicInt/AtomicUint, легаси AtomicInt и AtomicPtr сняты
migrate(spec_tests, [M-ro-launder-via-mut-binding]): return-позиция (Ф.1б) — 30→14 хитов (14 = собственные фикстуры/alongside)
docs(реестр+d170): №105 ✅ ЗАКРЫТ (0fa39db57; блокер 222.3 снят; хвост Call-fn-возврата — в 222.3-окно приёмочным кейсом); №122 → 🟡 НАБЛЮДЕНИЕ (симптом ушёл после №114, гипотеза отвергнута доказательно, авто-cleanup развёрнут); комментарий d170 приведён к факту (агентский устарел до отката гипотезы)
fix(std/sync): W_TRY_WITHOUT_SIBLING — снять try_-префикс на 8 sync-методах
fix(273): #realtime nogc fn silently accepted GC-allocating calls
test(consume-a): фикстуры pos/neg + миграция 3 существующих conformance-файлов
lint(221.1, №416): p416b — W_COERCE_EXPLICIT_REDUNDANT (34) в spec_tests
fix(consume-checker, D180): [M-mut-binding-accepts-must-consume] закрыт — match-tail passthrough как Rule 1 RHS + divergence-aware match join
194 Ф.0+Ф.1: спека D421 (contract execution model) + парсер #debug-префикс
lint(221.1, №416): p416b — W_REDUNDANT_CONST_TYPE_ANNOTATION (10) в spec_tests
lint(221.1, №416): p416b — хвост (W_MANUAL_COLLECT×2, W_NON_COMPOUND_ASSIGN×2, W_REDUNDANT_OF, W_MANUAL_SLICE_TO_END, W_WHILE_COUNTER_FOR_RANGE×2) в spec_tests
fix(248, 145): named-tuple interp-display dispatch + destructure + D102
test(conformance, [M-ro-launder-via-mut-binding]): фикстуры A/B/D/E/F/G/H/I/J + миграция 6 существующих (genuine catches)
fix(codegen, П2): [M-protocol-embed-vtable-missing-method] — vtable-струкt/инстанс теперь видят embedded-методы `use`-протокола
refactor(std,conformance): миграция живых вызовов Vec[T].from → .of/.clone (Plan 200 П16)
fix(codegen): №274 — binop/ueq operator stubs now mirror auto-by-ref ABI
fix(221.1, pk2-fix): №39/№36/№126 закрыты в окне К2
feat(parser, [221.1 #24]): []T alias usable as a TYPE in expression position for parenthesized (tuple) element forms — D27-amendment
std(200 П15+П4 закрыты): SignedInts/UnsignedInts (мн.число, оба сета — SignedInt тоже был жив), doc «Ints ВКЛЮЧАЕТ беззнаковые», 8 фикстур bound-сайтов; П4 — 19 остаточных хитов не код (doc-строки → new(cap:n); пины chain-формы намеренны, D372-amend2); гейты: мега-CU 1/0 полный фильтр, neg-пара валидна, checksums δ0
test(196 facet-B/D307 §5.3): вернул 2 файла из карантина в merged-CU + co-exist позитивы + neg leak
196.5 ДЕФЕКТ-1: erased лямбда-сигнатура при generic-вызове с closure-аргументом — f1_check_call материализует literal-coercion по substituted типу параметра (residual → честный skip), а не по сырому fn()->T; репро в conformance (d30_closure_return_generic), gap-файл удалён
196.5: восстановлен d30_result_option_ret_generic.nv (Q5-матрица) в conformance; closure-return подкласс вынесен в маркер-файл
repro(race-198): snapshot merged-CU corpus (1472 files) from nova-198 triage-198 f9622fb for local race repro
fix(p375-ptr2): №377 auto-deref p.method() through pointer — variant A per owner decision
test(221.1, №387): neg+pos fixtures for E_POINTER_RO_MUT_METHOD
fix(codegen/D39): embed-делегированный generic-mono метод — call-site проекция receiver+arg через embed-поле (obj.map/arg.map) вместо name-fallback на эрейзнутый base; d39_embed_project хелпер, no-op вне embed-mis-dispatch; +red-тест d39_generic_embed_mono_proxy (Set.values/keys/merge_from на Set[int])
206 Ф.2 раунд-2: Vec.hash() FNV → wrapping_mul + D404-тест миграция
план 186 п.4: conformance-тесты D412 (pos: ro-вид/срезы/mut-копия/пустой/группировки/embed round-trip; neg: embed not found) + дедуп двойных embed-диагностик (items vs items_here копии AST)
fix(concurrency): [M-parfor-record-result-miscompile] closed — loop variable of non-scalar type captured by-reference into spawn/detach/blocking
spec_tests(208-f4r Ш0 доп.): пин precision-клэмпа f64 на 64 (nova_fmt_f64_body)
spec_tests(208-f4r Ш0): эталон-фикстуры байт-паритета ДО правок Ф.4R
fix(ice-pack п.9): u64/uint to_str/println/interpolation print unsigned instead of bit-reinterpreted signed
208 Ф.3 (шаг 2/2): auto-derive compact-vs-named Display/Debug divergence (D422 §4)
fix(codegen): [M-208-generic-interp-display-dispatch-gap] закрыт — bare ${vec}/${vec:?} теперь диспетчит на собственный @display/@debug generic-контейнера
fix(206.1): перенумерация D426 -> D427 (коллизия: D426 занят атомик-консолидацией в main, 06-concurrency); спека+README+фикстура+тест-имена; интегратор
feat(effects): E_DEFAULT_HANDLER_SUSPEND -- ban yield-points in #default_handler factory construction (D431 amend, #246)
spec: коллизии D431 и D435 сняты (D440/D439), страж дублей чинён, реестр №123 закрыт, №164/№165 заведены
p248-w2: conformance fixtures for D447 wave-2 second-name enforcement
test(conformance): D452 fixtures — neg per retracted form, pos on canon
fix(fntypes, [M-fn-newtype-return-position-broken], №53): resolve_fn_typeref теперь покрывает результат ВЫЗОВА — fn-newtype в позиции возврата
feat(fntypes, [M-newtype-over-fn-type-unsupported][M-alias-of-fn-type-not-callable]): newtype/alias над fn-типом — парсинг + авто-коэрсия + call-through
fix(221.1 №158): d62 raw effect op — null handler → controlled panic, не segfault
wip(200-duration-chain): checkpoint после рестарта хоста — Шаг 0 (clamp-бланкет) + Шаг 1 (П10 i64-хелперы) готовы, Шаг 2 (П12 getter/to_-конструктор) частично
173-canceltoken-methods-fix: conformance regression test — 198-корпус composition (WriteBuffer + nested supervised CancelToken) не воспроизвелась на 454a781
fix(d85 №428): d85_bang_requires_fail_pos.nv — убрать лишние +1 в chain2/chain1
fix(D86): Option[consume-record] ?? never-RHS эмитил ((Nova_X_p){0}) вместо ((Nova_X*)NULL) — undeclared 'Nova_X_p' в merged-CU
test(200.4): миграция на .new(cap:) для Vec/WriteBuffer в conformance тестах
fix(линт spec_tests): nova:allow гасит только следующую строку — пояснение вынесено выше, добавлено подавление во втором тесте (№426-обход); реестр: №445 — гейт не гоняет дорожки panic/timeout/exit (30 тестов), вердикт печатается как полный
style(185): дочистка 23 сайтов W_MANUAL_MIN_MAX на @max()/@min()/@clamp() поверх main
fix(238-ф3): фикстура #fiber_safe — тело-заглушка вместо extern без реализации
fix(221.1): №289 P0 — S1a-дыра закрыта: скобочный/общий вызов поля-замыкания
feat(S1a Ф.2): closure-as-field write-site check — №117 + №242§3
fix(lint): переименование WriteBuffer.consume @into() → @into_bytes() [M-lint-findings-writebuffer-into]
perf(codegen, [M-fmt-rich-spec-primitive-fresh-sb-redundant]): devirtualize rich-spec primitive formatting into shared interp StringBuilder
fix(221.1 №45/№50): structural check for fn-typed expected positions (checker channel)
lint(221.1, №416): p416b — W_STR_CONCAT_METHOD (7) в spec_tests
fix(compiler, [M-2223-generic-arity-overload-applicability][M-closurefull-own-generic-sibling-return-infer-gap]): №130 (г)-слой arity-applicability + №127 companion — closes P1 блокер 222.3-повтора
fix(lang,№300): consume-бáунд сочетается с протокольными бáундами `[T consume Hash + Equal]`
fix(checker, [M-generic-mono-multi-instantiation-concrete-sibling-collision]): D84 tie-break wrongly preferred a return-type-incompatible concrete sibling for non-closure fn-value args
test(A-V10, D441 §5 №168): фикстуры precomputed-обработчиков
test(A-V10, D441 §5 №167): фикстуры #thread_affine
fix(types/mod.rs, [106/M-ro-launder-pattern-bind-not-enforced]): pattern-bind L1 launder enforcement
175 Ф.2-v3 Фаза 3: typed Time-опы (D316) — sleep(Duration)/now()->Timestamp/now_monotonic()->Monotonic; латка убрана, sleep = ТОЛЬКО метод
206 Ф.2: миграция overflow-зависимого std-кода на wrapping_* (гейт-блокер)
fix(lexer, [102/D44-amendment]): string/brace-aware `${...}` scan — nested strings/quotes now legal (PEP 701/JS path)
docs(221.1): №435 — сопоставление варианта по квалифицированному пути расходится standalone/CU, гипотеза про резолв по имени СНЯТА (мин. репро не воспроизводит); фикстура №433 временно ослаблена до Err(_), ослабление зафиксировано и снимается при закрытии №435
refactor(std): retype JsonObject/Object variant onto IndexMap[K,V] (Плана p320 Фаза 3)
fix(compiler, [M-serve-router-nova-fn-hook-undefined], реестр 221.1 №107): fn_param_sigs для match-arm Option[fn]-payload биндингов
feat(std/math/int128, int128-связка): blanket'ы SignedInts/UnsignedInts — обходы сняты
fix(№140): domain-prefix locals in conformance fixtures — CU name-leak
test(221.1): conformance-фикстуры для №156 и №155а
fix(codegen): generic-вызов из generic-тела монообразуется (№170)
test(conformance): T.MAX/T.MIN vs same-named user value-record const (M-175)
test(conformance): M-176 variant-chain — narrow to owned invariant; drop Phase collision helpers
196.5 Stage-B3: channel-first для третьего hand-duplicated движка (inline instance-method dispatch, array-ext []T-sentinel) + сегфолт-фикс
fix(types): [M-196-facetc-generic-static-named-arg-misdispatch] T.deserialize(d)-shape probe (Plan 196 Facet C, last cell)
fix(spec_tests): дофиксы ro-миграции — mut-на-default-passthrough в 2 фикстурах (ломал named/backfill вызовы); возврат свежей строкой; №61 кандидат str-exemption (immutable-буфер D26) — вопрос владельцу
fix(221 A-B4/A-B6, box-vtable P2): protocol-box call-arg/return CC-FAIL для non-generic и order-sensitive generic protocol
feat(234 фикстуры): pos-фикстуры m234_* (Ф.1/Ф.2/Ф.2а) + миграция Set[T] на @bitand/@bitor
fix(234, приёмка): Bit* на генерик-ресивере — гард mono-имён в плоской ветке
test(conformance): закрепить два регресса из СТОП-отчётов плана 240 (оператор/== и прямой вызов метода на широкой значимой записи) — дефекты починены, но фикстурой закреплены не были и жили файлами в исходниках пакета bignum
fix(196/№247): NovaTuple ordering operators dispatch through @compare
fix(221.1): №254 — bound-check + specificity для Next[T]/Iter[I], Iter-делегаты, T-binding, разворот 16 обходов
fix(checker): №279/№280 — nested Err(Variant) pattern + bare-variant-ctor mis-resolve shared enum tag
fix(221.1 №281): while-condition с цепочкой вызовов пересчитывается каждую итерацию
fix(№284): compound assign на value-record десугарится в операторный вызов (рука NovaValue_* в D263-блоке, диспатч операторным каналом) + фикстура m284 + ратчет-летопись (64395/348); docs(221.1): №284 закрыт, №285 заведён (слитый CU приписывает FAIL чужому файлу)
fix(221.1): №295 fixture — correct record-literal shorthand syntax
fix(checker): №303 — receiver carrier bound (fn Type[T Bound] @method) enforced at call site
fix(221.1, №356): += и родня на именованном кортеже не десугарились — предикат обобщён
test(221.1 №364): spec_tests/conformance — Option[T]==Some(лит) без as-каста
example(249): http_socks5_bridge -> http_proxy_chain — имя не должно кодировать конфигурацию
fixup(#514): bind consume directly in the pattern (nova lint W_REDUNDANT_CONSUME_REBIND)
fix(parser): канон порядка атрибутов — ВСЕ перед export (владелец 2026-07-31)
fix(ice-pack п.4): chained/bound consume-lock resolves through checker — false D133 empty-type gone
fix(ice-pack п.5): generic T.reflect() in sibling-literal arg no longer shadowed by callee's own generic-mono subst
fix(ice-pack п.1): named-tuple/record field call-syntax on Call/Ident receiver — P67-LEGACY ICE
fix(ice-pack п.7): Option/Result direct numeric cast rejected cleanly instead of CC-FAIL
fix(ice-pack п.8): non-Self @shl/@shr return type infers correctly instead of receiver pointer — SEGFAULT gone
fix(ice-pack п.3): value-record param + trailing default — ref_params name-shadow across callnorm block
refactor(operator-dispatch): unify +-*/% & | ^ << >> onto resolve_binop_dispatch; unary + DCE seeds from table
docs+test(A-V11, reflect): [M-reflect-derive-generic-wrapper-field-null-shape] — переверено, вероятный дубликат №146 (закрыт); регресс-фикстуры
feat(ro-launder, §72 [M-ro-launder-fullstack-value-exemption]): расширить exemption со скаляра до полностью-стекового value-типа
test(звучность п2/п6, срочный пакет 2026-08-01): conformance-фикстуры field-launder + mut-param closure capture
docs(contracts): method-call composition + inferred-purity вместо вымогаемых #unverified/#pure (№smtmc)
fix(чекер, срочно по владельцу): map_err-звено прозрачно для Ok-payload в Try-цепочках
fix(codegen, [221.1 #37 guard]): honest E_METHOD_VALUE_STATIC_UNSUPPORTED instead of a silent broken declaration for static-form method values
194 финализация: вернул requires в Vec @index(Range) (снятие было неоправданно — держалось на verified, а его убрали); убран режим verified (ContractsMode/CLI/test_runner/mode_erases_debug — 2 режима checked|optimized; статич.верификация=#verify); D421-амендмент (§3 verified удалён, §5 bounds=requires, §Статус Ф.0-Ф.4 закрыт); [M-194-verified-mode-gate] отменён; neg_slice на 'requires failed'
fix([M-nested-fn-newtype-bind-then-call-broken], реестр 221.1 №78): вложенный newtype-над-fn — bind-then-call трёх форм
test(регресс-аудит): фикстуры №92 (p92_samename_extension_recv — одноимённые extension-методы на разных ресиверах, 2 теста) и №97 (N97 @then_direct — точная polaris-форма вложенной композиции в closure) — аудит-долги закрыты. Гейт: мега-CU 580/0/67
fix([M-open-range-len-source-hardcoded]): open-range end по структурному полю len int, не по имени типа
fix(lang,№309+№317+№34): режимный тайбрейк перегрузок уезжает в чекер-канал
fix(types/mod.rs, [101/M-fn-value-binding-untyped-silent]): checker types fn-value bindings + call-through-binding args
fix(types/mod.rs+emit_c.rs, [104/M-closure-param-fn-newtype-field-access-int-miscompile]): closure param typed from fn-newtype context (№101 приёмочный кейс)
feat(248, wave 3): 11 атомиков на значение внутри (D447 #no_copy) + TcpStream.rc указателем
lint(spec_tests): finish -> into_finish в новых фикстурах — nv-coding-style §1a
fix(compiler,№325 Ш.2): контейнер наследует линейность от элемента — снят заслон Ш.0
fix(362, checker-channel): E_READONLY_COERCE clone advice + named-tuple member-chain validation gap
fix(363, named-tuple binop): right operand losing address on by-pointer other-ABI — CC-FAIL, not silent corruption
test(221.1, №362/№370/№373, spec_tests/conformance): дословные neg/pos-фикстуры на диагностику-ловушку
lang(221.1, №378): consume-биндинг поддерживает деструктуризацию — обе формы
test(221.1 №386/№388): позитив+негатив фикстуры на все формы-носители (p386-bound-doors)
fix(221.1, №409 К1): field-cache x auto-@cleanup — span-коллизия хойст-леta с consume-létом даёт вызов cleanup с чужим указателем
test: clear the nine lint findings the merged fixtures brought in
registry(#577): array-ext static blanket reflect() links under multi-TU
fix(codegen): [M-runtime-sync-guard-consume-p67] enter_defer_scope hoist регистрирует var_types
fix(207-cas-lint): compare_exchange failure-ordering диагностика — E_CAS_FAILURE_ORDER_INVALID + W_CAS_FAILURE_STRONGER
207: conformance CAS call-сайты -> .is_ok() (bool -> Result[(), T])
fix(conformance): plan200_flat_map_err — канон module spec_tests.conformance (папка = один модуль)
test(221.1): №286/№143 — Channel[T] elem-type fixtures (3 neg + 1 pos)
fix(std, [M-nv-duration-record-field-debug-bytes-missing]): Duration @display/@debug pass bytes not str
fix(codegen, [M-nv-spawn-ctx-capture-mut-param-ptr-mismatch]+[M-http-props-mut-chain-argpos-value-ptr-mismatch]): two related value/pointer capture-repr mismatches
lint-cleanup v2: W_MANUAL_SLICE_COPY + W_STATIC_CONVERSION singles
196.8: primitive-receiver BOUNDED-blanket dispatch fix (D310 type-set bound)
revert(std): ReadBuffer/WriteBuffer.from -> to_X() найден CC-FAIL, откат
test(222.8 Ф.1): conformance-фикстуры для #impl(Reflect) — D438
fix(reflect, реестр 221.1 №137+№146): generic-ресивер static-dispatch терял T в двух точках
feat(effects): Mem effect demoted to namespace (D76 amend)
fix(221.1,№301 fixture): W_CONSUME_NAKED_NAME — переименовать @close() в @into_id() (nv-coding-style §1a/D410)
fix(types): slice-расширение — for-in по голому @ теряет тип элемента (M-slice-ext-receiver-for-in-elem-type)
fix(№379): держим ratchet — переносим fn в emit_detach.rs + пробы всех форм
fix(codegen): #271 — recursive Option/Result-of-tuple-of-named-tuple eq synthesized early, before method's own forward-decl
fix(lang,№296): числовые discriminants у sum-типов — отрицательные значения и приведение варианта к int
fix(test): unsafe-обёртки p115_*-вызовов в t2/t3 — D424-M4-энфорс честно сработал на конформансе (агенту мега-CU запрещён, поймал CI-гейт); фикстуры приведены к D424; интегратор
чекпойнт(closure-megacu): [M-callnorm-free-fn-name-collision] найден+частично зафиксирован — rename f/g/h -> tft_f/tft_g/tft_h в tuple_fixarr_typedef.nv
wip(200-duration-chain): checkpoint Шаг 2 частично
fix(test): unsafe-обёртки p115 в v3_user_generic_newtype_ok (D424-гигиена); RUN-FAIL ассерты chained-debug остаются — известный P1 [M-vec-ext-method-untyped-let], в очереди; интегратор
docs+test(conformance): закрыть [M-vec-ext-method-untyped-let-breaks-chain-dispatch] — пин-фикстура + backlog/simplifications
Merge branch 'p200-16-vecfrom'
test(conformance, [M-vec-of-fn-newtype-codegen], реестр 221.1 №47): фикстура Vec[fn-newtype]/Vec[bare-closure] — new/push/index/call