WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-548 · Задача · — · web

SEC-031 [pending] Переносимость ссылок в пакете конфигурации

Закрыт P2 ведёт: — эпик: WEB-515
Суть
При разрешённом оператором входном файле-ссылке pack сохраняет объект ссылки через cp -a (infra/hetzbk/bin/hetzbk-env-pack:272–288). Unpack проверяет имена членов, но не их тип и цель (infra/hetzbk/bin/hetzbk-env-unpack:81–102); проверки -f/-d и последующий chmod следуют ссылке. Rehearse повторяет проверку и переносит пакет через cp -a (infra/hetzbk/bin/hetzbk-rehearse:294–326). Поэтому относительное имя архива само по себе не обеспечивает независимость пакета от исходного хоста и обычные права файлов после переноса. Контракт README:234–267 не определяет судьбу ссылок. Доказано чтением исходников; фактический состав пакетов и работающий стенд неизвестны. Внешний ввод и воздействие на пользователей не установлены. CVSS 3.1 pending: оснований для численного вектора пока нет.

ДЛЯ ТИКЕТА: todo; source condition, runtime unknown. Бриф 2041-env-package-link-portability-review.

KNOWN ISSUES / ТРАБЛШУТИНГ: локальная база 6930 отличается от reported production a14181f77; проверки агента только read-only. Полный доказательный отчёт ожидается. Исправление и посадка не заявлены.

## ДЛЯ НУЛЕВОГО АГЕНТА (обновлено 2026-09-05 UTC)
- **Суть одной строкой:** SEC-031 [pending] Переносимость ссылок в пакете конфигурации
- **Текущее состояние:** статус: todo; KNOWN ISSUES / ТРАБЛШУТИНГ: локальная база 6930 отличается от reported production a14181f77; проверки агента только read-only. Полный доказательный отчёт ожидается. Исправление и посадка не заявлены.
- **Кто работал:**
- нет данных в тикете
- **Ветки/бандлы/отчёты:** нет данных в тикете; sha: a14181f77
- **KNOWN ISSUES / ТРАБЛШУТИНГ:**
- При разрешённом оператором входном файле-ссылке pack сохраняет объект ссылки через cp -a (infra/hetzbk/bin/hetzbk-env-pack:272–288). Unpack проверяет имена членов, но не их тип и цель (infra/hetzbk/bin/hetzbk-env-unpack:81–102); проверки -f/-d и последующий chmod следуют ссылке. Rehearse повторяе…
- KNOWN ISSUES / ТРАБЛШУТИНГ: локальная база 6930 отличается от reported production a14181f77; проверки агента только read-only. Полный доказательный отчёт ожидается. Исправление и посадка не заявлены.
- **Эволюция:**
- нет данных в тикете
- **Следующий шаг:** При разрешённом оператором входном файле-ссылке pack сохраняет объект ссылки через cp -a (infra/hetzbk/bin/hetzbk-env-pack:272–288). Unpack проверяет имена членов, но не их тип и цель (infra/hetzbk/bin/hetzbk-env-unpack:81–102); проверки -f/-d и последующий chmod следуют ссылке. Rehearse повторяе… | KNOWN ISSUES / ТРАБЛШУТИНГ: локальная база 6930 отличается от reported production a14181f77; проверки агента только read-only. Полный доказательный отчёт ожидается. Исправление и посадка не заявлены.
Связи
Лента
2026-09-06T00:22:31.721Z · astra-security
cont16-wave-2074-web-548 — 2026-09-06T00:22:31.721188+00:00 / IST=2026-09-06T05:52:31.721193+05:30

CONT16 fan-out: 2074 REVIEW, gpt-5.6-sol, priority NORMAL; задачи WEB-547, WEB-548.

Read-only design completion, no infra product edits or host actions. WEB-547:2029 was GO for design/extracted writer characterization22/22, not a mode fix or effective host attestation. Inspect exact native/x64 ARI config writers (start-sip-native.sh:240–245,307–324; start-sip-opus-x64.sh:319–320,361–377; experimental start script8–12,38–43,70–76 and service6–22) plus actual consumers. WEB-548:2041 has no delivered outcome; hetzbk-env-pack:272–288 preserves links with cp-a; unpack81–102 validates names before type/target; rehearse294–310 propagates extracted package. Establish safe portable file semantics using ordinary fixtures, not real config. Coordinator must choose any host linkage policy and supply current ownership context before implementation; this review prepares the concrete choice.

Бриф: /Users/poolpooly/audit/outbox/2074-configuration-file-and-package-contracts-brief.md
SHA256 2d3cf4ee55ab3d61a073ccb5af27d7ae2252c19042bfbcd544b92e9b2be567cc
Статус: выдан в relay; запуск/результат не подтверждены. Full assigned l113/l113b SHA и prior-output dedupe обязательны. Координатор принимает пересекающиеся изменения и посадку.
2026-09-06T05:19:39.018Z · astra-security
cont17-verdict-web-548 — 2026-09-06T05:19:39.017444+00:00 / IST=2026-09-06T10:49:39.017448+05:30

GO только review/design

Обзор2074b завершён; необходим inventory configured source types и явное решение reject versus portable materialization для links. Host/package implementation не принята; новая волна сейчас не дублирует завершённый обзор.

Источник: /Users/poolpooly/audit/evidence/block17/intake-originals/M4-CONFIGURATION-FILE-AND-PACKAGE-CONTRACTS-R2-REPORT.md
SHA256 2c6203886331a7d8005cf425fe4c0ccb0a008dbe7e23cfecf4d8df987cf361f5
Детали: /Users/poolpooly/audit/reports/2026-09-06-boundaries-block17-intake.md
2026-09-06T07:33:50.101Z · coordinator
[06.09 07:33Z координатор] [2026-09-06T07:33Z координатор] Ревью блока 16 R2 (M4 sol, база 02812b90): VERDICT=GO без изменений кода — текущая линия удовлетворяет контрактам конфигурационного файла и переносимости пакета (отчёт M4 ~/waves/CONFIGURATION-FILE-AND-PACKAGE-CONTRACTS-R2-REPORT.md). Статус → done.
2026-09-06T10:09:56.104Z · astra-security
cont18-wave-2095-web-548 — 2026-09-06T10:09:56.102817+00:00 / IST=2026-09-06T15:39:56.102822+05:30

CONT18 fan-out: 2095 REVIEW, gpt-5.6-sol, priority URGENT / High; задачи WEB-547, WEB-548.

BLOCK18 High closure-verification mismatch: both board done, but2074b was GO only for read-only review/design and explicitly NO-GO for production implementation. Exact4c73 native/x64 launchers still redirect-write ARI/http config (start-sip-native.sh:373,383; start-sip-opus-x64.sh:361,371) without this scope's explicit private-mode implementation/test. env-pack:272 cp-a preserves links, env-unpack:81 validates names before extraction, rehearse:307 copies staged result; no explicit link portability policy test identified. These are host/config assurance gaps, not established outsider access or CVSS High impact. High priority comes from the done verification assignment.
Consume existing2074b report and artifacts instead of repeating its whole design model. Obtain precise non-secret coordinator closure record if done means an effective host action, policy acceptance or later code mapping. Without it, report source unchanged, tests missing/adjacent, host facts OPEN. No host edits, chmod, secret-file read, restore, real pack/upload or service start. A local fixture uses only synthetic non-secret files in owned root. Do not impose reject/materialize policy until explicit owner decision; no production code change in this review.

Бриф: /Users/poolpooly/audit/outbox/2095-host-policy-done-closure-evidence-review-brief.md
SHA256 d17a3ece3ec2ba404436627da68d620cfb0639c4c2287ecc8e9f626539ee54ce
Статус: выдан в relay; запуск/результат не подтверждены. Назначенная база 4c73d8451a295af84603b1d20f66f88d5aa82a2e; l113d-line. Проверка текущего кода и prior-output dedupe обязательны. Координатор принимает пересекающиеся изменения и посадку.
2026-09-06T10:15:25.178Z · astra-security
block18-verdict-web-548 — 2026-09-06T10:15:25.177372+00:00 / IST=2026-09-06T15:45:25.177395+05:30

open: host/policy evidence отсутствует на 4c73d8451a295af84603b1d20f66f88d5aa82a2e.

Source: infra/hetzbk/bin/hetzbk-env-pack:272, infra/hetzbk/bin/hetzbk-env-unpack:81, infra/hetzbk/bin/hetzbk-rehearse:307
Tests: infra/hetzbk/tests/test_hetzbk.sh:1
Mapping: none:2074b design only
Residual: Generic backup tests only; no explicit configured-link reject/materialize policy/test. Effective source inventory and host outcome missing.
Tests NOT_EXECUTED parent; actual behavior wave(s): 2095
Evidence: /Users/poolpooly/audit/evidence/block18/source-test-hashes.json
Checkpoint: /Users/poolpooly/audit/reports/block18-checkpoint.md
Board status не изменён; source/test presence и policy disposition не равны выполненной runtime-приёмке.
2026-09-06T10:43:47.916Z · coordinator
[06.09 10:43Z координатор] [2026-09-06T10:43Z координатор] ASTRA БЛОК 18 (проверка 29 done по дереву l113d 4c73d845, без runtime): 19 фиксов подтверждены с тестами; 3 — принятое поведение/закрытая гипотеза (WEB-524/529/535); 5 расхождений done↔код (WEB-534, 536, 549, 551, 556); 2 — host/policy без source-фикса (WEB-547, 548). Новый SEC-046 = WEB-568 (paid text-stream lease только для SSE; completion/route.ts:127-138 открытый text stream) — High, фикс 2090 идёт на M4. Итого по 45: 22 verified, 23 open (16 не-done + 5 расхождений + 2 host/policy). 24 брифа 2088–2111 (3 FIX luna, 21 REVIEW sol) ретранслируются на M4 (кап 5 → поднимаю). Чекпойнт: ~/audit/reports/block18-checkpoint.md, чеклист владельца: block18-owner-checklist.md (M1). Расхождение WEB-536 совпало с моей приёмкой 2236 (NO-GO High) → круг 3 идёт.
2026-09-06T11:10:43.708Z · astra-security
cont18-relay12-verdict-web-548 — 2026-09-06T11:10:43.707752+00:00 / IST=2026-09-06T16:40:43.707765+05:30

Правила обогащения: WEB-449. ДЛЯ ТИКЕТА / CONT18 intake209x.

Состояние: NO-GO / DONE closure.
Причина/доказательство: Exact4c73 characterization14/14 подтверждает inherited modes, pre-existing mode retention и переносимость/сигнатуру links.2074b GO явно только review/design, production implementation NO-GO.
Что осталось: URGENT coordinator: reader/mode/UMask/ACL attestation547; configured-source inventory и explicit reject/materialize548. Нет новой blind review/FIX до решений. Board done не закрывает host/source requirement.

KNOWN ISSUES / ТРАБЛШУТИНГ
Симптом: headerGO/NO-GO или boarddone не задаёт scope приёмки. Проверка: раздел Provenance/Exactly three groups/KNOWN ISSUES исходного отчёта и adjudications.json; source-hash-reconciliation.json содержит локальный byte bridge на4c73. Report-only результаты не объявлены исполненными родителем. Prod65ff9060 сообщён WEB-515:2088, object на M1 отсутствует; authoritative current mapping pending. Лечение/статус: URGENT coordinator: reader/mode/UMask/ACL attestation547; configured-source inventory и explicit reject/materialize548. Нет новой blind review/FIX до решений. Board done не закрывает host/source requirement.

КАРТА ДОКУМЕНТОВ: M1 /Users/poolpooly/audit/evidence/block18-relay/intake-originals/CONT18-RELAY-2/HOST-POLICY-DONE-CLOSURE-EVIDENCE-REVIEW-REPORT.md
SHA256 0f73037df6000f4202a06d19f762b0ddd029b244675561244c50571db5ac35ee
M1 /Users/poolpooly/audit/reports/block18-relay-1-2-checkpoint.md
M1 /Users/poolpooly/audit/evidence/block18-relay/adjudications.json
M1 /Users/poolpooly/audit/outbox/CONT18-RELAY-1-2-URGENT-COORDINATOR-HANDOFF.md

Board status/чужие поля не менялись. High здесь приоритет closure verification, CVSS не повышен.
2026-09-06T14:05:20.787Z · astra-security
block19-wave-2115-web-548 — 2026-09-06T14:05:20.786761+00:00 / IST=2026-09-06T19:35:20.786788+05:30

Правила обогащения: WEB-449. ДЛЯ ТИКЕТА: BLOCK19 FIX, gpt-5.6-luna, URGENT / High closure.

RELAY2 HOST-POLICY report14/14 characterizes real portability/signature failure. Currentg infra/hetzbk/bin/hetzbk-env-pack:97–132,178–220,272–288 accepts links and signatures only regular paths; env-unpack:81–108 name-checks then extracts; rehearse:297–313 selectively copies a link without its target. Implement reviewable source policy support now, preserving regular-file/directory inputs: explicit reject-links or portable-materialization policy with operator-supplied approved resolution roots for intentionally linked inputs. If a linkful input has no explicit policy, return a neutral policy-required refusal before staging/upload/destination effects; do not silently choose the production inventory policy. Materialize accepted content into regular/directory-only independent files, sign exactly staged effective bytes, validate archive member type/name/destination before extraction/movement, verify final rehearsal consumer. Document decision/activation gate; no host backup/restore execution.

Бриф M1 /Users/poolpooly/audit/outbox/2115-configured-package-portability-fix-brief.md; SHA256 e5c7b8838948b0062b0fd32b7ce7508b55e414b3f430ea861273e0e35415b323. База 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-CONFIGURED-PACKAGE-PORTABILITY-FIX-REPORT.md
2026-09-06T14:18:20.825Z · astra-security
block19-host-policy-done-closure-evidence-review-web-548 — 2026-09-06T14:18:20.825246+00:00 / IST=2026-09-06T19:48:20.825251+05:30

Правила обогащения: WEB-449. ДЛЯ ТИКЕТА / BLOCK19.

Вердикт: NO-GO closure / source fixes2114+2115.
Причина и текущая дельта: 14/14 characterization — отсутствующие policies, не implementationGO. Current native anchors283/339/346 (old373–391 сместились), x64/pack/unpack/rehearse unchanged. Готовятся reviewable source fixes; reader/ACL и reject/materialize selection требуются для host activation, не для параллельной разработки кандидатов.
База независимой source-сверки M1: 4c322c4606a1695fc896ecd6313842d55679b472; root /private/tmp/nc-block19-parent. Исходный header VERDICT=NO-GO сохранён без изменения scope.

KNOWN ISSUES / ТРАБЛШУТИНГ: reportGO ограничен исполненными группами; INPUT-NO-GO не доказывает product failure; current source/hash bridge не заменяет runtime/DB/provider/host acceptance. Проверка: раздел provenance/raw counts исходного отчёта, source-hash-reconciliation.json и актуальный fanout-jobs.json. Лечение/следующий шаг: 14/14 characterization — отсутствующие policies, не implementationGO. Current native anchors283/339/346 (old373–391 сместились), x64/pack/unpack/rehearse unchanged. Готовятся reviewable source fixes; reader/ACL и reject/materialize selection требуются для host activation, не для параллельной разработки кандидатов.

КАРТА ДОКУМЕНТОВ: M1 /Users/poolpooly/audit/evidence/block19/intake-originals/CONT18-RELAY-2/HOST-POLICY-DONE-CLOSURE-EVIDENCE-REVIEW-REPORT.md
SHA256 0f73037df6000f4202a06d19f762b0ddd029b244675561244c50571db5ac35ee
M1 /Users/poolpooly/audit/evidence/block19/source-hash-reconciliation.json
M1 /Users/poolpooly/audit/reports/block19-checkpoint.md
M1 /Users/poolpooly/audit/evidence/block19/fanout-jobs.json

Board workflow/чужие поля не менялись. High — срочность сверки закрытия; новая числоваяCVSS не назначалась. Parent/reviewer тестов не запускали; результаты worker report-attested.
2026-09-06T14:26:36.495Z · coordinator
[06.09 14:26Z координатор] [2026-09-06T14:26Z координатор] Авторы сдали GO → приёмки: C4-RU-3/структура списков в claim-split 11f3cdd5 (2324; корень: judge удалял «Шаги:\n1.», оставляя сиротский «2.»; чекер батареи принимал ordinal за разряд) → 2333 (A2); realtime-сессии в redis 3d63dfd9 (2328) → 2334 (A2, PG+redis); Astra блок 19: extraction wiring c0e3c353 (WEB-521/522) → 2335 (M4), generated config mode cd9cee08 (WEB-547/548) → 2336 (M4). SIP fix plan (2322) = NO-GO по замыслу (хост не трогали): корень провала окна — Asterisk 20.19: «No such command pjsip reload», CLI вернул rc 0, helper счёл reload успешным; v2 скрипты в /home/ubuntu/waves/siphostsync-v2/ — новое окно только после стендовой проверки с реальным Asterisk.
2026-09-06T15:17:43.762Z · coordinator
[06.09 15:17Z координатор] [2026-09-06T15:17Z координатор] WEB-547 (Astra 2114 generated config mode): приёмка 2336 = NO-GO cd9cee08 — контракт http.conf/ari.conf верен, регрессия x64 explicit-root (status/stop считают conf root иначе, чем start) → круг 2 = 2356 (M4). SIP proof-диагноз (2347) = NO-GO: внутренняя причина STOP proof-reload.sh:130-132 не восстановима без защищённого reload-add.raw; статические гипотезы отвергнуты (append верный, include-порядок верный); расхождение 6 vs 7 endpoints — мой grep считал заголовок. Круг 2 = 2347b с добавленным evidence. Фаза 3 (restart для barge-in) ждёт «го» владельца с зарегистрированным Linphone. SEC-007 config assurance → 2355 (A1) с receipts-паком.
2026-09-06T21:37:37.278Z · astra-security
block22-wave-2175-web-548 — 2026-09-06T21:37:37.277023+00:00 / IST=2026-09-07T03:07:37.277052+05:30

ДЛЯ ТИКЕТА / BLOCK22 release closure. WEB548 env-pack/unpack/rehearse link/materialization contract;2115 still pending, not closed by47665c94 genconfig.

Бриф /Users/poolpooly/audit/outbox/2175-package-portability-post-l113j-closure-brief.md; SHA256 d24cd193837d2f1ec330f9b77d3c67ccb3d017a8d540864f1d0df03502386159. 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 metadata-only package policy/version/inventory receipt from existing backup, do not create/decrypt/extract/restore production backup. No protected filenames or secret contents retained.; companion: Local harmless link/regular-file package examples under explicitly approved reject/materialize policy, sign effective bytes and verify destination/rehearsal. Missing owner policy or deployed2115 is open, never substitute default production policy.

KNOWN ISSUES: sent≠running, code/authorGO≠liveclosure. При отсутствующем fix в j — NOT_DEPLOYED. Никаких paid/provider effects, реальных удалений/отказов сервиса. Existing2455/2450/2460/2462/2458 и старые работы не дублируются. Историческиеanchors infra/hetzbk/bin/hetzbk-env-pack:272; infra/hetzbk/bin/hetzbk-env-unpack:81; infra/hetzbk/bin/hetzbk-rehearse:307. Fullreport future /home/ubuntu/waves/BLOCK22-PACKAGE-PORTABILITY-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:19:22.849Z · coordinator
[07.09 06:19Z координатор] BLOCK 22 (Astra closure R2, A1, 06:14Z) — PACKAGE-PORTABILITY (SEC-031): VERDICT=NO-GO: (1) WEB-548/2115 НЕ развёрнут — ни одна расписка j/k/l не содержит кандидата; (2) текущее поведение сохраняет внешние симлинки (pack/unpack/rehearsal через extract + cp -a без reject/materialize-границы); (3) нет live-доказательства пакета (metadata-only backup receipt / hash установленного инструмента; окно истекло). NEXT: координатор проверяет git cherry для 2115 и сажает в l113n; владелец фиксирует политику ссылок. Отчёт A1 BLOCK22-PACKAGE-PORTABILITY-POST-L113J-CLOSURE-REPORT.md.
2026-09-07T07:38:24.477Z · astra-security
BLOCK22-RELAY13-WEB-548 — 2026-09-07T07:38:24.477386+00:00 / IST=2026-09-07T13:08:24.477404+05:30

SEC-031 / WEB-548: NO_GO_FULL_CLOSURE_UNVERIFIED. Workflow done сохранён. Текущий m 8f4ba1d92cc15a8b64144674e35cce71fdfba43a подтверждён распиской; родитель не выполнял live.

Полный closure GO не установлен. NO-GO из-за недостающих входов не объявляется новым продуктовым дефектом. Исторический source/companion PASS сохраняется в исходном отчёте.

KNOWN ISSUES / ТРАБЛШУТИНГ
- Real portability condition: external link survives package; candidate2115 missing
- dedupe2115; policy proposal not approved production default; inert fixtures only

ДЛЯ ТИКЕТА
2567 / A2: dedupe2115; policy proposal not approved production default; inert fixtures only
No additional release candidate asserted by this delta.
Полный 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-PACKAGE-PORTABILITY-POST-L113J-CLOSURE-REPORT.md
/Users/poolpooly/audit/evidence/block22-relay13/intake-originals/CONT19-RELAY-13/a1/BLOCK22-PACKAGE-PORTABILITY-POST-L113J-CLOSURE-REPORT.md
2026-09-07T08:06:47.286Z · astra-security
BLOCK22-RELAY13-N-WEB-548 — 2026-09-07T08:06:47.285931+00:00 / IST=2026-09-07T13:36:47.285938+05:30

l113n44d8af687a9e78816b6f747b81a13402abda98bf deployed07:47:36Z по расписке; scope closure NO_GO_FULL_CLOSURE_UNVERIFIED сохранён, workflow не менялся.

no candidate; engineering2567 dispatched A2

KNOWN ISSUES
Policy proposal/benign link fixture acceptance pending; not approved host default
Ancestry/replay attestation ≠ runtime member verification; ready/deployment ≠ scoped GO.

ДЛЯ ТИКЕТА
2567 A2 DISPATCHED_A2; worker result pending; 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-07T08:20:37.937Z · coordinator
[07.09 08:20Z координатор] BLOCK 22 r3 — PACKAGE-LINK-POLICY-ENGINEERING (2567, A2, 08:16Z): SOURCE_CANDIDATE_GO (reject/materialize-граница для симлинков в pack/unpack/rehearse), но closure NO-GO: POLICY_PENDING (владелец должен зафиксировать политику ссылок), DEPLOYMENT_PENDING (кандидат не посажен), HOST_RUNTIME_MAPPING_PENDING. Координатор: кандидат в очередь l113o после приёмки; политику — вопрос владельцу. Отчёт A2 BLOCK22-PACKAGE-LINK-POLICY-ENGINEERING-R3-REPORT.md.
2026-09-07T09:20:50.533Z · coordinator
[07.09 09:20Z координатор] РЕШЕНИЕ ВЛАДЕЛЬЦА (09:19Z 07.09): «по 548 делайте как по уму» → вариант А fail-closed: пакет конфигурации с симлинком за пределы пакета отклоняется при pack и unpack (rehearse тоже). POLICY_PENDING снят. Кандидат 2567 (SOURCE_CANDIDATE_GO) → независимая приёмка 2591 → l113p.
2026-09-07T09:31:21.270Z · coordinator
[07.09 09:31Z координатор] ПРИЁМКА 2591 ACCPACKAGELINKPOLICY (claude-opus, 09:3xZ) кандидата 2567 e30a0efb = GO (OWNER_POLICY_VARIANT_A_SATISFIED; cherry-pick на l113n чист = 5b6a1c5b, patch-id идентичен) → l113p. Хостовые скрипты hetzbk синхронизирует координатор по отчёту.
2026-09-07T10:01:45.424Z · coordinator
[07.09 10:01Z координатор] КАНДИДАТ l113p (2595 L113PPREP, sol, 09:54Z): VERDICT=GO, commit 1c850d92 над ПРОД l113o (bundle sha 0c5693fe…): Slack fail-closed cba77672 (WEB-544), PSTN forwarded-trust 05df891d (WEB-523), package-link policy A 2e776de4 (WEB-548), council budget 53b26cd8 (WEB-99), battery citations f345b318 (WEB-99), C07 late-join r4 73f5f4e0+2473f390+70f4b22e (WEB-564/086), regen manifest; миграций нет. Сборка на A2 запущена 09:57Z → посадка ~10:45Z.
2026-09-07T10:41:10.359Z · coordinator
[07.09 10:41Z координатор] **ПОСАЖЕНО (l113p).** ПРОД = l113p `1c850d92876757812eab9ffa7f381bcea95aad86` (флип 10:21:43Z 07.09; откат l113o df0376cf). Расписка: `waves/queue/L113P-RELEASE-RECEIPT.md` (A1/A2/M4). Verify: ready/paid на обоих бэкендах, edge ×8, корни ×3, webhook 401, 0 AttestationError/nginx err/LEASE_LOST. Hetzner `/home/app-artifact/l113p-1c850d92`, Pi standby на l113p.
Серия: 2e776de40 WEB-548 reject nonportable env package links (PACKAGE-LINK-POLICY e30a0efb, cp на l113n 5b6a1c5b; ACC 2591 GO). Решение владельца (09:19Z «как по уму»): вариант А fail-closed — пакет с симлинком за пределы пакета отклоняется при pack/unpack/rehearse; внутренние относительные ссылки допустимы. Живая проверка невозможна снаружи (hetzbk — серверный инструмент); пост-QA 2600 сверяет байты. Closure SEC-031 r3 — Astra.
2026-09-07T10:49:40.841Z · astra-security
BLOCK22-RELAY14-WEB-548 — 2026-09-07T10:49:40.841163+00:00 / IST=2026-09-07T16:19:40.841178+05:30

RELAY14: current PROD p1c850d92876757812eab9ffa7f381bcea95aad86 by receipt, flip10:21:43Z. SEC-031 / WEB-548 — NO_GO_CLOSURE_R3P_PENDING. Workflow retained.

2e776de40 / policy e30a0efb,2591 GO, owner variant A approved per receipt
2567p A2 issued via outbox; dispatch/results unconfirmed

KNOWN ISSUES
POLICY_PENDING superseded by approved A. Exact p scripts and active installed tool hashes/reader/modes still required; app runtime receipt is not host-tool mapping.

ДЛЯ ТИКЕТА
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-07T11:23:09.933Z · coordinator
[07.09 11:23Z координатор] **Хост-часть посажена (координатор, 11:21–11:24Z 07.09).** Код WEB-548 живёт не только в приложении: `hetzbk-env-pack`/`hetzbk-env-unpack` — установленные скрипты в `/usr/local/libexec` на A1 и Pi, их не обновляет посадка приложения (у волн нет root). Установлены версии из l113p (2e776de40): A1 env-pack sha256 dacf3dcd…7582 (12758 б), env-unpack 40c2fbb9…6964 (5265 б); Pi env-unpack 40c2fbb9…6964; бэкапы `*.bak-web548-<TS>` рядом; `bash -n` чисто; `hetzbk-env-pack.service` прогнан → `line=l113p-1c850d92 status=unchanged` exit 0; Pi `env_status=OK`. Библиотека hetzbk-lib.sh не менялась (функция `validate_portable_package_links` самодостаточна в каждом скрипте). Closure r3p Astra (2567p): source/policy GO, полное закрытие ждало этой расписки — расписка `HETZBK-INSTALLED-SCRIPTS-l113p-20260907.md` передана в её инбокс и в inputs/block22-r3 на A1/A2. KNOWN ISSUE: при следующей посадке линии, меняющей infra/hetzbk/bin, хост-установка = отдельный шаг координатора (см. memory waves-have-no-root).
2026-09-07T11:29:05.902Z · astra-security
BLOCK22-RELAY14-ADJ-WEB-548 — 2026-09-07T11:29:05.902119+00:00 / IST=2026-09-07T16:59:05.902146+05:30

SEC-031 / WEB-548: GO_SCOPED_POLICY_A_AND_CHANGED_SCRIPT_INSTALL on l113p1c850d92876757812eab9ffa7f381bcea95aad86.

2567p source/policy A and exactp23shell+acceptedfixture tests GO; coordinator ACTIVE full pack/unpack hashes match p on A1, unpack matches on Pi,755root. Previous HOST_RUNTIME_MAPPING_PENDING for changed scripts is resolved; no repeat wave.

KNOWN ISSUES: Pi rehearse older; unchanged A1 rehearse/library hashes abbreviated in receipt. Existing encrypted package was produced before policy install; serviceunchanged exit0 is not a new production repack. GO scope is installed prospective pack/unpack policy, not full DR/Pi parity/retroactive archive proof.

ДЛЯ ТИКЕТА
Worker report headers retained unchanged; parent adjudication applies only resolved groups. Workflow fields untouched. Outbox BLOCK22-RELAY14-SEC007-SEC031-ADJUDICATION.md and BLOCK22-RELAY14-REUSE-ADDENDUM.md; evidence/block22-relay14-adjudication/adjudications.json +5 immutable inputs. No parent live/SSH/host changes. Eight old n briefs remain archived; no redispatch. WEB546/522 HOLD q+independentGO unchanged.
2026-09-07T11:40:36.122Z ·
ЭВОЛЮЦИЯ ЗА 12 Ч (гигиена 2609, 11:25Z 07.09)

ХРОНОЛОГИЯ КРУГОВ
- Post-l113j closure: кандидата не было → NO-GO (`A1 waves/BLOCK22-PACKAGE-PORTABILITY-POST-L113J-CLOSURE-REPORT.md`). Engineering r3 дала candidate, но ждала policy choice (`A2 waves/BLOCK22-PACKAGE-LINK-POLICY-ENGINEERING-R3-REPORT.md`).
- Owner выбрал A/fail-closed → `e30a0efb` → ACC 2591 GO (`A2 waves/ACCPACKAGELINKPOLICY-REPORT.md`) → replay `2e776de40` в l113p.
- Post-QA bytes: outside-root symlink rc=46, unresolved link rc=47, pack/unpack `bash -n` PASS (`A1 waves/L113PPOSTQA-REPORT.md`).
- Линии посадки: 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.

ДЛЯ НУЛЕВОГО АГЕНТА
- На проде: replay `2e776de40`, package link policy fail-closed. Implementation trail полный; board done корректен.
- Следующий шаг / владелец: Astra 2567p закрывает запись SEC-031 в родительском аудите; новый product шаг не требуется.

KNOWN ISSUES / ТРАБЛШУТИНГ
- Симптом: переносимый package мог содержать link наружу/неразрешимый link → проверка pack+unpack → причина: отсутствовал boundary validator → лечение `validate_portable_package_links`, rc 46/47. `A1 waves/L113PPOSTQA-REPORT.md`.

СВЯЗИ / ИСТОЧНИКИ
- Release: `M4 waves/L113P-RELEASE-RECEIPT.md`; координаторский срез: `M4 waves/OPS-STATUS-HEAD-1120.md`; точные отчёты перечислены в хронологии/KNOWN ISSUES.
- Если сегодняшняя карточка уже содержит более ранний coordinator-комментарий с тем же фактом, эта запись является только дельтой 2609 и не отменяет тот trail.
2026-09-07T12:10:04.416Z · coordinator
[07.09 12:10Z координатор] **Адьюдикация Astra (блок 22, RELAY-14, 11:28–11:59Z 07.09) на ПРОД l113p 1c850d92:** SEC-027/WEB-544 — **GO для закрытия** (source/runtime GO: cba77672f, patch-id c065d73f; live-группа по пост-QA 2600: unsigned command 401 generic, events 403 generic, SHA ответов зафиксированы; инертный proof 6/6 + 3/3); SEC-007/WEB-523 — **GO scoped** (worker source/runtime/companion + расписка nginx effective XFF + наблюдение подменённых заголовков → action=reject; 200+reject принято как контракт маршрута); SEC-031/WEB-548 — **GO scoped** (policy A + exact scripts 2591 + установленные на A1/Pi hetzbk-env-pack/unpack full-hash match). Файлы: M1 `~/audit/outbox/BLOCK22-RELAY14-SEC027-ADJUDICATION.md`, `BLOCK22-RELAY14-SEC007-SEC031-ADJUDICATION.md` (+ inputs tar). Трейл по тикету полный: посадка ∈ l113p + независимая приёмка + пост-QA 2600 + closure worker + адьюдикация ведущего аудита → статус done подтверждён.
2026-09-10T17:11:13.100Z · astra-security
BACKLOG64-TRIAGE-20260910-WEB-548 — 2026-09-10T17:11:13.098649+00:00 / IST=2026-09-10T22:41:13.098743+05:30

## ДЛЯ ТИКЕТА — доставка старых отчётов и backlog64

R01: настоящая находка. Исторический l106 package links/signature proof. Уже зарегистрировано; не новый current defect.
/Users/poolpooly/audit/inbox/2041-ENV-PACKAGE-LINK-PORTABILITY-REVIEW-REPORT.md
SHA256 f01289dc283b8d4db414e3dc63020680ffdfb82eed3bf16b27a3aadec754e0a4

Статус workflow не менялся. Историческая база не переписана наl115a; duplicateSEC/повторныйfixне создан. Current app по координатору: **l115a `8d598d69a663cfa8977816d96bb20303e9a9650c`**; migration set `b3d4e83d37d07ffcffa4ba027c8f5381c8f471fa39776bc1207643e5a17267f0`,198миграций. Это не замена tested SHA в отчётах. Native gateway изменён10.09 16:02Z правкой WEB-597 (`stasisSnoopIngressSpike.js`, `bargeInPlayback.js`) поверх живого снимка; полное равенство репозиторию не заявлено. Правила installed-vs-repo остаютсяWEB-595. Самостоятельных prod/host действий lead не выполнял.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-548","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-09-06T07:33:50.464Z