CHAT_OUTPUT_BEGIN
COMMAND_ID=HOMELAB-SKLADCHIK-RUNTIME-LAYOUT-AUDIT-386
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=cluster-audit
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=08b3a769b8e38eaa1acec915352fb328180d70caa7ff6cd9d1ec0da426262752
COMMAND_SHA256=072987804163ce0c97a8bc22c357ac52139108b469c2b5b49f1db16c9e7e7495
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGES_MADE=false
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=66343fd6bd80f20d0725fe3e2b03e54e2dba7a88ba00405aff724802a0821805
SANITIZED_OUTPUT_SHA256=66343fd6bd80f20d0725fe3e2b03e54e2dba7a88ba00405aff724802a0821805
OUTPUT_BEGIN
DETAIL=INTEGRITY_FILE=/usr/local/sbin/homelab-chat-run-linked|SHA256=5e8725e129fd2055b36fe2fae13fc95fc4b3271074a0e0d4bb7347e7b2f270a1
DETAIL=INTEGRITY_FILE=/usr/local/sbin/homelab-reader-result-publish|SHA256=9cb8f7f1e9f300176a87f1abc8a9c51c92aeb9bea3514c7a9d9019ec400d4fd7
DETAIL=INTEGRITY_FILE=/usr/local/sbin/skladchik-reports-monitor-supervisor|SHA256=35c68ae0929ff3795be2bde40de334fc8e26413a3d8a620a137be90d1f2c164e
DETAIL=INTEGRITY_FILE=/usr/local/sbin/skladchik-reports-monitor-status|SHA256=f902a61109efbac5918360f2235c2523bd10704ac484a4e8591e8a1c490faf5a
DETAIL=INTEGRITY_FILE=/root/.skladchik-cookie-header-372.pending|SHA256=3c260f0622999b94e1c3b45d5042532fe001b8118dff0d326636b2ad8609d8c4
DETAIL=PENDING_COOKIE_SECRET_OUTPUT=NONE
DETAIL=PATH_STATE=VAR_LIB|PATH=/var/lib|KIND=DIRECTORY|META=root:root|755|4096|directory|DEV=64513|INO=2359298
DETAIL=PATH_STATE=STATE_DIR|PATH=/var/lib/skladchik-reports-monitor|KIND=ABSENT
DETAIL=PATH_STATE=COOKIE_JAR|PATH=/var/lib/skladchik-reports-monitor/cookies.jar|KIND=ABSENT
DETAIL=PATH_STATE=OPT_DIR|PATH=/opt/skladchik-reports-monitor|KIND=ABSENT
DETAIL=PATH_STATE=MONITOR_PY|PATH=/opt/skladchik-reports-monitor/monitor.py|KIND=ABSENT
DETAIL=PATH_STATE=ETC_DIR|PATH=/etc/skladchik-reports-monitor|KIND=ABSENT
DETAIL=PATH_STATE=CONFIG_INI|PATH=/etc/skladchik-reports-monitor/config.ini|KIND=ABSENT
DETAIL=PATH_STATE=SECRETS_ENV|PATH=/etc/skladchik-reports-monitor/secrets.env|KIND=ABSENT
DETAIL=SKLADCHIK_UNIT_FILES_BEGIN
DETAIL=UNIT_FILE=skladchik-reports-monitor-backup-restore-check.service   static  -
DETAIL=UNIT_FILE=skladchik-reports-monitor-backup.service                 static  -
DETAIL=UNIT_FILE=skladchik-reports-monitor-monthly-selftest-watch.service static  -
DETAIL=UNIT_FILE=skladchik-reports-monitor-supervisor.service             static  -
DETAIL=UNIT_FILE=skladchik-reports-monitor-backup-restore-check.timer     enabled enabled
DETAIL=UNIT_FILE=skladchik-reports-monitor-backup.timer                   enabled enabled
DETAIL=UNIT_FILE=skladchik-reports-monitor-monthly-selftest-watch.timer   enabled enabled
DETAIL=UNIT_FILE=skladchik-reports-monitor-supervisor.timer               enabled enabled
DETAIL=SKLADCHIK_UNIT_FILES_END
DETAIL=UNIT_CONTRACT_BEGIN=skladchik-reports-monitor-backup-restore-check.service
DETAIL=UNIT_PROPERTY=Result=success
DETAIL=UNIT_PROPERTY=ExecMainStatus=0
DETAIL=UNIT_PROPERTY=ExecStart={ path=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check ; argv[]=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }
DETAIL=UNIT_PROPERTY=WorkingDirectory=
DETAIL=UNIT_PROPERTY=User=
DETAIL=UNIT_PROPERTY=Group=
DETAIL=UNIT_PROPERTY=RuntimeDirectory=
DETAIL=UNIT_PROPERTY=StateDirectory=
DETAIL=UNIT_PROPERTY=CacheDirectory=
DETAIL=UNIT_PROPERTY=LogsDirectory=
DETAIL=UNIT_PROPERTY=LoadState=loaded
DETAIL=UNIT_PROPERTY=ActiveState=inactive
DETAIL=UNIT_PROPERTY=SubState=dead
DETAIL=UNIT_PROPERTY=FragmentPath=/etc/systemd/system/skladchik-reports-monitor-backup-restore-check.service
DETAIL=UNIT_CONTRACT_END=skladchik-reports-monitor-backup-restore-check.service
DETAIL=UNIT_CONTRACT_BEGIN=skladchik-reports-monitor-backup.service
DETAIL=UNIT_PROPERTY=Result=success
DETAIL=UNIT_PROPERTY=ExecMainStatus=0
DETAIL=UNIT_PROPERTY=ExecStart={ path=/usr/local/sbin/skladchik-reports-monitor-backup ; argv[]=/usr/local/sbin/skladchik-reports-monitor-backup ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }
DETAIL=UNIT_PROPERTY=WorkingDirectory=
DETAIL=UNIT_PROPERTY=User=
DETAIL=UNIT_PROPERTY=Group=
DETAIL=UNIT_PROPERTY=RuntimeDirectory=
DETAIL=UNIT_PROPERTY=StateDirectory=
DETAIL=UNIT_PROPERTY=CacheDirectory=
DETAIL=UNIT_PROPERTY=LogsDirectory=
DETAIL=UNIT_PROPERTY=LoadState=loaded
DETAIL=UNIT_PROPERTY=ActiveState=inactive
DETAIL=UNIT_PROPERTY=SubState=dead
DETAIL=UNIT_PROPERTY=FragmentPath=/etc/systemd/system/skladchik-reports-monitor-backup.service
DETAIL=UNIT_CONTRACT_END=skladchik-reports-monitor-backup.service
DETAIL=UNIT_CONTRACT_BEGIN=skladchik-reports-monitor-monthly-selftest-watch.service
DETAIL=UNIT_PROPERTY=Result=success
DETAIL=UNIT_PROPERTY=ExecMainStatus=0
DETAIL=UNIT_PROPERTY=ExecStart={ path=/usr/bin/python3 ; argv[]=/usr/bin/python3 /usr/local/sbin/skladchik-reports-monitor-monthly-selftest-watch ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }
DETAIL=UNIT_PROPERTY=WorkingDirectory=
DETAIL=UNIT_PROPERTY=User=
DETAIL=UNIT_PROPERTY=Group=
DETAIL=UNIT_PROPERTY=RuntimeDirectory=
DETAIL=UNIT_PROPERTY=StateDirectory=
DETAIL=UNIT_PROPERTY=CacheDirectory=
DETAIL=UNIT_PROPERTY=LogsDirectory=
DETAIL=UNIT_PROPERTY=LoadState=loaded
DETAIL=UNIT_PROPERTY=ActiveState=inactive
DETAIL=UNIT_PROPERTY=SubState=dead
DETAIL=UNIT_PROPERTY=FragmentPath=/etc/systemd/system/skladchik-reports-monitor-monthly-selftest-watch.service
DETAIL=UNIT_CONTRACT_END=skladchik-reports-monitor-monthly-selftest-watch.service
DETAIL=UNIT_CONTRACT_BEGIN=skladchik-reports-monitor-supervisor.service
DETAIL=UNIT_PROPERTY=Result=exit-code
DETAIL=UNIT_PROPERTY=ExecMainStatus=1
DETAIL=UNIT_PROPERTY=ExecStart={ path=/usr/local/sbin/skladchik-reports-monitor-supervisor ; argv[]=/usr/local/sbin/skladchik-reports-monitor-supervisor check ; ignore_errors=no ; start_time=[Thu 2026-07-23 20:16:28 MSK] ; stop_time=[Thu 2026-07-23 20:16:28 MSK] ; pid=832805 ; code=exited ; status=1 }
DETAIL=UNIT_PROPERTY=WorkingDirectory=
DETAIL=UNIT_PROPERTY=User=
DETAIL=UNIT_PROPERTY=Group=
DETAIL=UNIT_PROPERTY=RuntimeDirectory=
DETAIL=UNIT_PROPERTY=StateDirectory=
DETAIL=UNIT_PROPERTY=CacheDirectory=
DETAIL=UNIT_PROPERTY=LogsDirectory=
DETAIL=UNIT_PROPERTY=LoadState=loaded
DETAIL=UNIT_PROPERTY=ActiveState=failed
DETAIL=UNIT_PROPERTY=SubState=failed
DETAIL=UNIT_PROPERTY=FragmentPath=/etc/systemd/system/skladchik-reports-monitor-supervisor.service
DETAIL=UNIT_CONTRACT_END=skladchik-reports-monitor-supervisor.service
DETAIL=UNIT_CONTRACT_BEGIN=skladchik-reports-monitor-backup-restore-check.timer
DETAIL=UNIT_PROPERTY=Result=success
DETAIL=UNIT_PROPERTY=LoadState=loaded
DETAIL=UNIT_PROPERTY=ActiveState=active
DETAIL=UNIT_PROPERTY=SubState=waiting
DETAIL=UNIT_PROPERTY=FragmentPath=/etc/systemd/system/skladchik-reports-monitor-backup-restore-check.timer
DETAIL=UNIT_CONTRACT_END=skladchik-reports-monitor-backup-restore-check.timer
DETAIL=UNIT_CONTRACT_BEGIN=skladchik-reports-monitor-backup.timer
DETAIL=UNIT_PROPERTY=Result=success
DETAIL=UNIT_PROPERTY=LoadState=loaded
DETAIL=UNIT_PROPERTY=ActiveState=active
DETAIL=UNIT_PROPERTY=SubState=waiting
DETAIL=UNIT_PROPERTY=FragmentPath=/etc/systemd/system/skladchik-reports-monitor-backup.timer
DETAIL=UNIT_CONTRACT_END=skladchik-reports-monitor-backup.timer
DETAIL=UNIT_CONTRACT_BEGIN=skladchik-reports-monitor-monthly-selftest-watch.timer
DETAIL=UNIT_PROPERTY=Result=success
DETAIL=UNIT_PROPERTY=LoadState=loaded
DETAIL=UNIT_PROPERTY=ActiveState=active
DETAIL=UNIT_PROPERTY=SubState=waiting
DETAIL=UNIT_PROPERTY=FragmentPath=/etc/systemd/system/skladchik-reports-monitor-monthly-selftest-watch.timer
DETAIL=UNIT_CONTRACT_END=skladchik-reports-monitor-monthly-selftest-watch.timer
DETAIL=UNIT_CONTRACT_BEGIN=skladchik-reports-monitor-supervisor.timer
DETAIL=UNIT_PROPERTY=Result=success
DETAIL=UNIT_PROPERTY=LoadState=loaded
DETAIL=UNIT_PROPERTY=ActiveState=active
DETAIL=UNIT_PROPERTY=SubState=waiting
DETAIL=UNIT_PROPERTY=FragmentPath=/etc/systemd/system/skladchik-reports-monitor-supervisor.timer
DETAIL=UNIT_CONTRACT_END=skladchik-reports-monitor-supervisor.timer
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-desired-state/sbin/skladchik-reports-monitor-backup|META=root:root|755|5610|regular file|SHA256=1912f8f0559637563972bb8ac984fb0036694092056ae53968c02cc3b67855f3
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-desired-state/sbin/skladchik-reports-monitor-backup.pre-restore-check-20260710T065311Z.bak|META=root:root|755|5318|regular file|SHA256=6d100f0bb9b3c29ae1391ee2cddf9d522a26fdf9168344141b1b1d62dc3e8901
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-desired-state/sbin/skladchik-reports-monitor-backup.pre-session-keepalive-20260710T071605Z.bak|META=root:root|755|5558|regular file|SHA256=b95c09d271f2926d6cb80388d87d77313ab7709bdc9386c562774c72dce2eab9
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-desired-state/sbin/skladchik-reports-monitor-backup-restore-check|META=root:root|755|6851|regular file|SHA256=abb2d17392b6edde3603f77e88fc82240c311f932b0d197b1b8289b990c1dc23
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-desired-state/sbin/skladchik-reports-monitor-backup-restore-check.pre-session-keepalive-20260710T071605Z.bak|META=root:root|755|5316|regular file|SHA256=0a14f5db7c8861133bc6e3a7d43373abc6fb76193aa20988d97a14ea4a464fcb
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-desired-state/sbin/skladchik-reports-monitor-backup-restore-check-status|META=root:root|755|753|regular file|SHA256=92ca1bd3b9e29bb2adf27deeb009edd8daee70f4fc304a879f79c29e00d99d67
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-desired-state/sbin/skladchik-reports-monitor-backup-status|META=root:root|755|606|regular file|SHA256=afbbe3ed8478d2de98456dbfa3f6405ed1a65bd57fec26b98d083f29a08fa5e0
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/docs/skladchik-cookie-refresh.md|META=root:root|600|3020|regular file|SHA256=91c66d8ee6622d925174055599ad5ece6270c35f8d7d7967a26609f7e290c7e6
DETAIL=RUNTIME_LINE=24:6. Копируйте только его значение, без текста `Cookie:`.
DETAIL=RUNTIME_LINE=45:Не вставляйте Cookie в чат, Git, командную строку, файл или журнал. Не редактируйте `secrets.env` и `cookies.jar` вручную. Не запускайте edge-скрипт напрямую. Все production-изменения выполняются только через `/opt/homelab-admin/bin/homelab-admin`.
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/.git/refs/heads/cr-2026-0007-skladchik-controlled-reauth|META=root:root|644|41|regular file|SHA256=16444c2f0b1bab67b5194ad3dba31764c0c2ba8e826e600ea91757399214d553
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/.git/refs/heads/cr-2026-0008-skladchik-snapshot-integrity|META=root:root|644|41|regular file|SHA256=9ed791b90d1b138af8ea5376f5ccdbded0e23027fe1c809b0311d8db7198a033
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/.git/refs/heads/cr-2026-0009-skladchik-concurrency-guard|META=root:root|644|41|regular file|SHA256=927c5ddeebb0f92f5997bb7b172d01f000835449d8bbb79999aa745f605ba1f6
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/.git/refs/heads/cr-2026-0011-skladchik-cookie-jar-reset|META=root:root|600|41|regular file|SHA256=961fdabe0d8ccf9e38c58f1c1434d77321f37173835377fefd6478bea1d35e6d
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/.git/refs/heads/cr-2026-0012-skladchik-cookie-refresh-runbook|META=root:root|600|41|regular file|SHA256=72a1e1b436e6c2bf7fdddc930c4f7937874972e7299d6e7959c8d5becf8e858b
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/tests/test_cr_2026_0007_skladchik_reauth.py|META=root:root|644|4660|regular file|SHA256=9ba7ca8494a22e83bba5479a3a647eb96abaef45ada1b08fa7432f03a64b1765
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops/tests/test_cr_2026_0007_skladchik_reauth.py
DETAIL=RUNTIME_LINE=89:        self.assertIn("persistent_cookie_jar", verify)
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/tests/test_cr_2026_0007_skladchik_semantic_repair.py|META=root:root|600|6711|regular file|SHA256=cfddf97b92b1ce351e733c159aadfccd21193fb0d67b5312fb93aed05e45fd6f
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops/tests/test_cr_2026_0007_skladchik_semantic_repair.py
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py|META=root:root|644|3549|regular file|SHA256=e868d8397e1a79f8cc7b37a91c4a0da84d041da04ba6ea9d8e10853de3464fc9
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py
DETAIL=RUNTIME_LINE=38:        self.assertNotIn("sha256sum /var/lib/skladchik-reports-monitor/cookies.jar", edge_dry)
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/tests/test_cr_2026_0009_skladchik_concurrency_guard.py|META=root:root|600|8942|regular file|SHA256=0fe7182cb281e8ad5487f1c5f73f0230971a5027ae44c5ee0f0c6a5d10f8e513
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops/tests/test_cr_2026_0009_skladchik_concurrency_guard.py
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/tests/test_cr_2026_0011_skladchik_cookie_jar_reset.py|META=root:root|600|5072|regular file|SHA256=4fc7c59d1f766600c1d43833c027b44f2fb8dd4dc9d174f706406e0a0a606cf7
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops/tests/test_cr_2026_0011_skladchik_cookie_jar_reset.py
DETAIL=RUNTIME_LINE=15:class SkladchikCookieJarResetTests(unittest.TestCase):
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/tests/test_cr_2026_0012_skladchik_cookie_refresh_runbook.py|META=root:root|600|4846|regular file|SHA256=cfde805604d58d87d975584431aeb024bef21e863c4293d4726e5504415fe9bc
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops/tests/test_cr_2026_0012_skladchik_cookie_refresh_runbook.py
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops/tools/skladchik-cookie-refresh|META=root:root|700|10086|regular file|SHA256=1e2f5323abf880f3e8b17bf1f2d0a844c402a9bbf5f24159ed39aaf1d79caef0
DETAIL=RUNTIME_LINE=187:printf '\n\033[1;33mВСТАВЬ ПОЛНЫЙ COOKIE ИЗ REQUEST HEADERS ЗАПРОСА К https://az52.skladchik.org/<redacted-path> БЕЗ СЛОВА Cookie: И НАЖМИ ENTER. ВВОД СКРЫТ.\033[0m\n\n'
DETAIL=RUNTIME_LINE=217:SESSION_KEEPALIVE="$(health_value session_keepalive)"
DETAIL=RUNTIME_LINE=225:test "$SESSION_KEEPALIVE" = persistent_cookie_jar
DETAIL=RUNTIME_LINE=242:printf 'SESSION_KEEPALIVE=%s\nCOOKIE_JAR=%s\nEDGE_SCRIPT_SHA256=%s\n' "$SESSION_KEEPALIVE" "$COOKIE_JAR" "$TARGET_EDGE_SHA"
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0015/docs/skladchik-cookie-refresh.md|META=root:root|600|3020|regular file|SHA256=91c66d8ee6622d925174055599ad5ece6270c35f8d7d7967a26609f7e290c7e6
DETAIL=RUNTIME_LINE=24:6. Копируйте только его значение, без текста `Cookie:`.
DETAIL=RUNTIME_LINE=45:Не вставляйте Cookie в чат, Git, командную строку, файл или журнал. Не редактируйте `secrets.env` и `cookies.jar` вручную. Не запускайте edge-скрипт напрямую. Все production-изменения выполняются только через `/opt/homelab-admin/bin/homelab-admin`.
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/__pycache__/test_cr_2026_0009_skladchik_concurrency_guard.cpython-313.pyc|META=root:root|600|13320|regular file|SHA256=4a7c19e709f5e7addc3284bc3f51909c2b18990ebf74169bde4c32fa3e04a32b
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0007_skladchik_reauth.py|META=root:root|600|4660|regular file|SHA256=9ba7ca8494a22e83bba5479a3a647eb96abaef45ada1b08fa7432f03a64b1765
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0007_skladchik_reauth.py
DETAIL=RUNTIME_LINE=89:        self.assertIn("persistent_cookie_jar", verify)
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0007_skladchik_semantic_repair.py|META=root:root|600|6711|regular file|SHA256=cfddf97b92b1ce351e733c159aadfccd21193fb0d67b5312fb93aed05e45fd6f
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0007_skladchik_semantic_repair.py
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py|META=root:root|600|3549|regular file|SHA256=e868d8397e1a79f8cc7b37a91c4a0da84d041da04ba6ea9d8e10853de3464fc9
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py
DETAIL=RUNTIME_LINE=38:        self.assertNotIn("sha256sum /var/lib/skladchik-reports-monitor/cookies.jar", edge_dry)
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0009_skladchik_concurrency_guard.py|META=root:root|600|8942|regular file|SHA256=0fe7182cb281e8ad5487f1c5f73f0230971a5027ae44c5ee0f0c6a5d10f8e513
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0009_skladchik_concurrency_guard.py
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0011_skladchik_cookie_jar_reset.py|META=root:root|600|5072|regular file|SHA256=4fc7c59d1f766600c1d43833c027b44f2fb8dd4dc9d174f706406e0a0a606cf7
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0011_skladchik_cookie_jar_reset.py
DETAIL=RUNTIME_LINE=15:class SkladchikCookieJarResetTests(unittest.TestCase):
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0012_skladchik_cookie_refresh_runbook.py|META=root:root|600|4846|regular file|SHA256=cfde805604d58d87d975584431aeb024bef21e863c4293d4726e5504415fe9bc
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0012_skladchik_cookie_refresh_runbook.py
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0015/tools/skladchik-cookie-refresh|META=root:root|700|10086|regular file|SHA256=1e2f5323abf880f3e8b17bf1f2d0a844c402a9bbf5f24159ed39aaf1d79caef0
DETAIL=RUNTIME_LINE=187:printf '\n\033[1;33mВСТАВЬ ПОЛНЫЙ COOKIE ИЗ REQUEST HEADERS ЗАПРОСА К https://az52.skladchik.org/<redacted-path> БЕЗ СЛОВА Cookie: И НАЖМИ ENTER. ВВОД СКРЫТ.\033[0m\n\n'
DETAIL=RUNTIME_LINE=217:SESSION_KEEPALIVE="$(health_value session_keepalive)"
DETAIL=RUNTIME_LINE=225:test "$SESSION_KEEPALIVE" = persistent_cookie_jar
DETAIL=RUNTIME_LINE=242:printf 'SESSION_KEEPALIVE=%s\nCOOKIE_JAR=%s\nEDGE_SCRIPT_SHA256=%s\n' "$SESSION_KEEPALIVE" "$COOKIE_JAR" "$TARGET_EDGE_SHA"
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/docs/skladchik-cookie-refresh.md|META=root:root|600|3020|regular file|SHA256=91c66d8ee6622d925174055599ad5ece6270c35f8d7d7967a26609f7e290c7e6
DETAIL=RUNTIME_LINE=24:6. Копируйте только его значение, без текста `Cookie:`.
DETAIL=RUNTIME_LINE=45:Не вставляйте Cookie в чат, Git, командную строку, файл или журнал. Не редактируйте `secrets.env` и `cookies.jar` вручную. Не запускайте edge-скрипт напрямую. Все production-изменения выполняются только через `/opt/homelab-admin/bin/homelab-admin`.
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/__pycache__/test_cr_2026_0007_skladchik_reauth.cpython-313.pyc|META=root:root|600|9148|regular file|SHA256=b890441710cfb7fc93ca92182465254ece5253b0caf51f876a60569678654b68
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/__pycache__/test_cr_2026_0007_skladchik_semantic_repair.cpython-313.pyc|META=root:root|600|11900|regular file|SHA256=52a92f1da1b6f155aa40c8ffb2242aafb8cb3f6ac4404a621afb16260ea271f9
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/__pycache__/test_cr_2026_0008_skladchik_snapshot_integrity.cpython-313.pyc|META=root:root|600|6023|regular file|SHA256=e9d4c78f1d923f7b6bb38ef31fa04ae6319b8cbbe3e7e3b2a8153bec6d635116
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/__pycache__/test_cr_2026_0009_skladchik_concurrency_guard.cpython-313.pyc|META=root:root|600|13341|regular file|SHA256=de3bfbd154d3d10209828a892ee0e6b60d1b35dab08c77526d95ab2d18f22216
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/__pycache__/test_cr_2026_0011_skladchik_cookie_jar_reset.cpython-313.pyc|META=root:root|600|9479|regular file|SHA256=66b213e64b92a3926b2a3a4c0c8187b0384a1a959c66d855344587cf716b78d4
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/__pycache__/test_cr_2026_0012_skladchik_cookie_refresh_runbook.cpython-313.pyc|META=root:root|600|8565|regular file|SHA256=123bdacf10b54c7e208913879ff3e6b66578c8fc91097ad9832a844ec3960528
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0007_skladchik_reauth.py|META=root:root|600|4660|regular file|SHA256=9ba7ca8494a22e83bba5479a3a647eb96abaef45ada1b08fa7432f03a64b1765
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0007_skladchik_reauth.py
DETAIL=RUNTIME_LINE=89:        self.assertIn("persistent_cookie_jar", verify)
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0007_skladchik_semantic_repair.py|META=root:root|600|6711|regular file|SHA256=cfddf97b92b1ce351e733c159aadfccd21193fb0d67b5312fb93aed05e45fd6f
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0007_skladchik_semantic_repair.py
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py|META=root:root|600|3549|regular file|SHA256=e868d8397e1a79f8cc7b37a91c4a0da84d041da04ba6ea9d8e10853de3464fc9
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py
DETAIL=RUNTIME_LINE=38:        self.assertNotIn("sha256sum /var/lib/skladchik-reports-monitor/cookies.jar", edge_dry)
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0009_skladchik_concurrency_guard.py|META=root:root|600|8942|regular file|SHA256=0fe7182cb281e8ad5487f1c5f73f0230971a5027ae44c5ee0f0c6a5d10f8e513
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0009_skladchik_concurrency_guard.py
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0011_skladchik_cookie_jar_reset.py|META=root:root|600|5072|regular file|SHA256=4fc7c59d1f766600c1d43833c027b44f2fb8dd4dc9d174f706406e0a0a606cf7
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0011_skladchik_cookie_jar_reset.py
DETAIL=RUNTIME_LINE=15:class SkladchikCookieJarResetTests(unittest.TestCase):
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0012_skladchik_cookie_refresh_runbook.py|META=root:root|600|4846|regular file|SHA256=cfde805604d58d87d975584431aeb024bef21e863c4293d4726e5504415fe9bc
DETAIL=PYTHON_SYNTAX=PASS|FILE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0012_skladchik_cookie_refresh_runbook.py
DETAIL=RUNTIME_CANDIDATE=/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tools/skladchik-cookie-refresh|META=root:root|700|10086|regular file|SHA256=1e2f5323abf880f3e8b17bf1f2d0a844c402a9bbf5f24159ed39aaf1d79caef0
DETAIL=RUNTIME_LINE=187:printf '\n\033[1;33mВСТАВЬ ПОЛНЫЙ COOKIE ИЗ REQUEST HEADERS ЗАПРОСА К https://az52.skladchik.org/<redacted-path> БЕЗ СЛОВА Cookie: И НАЖМИ ENTER. ВВОД СКРЫТ.\033[0m\n\n'
DETAIL=RUNTIME_LINE=217:SESSION_KEEPALIVE="$(health_value session_keepalive)"
DETAIL=RUNTIME_LINE=225:test "$SESSION_KEEPALIVE" = persistent_cookie_jar
DETAIL=RUNTIME_LINE=242:printf 'SESSION_KEEPALIVE=%s\nCOOKIE_JAR=%s\nEDGE_SCRIPT_SHA256=%s\n' "$SESSION_KEEPALIVE" "$COOKIE_JAR" "$TARGET_EDGE_SHA"
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/__pycache__/skladchik-reports-monitor-monthly-selftest-watchcpython-313.pyc|META=root:root|644|13217|regular file|SHA256=744102abd48cce7972d208fa735a6a41e4f0960897ab1dc4079a79ea9a2127fd
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/__pycache__/skladchik-reports-monitor-supervisorcpython-313.pyc|META=root:root|644|29834|regular file|SHA256=f9c9a17c09c542a653df544b74321c797e89cd2dbd726b52287bfd6097b0998a
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/__pycache__/skladchik-reports-monitor-supervisor.pre-cookie-expiry-watch-20260710T072136Z.cpython-313.pyc|META=root:root|644|24854|regular file|SHA256=1cff2c1761a8487dd0c7d6e2a0d6b4a6a45710b23e7afdaad1059526b96f396c
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/__pycache__/skladchik-reports-monitor-supervisor.pre-session-keepalive-20260710T071605Z.cpython-313.pyc|META=root:root|644|23194|regular file|SHA256=8acaa25f3d259e2d00d0bccf86a64c616d2fe447bbab492f9e12c4b996334582
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-backup|META=root:root|755|5610|regular file|SHA256=1912f8f0559637563972bb8ac984fb0036694092056ae53968c02cc3b67855f3
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-restore-check-20260710T065311Z.bak|META=root:root|755|5318|regular file|SHA256=6d100f0bb9b3c29ae1391ee2cddf9d522a26fdf9168344141b1b1d62dc3e8901
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-session-keepalive-20260710T071605Z.bak|META=root:root|755|5558|regular file|SHA256=b95c09d271f2926d6cb80388d87d77313ab7709bdc9386c562774c72dce2eab9
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check|META=root:root|755|6851|regular file|SHA256=abb2d17392b6edde3603f77e88fc82240c311f932b0d197b1b8289b990c1dc23
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check.pre-session-keepalive-20260710T071605Z.bak|META=root:root|755|5316|regular file|SHA256=0a14f5db7c8861133bc6e3a7d43373abc6fb76193aa20988d97a14ea4a464fcb
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check-status|META=root:root|755|753|regular file|SHA256=92ca1bd3b9e29bb2adf27deeb009edd8daee70f4fc304a879f79c29e00d99d67
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-backup-status|META=root:root|755|606|regular file|SHA256=afbbe3ed8478d2de98456dbfa3f6405ed1a65bd57fec26b98d083f29a08fa5e0
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-cookie-update|META=root:root|755|638|regular file|SHA256=ea2d89ce67893a6d89b29610e4d46e207932ecc157173454585f67890f58810c
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-monthly-selftest-watch|META=root:root|755|9180|regular file|SHA256=48c6ca01d2430d14c6af797c079640815ba1352a98466d4014ecbb80a27eaada
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-status|META=root:root|755|3427|regular file|SHA256=f902a61109efbac5918360f2235c2523bd10704ac484a4e8591e8a1c490faf5a
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-supervisor|META=root:root|755|20463|regular file|SHA256=35c68ae0929ff3795be2bde40de334fc8e26413a3d8a620a137be90d1f2c164e
DETAIL=RUNTIME_LINE=22:COOKIE_EXPIRY_WARN_SECONDS = int(os.environ.get("SKLADCHIK_COOKIE_EXPIRY_WARN_SECONDS", "604800"))
DETAIL=RUNTIME_LINE=127:test -s /var/lib/skladchik-reports-monitor/cookies.jar && echo cookies_jar=yes || echo cookies_jar=no
DETAIL=RUNTIME_LINE=128:[ -s /var/lib/skladchik-reports-monitor/cookies.jar ] && echo cookies_jar_bytes=$(stat -c %s /var/lib/skladchik-reports-monitor/cookies.jar 2>/dev/null) || echo cookies_jar_bytes=0
DETAIL=RUNTIME_LINE=153:    facts["session_keepalive"] = mon.get("session_keepalive", "")
DETAIL=RUNTIME_LINE=156:    facts["cookie_expiry_status"] = mon.get("cookie_expiry_status", "")
DETAIL=RUNTIME_LINE=157:    facts["cookie_expiry_utc"] = mon.get("cookie_expiry_utc", "")
DETAIL=RUNTIME_LINE=158:    facts["cookie_expires_in_seconds"] = mon.get("cookie_expires_in_seconds", "")
DETAIL=RUNTIME_LINE=159:    facts["cookie_expires_in_days"] = mon.get("cookie_expires_in_days", "")
DETAIL=RUNTIME_LINE=168:    if mon.get("session_keepalive") != "persistent_cookie_jar":
DETAIL=RUNTIME_LINE=169:        problems.append("session_keepalive_not_persistent")
DETAIL=RUNTIME_LINE=172:    expiry_status = mon.get("cookie_expiry_status", "")
DETAIL=RUNTIME_LINE=174:        expires_in = int(mon.get("cookie_expires_in_seconds", ""))
DETAIL=RUNTIME_LINE=177:    if expiry_status in ("", "NO_COOKIE_JAR", "NO_PERSISTENT_COOKIE", "ERROR"):
DETAIL=RUNTIME_LINE=178:        problems.append("cookie_expiry_missing")
DETAIL=RUNTIME_LINE=180:        problems.append("cookie_expiry_expired")
DETAIL=RUNTIME_LINE=181:    elif expiry_status == "WARN" or (expires_in is not None and expires_in < COOKIE_EXPIRY_WARN_SECONDS):
DETAIL=RUNTIME_LINE=182:        problems.append("cookie_expiry_warn")
DETAIL=RUNTIME_LINE=285:        f"- автопродление авторизации: {facts.get('session_keepalive')}",
DETAIL=RUNTIME_LINE=287:        f"- постоянная cookie действует до UTC: {facts.get('cookie_expiry_utc') or 'не определено'}",
DETAIL=RUNTIME_LINE=288:        f"- осталось дней по cookie: {facts.get('cookie_expires_in_days') or 'не определено'}",
DETAIL=RUNTIME_LINE=289:        f"- статус срока cookie: {facts.get('cookie_expiry_status') or 'не определено'}",
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-cookie-expiry-watch-20260710T072136Z.bak|META=root:root|755|16236|regular file|SHA256=44deb5ca0075aa67d220c0bc13e8dbc87f9640dfa09037245367aca588d93288
DETAIL=RUNTIME_LINE=126:test -s /var/lib/skladchik-reports-monitor/cookies.jar && echo cookies_jar=yes || echo cookies_jar=no
DETAIL=RUNTIME_LINE=127:[ -s /var/lib/skladchik-reports-monitor/cookies.jar ] && echo cookies_jar_bytes=$(stat -c %s /var/lib/skladchik-reports-monitor/cookies.jar 2>/dev/null) || echo cookies_jar_bytes=0
DETAIL=RUNTIME_LINE=146:    facts["session_keepalive"] = mon.get("session_keepalive", "")
DETAIL=RUNTIME_LINE=156:    if mon.get("session_keepalive") != "persistent_cookie_jar":
DETAIL=RUNTIME_LINE=157:        problems.append("session_keepalive_not_persistent")
DETAIL=RUNTIME_LINE=253:        f"- автопродление авторизации: {facts.get('session_keepalive')}",
DETAIL=RUNTIME_CANDIDATE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-session-keepalive-20260710T071605Z.bak|META=root:root|755|15009|regular file|SHA256=79974f2f0366322d533970506b3bf08f87957d514c3523c54b61962afd8c6566
DETAIL=DIRECTORY_CONTRACT_REFERENCES_BEGIN
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-status:43:check_health "PVE01: ежедневный бэкап" "/var/lib/skladchik-reports-monitor-backup/health.txt"
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-status:44:check_health "PVE01: проверка восстановления" "/var/lib/skladchik-reports-monitor-backup/restore-check-health.txt"
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-status:45:check_health "PVE01: общий supervisor" "/var/lib/skladchik-reports-monitor-supervisor/health.txt"
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-status:46:check_health "PVE01: контроль ежемесячного самотеста" "/var/lib/skladchik-reports-monitor-selftest-watch/health.txt"
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check:12:HEALTH=/var/lib/skladchik-reports-monitor-backup/restore-check-health.txt
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-monthly-selftest-watch:13:HEALTH_DIR = Path("/var/lib/skladchik-reports-monitor-selftest-watch")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-monthly-selftest-watch:110:        "cat /var/lib/skladchik-reports-monitor/event-selftest-health.txt 2>/dev/null || true"
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup:20:HEALTH=/var/lib/skladchik-reports-monitor-backup/health.txt
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup:38:mkdir -p "$TMP/payload/var-lib-skladchik-reports-monitor" "$TMP/payload/systemd"
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup:41:if [ -s /var/lib/skladchik-reports-monitor/state.sqlite ] && command -v sqlite3 >/dev/null 2>&1; then sqlite3 /var/lib/skladchik-reports-monitor/state.sqlite ".backup '$TMP/payload/var-lib-skladchik-reports-monitor/state.sqlite'"; elif [ -s /var/lib/skladchik-reports-monitor/state.sqlite ]; then cp -a /var/lib/skladchik-reports-monitor/state.sqlite "$TMP/payload/var-lib-skladchik-reports-monitor/state.sqlite"; fi
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup:42:for F in /var/lib/skladchik-reports-monitor/*; do
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check.pre-session-keepalive-20260710T071605Z.bak:12:HEALTH=/var/lib/skladchik-reports-monitor-backup/restore-check-health.txt
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup-restore-check-status:4:cat /var/lib/skladchik-reports-monitor-backup/restore-check-health.txt 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-restore-check-20260710T065311Z.bak:20:HEALTH=/var/lib/skladchik-reports-monitor-backup/health.txt
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-restore-check-20260710T065311Z.bak:38:mkdir -p "$TMP/payload/var-lib-skladchik-reports-monitor" "$TMP/payload/systemd"
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-restore-check-20260710T065311Z.bak:41:if [ -s /var/lib/skladchik-reports-monitor/state.sqlite ] && command -v sqlite3 >/dev/null 2>&1; then sqlite3 /var/lib/skladchik-reports-monitor/state.sqlite ".backup '$TMP/payload/var-lib-skladchik-reports-monitor/state.sqlite'"; elif [ -s /var/lib/skladchik-reports-monitor/state.sqlite ]; then cp -a /var/lib/skladchik-reports-monitor/state.sqlite "$TMP/payload/var-lib-skladchik-reports-monitor/state.sqlite"; fi
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-restore-check-20260710T065311Z.bak:42:cp -a /var/lib/skladchik-reports-monitor/health.txt "$TMP/payload/var-lib-skladchik-reports-monitor/health.txt" 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-session-keepalive-20260710T071605Z.bak:13:STATE_DIR = Path("/var/lib/skladchik-reports-monitor-supervisor")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-session-keepalive-20260710T071605Z.bak:23:PVE_BACKUP_HEALTH = Path("/var/lib/skladchik-reports-monitor-backup/health.txt")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-session-keepalive-20260710T071605Z.bak:24:PVE_RESTORE_HEALTH = Path("/var/lib/skladchik-reports-monitor-backup/restore-check-health.txt")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-session-keepalive-20260710T071605Z.bak:111:cat /var/lib/skladchik-reports-monitor/health.txt 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-session-keepalive-20260710T071605Z.bak:114:cat /var/lib/skladchik-reports-monitor/alert-health.txt 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:13:STATE_DIR = Path("/var/lib/skladchik-reports-monitor-supervisor")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:24:PVE_BACKUP_HEALTH = Path("/var/lib/skladchik-reports-monitor-backup/health.txt")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:25:PVE_RESTORE_HEALTH = Path("/var/lib/skladchik-reports-monitor-backup/restore-check-health.txt")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:112:cat /var/lib/skladchik-reports-monitor/health.txt 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:115:cat /var/lib/skladchik-reports-monitor/alert-health.txt 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:127:test -s /var/lib/skladchik-reports-monitor/cookies.jar && echo cookies_jar=yes || echo cookies_jar=no
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:128:[ -s /var/lib/skladchik-reports-monitor/cookies.jar ] && echo cookies_jar_bytes=$(stat -c %s /var/lib/skladchik-reports-monitor/cookies.jar 2>/dev/null) || echo cookies_jar_bytes=0
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:132:test -s /var/lib/skladchik-reports-monitor/weekly-summary-health.txt && echo weekly_summary_health=yes || echo weekly_summary_health=no
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:133:test -s /var/lib/skladchik-reports-monitor/age-alert-health.txt && echo age_alert_health=yes || echo age_alert_health=no
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor:134:test -s /var/lib/skladchik-reports-monitor/event-selftest-health.txt && echo event_selftest_health=yes || echo event_selftest_health=no
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-session-keepalive-20260710T071605Z.bak:20:HEALTH=/var/lib/skladchik-reports-monitor-backup/health.txt
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-session-keepalive-20260710T071605Z.bak:38:mkdir -p "$TMP/payload/var-lib-skladchik-reports-monitor" "$TMP/payload/systemd"
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-session-keepalive-20260710T071605Z.bak:41:if [ -s /var/lib/skladchik-reports-monitor/state.sqlite ] && command -v sqlite3 >/dev/null 2>&1; then sqlite3 /var/lib/skladchik-reports-monitor/state.sqlite ".backup '$TMP/payload/var-lib-skladchik-reports-monitor/state.sqlite'"; elif [ -s /var/lib/skladchik-reports-monitor/state.sqlite ]; then cp -a /var/lib/skladchik-reports-monitor/state.sqlite "$TMP/payload/var-lib-skladchik-reports-monitor/state.sqlite"; fi
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-session-keepalive-20260710T071605Z.bak:42:cp -a /var/lib/skladchik-reports-monitor/health.txt "$TMP/payload/var-lib-skladchik-reports-monitor/health.txt" 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup.pre-session-keepalive-20260710T071605Z.bak:43:cp -a /var/lib/skladchik-reports-monitor/alert-health.txt "$TMP/payload/var-lib-skladchik-reports-monitor/alert-health.txt" 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-cookie-expiry-watch-20260710T072136Z.bak:13:STATE_DIR = Path("/var/lib/skladchik-reports-monitor-supervisor")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-cookie-expiry-watch-20260710T072136Z.bak:23:PVE_BACKUP_HEALTH = Path("/var/lib/skladchik-reports-monitor-backup/health.txt")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-cookie-expiry-watch-20260710T072136Z.bak:24:PVE_RESTORE_HEALTH = Path("/var/lib/skladchik-reports-monitor-backup/restore-check-health.txt")
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-cookie-expiry-watch-20260710T072136Z.bak:111:cat /var/lib/skladchik-reports-monitor/health.txt 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-cookie-expiry-watch-20260710T072136Z.bak:114:cat /var/lib/skladchik-reports-monitor/alert-health.txt 2>/dev/null || true
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-cookie-expiry-watch-20260710T072136Z.bak:126:test -s /var/lib/skladchik-reports-monitor/cookies.jar && echo cookies_jar=yes || echo cookies_jar=no
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-supervisor.pre-cookie-expiry-watch-20260710T072136Z.bak:127:[ -s /var/lib/skladchik-reports-monitor/cookies.jar ] && echo cookies_jar_bytes=$(stat -c %s /var/lib/skladchik-reports-monitor/cookies.jar 2>/dev/null) || echo cookies_jar_bytes=0
DETAIL=DIR_CONTRACT_LINE=/usr/local/sbin/skladchik-reports-monitor-backup-status:4:cat /var/lib/skladchik-reports-monitor-backup/health.txt 2>/dev/null || true
DETAIL=DIRECTORY_CONTRACT_REFERENCES_END
DETAIL=SKLADCHIK_RUNTIME_LAYOUT_AUDIT=PASS
CHANGES_MADE=NO

OUTPUT_END
CHAT_OUTPUT_END
