# Triage — 2026-10-11 ## Правила и единица счёта Основные источники — отчёты 01–15, 125 finding IDs из их конечных таблиц. Предыдущие источники: Technical F1–F17 и отдельная рекомендация удаления controller test (TA-X01); Complexity H1–H20 и девять дополнительных кандидатов (CA-X01–09); Efficiency RC-01–RC-18. Итого 190 исходных записей. Повторные executive summaries, G-list и D/F sections Complexity сопоставлены с H/X, а не посчитаны как новые независимые дефекты. CA-Hnn — номер строки раздела H; CA-Xnn перечислены ниже с точным предметом, поскольку исходных IDs у этих дополнительных предложений нет. TA-Fnn соответствует исходному Fnn. `DUPLICATE` означает покрытие указанным deliverable; исходные confidence и ограничения сохраняются в отчёте. Дубликат INVESTIGATE не становится runtime FIX: недоказанная часть проверяется внутри соответствующего Issue до решения. Порядок исполнения не считается блокирующей зависимостью. Gitea владеет статусами; в реестре нет второго поддерживаемого status checklist. ## Нормализованные engineering topics Каждый topic — цель с самостоятельно проверяемым результатом. Два local verification owners и четыре title-trigger owners поставляются независимо. Поэтому число Issues может превышать число topics. P0 не установлен. | Topic | Priority / owner | Результат / Issue | | --- | --- | --- | | T01 | P1 backend | [#56: Hourly completion/recovery и executable proof](https://git.personal.ksv741.ru/WealthLedger/backend/issues/56) | | T02 | P1 backend | [#55: Latest complete forecast/identity/filtering/failure policy](https://git.personal.ksv741.ru/WealthLedger/backend/issues/55) | | T03 | P2 backend | [#54: Long-walk eligibility](https://git.personal.ksv741.ru/WealthLedger/backend/issues/54) | | T04 | P2 backend | [#53: Mutable calendars/fallback](https://git.personal.ksv741.ru/WealthLedger/backend/issues/53) | | T05 | P2 backend | [#57: Local Income/narrow Ledger interval](https://git.personal.ksv741.ru/WealthLedger/backend/issues/57) | | T06 | P2 backend | [#59: Online invalid-token translation](https://git.personal.ksv741.ru/WealthLedger/backend/issues/59) | | T07 | P2 backend | [#58: Accounts/Income hourly meta](https://git.personal.ksv741.ru/WealthLedger/backend/issues/58) | | T08 | P2 backend | [#60: Password bytes/artifact](https://git.personal.ksv741.ru/WealthLedger/backend/issues/60) | | T09 | P2 backend | [#61: Auth role/expiry/cookie regressions](https://git.personal.ksv741.ru/WealthLedger/backend/issues/61) | | T10 | P2 backend | [#62: Dead producer closure](https://git.personal.ksv741.ru/WealthLedger/backend/issues/62) | | T11 | P2 backend | [#64: Legacy reader compatibility](https://git.personal.ksv741.ru/WealthLedger/backend/issues/64) | | T12 | P2 backend | [#63: Source races/rollback/barriers](https://git.personal.ksv741.ru/WealthLedger/backend/issues/63) | | T13 | P2 backend | [#65: HTTP case isolation](https://git.personal.ksv741.ru/WealthLedger/backend/issues/65) | | T14 | P2 backend + frontend | [backend #66: Single preparation](https://git.personal.ksv741.ru/WealthLedger/backend/issues/66); [frontend #62: Lean local gates/hook](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/62) | | T15 | P2 backend | [#67: Compatible SQLite driver](https://git.personal.ksv741.ru/WealthLedger/backend/issues/67) | | T16 | P2 backend | [#4, reused: Compiler dependencies](https://git.personal.ksv741.ru/WealthLedger/backend/issues/4#issuecomment-1083) | | T17 | P2 backend | [#68: Banking page batches](https://git.personal.ksv741.ru/WealthLedger/backend/issues/68) | | T18 | P3 backend | [#69: Single publicInstrument projection](https://git.personal.ksv741.ru/WealthLedger/backend/issues/69) | | T19 | P3 backend | [#72: Small real runner workload](https://git.personal.ksv741.ru/WealthLedger/backend/issues/72) | | T20 | P2 frontend | [#54: Query-owned lifecycle/eligibility/API pruning](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/54) | | T21 | P2 frontend | [#55: Investment source/client feedback](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/55) | | T22 | P2 frontend | [#57: Banking read recovery](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/57) | | T23 | P3 frontend | [#58: Payment-system tuple](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/58) | | T24 | P2 frontend | [#56: Pending auth navigation](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/56) | | T25 | P2 frontend | [#61: Late-response client barriers](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/61) | | T26 | P2 frontend | [#59: CURRENCY visibility decision](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/59) | | T27 | P2 frontend | [#63: Events screen contract/oracles](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/63) | | T28 | P3 frontend | [#60: Native OpenAPI check](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/60) | | T29 | P2 specs | [#1, reused: Documentation authority](https://git.personal.ksv741.ru/WealthLedger/specs/issues/1#issuecomment-1080) | | T30 | P2 specs | [#28: Five capability index entries](https://git.personal.ksv741.ru/WealthLedger/specs/issues/28) | | T31 | P2 specs | [#29: Completion disposition](https://git.personal.ksv741.ru/WealthLedger/specs/issues/29) | | T32 | P2 specs | [#2, reused: Meaningful committed CI input](https://git.personal.ksv741.ru/WealthLedger/specs/issues/2#issuecomment-1067) | | T33 | P2 docs | [#34: Current system explanation](https://git.personal.ksv741.ru/WealthLedger/docs/issues/34) | | T34 | P3 frontend + backend + specs + docs | [frontend #64](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/64), [backend #74](https://git.personal.ksv741.ru/WealthLedger/backend/issues/74), [specs #30](https://git.personal.ksv741.ru/WealthLedger/specs/issues/30), [docs #35](https://git.personal.ksv741.ru/WealthLedger/docs/issues/35): title edit proof | | T35 | P2 main | [#24: Generic applicability/evidence/approval/bootstrap](https://git.personal.ksv741.ru/WealthLedger/main/issues/24) | | T36 | P2 main | [#25: Private provider credential investigation](https://git.personal.ksv741.ru/WealthLedger/main/issues/25) | | T37 | P2 backend | [#70: Published screener constraints](https://git.personal.ksv741.ru/WealthLedger/backend/issues/70) | | T38 | P2 backend | [#73: Actual auth perimeter evidence](https://git.personal.ksv741.ru/WealthLedger/backend/issues/73) | | T39 | P2 backend | [#71: Independent prices/detail start](https://git.personal.ksv741.ru/WealthLedger/backend/issues/71) | P1 обоснован финансовой publication/recovery boundary, а не частотой упоминаний. T34 понижен до P3: это metadata policy proof, не financial/security runtime bug. T17 допускает KEEP текущего loader по подтверждённому cost/maintenance trade-off. ## Реестр специализированных findings | Finding | Decision | Topic / причина | | --- | --- | --- | | ARCH-002 | DUPLICATE | T05: оба live readPlan callers | | ARCH-003 | DUPLICATE | T20: timer принадлежит query lifecycle | | ARCH-005 | KEEP | Session owner, cookie queue, authenticated transport и refresh CAS | | ARCH-006 | KEEP | Singleton source owners, durable store и conditional publication | | ARCH-007 | KEEP | Cohesive banking transaction и exact money | | ARCH-008 | DUPLICATE | T02: event-specific selection проверяется вместе с financial fix | | ARCH-009 | DUPLICATE | T11: public observe compatibility требует evidence | | CPLX-001 | DUPLICATE | T20: native polling с сохранением session/cadence | | CPLX-002 | SIMPLIFY | T05: существующий operationIntervals вместо screen round-trip | | CPLX-003 | NO_ACTION | Optional label-only VM cleanup; текущая convention и a11y работают, отдельный результат не оправдан | | CPLX-004 | DUPLICATE | T02: semantics proof внутри fix; неизвестный GET publication outcome не объявлен defect | | CPLX-005 | DUPLICATE | T11: externally reachable reader, retirement не предрешён | | CPLX-006 | DUPLICATE | T05: cold Income decision до удаления request work | | CPLX-007 | KEEP | Complete forecast fences и exact currency totals | | CPLX-008 | KEEP | Durable reservation, attempts и source owners | | CPLX-009 | KEEP | Banking replay/CAS/tombstones/rollback | | CPLX-010 | KEEP | Stable screener snapshot, raw-input guard и latest intent | | DRY-001 | DUPLICATE | T08: byte-policy runtime boundary | | DRY-002 | SIMPLIFY | T18: одна projection, orchestration не объединяется | | DRY-003 | SIMPLIFY | T23: tuple schema/options, empty sentinel отдельно | | DRY-004 | SIMPLIFY | T21: общий access-loss membership predicate, recovery actions остаются локальны | | DRY-005 | KEEP | Independent browser/server validation и точные деньги | | DRY-006 | KEEP | Разные stock/bond payout/quote semantics | | DRY-007 | KEEP | Session/resource wrappers и accessible UI primitives | | DRY-008 | KEEP | Provider artifact, consumer derivative и unknown-code fallback | | DRY-009 | KEEP | Только live enrichment/shared fence, не dead discovery producer | | DRY-010 | DUPLICATE | T20: policy equivalence доказать до native migration | | DEAD-001 | DELETE | T10: manual writer closure, status reader сохраняется | | DEAD-002 | DELETE | T10: dead-parent catalog producer; shared publishSource сохраняется | | DEAD-003 | DELETE | T10: только orphan Accepted DTO | | DEAD-004 | DELETE | T20: only-test frontend observe API, backend query не удаляется | | DEAD-005 | DUPLICATE | T20: facade/descriptors удаляются после переноса live timer | | DEAD-006 | INVESTIGATE | T11: external status consumers и old screen rows | | DEAD-007 | DUPLICATE | T11: endpoint-specific observe support | | DEAD-008 | KEEP | Live interval/history helpers; keeper не требует сохранять round-trip caller | | DEAD-009 | KEEP | Registered hourly runtime owner | | DEAD-010 | KEEP | Candle first-load, staging и complete coverage | | DEAD-011 | KEEP | Shared source CAS, identities и candle FK | | FE-001 | FIX | T21: source metadata проходит VM/container/view | | FE-002 | FIX | T21: cached transport warning и read-only retry | | FE-003 | FIX | T20: disabled manual refetch и policy ownership | | FE-004 | FIX | T22: error не blank, sections independently recover | | FE-005 | FIX | T24: Fieldset не блокирует anchor | | FE-006 | INVESTIGATE | T26: tests/spec спорят о currency instrument | | FE-007 | DUPLICATE | CPLX-003: optional cleanup без самостоятельной задачи | | FE-008 | KEEP | Реальные page VMs и scroll/form presentation lifecycle | | FE-009 | KEEP | Semantic Mantine wrappers/package foundation | | FE-010 | KEEP | RHF draft, intent replay, explicit version adoption и bigint | | FE-011 | KEEP | Generated keys, session/connection/access boundaries | | FE-012 | NO_ACTION | Только unmeasured render hypothesis; нет симптома/scale input, profiler/virtualization backlog не нужен | | BE-001 | FIX | T02: complete candidate не veto старым overlap | | BE-002 | FIX | T01: failed/interrupted durable settlement и live-process recovery | | BE-003 | FIX | T04: mutable calendar refresh | | BE-004 | FIX | T05: local Income и bounded Ledger exception | | BE-005 | FIX | T06: все direct online callers используют translator | | BE-006 | FIX | T03: skipped terms вместо immediate repeat | | BE-007 | DUPLICATE | T10: writer closure already DEAD-001 | | BE-008 | FIX | T07: resource-relevant hourly meta | | BE-009 | KEEP | Простой modular monolith и concrete singleton DI | | BE-010 | KEEP | Banking transactions/replay и refresh CAS | | BE-011 | KEEP | Decimal strings/bigint и meaningful mappers | | BE-012 | KEEP | Revision/attempt/source fences, staged complete publication | | BE-013 | INVESTIGATE | T02: failed-existing-calendar GET fixture до publication policy change | | BE-014 | INVESTIGATE | T04: missing MOEX block contract внутри calendar boundary, malformed guards сохраняются | | BE-015 | INVESTIGATE | T01: controlled app.close/restart arm; graceful-stop необходимость не предрешена | | FLOW-001 | DUPLICATE | T05: ordinary Income/targeted Ledger source budget | | FLOW-002 | DUPLICATE | T20: common readiness boundary | | FLOW-003 | SIMPLIFY | T39: независимая prices/detail waterfall, прежний DTO и limiter | | FLOW-004 | DUPLICATE | T06: permanent failure не усиливается GET retry | | FLOW-005 | SIMPLIFY | T17: page loader adoption после isolated trace | | FLOW-006 | DUPLICATE | T04: calendar-specific refresh и multi-account coalescing | | FLOW-007 | DUPLICATE | T02: producer update отличается от read filter | | FLOW-008 | DUPLICATE | T20: focus/mount/reconnect/hidden-tab решение | | FLOW-009 | NO_ACTION | Local hydration/DTO price не измерена; нет оснований менять unlimited Income contract или добавлять BFF | | FLOW-010 | KEEP | Authorization, cursor, CAS, atomicity, whitelist и current reuse | | TQ-001 | FIX | T12: start source request перед replace, await done | | TQ-002 | FIX | T25: loser client settlement, не gate release | | TQ-003 | DUPLICATE | T01 + T03: real coordinator/reservation outcomes входят в scheduler acceptance | | TQ-004 | DUPLICATE | T21: заменить quiet oracle положительным route proof | | TQ-005 | DUPLICATE | T02: shifted-window publication и disjoint saved-empty | | TQ-006 | DUPLICATE | T04: conservative missing-block policy до provider evidence | | TQ-007 | FIX | T08 + T09: UTF-8 и token-role/cookie/expiry distinctions независимо | | TQ-008 | FIX | T12: throw после первого real tx write, snapshot + points unchanged | | TQ-009 | DUPLICATE | T10: normalization suite удаляется с подтверждённым dead writer | | TQ-010 | SIMPLIFY | T27: screen-owner решение, актуальные visible oracles; API filtering сохраняется | | TQ-011 | KEEP | Real auth CAS, usable winner и session generations | | TQ-012 | KEEP | Independent money oracles на complementary levels | | TQ-013 | KEEP | Deterministic SQLite rollback/dependency CAS/replay | | TI-001 | FIX | T13: case-owned bank prerequisites | | TI-002 | FIX | T13: existing scheduler override в unrelated HTTP/benchmark | | TI-003 | FIX | T12: started/release/done вместо readiness sleeps | | TI-004 | FIX | T14 backend: explicit fresh dist prerequisite targeted crash | | TI-005 | SIMPLIFY | T19: меньший настоящий SQLite payload, safety assertions прежние | | TI-006 | DELETE | T25: удалить unused failBond при adjacent async suite cleanup | | TOOL-001 | SIMPLIFY | T28: native read-only generator check | | TOOL-002 | FIX | T14 frontend: explicit no-install npx, occurrence не заявлена | | TOOL-003 | KEEP | Восьмистрочная manual diagnostic имеет допустимую boundary; нет доказанного external-unused/cost, автоматически не подключать/удалять | | TOOL-004 | KEEP | Targeted manual publication regression сохраняет digest/recovery proof; отсутствие blanket verify caller допустимо | | VERIFY-001 | FIX | T32: meaningful committed input, required context сохраняется | | VERIFY-002 | FIX | T34: четыре независимо поставляемых edited triggers | | VERIFY-003 | SIMPLIFY | T14 backend: одна preparation до consumers, fresh dist reuse | | VERIFY-004 | SIMPLIFY | T14 frontend: whole graph final/CI вместо every-commit | | DEPS-001 | FIX | T14 backend: explicit fresh quick-start preparation | | DEPS-002 | DELETE | T16: только direct ts-loader/source-map-support, штатный lock resolution | | DEPS-003 | SIMPLIFY | T15: adapter-compatible direct driver, не forced override | | DEPS-004 | FIX | T14 backend: debug development mode согласован с startup guidance | | RISK-001 | DUPLICATE | T01: abandoned running/live-process recovery | | RISK-002 | DUPLICATE | T01: outer exception никогда не false succeeded | | RISK-003 | DUPLICATE | T02: latest full forecast | | RISK-004 | DUPLICATE | T04: mutable calendar policy | | RISK-005 | DUPLICATE | T21: source/client feedback, cached sums сохранены | | RISK-006 | DUPLICATE | T06: safe permanent token error | | RISK-007 | DUPLICATE | T08: UTF-8 minimum, raw password | | RISK-008 | INVESTIGATE | T38: live proxy/admission evidence, не подтверждённая exploitation | | AGENT-001 | SIMPLIFY | T14 backend + frontend: separate installation/iteration/final boundary | | AGENT-002 | SIMPLIFY | T35: risk-based tests/evidence revision вместо message-count freshness | | AGENT-003 | FIX | T35: generic rulings внутри approved semantics; standard OpenSpec неизменен | | AGENT-004 | FIX | T35: conditional existing nvm.sh bootstrap, без нового script | | AGENT-005 | NO_ACTION | Tool/schema overhead не измерен; нет current blocker, global A/B infrastructure не создаётся | | AGENT-006 | SIMPLIFY | T35: model override только при tool capability | | SPEC-001 | SIMPLIFY | T29: одна documentation authority, audits в root по запросу | | SPEC-002 | FIX | T31: explicit original delivery disposition, unchecked archive не переписать | | SPEC-003 | FIX | T33: current Portfolio/Stock/Bond/Container claims сверены | | SPEC-004 | FIX | T30: пять topic entries, active screener не fake canonical | | SPEC-005 | FIX | T37: additionalProperties/lot constraints, runtime последствия unverified | ## Реестр предыдущих источников Предыдущие измерения относятся к своим samples и не подтверждают runtime состояние нынешней системы. Служебные CA/TA IDs введены только для ссылок на уже существующие разделы, не как дополнительный finding source. | Finding | Decision | Topic / причина | | --- | --- | --- | | TA-F01 | DUPLICATE | T02 | | TA-F02 | DUPLICATE | T01 | | TA-F03 | DUPLICATE | T04 | | TA-F04 | DUPLICATE | T03 | | TA-F05 | DUPLICATE | T21 | | TA-F06 | DUPLICATE | T05 | | TA-F07 | DUPLICATE | T20 | | TA-F08 | DUPLICATE | T12 + T25 + T01 | | TA-F09 | DUPLICATE | T10 | | TA-F10 | DUPLICATE | T39; full detail поля нужны actual bond cards | | TA-F11 | DUPLICATE | T17 | | TA-F12 | DUPLICATE | T08 | | TA-F13 | DUPLICATE | T06 | | TA-F14 | DUPLICATE | T04 | | TA-F15 | DUPLICATE | T18 | | TA-F16 | DUPLICATE | T30 + T33 | | TA-F17 | DUPLICATE | CPLX-003: optional labels cleanup не оправдывает задачу | | TA-X01 | KEEP | §Simplification Opportunities/controller test: audit 08 подтверждает полезный arbitrary-sub adapter seam; no blanket mock-test deletion | | CA-H01 | DUPLICATE | T14: installation/final gates | | CA-H02 | DUPLICATE | T19: real small runner workload | | CA-H03 | NO_ACTION | Второй FE tsc invocation не доказывает повторную recompilation/равноценность удаления; более точный audit 11 сохраняет | | CA-H04 | KEEP | App/test compiler roots различаются; superset не доказал эквивалентные diagnostics | | CA-H05 | DUPLICATE | T14 backend: prepared dist reuse | | CA-H06 | DUPLICATE | T14 frontend: lean hook | | CA-H07 | DUPLICATE | T28 | | CA-H08 | DUPLICATE | T32: исправить actual input, не удалить required check | | CA-H09 | NO_ACTION | Нет concrete false-positive/cost proof mechanical lint; прежняя blanket cut гипотеза не отменяет user decisions main #18 | | CA-H10 | KEEP | Motion реально используется, measured bundle/cost проблемы нет; native CSS — необязательная альтернатива | | CA-H11 | SIMPLIFY | T12: metadata tests на production-used request/savedMany; unused combined read удалять только после caller proof | | CA-H12 | DELETE | T20: only-test plural authenticated-query API после current caller inventory | | CA-H13 | SIMPLIFY | T12: existing public request/done и provider вместо private test access; publication owner не дробить | | CA-H14 | SIMPLIFY | T20: unused history.retry/initial isFetching surface после полного caller proof; automatic cursor recovery сохраняется | | CA-H15 | NO_ACTION | Малый stock/bond renderer union — лишь предыдущая гипотеза; нет current defect/существенной цены narrowing | | CA-H16 | DUPLICATE | T27: current Events RTL/MSW outcomes вместо old fake-query oracle | | CA-H17 | SIMPLIFY | T12: pure mapper/repository seam для unit proof, real SQLite guarantees отдельно | | CA-H18 | NO_ACTION | Blanket delegation/page fallback test deletion не обоснован primary TQ review; exact duplicate route case допустим opportunistically | | CA-H19 | DUPLICATE | T13: case-owned prerequisites | | CA-H20 | DUPLICATE | T29 + T35: opt-in/project applicability, no new workflow | | CA-X01 | NO_ACTION | D5 membershipWork accessor: prior-only small dead API hypothesis; removal при касании owner, не отдельный результат | | CA-X02 | NO_ACTION | D5 candleTail key: prior-only tiny unused field, candle loader KEEP | | CA-X03 | DELETE | D5 HourlySyncSectionDto: T10, только orphan DTO после schema/caller proof | | CA-X04 | NO_ACTION | D5 totalsByCurrency export: optional local API narrowing; calculation используется | | CA-X05 | DUPLICATE | G5 runtime-check: TOOL-003 KEEP manual boundary до external-consumer evidence | | CA-X06 | KEEP | D7 FormProvider: действующая local form convention, context-only optimization необязательна | | CA-X07 | KEEP | §SIMPLIFY/specs prepare: current explicit install lifecycle; нежелательный effect не подтверждён | | CA-X08 | KEEP | B4 visual SHA tables: отдельно передаваемые approval exports имеют integrity boundary, не удалять без proof | | CA-X09 | KEEP | G InvestmentRefreshState: четыре catalog stories и isolation consumer, не confirmed dead | | RC-01 | DUPLICATE | T14: один final gate после последнего relevant input change | | RC-02 | NO_ACTION | Aggregates repeated reads не кодируют semantic novelty; session-local reuse действует, cache service не нужен | | RC-03 | DUPLICATE | T14 + T35: reuse evidence по diff/command/outcome, без persistent validation ledger | | RC-04 | NO_ACTION | Multi-repo task scope законен; routers уже самостоятельны, hard permissions/manifest не оправданы sample count | | RC-05 | KEEP | Scoped independent semantic review сохраняется; elapsed task time не доказал waste | | RC-06 | NO_ACTION | Повторные tool calls могут быть intentional polling; pending/completed dedup framework не нужен | | RC-07 | DUPLICATE | T14 | | RC-08 | DUPLICATE | T14: standalone preparation сохраняется, composed boundary reuse | | RC-09 | DUPLICATE | T14 backend | | RC-10 | KEEP | Standard OpenSpec lifecycle/context refresh сохраняется по явному ограничению пользователя; mtime/hash cache не вводить | | RC-11 | NO_ACTION | 127-line unstaged root block отсутствует в проверенном HEAD; stale-context finding, current router 32 строки | | RC-12 | KEEP | Standard OpenSpec skills неизменны; явный request routing уже принадлежит local AGENTS | | RC-13 | DUPLICATE | AGENT-005 NO_ACTION: отсутствие measured routing cost не основание удалять skills | | RC-14 | DUPLICATE | AGENT-005 NO_ACTION: browser tools дают разные capabilities, default deletion не обоснован | | RC-15 | DUPLICATE | T14 frontend | | RC-16 | NO_ACTION | Global permission profiles не входят в Git behavior owner; новый management layer не обоснован | | RC-17 | INVESTIGATE | T36: historical inline credential claim не равен confirmed live exposure/P0; локальная приватная проверка и rotation при подтверждении | | RC-18 | NO_ACTION | Memory plugin activation не подтверждена, disabled/stale config не требует инфраструктуры | ## KEEP / NO_ACTION и границы KEEP не создаёт Issues без конкретной задачи. Сохраняются exact money, server validation, nested ownership, auth CAS/cookie/session generations, connection/attempt/dependency fences, banking replay/version/tombstone, SQLite migrations/isolation/crash/restore, signed cursors, public projection, native OpenSpec phases и immutable history. Optional cleanup не становится mandatory backlog только из-за числа строк. Старые confidence/severity не переносятся автоматически на новый campaign priority. ## Dependencies и блокеры - T04 зависит от T02 только в части проверенного failed-existing-calendar publication/fallback contract: force не должен создавать новую регрессию. - T10 имеет внутренний порядок удаления manual parent → exclusive discovery producer; отдельная Gitea dependency между файлами не нужна. - T27 финальная source-window presentation зависит от опубликованного T02 artifact; договориться о UX можно до его реализации. - T11 не блокирует code-only T10/T20: public readers/DB identities сохраняются. - T14/T35 не блокируют P1. T01/T02/T03 independent, salvo common final diff checks. - T38 остаётся investigation до приватного proxy input, T36 — до локальной проверки актуального credential state; raw values и session IDs не публикуются. - Архивирование одного оригинала blocked: `АудитЭффективности.md` содержит private session metadata. Исходник сохранён; RC findings не потеряны. - Cold historical Income, hidden-tab/cadence, CURRENCY и Events filters — только named product questions внутри T05/T20/T26/T27, без guessed contract. ## Проверка и provenance Discovery: все repositories доступны, Issues enabled, bot имеет push/pull. Remote commits пяти audited revisions подтверждены API. Gitea 1.27.3 предоставляет native issue-dependencies endpoint; issue-types API не обнаружен. Labels организации переиспользуются: Priority/High=P1, Medium=P2, Low=P3; Kind/Bug, Enhancement, Testing, Documentation. Reviewed/status labels не используются для дублирования lifecycle. Assignees новых Issues не угадываются. Все 44 participating Issues прочитаны обратно через API: 43 working и один [главный Issue](https://git.personal.ksv741.ru/WealthLedger/main/issues/23). Новых Issues 41 (40 working + navigation), reused 3. Working priorities: P1=2, P2=33, P3=8; navigation дополнительно P2. 39 topics, не 190 Issues. | Source disposition | Count | | --- | --- | | FIX | 31 | | REFACTOR | 0 | | SIMPLIFY | 20 | | DELETE | 8 | | INVESTIGATE | 7 | | KEEP | 40 | | DUPLICATE | 67 | | NO_ACTION | 17 | | Total | 190 | Source disposition и Issue kind — разные единицы: структурные simplification/ deletion tasks используют existing Kind/Enhancement без дублирующего kind label. Оригинальные user-authored тела/assignees reused #4/#1/#2 сохранены; supplements даны comments с stable markers. Старые priority префиксы в titles исторические, актуальный campaign priority задаёт единственный Priority/Medium label. Непривязанных actionable findings: 0. Все INVESTIGATE имеют Issue либо bounded proof внутри соответствующего fix. Два findings явно требуют недоступного внешнего private input: RISK-008 (actual proxy) и RC-17 (actual local credential owner); это 2 mapped external-evidence blockers, не подтверждённые runtime bugs. Product/compatibility decisions T05/T11/T20/T26/T27/T29 и original completion review T31 остаются named preconditions, сроки/ответы не выдуманы. Отдельный publication blocker — один original report, не потерянный finding. Native dependency read-back: backend #53 → backend #55; frontend #63 → backend #55; specs #2 → specs #4 (исходные native toolchain criteria, Git-range portion можно исправить независимо). Других technical blocking edges нет, cycles нет. Новые labels: 8 repo-scoped, только используемые. Organization label creation вернуло permission denial, resolved repo fallback; MCP issue update не меняет labels, resolved dedicated replace_labels для reused Issues. Необработанных API write failures нет. Milestone URLs проверены HTTP 200, due dates пусты. Final read-back: 44 Issues и 44 уникальных stable markers, 0 template/metadata errors; у каждого ровно один priority, один primary kind, audit label и нужный milestone. 59 linked Git resources существуют на указанных commits; главный Issue перечисляет все 43 working Issues. Все 8 новых labels реально используются. Первая широкая параллельная HEAD-проверка прервана connection timeout, не ошибкой созданной сущности. Заменена адресным API/Git read-back и последовательным HTTP check: campaign, README, triage, original archive и все 5 milestones — 200. Этот verification transport failure обработан; полный parallel URL scan успешным не объявляется. Дополнительные cross-audit signals/open questions не удваивают finding count. SDD DR-08 одноразовый pilot/transition — NO_ACTION до конкретной потребности; off-host backup/dummy hashing/logout bounded access/native lifecycle — KEEP существующих guarantees, без заявлений об их live verification. Ни история, ни role/security protections не удаляются ради неподтверждённой экономии. Root gates: original/archived Git blob equality, redacted Gitleaks exit 0, staged allowlist review, semantic/Boy Scout review, diff check и commitlint. Первый archive push/read-back успешен; финальные links публикуются вторым commit в той же task branch. Полный application verify, build, tests, codegen, migration и реальная финансовая сеть в planning не запускались.