WEB-546 · Задача · — · web
SEC-029 Outbound confirmation value duplicated in diagnostic audit sinks
Закрыт
P3
ведёт: —
эпик: WEB-515
Суть
## ДЛЯ НУЛЕВОГО АГЕНТА (обновлено 2026-09-05 UTC)
- **Суть одной строкой:** SEC-029 Outbound confirmation value duplicated in diagnostic audit sinks
- **Текущее состояние:** статус: todo; что на проде: body: Текущее состояние:** статус: todo; что на проде: нет данных в тикете; что принято/ждёт посадки: 2026-09-05T18:53:09.218Z: block11-intake-web-546 — 2026-09-05T18:53:09.218257+; что принято/ждёт посадки: body: Текущее состояние:** статус: todo; что на проде: нет данных в тикете; что принято/ждёт посадки: 2026-09-05T18:53:09.218Z: block11-intake-web-546 — 2026-09-05T18:53:09.218257+; 2026-09-05T18:53:09.218Z: block11-intake-web-546 — 2026-09-05T18:53:09.218257+00:00 / IST=2026-09-06T00:23:09.218260+05:30 SEC029: NO-GO вreport принят как нарушение целевой полити; что в работе: body: Текущее состояние:** статус: todo; что на проде: нет данных в тикете; что принято/ждёт посадки: 2026-09-05T18:53:09.218Z: block11-intake-web-546 — 2026-09-05T18:53:09.218257+; 2026-09-05T17:51:20.530Z: block10-sec-029-handoff — 2026-09-05T17:51:20.529810+00:00 / IST=2026-09-05T23:21:20.529820+05:30 Полное confirmation value копируется в AgentTask outboun
- **Кто работал:**
- 2026-09-05T17:51:20.530Z: block10-sec-029-handoff — 2026-09-05T17:51:20.529810+00:00 / IST=2026-09-05T23:21:20.529820+05:30 Полное confirmation value копируется в AgentTask outboun
- **Ветки/бандлы/отчёты:**
- body: Текущее состояние:** статус: todo; что на проде: нет данных в тикете; что принято/ждёт посадки: 2026-09-05T18:53:09.218Z: block11-intake-web-546 — 2026-09-05T18:53:09.218257+
- 2026-09-05T17:51:20.530Z: block10-sec-029-handoff — 2026-09-05T17:51:20.529810+00:00 / IST=2026-09-05T23:21:20.529820+05:30 Полное confirmation value копируется в AgentTask outboun
- 2026-09-05T18:53:09.218Z: block11-intake-web-546 — 2026-09-05T18:53:09.218257+00:00 / IST=2026-09-06T00:23:09.218260+05:30 SEC029: NO-GO вreport принят как нарушение целевой полити
- **KNOWN ISSUES / ТРАБЛШУТИНГ:** симптом → проверка → причина (file:line, если есть) → лечение
- body: KNOWN ISSUES / ТРАБЛШУТИНГ:** симптом → проверка → причина (file:line, если есть) → лечение
- 2026-09-05T17:51:20.530Z: block10-sec-029-handoff — 2026-09-05T17:51:20.529810+00:00 / IST=2026-09-05T23:21:20.529820+05:30 Полное confirmation value копируется в AgentTask outboun
- 2026-09-05T18:53:09.218Z: block11-intake-web-546 — 2026-09-05T18:53:09.218257+00:00 / IST=2026-09-06T00:23:09.218260+05:30 SEC029: NO-GO вreport принят как нарушение целевой полити
- **Эволюция:**
- 2026-09-05T17:51:20.530Z → block10-sec-029-handoff — 2026-09-05T17:51:20.529810+00:00 / IST=2026-09-05T23:21:20.529820+05:30 Полное confirmation value копируется в AgentTask outbound_audit payload и console:
- 2026-09-05T18:53:09.218Z → block11-intake-web-546 — 2026-09-05T18:53:09.218257+00:00 / IST=2026-09-06T00:23:09.218260+05:30 SEC029: NO-GO вreport принят как нарушение целевой политики минимизацииdiagnostics;
- **Следующий шаг:** см. текущую работу из комментариев: 2026-09-05T17:51:20.530Z: block10-sec-029-handoff — 2026-09-05T17:51:20.529810+00:00 / IST=2026-09-05T23:21:20.529820+05:30 Полное confirmation value копируется в AgentTask outboun
Связи
- связан → WEB-515 — ЭПИК: АУДИТ БЕЗОПАСНОСТИ проекта (Codex gpt-6-astra как security lead) — карта поверхности, threat model, ASVS L2, реестр находок, фиксы с adversarial-приёмкой на Claude
Лента
2026-09-05T17:51:20.530Z · astra-securityblock10-sec-029-handoff — 2026-09-05T17:51:20.529810+00:00 / IST=2026-09-05T23:21:20.529820+05:30
Полное confirmation value копируется в AgentTask outbound_audit payload и console: orchestrator.ts:526–550,1036–1039,1050–1062,1081–1088,1113–1126. После atomic consumption оно попадает в voice-consent AuditLog.targetId:1338–1353 и дальнейшие диагностические ветки. Telegram callback catch логирует data:telegram/webhook/route.ts:2574–2578. P3 diagnostic hygiene, CVSS3.1 pending; possession of logs не доказано достаточным для внешнего звонка. Owner-only creation601–632, whitelist/rate gates802–864, expiry и atomic consumed1291–1335, linked Telegram actor2532–2548, webhook secret2663–2668 ограничивают доступ. Public raw-token endpoint не найден; user task list фильтрует kind=task; team audit user-filtered и записывает value после consumption.
Действие: Read-only diagnostic proof/design; no edits to SIP/gateway/infrastructure or product orchestration in this wave. Deduplicate against SEC-014 ARI logs: this is a distinct app confirmation capability sink. Propose a minimal diagnostic-only diff using confirmation row id or non-reversible correlation fingerprint; preserve full token only in functional confirmation storage, callback and adapter/session flow. Preserve voice consent audit correlation, scheduled cancellation and one-use semantics. No secret rotation, TTL policy redesign, DB migration or actual calls. Coordinator owns any subsequent telephony fix window.
Три группы безопасной приёмки:
1. With inert canary and fake Prisma/console collectors, exercise actual preparation and prefetch-persistence failures. Functional confirmation storage/callback must retain full value; diagnostic AgentTask/console should contain only non-secret correlation. Baseline violation and proposed redaction prototype must be clearly distinguished.
2. With fake linked identities and controlled clock, correct linked Telegram actor can confirm once before expiry, different actor is rejected, expired/repeated confirmation cannot dispatch. Collectors assert full canary absent from diagnostics. Preserve webhook authentication composition; token-only internal API is not itself public exposure.
3. Exercise scheduled dispatch, authorized cancellation, adapter rejection and delayed failure with inert adapters. Preserve lifecycle/correlation, while AgentTask, voice AuditLog.targetId, callback-error logs and console omit full canary. List remaining host ACL/retention/readership unknowns without inspecting real logs or env.
KNOWN ISSUES / ТРАБЛШУТИНГ: source-reviewed condition, no executed red tests here. No deployed behavior/acceptance claim. Source-only report and hashes: ~/audit/reports/2026-09-05-boundaries-block10.md; evidence/block10/. Base 6930c6832744e273ccad495caba9b31329761650
Outbox2028 gpt-5.6-sol PROOF; SHA256 847eae333fba107bc854ff9ecb9ea84be547f96863f2a0cd65fedd51830370e5
2026-09-05T18:53:09.218Z · astra-securityblock11-intake-web-546 — 2026-09-05T18:53:09.218257+00:00 / IST=2026-09-06T00:23:09.218260+05:30
SEC029: NO-GO вreport принят как нарушение целевой политики минимизацииdiagnostics; sourcefulltoken copies подтверждены. ReportbaselineRED,69/69+2/2characterization иprototype3/3 неactualfix; TAPлокальнонет. Owner/linkedactor/webhook/TTL60/atomicclaim/dedupe/user-filteredAuditcontrols сохраняются, logpossession неравнаexternaldispatch. P3,AppCVSSpending. Fix2035luna толькоappdiagnostics/callbackerror/consenttargetcorrelation; functionalvalues,TTL,infra/SIP/gateway неизменны. todo.
Брифы: 2035 gpt-5.6-luna FIX SHA3b6d699dc7dc3bd5d89e44de02f533a3162434f3659f53f5a6bc3e6c1afd91f1
KNOWN ISSUES / ТРАБЛШУТИНГ: independent parent agents read sources/reports only; remote test counts are report-attested. Parent executed no product tests. Local report hashes in evidence/block11/intake-manifest.json. No landing/deploy claimed.
2026-09-06T00:22:31.714Z · astra-securitycont16-wave-2073-web-546 — 2026-09-06T00:22:31.713263+00:00 / IST=2026-09-06T05:52:31.713341+05:30
CONT16 fan-out: 2073 FIX, gpt-5.6-luna, priority NORMAL; задачи WEB-546.
Complete2035 after current telephony application dedupe. Prior report was NO-GO against diagnostic minimization, with characterization but no delivered fix. outbound/orchestrator.ts:526–557 passes diagnostic payloads; value-bearing paths1036–1088,1113–1126,1338–1353,1406–1431,1508–1538 duplicate the full confirmation value. Replace only diagnostic carriers with row ID or unrelated random request correlation before a row exists. Preserve functional persisted value, response/callback/session/adapter carriers,TTL,atomic claim,actor checks,cancellation. Old telegram route anchor2574–2578 is stale: trace current handler instead. This is application scope, distinct from host ARI URL logsWEB-531.
Бриф: /Users/poolpooly/audit/outbox/2073-confirmation-diagnostic-minimization-brief.md
SHA256 ed02f102424089372a7e7c6708ece47aceb2e7d6b7d0a80c39f4cc1a416bd031
Статус: выдан в relay; запуск/результат не подтверждены. Full assigned l113/l113b SHA и prior-output dedupe обязательны. Координатор принимает пересекающиеся изменения и посадку.
2026-09-06T14:13:42.947Z · astra-securityblock19-wave-2127-web-546 — 2026-09-06T14:13:42.946424+00:00 / IST=2026-09-06T19:43:42.946431+05:30
Правила обогащения: WEB-449. ДЛЯ ТИКЕТА: BLOCK19 FIX, gpt-5.6-luna, NORMAL / remaining diagnostic contract.
Remaining2073 contract partially implemented in currentg: orchestrator imports safeErrorForLog at src/lib/telephony/outbound/orchestrator.ts:98–101; telephonyRedaction.js:3–17,142–151 masks token-named fields. Do NOT claim old raw diagnostic disclosure still exists. Residual is accepted row/request correlation requirement from2073: callsites1040–1043,1060–1065,1090–1091,1117–1130,1342–1348,1370–1375,1418–1436,1466–1479,1517–1543 still hand token-valued fields to diagnostics then lose them to ***. Replace only diagnostic carriers with row-id or independent bounded request correlation before row exists. Keep sanitizer asdefense, functional rowcreation951–964/prompt1151–1154/dispatch1445–1464/adapters1619,1631,1644 untouched. Consume2035/2073candidate ifdelivered; productscope only, nothostARI531.
Бриф M1 /Users/poolpooly/audit/outbox/2127-confirmation-diagnostic-correlation-fix-brief.md; SHA256 a952a61d6343b05742ee2f897bc63242ae9fed5bbae5ccc678b6fd7a124a48d8. База l113g4c322c4606a1695fc896ecd6313842d55679b472. Выдан в outbox, running не подтверждён.
KNOWN ISSUES / ТРАБЛШУТИНГ: old4c73 report verdict не равен currentg defect или runtime acceptance. Сначала current-source/candidate dedupe; no duplicate implementation. Три обязательные группы проверок в брифе; failed/skipped gates и owner/host dependencies сохранять явно. High — приоритет closure, CVSS не повышен. Документы M1 /Users/poolpooly/audit/evidence/block19/fanout-jobs.json; будущий отчёт worker ~/waves/BLOCK19-CONFIRMATION-DIAGNOSTIC-CORRELATION-FIX-REPORT.md
2026-09-06T21:37:37.261Z · astra-securityblock22-wave-2173-web-546 — 2026-09-06T21:37:37.260276+00:00 / IST=2026-09-07T03:07:37.260301+05:30
ДЛЯ ТИКЕТА / BLOCK22 release closure. OpenWEB546: diagnostic row/request correlation2127 pending. Existing sanitizer already masks full values; do not claim older raw disclosure still exists.
Бриф /Users/poolpooly/audit/outbox/2173-confirmation-correlation-post-l113j-closure-brief.md; SHA256 967af9d9f55d5aa278912f6cfacb8bff8596d27c2ddab8cf3a5e168293b4bf20. MODEL=gpt-5.6-sol, A2 cap11, M4 cap3 без автоматического переноса. WAITING_RELEASE_l113j: не запускать до полного deployed-SHA/artifact/backend receipt. Сейчас reportedprod i18f130938b8d2a8f4376811651ad21beb4e28838; M1 source checkout толькоh.
Три группы: exactrelease/source mapping; live: Read deployed application orchestrator/correlation shape and safe logger policy receipt only; no telephony confirmation, call, Telegram message or token inspection.; companion: Local synthetic task/actor/clock/adapters prove row/request correlation without copying functional confirmation values; one-use/expiry/actor/cancel contract preserved. Separate from hostARI531.
KNOWN ISSUES: sent≠running, code/authorGO≠liveclosure. При отсутствующем fix в j — NOT_DEPLOYED. Никаких paid/provider effects, реальных удалений/отказов сервиса. Existing2455/2450/2460/2462/2458 и старые работы не дублируются. Историческиеanchors src/lib/telephony/outbound/orchestrator.ts:98–101,1040–1130,1342–1479. Fullreport future /home/ubuntu/waves/BLOCK22-CONFIRMATION-CORRELATION-POST-L113J-CLOSURE-REPORT.md. Evidence M1 /Users/poolpooly/audit/evidence/block22/fanout-jobs.json; checkpoint /Users/poolpooly/audit/reports/block22-checkpoint.md. Статус тикета не менялся.
2026-09-07T06:15:10.561Z · coordinator[07.09 06:15Z координатор] BLOCK 22 (Astra closure R2, A1) — CONFIRMATION-CORRELATION post-l113j (SEC-029): VERDICT=NO-GO: у WEB-546 НЕТ кандидата ни в l113j, ни в l113k/l113l (target source/runtime bytes не менялись) — закрывать нечего; нужна инженерная волна с кандидатом (корреляция outbound confirmation request/lifecycle diagnostics к distinct delivery), затем live logger receipt. Отчёт A1 BLOCK22-CONFIRMATION-CORRELATION-POST-L113J-CLOSURE-REPORT.md.
2026-09-07T07:10:31.411Z · coordinator[07.09 07:10Z координатор] ИНЖЕНЕРНАЯ ВОЛНА 2548 CONFIRMATIONCORRELATION (M4, sol, 07:07Z): VERDICT=GO автора — кандидат fa76e3ac над ПРОД l113m: correlation id = f(durable delivery id, normalized recipient, channel, operation), стабилен при retry, различен при смене измерения; lifecycle queued→sent→delivered/failed через общий diagnostic builder в AgentTask/email/console sinks; в диагностике только recipientSha256_8. Независимая приёмка = 2557 (M4, sol xhigh); при GO → l113o → block-22 closure r3 (SEC-029).
2026-09-07T07:25:54.516Z · coordinator[07.09 07:25Z координатор] ПРИЁМКА 2557 ACCCONFIRMATIONCORRELATION (M4, sol xhigh, 07:22Z) кандидата fa76e3ac = NO-GO: корреляция и happy paths работают, но failure/lifecycle/security контракт не закрыт — (1) исключение синхронного adapter dispatch после атомарного consumed выходит из confirmOutboundCall без terminal outbound_dispatch_failed (src/lib/telephony/outbound/…); (2) delayed adapter catch пишет только console, не создаёт failed AgentTask (orchestrator.ts:1478-1515), safeErrorForLog маскирует класс ошибки; (3) ошибка записи diagnostic sink сама создаёт … (см. отчёт). Круг 2 = 2570 CONFIRMATIONCORRELATIONR2 (M4).
2026-09-07T07:38:24.468Z · astra-securityBLOCK22-RELAY13-WEB-546 — 2026-09-07T07:38:24.467479+00:00 / IST=2026-09-07T13:08:24.467494+05:30
SEC-029 / WEB-546: NO_GO_FULL_CLOSURE_UNVERIFIED. Workflow review сохранён. Текущий m 8f4ba1d92cc15a8b64144674e35cce71fdfba43a подтверждён распиской; родитель не выполнял live.
Полный closure GO не установлен. NO-GO из-за недостающих входов не объявляется новым продуктовым дефектом. Исторический source/companion PASS сохраняется в исходном отчёте.
KNOWN ISSUES / ТРАБЛШУТИНГ
- 2557 rejected fa76e3ac failure/lifecycle handling
- HOLD2570 + independent GO + actual release/AUTH; no new FIX or acceptance
ДЛЯ ТИКЕТА
2568 / A1: HOLD2570 + independent GO + actual release/AUTH; no new FIX or acceptance
No accepted candidate:2557 NO-GO; existing2570 fix then new independent acceptance and landing. #2962
Полный ledger и parent adjudication: ~/audit/evidence/block22-relay13/ledger46.json; ~/audit/reports/block22-relay13-r3-plan.md.
Reports:
/Users/poolpooly/audit/evidence/block22-relay13/intake-originals/CONT19-RELAY-12/a1/BLOCK22-CONFIRMATION-CORRELATION-POST-L113J-CLOSURE-REPORT.md
/Users/poolpooly/audit/evidence/block22-relay13/intake-originals/CONT19-RELAY-13/a1/BLOCK22-CONFIRMATION-CORRELATION-POST-L113J-CLOSURE-REPORT.md
2026-09-07T08:06:47.281Z · astra-securityBLOCK22-RELAY13-N-WEB-546 — 2026-09-07T08:06:47.281699+00:00 / IST=2026-09-07T13:36:47.281707+05:30
l113n44d8af687a9e78816b6f747b81a13402abda98bf deployed07:47:36Z по расписке; scope closure NO_GO_FULL_CLOSURE_UNVERIFIED сохранён, workflow не менялся.
fa76e3ac absent;2557 NO-GO; coordinator2570 R2
KNOWN ISSUES
2568 remains hold until2570 independent GO + actual landing/new AUTH
Ancestry/replay attestation ≠ runtime member verification; ready/deployment ≠ scoped GO.
ДЛЯ ТИКЕТА
2568 A1 HOLD_AFTER_2570_INDEPENDENT_GO_AND_ACTUAL_DEPLOY_RECEIPT; running unconfirmed.
A1 actual LIVE-WINDOW-AUTH-l113n до10:30Z с QA lease;2568 отдельно HOLD2570 independent GO+landing. No new wave.
Evidence: ~/audit/evidence/block22-relay13-n/intake/L113N-RELEASE-RECEIPT.md + L113N-TICKET-SHA-ADDENDUM.md; remaining matrix ~/audit/reports/block22-relay13-n-update.md.
2026-09-07T09:49:57.254Z · coordinator[07.09 09:49Z координатор] КРУГ 2 CONFIRMATIONCORRELATIONR2B (2570b, M4, sol, 09:5xZ): VERDICT=GO автора — все 7 находок 2557 закрыты (5178fef5 над кандидатом fa76e3ac над l113m): immediate throw → один correlated outbound_dispatch_failed; delayed throw → failed AgentTask через общий builder; sink-ошибки с id; non-Telegram sent; email legacy events с id; email redaction URL/token; callback sinks через envelope. Независимая приёмка = 2596 (M4). Первый прогон 2570 умер на «model at capacity» 08:35Z.
2026-09-07T10:41:19.098Z · coordinator[07.09 10:41Z координатор] **Приёмка 2596 (M4): semantic_candidate=GO, landing_readiness=NO-GO — по вине координатора.** Все 7 находок 2557 закрыты фиксом 5178fef5 над l113m; replay на l113n не удался, потому что в репо M4 не было веток l113n/l113o (44d8af68 отсутствовал). 10:20Z линии l113n/l113o/l113p доставлены на M4 бандлами. Волна **2602 ACC r2c** (M4): cherry-pick серии на ПРОД l113p 1c850d92 + повтор 7 проверок + bundle реплея → l113q; при GO снимается HOLD 2568 и закрывается SEC-029.
2026-09-07T10:49:40.837Z · astra-securityBLOCK22-RELAY14-WEB-546 — 2026-09-07T10:49:40.837172+00:00 / IST=2026-09-07T16:19:40.837189+05:30
RELAY14: current PROD p1c850d92876757812eab9ffa7f381bcea95aad86 by receipt, flip10:21:43Z. SEC-029 / WEB-546 — NO_GO_HOLD_l113q. Workflow retained.
Keep2568 HOLD; no new confirmation wave; await2602 and q.
KNOWN ISSUES
r2b5178fef5 semantic scope GO2596 is not full landing readiness (receipt reports NO-GO landing_readiness). Existing2602 verifies replay on p; require independent acceptance GO + actual q receipt/runtime/AUTH.
ДЛЯ ТИКЕТА
Source/runtime/host proof remains distinct from deploy readiness. No parent live/SSH/product mutation. Evidence: ~/audit/evidence/block22-relay14/ledger46.json; ~/audit/reports/block22-relay14-update.md. Three r3p briefs and exact input/authority handoff in outbox. Holds remain until actual q receipt plus independent acceptance.
2026-09-07T10:50:52.497Z · coordinator[07.09 10:50Z координатор] **Приёмка 2602 (M4): VERDICT=GO, landing_readiness=GO.** Серия 26ea8c9c + 5178fef5 реплеена на ПРОД l113p 1c850d92 → replay_head `156c39dfb66043a0e19c28692616904cfe2c024e` (bundle CONFIRMATIONCORRELATIONR2C-L113P.bundle sha256 61728385…, на A2 для L113QPREP). Семь проверок 2596 повторены зелёными на реплее; grep sinks — 0 утечек. Единственная причина NO-GO в 2596 (отсутствие базы l113n на M4) устранена. Closure gate SEC-029 пройден, HOLD 2568 снимается → READY для l113q; статус → done после посадки l113q + пост-QA.
2026-09-07T11:40:35.946Z · ЭВОЛЮЦИЯ ЗА 12 Ч (гигиена 2609, 11:25Z 07.09)
ХРОНОЛОГИЯ КРУГОВ
- Исходный closure: raw value уже маскировался, но safe correlation отсутствовал → NO-GO (`A1 waves/BLOCK22-CONFIRMATION-CORRELATION-POST-L113J-CLOSURE-REPORT.md`).
- r1/fa76e3ac → ACC NO-GO; r2b `5178fef5` author GO, но ACC 2596 дала NO-GO landing_readiness из-за отсутствующей линии на M4 (`M4 waves/ACCCONFIRMATIONCORRELATIONR2B-REPORT.md`).
- r2c replay `156c39df` поверх l113p → ACC 2602 GO (`A2 waves/ACCCONFIRMATIONCORRELATIONR2C-REPORT.md`, `M4 waves/ACCCONFIRMATIONCORRELATIONR2C-REPORT.md`); HOLD 2568 снят. SHA не предок l113p.
- Линии посадки: l113j 22:56Z → l113k 00:41Z → l113l 05:30Z → l113m 06:33Z → l113n 07:48Z → l113o 09:35Z → l113p 10:21:43Z. Текущий PROD: l113p `1c850d92876757812eab9ffa7f381bcea95aad86`; общий verify — green по release receipt.
ДЛЯ НУЛЕВОГО АГЕНТА
- На проде: r2c `156c39df` отсутствует; живой l113p сохраняет старую диагностическую correlation-дыру. Accepted replay готов к l113q.
- Следующий шаг / владелец: Координатор включает exact `156c39df` в L113QPREP, затем post-QA/sanitized logger receipt; до посадки статус review, не done.
KNOWN ISSUES / ТРАБЛШУТИНГ
- Симптом: разные durable rows нельзя связать с audit events, потому что lifecycle token после sanitizer одинаково `***` → проверка correlation tests/receipt → причина: нет stable non-functional correlation id → лечение r2c `156c39df`. См. `M4 waves/CONFIRMATIONCORRELATIONR2B-REPORT.md`, `A2 waves/ACCCONFIRMATIONCORRELATIONR2C-REPORT.md`.
СВЯЗИ / ИСТОЧНИКИ
- Release: `M4 waves/L113P-RELEASE-RECEIPT.md`; координаторский срез: `M4 waves/OPS-STATUS-HEAD-1120.md`; точные отчёты перечислены в хронологии/KNOWN ISSUES.
- Если сегодняшняя карточка уже содержит более ранний coordinator-комментарий с тем же фактом, эта запись является только дельтой 2609 и не отменяет тот trail.
2026-09-08T11:16:55.946Z · coordinator[08.09 11:16Z координатор] **GO, ждёт независимой приёмки.** волна 2772 (SEC-029): значение подтверждения исходящего убрано из диагностических приёмников, замазка держится на границе приёмника
Вершина кандидата `3d8f2fbb0f60`, база — боевая линия l113s `49bc58dcc508c612b337c92af7d7d5bb71c7a681`.
Приёмка поставлена волной из пачки 2787–2794 (A2). Посадка — только после её вердикта: вердикт авторской волны это самооценка, а не ворота.
2026-09-08T21:01:08.127Z · Независимая проверка закончена, VERDICT=GO (волна 2989). Кандидат a753bd9e55b949c3fd1cef2b24053a3900ad6c69 проходит проверку на синтетических пустышках: значение подтверждения исходящего сообщения не дублируется в диагностическую запись в открытом виде. Настоящие значения при проверке не читались. Негативная ветка: снятое вычёркивание ловится проверкой.
2026-09-09T05:55:11.262Z · coordinator[09.09 05:55Z координатор] ПРИЁМКА SEC-029 НА ЖИВОЙ ЛИНИИ, КРУГ 2: VERDICT=GO для поставляемой ветки. Волна 3173, отчёт /home/ubuntu/waves/ACCSEC029ROUND2-REPORT.md, база 8780147cc (l114g). Приёмка на Claude opus, не на OpenAI-модели.
**Главный ответ волны: нет, WEB-575 НЕ закрывает SEC-029.** Это важно, потому что я предполагала обратное: в линию легла работа по вычёркиванию личных данных из диагностики (коммит 230688496, волна 3043, приёмка 3092 дала GO), и логично было ожидать, что она заодно закрыла и дублирование значения подтверждения исходящего звонка. Не закрыла.
Дословное уточнение к вердикту: «GO относится к поставляемой ветке `accsec029-round2` (HEAD `7f0a1ee3202adc46d2fa1eacaf96263e2a877385`). Сама вершина `8780147cc` по SEC-029 была NO-GO: остался отдельный живой путь, который WEB-575 не закрывал. Путь найден, назван и починен в этой ветке.»
То есть находка была настоящей и оставалась открытой на проде до этого часа.
Статус: **review, не done** — фикс в бандле, на прод ещё не посажен. Ветка вошла в сборку линии **l114i** (собирается сейчас). Переведу в done после посадки и внешней проверки.
ЗАМЕТКА ПО ПРОЦЕССУ. Первый запуск (волна 3165) умер молча на M4: там нет CLI Клода и нет кредов, диспетчер маршрута не выбирает и отдал бриф в Codex, а тот ответил 400 «The 'claude-opus' model is not supported when using Codex with a ChatGPT account». Приёмки безопасности на OpenAI-моделях не гоняем, поэтому волна переехала на A2. В диспетчер M4 добавлен громкий отказ: бриф с моделью Клода уходит в queue/rejected со строкой в лог, слот не тратится.
2026-09-09T06:08:43.609Z · coordinator[09.09 06:08Z координатор] ПОСАЖЕНО. Линия l114i, коммит 4f974213042a51123245888084a93d102da58011, 09.09 06:06Z. Откат = l114h. Миграций нет.
Фикс SEC-029 (ветка `accsec029-round2`, HEAD 7f0a1ee3202adc46d2fa1eacaf96263e2a877385) вошёл в линию и теперь на проде. Напомню суть: работа WEB-575 по личным данным НЕ закрывала этот путь — приёмка нашла отдельный живой путь, назвала его и починила.
ПРОВЕРКА ПОСЛЕ ПОСАДКИ (снаружи, 06:07Z): корень 200 ×4; вебхук 401; ready:true без отказов, релиз 4f974213042a; paid enforce_ready; гейт целостности юнитов OK; телефония 4080 = 200, LEASE_LOST = 0; живой запрос в чат 200.
Тикет переведён в **done**.
В этой же линии посажены: фикс SEC-014 (WEB-531), обновлённая фикстура совета (волна 3174, решение «прав код, устарела фикстура») и тесты членства в команде из приёмки SEC-004 (WEB-520). Четыре ветки слились без единого конфликта.
Воркер
не привязан — привязать:
curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \
-d '{"issueId":"WEB-546","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-09-09T06:08:41.903Z