1
0
Files
homelab-public-context/runtime/history/HOMELAB-SKLADCHIK-RUNTIME-LAYOUT-AUDIT-386.txt
T
2026-07-23 17:21:39 +00:00

322 lines
40 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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