docs: link verified Gitea remediation resources
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
frontend, backend, specs и docs. Программа управляется Gitea Issues; этот
|
||||
архив сохраняет доказательства и решения triage, а не текущие статусы задач.
|
||||
|
||||
Главный Issue: ссылка будет добавлена после подтверждённого создания в Gitea.
|
||||
Главный Issue: [Technical Audit Remediation — WealthLedger — 2026-10-11](https://git.personal.ksv741.ru/WealthLedger/main/issues/23).
|
||||
Нормализованный реестр и задачи: [triage](triage.md).
|
||||
|
||||
## Исследованные revisions
|
||||
@@ -86,3 +86,29 @@ integrity validators не вводятся: версии архива прина
|
||||
Архив публикуется в task branch `codex/audit-remediation-2026-10-11` от свежего
|
||||
`origin/develop`. Локальный commit без подтверждённого push не считается
|
||||
публикацией. Release/version bump из названия программы не следует.
|
||||
|
||||
Первый архивный commit `0d6344abfdf9c4c6139e4d2b50bf3bd3b2ee690e` успешно
|
||||
отправлен и прочитан через Gitea; отчёты в нём неизменяемы. Финальные README и
|
||||
triage доступны в той же remote task branch и имеют фактические Issue URLs.
|
||||
|
||||
## Gitea программа
|
||||
|
||||
39 нормализованных engineering topics поставляются 43 working Issues:
|
||||
40 новых и 3 повторно используемых. Главный navigation Issue создан отдельно;
|
||||
итого 41 новое Issue и 44 participating Issues. Все новые задачи неназначены;
|
||||
существующие assignees/тексты сохранены, audit supplements добавлены comments.
|
||||
|
||||
| Repository | Milestone | Participating Issues |
|
||||
| --- | --- | --- |
|
||||
| main | [milestone 1](https://git.personal.ksv741.ru/WealthLedger/main/milestone/1) | 3, включая главный Issue |
|
||||
| backend | [milestone 4](https://git.personal.ksv741.ru/WealthLedger/backend/milestone/4) | 23 |
|
||||
| frontend | [milestone 3](https://git.personal.ksv741.ru/WealthLedger/frontend/milestone/3) | 11 |
|
||||
| specs | [milestone 5](https://git.personal.ksv741.ru/WealthLedger/specs/milestone/5) | 5 |
|
||||
| docs | [milestone 2](https://git.personal.ksv741.ru/WealthLedger/docs/milestone/2) | 2 |
|
||||
|
||||
Milestones не имеют due date. Переиспользованы organization labels;
|
||||
8 новых repo-scoped labels — 5 audit и 3 investigation. Создание org labels
|
||||
отвергнуто недостатком organization-owner permission; repo-scoped fallback
|
||||
подтверждён. Для reused Issues назначение labels сделано через replace_labels:
|
||||
обычный issue update в MCP их не применяет. Оба ограничения API обработаны.
|
||||
Native dependencies установлены и прочитаны обратно, cycles отсутствуют.
|
||||
|
||||
+100
-42
@@ -25,45 +25,45 @@ verification owners и четыре title-trigger owners поставляютс
|
||||
|
||||
| Topic | Priority / owner | Результат / Issue |
|
||||
| --- | --- | --- |
|
||||
| T01 | P1 backend | Hourly completion, durable recovery и executable coordinator proof |
|
||||
| T02 | P1 backend | Latest complete forecast, persisted identity, saved filtering и failed-source policy proof |
|
||||
| T03 | P2 backend | Eligibility после пропущенных long-walk terms |
|
||||
| T04 | P2 backend | Повторное обновление mutable calendars с сохранением fallback |
|
||||
| T05 | P2 backend | Local Income и только missing requested Ledger interval; прямой interval planner |
|
||||
| T06 | P2 backend | Permanent invalid-token translation на всех online entrypoints |
|
||||
| T07 | P2 backend | Accounts/Income meta получает resource-relevant durable hourly attempt |
|
||||
| T08 | P2 backend | UTF-8 password bounds и согласованный OpenAPI artifact |
|
||||
| T09 | P2 backend | Auth token-role, expiry и cookie regression distinctions |
|
||||
| T10 | P2 backend | Dead manual/discovery producer closure, orphan DTO, active readers/fences сохранены |
|
||||
| T11 | P2 backend | Проверенное compatibility решение для status/observe consumers |
|
||||
| T12 | P2 backend | Настоящие source races, post-write rollback и controlled completion вместо sleeps |
|
||||
| T13 | P2 backend | Self-contained HTTP scenarios и отсутствие uncontrolled scheduler |
|
||||
| T14 | P2 backend + frontend | Соразмерные local gates; backend single preparation; frontend lean pre-commit |
|
||||
| T15 | P2 backend | Один adapter-supported SQLite driver, native/durability guarantees сохранены |
|
||||
| T16 | P2 backend | Удалены только неподдерживаемые unused direct compiler dependencies |
|
||||
| T17 | P2 backend | Bounded banking page relations вместо per-row loaders, adoption по измерению |
|
||||
| T18 | P3 backend | Один safe publicInstrument projection owner |
|
||||
| T19 | P3 backend | Малый real SQLite workload runner-regression при тех же safety assertions |
|
||||
| T20 | P2 frontend | Query-owned read lifecycle; disabled/session gating; pruning unused observe/facade |
|
||||
| T21 | P2 frontend | Source/client failure visibility и GET-only recovery инвестиционных sections |
|
||||
| T22 | P2 frontend | Cold/cached banking read recovery без потери сумм/draft |
|
||||
| T23 | P3 frontend | Один payment-system tuple у существующей bank-card schema |
|
||||
| T24 | P2 frontend | Auth navigation disabled для pointer/keyboard во время submit |
|
||||
| T25 | P2 frontend | Late-response assertions после полного settlement проигравшего |
|
||||
| T26 | P2 frontend | Явное решение о видимости CURRENCY без double counting |
|
||||
| T27 | P2 frontend | Согласованный Events screen contract и актуальные test oracles |
|
||||
| T28 | P3 frontend | Native openapi-typescript --check вместо custom temp wrapper |
|
||||
| T29 | P2 specs | Task-first/documentation authority без competing audit/feature trees |
|
||||
| T30 | P2 specs | Пять точных current capability entries в AI_INDEX |
|
||||
| T31 | P2 specs | Достоверный completion disposition, оригинальный archive не переписан |
|
||||
| T32 | P2 specs | Meaningful committed-range CI check; native validation scope явно определён |
|
||||
| T33 | P2 docs | Непротиворечивое current hourly/local/online объяснение |
|
||||
| T34 | P3 frontend + backend + specs + docs | Title edit перезапускает только commits proof |
|
||||
| T35 | P2 main | Generic workflow applicability, evidence reuse, approval precedence и nvm bootstrap |
|
||||
| T36 | P2 main | Проверка live provider credential handling без раскрытия значения |
|
||||
| T37 | P2 backend | Published screener constraints согласованы с target и HTTP boundary |
|
||||
| T38 | P2 backend | Пассивная проверка реального auth perimeter/admission policy |
|
||||
| T39 | P2 backend | Независимый prices RPC стартует вместе с выбранными bond details |
|
||||
| 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.
|
||||
@@ -309,6 +309,64 @@ Labels организации переиспользуются: Priority/High=P1
|
||||
Kind/Bug, Enhancement, Testing, Documentation. Reviewed/status labels не
|
||||
используются для дублирования lifecycle. Assignees новых Issues не угадываются.
|
||||
|
||||
Read-back URLs/metadata, итоговые counts и опубликованные revisions будут
|
||||
добавлены после фактического создания. Полный application verify, build,
|
||||
tests, codegen, migration и реальная финансовая сеть в planning не запускались.
|
||||
Все 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 не запускались.
|
||||
|
||||
Reference in New Issue
Block a user