main
refactor(p-tryfrom): migrate str→numeric call sites off retracted try_from
fix(221.1): №254 — bound-check + specificity для Next[T]/Iter[I], Iter-делегаты, T-binding, разворот 16 обходов
style(std): D452 — migrate to canonical match-arm/statement separators
Merge branch 'main' into p449-on-timeout
fix(221.1): №401/№402 — CI red: P67-LEGACY на .now(), CC-FAIL retry_test
fix(№453): EXPECT_TIMEOUT_MS больше не уносит фикстуру в timeout-лейн (подстрочный матч выбрасывал 7 конкурентных фикстур из гейта); неизвестные маркеры вычищены (EXPECT_OUTPUT->EXPECT_STDOUT ×5, мусорный EXPECT_RUN_OK ×3) + страж check-expect-markers со селфтестом 4/4; конвенция: миграция как четвёртое основание для инварианта (вопрос про план 196) и место контрактов в иерархии
docs(std/src): clean comments batch 17 — io, ffi/cstr, fs, os, net families
feat(std): File/BufWriter[W] gain auto-@cleanup (D432 §1 rollout, №315)
fix(std): int128 shl/shr — requires n >= 0 (W_PARAM_NO_CONTRACT)
feat(os): process spawn/wait/exit-code via Command.run() (Plan 265 Ф.1, D453)
merge: comment-hygiene-2 — чистка комментариев std (batch 1-20) + линт-свип 330→13
fix(random): real_random() CSPRNG default handler for Random (#553)
gate: two failures from the merges, both named rather than waved through
fix(std): regex.nv — W_MANUAL_COALESCE, 2 findings triaged (0 fixed, 2 documented nova:allow)
std(naming): collections/hashmap → hash_map — единственный нарушитель snake_case-правила модулей
195: std/ -> std/src/ (git mv, module-path без изменений)
docs(endocs): root — translate bench, sort, reflect /// docs to English
docs(std/src): clean comments batch 1 — bench, sort, reflect, reflect_test, prelude
docs(endocs): text/checksums/concurrency/crypto — translate /// docs to English