server-monitor-manager/agents/_salvage-2026-08-18/panel-control/Старые задачи/Task3-B2-2026-08-03/REPORT.md
Ochenstarik 23eb3f5233 chore(agents): разбор рабочих папок с диска на 2026-08-18
Задания, отчёты и патчи, лежавшие в C:\Users\Ochenstarik\projects и в
домашней папке, перенесены в agents/. Разложено по агентам там, где имя
файла позволяло определить автора; остальное — в _salvage-2026-08-18/
и разбирается вручную.

Патчи в notes/salvage-2026-08-18/ — незакоммиченная работа из брошенных
рабочих копий: она существовала только на диске.

Тяжёлое (релизные архивы, инсталляторы, наборы данных) в репозиторий не
попало: оно лежит рядом, в Agent_projects/_archive и Agent_projects/_data.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 14:19:54 +07:00

2.9 KiB
Raw Blame History

Server Monitor Manager — Task 3 / B-2

Статус

Verified and merged; physical acceptance pending.

  • PR: https://github.com/ochenstarik-ui/server-monitor-manager/pull/12
  • Base: 89ef2fd9d3e596777fba47e4a17e181e7e788993
  • Reviewed implementation commit: c757920791673dbc34c4a1e826caf16f6ba07da1
  • Squash merge commit: b11c277ac7f79a18670932eca4622982d9ff48e0
  • Merged at: 2026-08-03T06:55:49Z
  • Scope: 21 files, 1113 insertions, 172 deletions

Выполнено

  • Добавлена немедленная и периодическая реконсиляция всех effective Link-политик независимо от heartbeat/reconnect.
  • Все create/disable/reconnect/background/retry paths используют один factual convergence path с порядком locks sorted endpoint node locks → per-Link gate.
  • Добавлен интервал Control__LinkReconciliationSeconds: default 300, диапазон 303600.
  • Реализован typed global state mesh.firewall-unavailable с прекращением дальнейших firewall mutations в текущем pass и bounded backoff.
  • Добавлен generation-aware root marker для firewall-restore/mesh-enable: atomic publish, root:root 0600, общий root-owned flock, exact-generation consume.
  • Сохранён strict privileged-helper argv boundary; неизвестные nft errors остаются fail-closed; диагностика стабилизирована через LC_ALL=C.
  • Desktop показывает единый глобальный firewall banner, восстанавливает его из persisted Link state и event stream, включая конфигурацию Control без SSH profiles.
  • Исправлены M1 (CR/LF compaction) и L1 (direct Link lookup вместо repeated O(N) list scan).
  • Acceptance harness расширен сценариями firewall restore и короткого Hub restart/reboot с factual и connectivity probes.

Review

Независимый full-contract repair review: APPROVE.

  • BLOCKING: 0
  • HIGH: 0
  • MEDIUM: 0
  • LOW: 0

Полный verdict сохранён в INDEPENDENT_REVIEW.md.

Отложенный scope

M2, M4 и M5 явно перенесены в отдельный B-3 PR. Block C не включён.

Physical acceptance

Не выполнена: HUB_SSH_HOST, HUB_SSH_USER, SOURCE_SSH_HOST, SOURCE_SSH_USER, HOME_WG_IP, SECOND_WG_IP, SSH_IDENTITY_FILE отсутствуют.

CI, unit/integration/contract tests и mocks не заменяют physical acceptance. Для окончательного принятия требуется реальная topology и команда:

SMM_ACCEPT_RESTORE=1 SMM_ACCEPT_REBOOT=1 tests/acceptance/three-server-mesh.sh

До её успешного выполнения Block B/B6 не обозначается как accepted.