From f987284c5d680c6ac5e7df77e5d693ed5e52eff4 Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Fri, 18 Sep 2026 23:06:26 +0000 Subject: [PATCH] runtime: publish SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1 --- ...M1-576R1-RCA-PAPERLESS-READONLY-577R1.json | 38 +++++ ...AM1-576R1-RCA-PAPERLESS-READONLY-577R1.txt | 149 ++++++++++++++++++ runtime/latest.json | 28 ++-- runtime/latest.txt | 145 +++++++++++++++-- 4 files changed, 329 insertions(+), 31 deletions(-) create mode 100644 runtime/history/SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1.json create mode 100644 runtime/history/SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1.txt diff --git a/runtime/history/SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1.json b/runtime/history/SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1.json new file mode 100644 index 00000000..a5520413 --- /dev/null +++ b/runtime/history/SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "read-only", + "component": "home-gram1-576r1-rca-paperless-readonly", + "started_at_utc": "2026-09-18T23:06:11Z", + "finished_at_utc": "2026-09-18T23:06:26Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "b6fe8efe20cc65c00228006521b926d8ab7bd3ff9531d0e79956baf336167cf1", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": false, + "result_contract_valid": true, + "result_contract_status": null, + "result_contract_error": null, + "command_rc": 0, + "changes_made": false, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "NO_MUTATION", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "b6e70bdbbcc2c291af3e523897e4b658d5b27b6764df3d0be82a3e6f52f6b0f7", + "sanitized_output_sha256": "66198c75ef4ed35ee7516159821887d7a6c30f9b291436236be1160b5672305c", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": ":15: SyntaxWarning: invalid escape sequence '\\.'\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nHEALTH_FILE=/var/lib/homelab-health/service-readiness-paperless.txt|exists=True\nHEALTH_FILE_BEGIN=/var/lib/homelab-health/service-readiness-paperless.txt\nSTATUS=OK TS=2026-07-09T16:46:31Z TYPE=service-readiness-final BAD=0 SERVICE=paperless HOMEPAGE=OK NPMPLUS=OK KUMA=OK HEALTH=OK PUBLIC=OK BACKUP=OK OFFHOST=OK RESTORE=OK BACKUP_SLA=OK ALERTING=OK RUNBOOK=OK LOGS=OK URL=https://paper.gram1.ru STATE=app:running/healthy,postgres:running,redis:running\n\nHEALTH_FILE_END=/var/lib/homelab-health/service-readiness-paperless.txt\nHEALTH_FILE=/var/lib/homelab-health/paperless-restore.txt|exists=True\nHEALTH_FILE_BEGIN=/var/lib/homelab-health/paperless-restore.txt\nSTATUS=FAIL\nTS=2026-08-10T21:00:07Z\nTYPE=backup-matrix-generated\nJOB_ID=paperless_restore_dry_run\nJOB_NAME=paperless-restore-dry-run\nMATRIX_MODE=authoritative\nTIMER=paperless-restore-dry-run.timer\nSERVICE=paperless-restore-dry-run.service\nTIMER_ENABLED=disabled\nTIMER_ACTIVE=inactive\nSOURCE_KIND=health_file\nEVIDENCE_LEVEL=artifact_or_health\nSERVICE_RESULT=success\nSERVICE_EXEC_MAIN_STATUS=0\nSOURCE_HEALTH=/var/lib/homelab-backup-matrix/evidence/paperless_restore_dry_run/0-paperless-restore.txt\nSOURCE_STATUS=OK\nSOURCE_MTIME_UTC=2026-07-09T16:42:55Z\nAGE_SECONDS=2780232\nMAX_AGE_SECONDS=864000\nFRESHNESS=STALE\nLEGACY_SOURCE_PATH=/var/lib/homelab-health/paperless-restore.txt\nCANONICAL_JOB_ID=paperless_restore_dry_run\nCANONICAL_STATE=/var/lib/homelab-backup-matrix/state.json\n\nHEALTH_FILE_END=/var/lib/homelab-health/paperless-restore.txt\nHEALTH_FILE=/var/lib/homelab-health/paperless-backup.txt|exists=True\nHEALTH_FILE_BEGIN=/var/lib/homelab-health/paperless-backup.txt\nSTATUS=OK\nTS=2026-07-17T22:52:29Z\nTYPE=backup-matrix-generated\nJOB_ID=paperless_backup\nJOB_NAME=paperless-backup\nMATRIX_MODE=authoritative\nTIMER=paperless-backup.timer\nSERVICE=paperless-backup.service\nTIMER_ENABLED=enabled\nTIMER_ACTIVE=active\nSOURCE_KIND=health_file\nEVIDENCE_LEVEL=artifact_or_health\nSERVICE_RESULT=success\nSERVICE_EXEC_MAIN_STATUS=0\nSOURCE_HEALTH=/var/lib/homelab-backup/apps/latest-paperless.json\nSOURCE_STATUS=OK\nSOURCE_MTIME_UTC=2026-07-17T02:30:25Z\nAGE_SECONDS=73324\nMAX_AGE_SECONDS=259200\nFRESHNESS=FRESH\nLEGACY_SOURCE_PATH=/var/lib/homelab-health/paperless-backup.txt\nCANONICAL_JOB_ID=paperless_backup\nCANONICAL_STATE=/var/lib/homelab-backup-matrix/state.json\n\nHEALTH_FILE_END=/var/lib/homelab-health/paperless-backup.txt\nREFERENCE_PAPERLESS_RC=0\nREFERENCE_PAPERLESS_BEGIN\n455:- edge-vm timers cover runtime dashboard, Paperless guard, external canary, health metrics, restore drill index, AdGuard rewrite sync, NPMplus cert expiry, NetBox backup/sync, retention, cluster daily status, vulnerability and Trivy scans, ingress hardening and NPMplus admin bind.\n456:- pve01 timers cover VPN/NetBird health, health metrics, smartctl, disk space, MkDocs refresh, VPS identity audit, storage capacity, quality gate, evidence catalog, backup freshness, docker health, Filebrowser backup/offhost/restore, NPMplus/Kuma backup, NetBird VPS backup/offhost, Authentik/Gitea/Vaultwarden backup, SOPS secret coverage, mail cloud upload/restore, Immich/Memos/Paperless backup/offhost/restore, auto backup, edge-vm vzdump, secret sanity.\n674:- paper.gram1.ru -> [PRIVATE_IP].\n707:- paper.gram1.ru -> http://127.0.0.1:8010, cert=30, ssl_forced=1, enabled=1.\n755:- cert=30: dozzle.gram1.ru, paper.gram1.ru, memos.gram1.ru, photos.gram1.ru, auth.gram1.ru, expires 2026-09-13 23:12:00.\n816:- paperless.\n829:- Data apps: immich, paperless, memos, gitea, netbox, actual-budget, homebox, mealie, n8n, node-red, vikunja, bookstack.\n840:- Paperless: 127.0.0.1:8010.\n956:- Paperless backup: STATUS=OK, latest snapshot under /mnt/staging/paperless-backups/snapshots.\n957:- Paperless offhost: STATUS=OK to pve02.\n958:- Paperless restore dry-run: STATUS=OK, pg_restore list and restore tables checked.\n1060: - https://paper.gram1.ru\n1373:| paper.gram1.ru | http://127.0.0.1:8010 | edge-vm / paperless | paperless backup/offhost/restore |\n2697:- Recommended next monitors are P0 only after operator approval: Router Moscow Health, Backup/Restore Dashboard, Restore Drill Index, NetBird Peers, CrowdSec CAPI, Paperless Restore.\n2717: - Paperless Restore -> http://[PRIVATE_IP]:9101/paperless-restore.txt\n2723:- Four Uptime Kuma monitors were still unavailable because three health endpoints returned 404 and Paperless Restore had STATUS=ERROR.\n2727: - paperless-restore.txt\n\nREFERENCE_PAPERLESS_END\nCORE170_RC=0\nCORE170_BEGIN\n{\n \"exitcode\" : 0,\n \"exited\" : 1,\n \"out-data\" : \"HOST=core-apps\\nHOMEPAGE_SERVICES_SHA256=fd4efeff221593e555e654f0fa42bdb0805d3fbcbdbec892a644d58ac1dfcdb4\\nHOMEPAGE_MAIL_PRESENT=True\\nHOMEPAGE_STAFF_PRESENT=False\\n576R1_CORE_BACKUP_DIR_EXISTS=False\\nDOCKER_PS_RC=0\\nPAPER_STACK_COUNT=0\\n\",\n \"out-truncated\" : 0\n}\n\nCORE170_END\nMON171_RC=0\nMON171_BEGIN\n{\n \"exitcode\" : 0,\n \"exited\" : 1,\n \"out-data\" : \"HOST=monitoring\\n576R1_CORE_BACKUP_DIR_EXISTS=False\\nDOCKER_PS_RC=0\\nPAPER_STACK_COUNT=0\\n\",\n \"out-truncated\" : 0\n}\n\nMON171_END\nEDGE130_RC=0\nEDGE130_BEGIN\n{\n \"exitcode\" : 0,\n \"exited\" : 1,\n \"out-data\" : \"HOST=edge-vm\\nEDGE_HEALTH_SHA256=ccf25de98494625cd88015411c82c9be2d4349970d6d4c6c353c45f787225225\\nEDGE_576_PATCH_PRESENT=False\\n576R1_EDGE_BACKUP_DIR_EXISTS=False\\nPAPER_STACK_COUNT=0\\nNGINX_T_RC=0\\nPAPER_SERVER_BLOCK_COUNT=1\\nPAPER_SERVER_BLOCK_1_BEGIN\\nPAPER_SERVER_BLOCK_1_END\\nPAPER_PUBLIC_PROBE_RC=28\\nPAPER_PUBLIC_PROBE=000|[PRIVATE_IP]|https://paper.gram1.ru/\\nPAPER_PUBLIC_ERR=curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received \\n\",\n \"out-truncated\" : 0\n}\n\nEDGE130_END\nHOME577R1_DECISION=RCA_COMPLETE\nHOME577R1_NEXT_GATE=CLASSIFY_PAPERLESS_THEN_RETRY_TRANSACTION_OR_DROP_STALE_CARD\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1.txt b/runtime/history/SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1.txt new file mode 100644 index 00000000..3ce79a92 --- /dev/null +++ b/runtime/history/SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1.txt @@ -0,0 +1,149 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1 +STATUS=OK +RC=0 +HOST=pve01 +MODE=read-only +COMPONENT=home-gram1-576r1-rca-paperless-readonly +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=b6fe8efe20cc65c00228006521b926d8ab7bd3ff9531d0e79956baf336167cf1 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=false +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=false +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=NO_MUTATION +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=b6e70bdbbcc2c291af3e523897e4b658d5b27b6764df3d0be82a3e6f52f6b0f7 +SANITIZED_OUTPUT_SHA256=66198c75ef4ed35ee7516159821887d7a6c30f9b291436236be1160b5672305c +OUTPUT_BEGIN +:15: SyntaxWarning: invalid escape sequence '\.' +ERROR_REGISTER_CHECK=OK +REFERENCE_CHECK=OK +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +HEALTH_FILE=/var/lib/homelab-health/service-readiness-paperless.txt|exists=True +HEALTH_FILE_BEGIN=/var/lib/homelab-health/service-readiness-paperless.txt +STATUS=OK TS=2026-07-09T16:46:31Z TYPE=service-readiness-final BAD=0 SERVICE=paperless HOMEPAGE=OK NPMPLUS=OK KUMA=OK HEALTH=OK PUBLIC=OK BACKUP=OK OFFHOST=OK RESTORE=OK BACKUP_SLA=OK ALERTING=OK RUNBOOK=OK LOGS=OK URL=https://paper.gram1.ru STATE=app:running/healthy,postgres:running,redis:running + +HEALTH_FILE_END=/var/lib/homelab-health/service-readiness-paperless.txt +HEALTH_FILE=/var/lib/homelab-health/paperless-restore.txt|exists=True +HEALTH_FILE_BEGIN=/var/lib/homelab-health/paperless-restore.txt +STATUS=FAIL +TS=2026-08-10T21:00:07Z +TYPE=backup-matrix-generated +JOB_ID=paperless_restore_dry_run +JOB_NAME=paperless-restore-dry-run +MATRIX_MODE=authoritative +TIMER=paperless-restore-dry-run.timer +SERVICE=paperless-restore-dry-run.service +TIMER_ENABLED=disabled +TIMER_ACTIVE=inactive +SOURCE_KIND=health_file +EVIDENCE_LEVEL=artifact_or_health +SERVICE_RESULT=success +SERVICE_EXEC_MAIN_STATUS=0 +SOURCE_HEALTH=/var/lib/homelab-backup-matrix/evidence/paperless_restore_dry_run/0-paperless-restore.txt +SOURCE_STATUS=OK +SOURCE_MTIME_UTC=2026-07-09T16:42:55Z +AGE_SECONDS=2780232 +MAX_AGE_SECONDS=864000 +FRESHNESS=STALE +LEGACY_SOURCE_PATH=/var/lib/homelab-health/paperless-restore.txt +CANONICAL_JOB_ID=paperless_restore_dry_run +CANONICAL_STATE=/var/lib/homelab-backup-matrix/state.json + +HEALTH_FILE_END=/var/lib/homelab-health/paperless-restore.txt +HEALTH_FILE=/var/lib/homelab-health/paperless-backup.txt|exists=True +HEALTH_FILE_BEGIN=/var/lib/homelab-health/paperless-backup.txt +STATUS=OK +TS=2026-07-17T22:52:29Z +TYPE=backup-matrix-generated +JOB_ID=paperless_backup +JOB_NAME=paperless-backup +MATRIX_MODE=authoritative +TIMER=paperless-backup.timer +SERVICE=paperless-backup.service +TIMER_ENABLED=enabled +TIMER_ACTIVE=active +SOURCE_KIND=health_file +EVIDENCE_LEVEL=artifact_or_health +SERVICE_RESULT=success +SERVICE_EXEC_MAIN_STATUS=0 +SOURCE_HEALTH=/var/lib/homelab-backup/apps/latest-paperless.json +SOURCE_STATUS=OK +SOURCE_MTIME_UTC=2026-07-17T02:30:25Z +AGE_SECONDS=73324 +MAX_AGE_SECONDS=259200 +FRESHNESS=FRESH +LEGACY_SOURCE_PATH=/var/lib/homelab-health/paperless-backup.txt +CANONICAL_JOB_ID=paperless_backup +CANONICAL_STATE=/var/lib/homelab-backup-matrix/state.json + +HEALTH_FILE_END=/var/lib/homelab-health/paperless-backup.txt +REFERENCE_PAPERLESS_RC=0 +REFERENCE_PAPERLESS_BEGIN +455:- edge-vm timers cover runtime dashboard, Paperless guard, external canary, health metrics, restore drill index, AdGuard rewrite sync, NPMplus cert expiry, NetBox backup/sync, retention, cluster daily status, vulnerability and Trivy scans, ingress hardening and NPMplus admin bind. +456:- pve01 timers cover VPN/NetBird health, health metrics, smartctl, disk space, MkDocs refresh, VPS identity audit, storage capacity, quality gate, evidence catalog, backup freshness, docker health, Filebrowser backup/offhost/restore, NPMplus/Kuma backup, NetBird VPS backup/offhost, Authentik/Gitea/Vaultwarden backup, SOPS secret coverage, mail cloud upload/restore, Immich/Memos/Paperless backup/offhost/restore, auto backup, edge-vm vzdump, secret sanity. +674:- paper.gram1.ru -> [PRIVATE_IP]. +707:- paper.gram1.ru -> http://127.0.0.1:8010, cert=30, ssl_forced=1, enabled=1. +755:- cert=30: dozzle.gram1.ru, paper.gram1.ru, memos.gram1.ru, photos.gram1.ru, auth.gram1.ru, expires 2026-09-13 23:12:00. +816:- paperless. +829:- Data apps: immich, paperless, memos, gitea, netbox, actual-budget, homebox, mealie, n8n, node-red, vikunja, bookstack. +840:- Paperless: 127.0.0.1:8010. +956:- Paperless backup: STATUS=OK, latest snapshot under /mnt/staging/paperless-backups/snapshots. +957:- Paperless offhost: STATUS=OK to pve02. +958:- Paperless restore dry-run: STATUS=OK, pg_restore list and restore tables checked. +1060: - https://paper.gram1.ru +1373:| paper.gram1.ru | http://127.0.0.1:8010 | edge-vm / paperless | paperless backup/offhost/restore | +2697:- Recommended next monitors are P0 only after operator approval: Router Moscow Health, Backup/Restore Dashboard, Restore Drill Index, NetBird Peers, CrowdSec CAPI, Paperless Restore. +2717: - Paperless Restore -> http://[PRIVATE_IP]:9101/paperless-restore.txt +2723:- Four Uptime Kuma monitors were still unavailable because three health endpoints returned 404 and Paperless Restore had STATUS=ERROR. +2727: - paperless-restore.txt + +REFERENCE_PAPERLESS_END +CORE170_RC=0 +CORE170_BEGIN +{ + "exitcode" : 0, + "exited" : 1, + "out-data" : "HOST=core-apps\nHOMEPAGE_SERVICES_SHA256=fd4efeff221593e555e654f0fa42bdb0805d3fbcbdbec892a644d58ac1dfcdb4\nHOMEPAGE_MAIL_PRESENT=True\nHOMEPAGE_STAFF_PRESENT=False\n576R1_CORE_BACKUP_DIR_EXISTS=False\nDOCKER_PS_RC=0\nPAPER_STACK_COUNT=0\n", + "out-truncated" : 0 +} + +CORE170_END +MON171_RC=0 +MON171_BEGIN +{ + "exitcode" : 0, + "exited" : 1, + "out-data" : "HOST=monitoring\n576R1_CORE_BACKUP_DIR_EXISTS=False\nDOCKER_PS_RC=0\nPAPER_STACK_COUNT=0\n", + "out-truncated" : 0 +} + +MON171_END +EDGE130_RC=0 +EDGE130_BEGIN +{ + "exitcode" : 0, + "exited" : 1, + "out-data" : "HOST=edge-vm\nEDGE_HEALTH_SHA256=ccf25de98494625cd88015411c82c9be2d4349970d6d4c6c353c45f787225225\nEDGE_576_PATCH_PRESENT=False\n576R1_EDGE_BACKUP_DIR_EXISTS=False\nPAPER_STACK_COUNT=0\nNGINX_T_RC=0\nPAPER_SERVER_BLOCK_COUNT=1\nPAPER_SERVER_BLOCK_1_BEGIN\nPAPER_SERVER_BLOCK_1_END\nPAPER_PUBLIC_PROBE_RC=28\nPAPER_PUBLIC_PROBE=000|[PRIVATE_IP]|https://paper.gram1.ru/\nPAPER_PUBLIC_ERR=curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received \n", + "out-truncated" : 0 +} + +EDGE130_END +HOME577R1_DECISION=RCA_COMPLETE +HOME577R1_NEXT_GATE=CLASSIFY_PAPERLESS_THEN_RETRY_TRANSACTION_OR_DROP_STALE_CARD +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 30aabbf0..a5520413 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,27 +1,27 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2", - "status": "FAIL", - "rc": 3, + "command_id": "SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1", + "status": "OK", + "rc": 0, "host": "pve01", - "mode": "change", - "component": "newfi-newfdom-content207-editorial-qa-provenance-internal-linking-portal-highlights-r2", - "started_at_utc": "2026-09-18T23:04:43Z", - "finished_at_utc": "2026-09-18T23:04:51Z", + "mode": "read-only", + "component": "home-gram1-576r1-rca-paperless-readonly", + "started_at_utc": "2026-09-18T23:06:11Z", + "finished_at_utc": "2026-09-18T23:06:26Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "1d7ece240223279b3e8a97e51aef595036eeb912b9f4f72f080e2e0968a1a121", + "command_sha256": "b6fe8efe20cc65c00228006521b926d8ab7bd3ff9531d0e79956baf336167cf1", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": true, + "change_declared": false, "result_contract_valid": true, - "result_contract_status": "FAIL", + "result_contract_status": null, "result_contract_error": null, - "command_rc": 3, + "command_rc": 0, "changes_made": false, "rollback_started": false, "rollback_restored": null, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "016c1a5c3b52a4d83959eb059517d71f62bf5ea94f5dbb8c73ace33e96198b0e", - "sanitized_output_sha256": "016c1a5c3b52a4d83959eb059517d71f62bf5ea94f5dbb8c73ace33e96198b0e", + "raw_evidence_sha256": "b6e70bdbbcc2c291af3e523897e4b658d5b27b6764df3d0be82a3e6f52f6b0f7", + "sanitized_output_sha256": "66198c75ef4ed35ee7516159821887d7a6c30f9b291436236be1160b5672305c", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "NEWFI119R2_BEGIN\nCOMMAND_ID=NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2\nNEWFI119R2_FORUM_ROUTE_PRECHECK={\"policy\":\"HTTP_200_OR_403\",\"routes\":7}\nNEWFI119R2_PUBLIC_PRECHECK=PASS\nNEWFI119R2_SAFE_REPORT={\"changes_made\":false,\"decision\":\"FAIL_CONTENT207_HOLD\",\"error\":\"RuntimeError:MARKER:staging:f5a27a04869135710514a29a3a7db57b149d47261d5af1a0315f4bf5de2bcf17\",\"rollback_restored\":null,\"rollback_started\":false}\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"FAIL\",\"version\":1}\n" + "output": ":15: SyntaxWarning: invalid escape sequence '\\.'\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nHEALTH_FILE=/var/lib/homelab-health/service-readiness-paperless.txt|exists=True\nHEALTH_FILE_BEGIN=/var/lib/homelab-health/service-readiness-paperless.txt\nSTATUS=OK TS=2026-07-09T16:46:31Z TYPE=service-readiness-final BAD=0 SERVICE=paperless HOMEPAGE=OK NPMPLUS=OK KUMA=OK HEALTH=OK PUBLIC=OK BACKUP=OK OFFHOST=OK RESTORE=OK BACKUP_SLA=OK ALERTING=OK RUNBOOK=OK LOGS=OK URL=https://paper.gram1.ru STATE=app:running/healthy,postgres:running,redis:running\n\nHEALTH_FILE_END=/var/lib/homelab-health/service-readiness-paperless.txt\nHEALTH_FILE=/var/lib/homelab-health/paperless-restore.txt|exists=True\nHEALTH_FILE_BEGIN=/var/lib/homelab-health/paperless-restore.txt\nSTATUS=FAIL\nTS=2026-08-10T21:00:07Z\nTYPE=backup-matrix-generated\nJOB_ID=paperless_restore_dry_run\nJOB_NAME=paperless-restore-dry-run\nMATRIX_MODE=authoritative\nTIMER=paperless-restore-dry-run.timer\nSERVICE=paperless-restore-dry-run.service\nTIMER_ENABLED=disabled\nTIMER_ACTIVE=inactive\nSOURCE_KIND=health_file\nEVIDENCE_LEVEL=artifact_or_health\nSERVICE_RESULT=success\nSERVICE_EXEC_MAIN_STATUS=0\nSOURCE_HEALTH=/var/lib/homelab-backup-matrix/evidence/paperless_restore_dry_run/0-paperless-restore.txt\nSOURCE_STATUS=OK\nSOURCE_MTIME_UTC=2026-07-09T16:42:55Z\nAGE_SECONDS=2780232\nMAX_AGE_SECONDS=864000\nFRESHNESS=STALE\nLEGACY_SOURCE_PATH=/var/lib/homelab-health/paperless-restore.txt\nCANONICAL_JOB_ID=paperless_restore_dry_run\nCANONICAL_STATE=/var/lib/homelab-backup-matrix/state.json\n\nHEALTH_FILE_END=/var/lib/homelab-health/paperless-restore.txt\nHEALTH_FILE=/var/lib/homelab-health/paperless-backup.txt|exists=True\nHEALTH_FILE_BEGIN=/var/lib/homelab-health/paperless-backup.txt\nSTATUS=OK\nTS=2026-07-17T22:52:29Z\nTYPE=backup-matrix-generated\nJOB_ID=paperless_backup\nJOB_NAME=paperless-backup\nMATRIX_MODE=authoritative\nTIMER=paperless-backup.timer\nSERVICE=paperless-backup.service\nTIMER_ENABLED=enabled\nTIMER_ACTIVE=active\nSOURCE_KIND=health_file\nEVIDENCE_LEVEL=artifact_or_health\nSERVICE_RESULT=success\nSERVICE_EXEC_MAIN_STATUS=0\nSOURCE_HEALTH=/var/lib/homelab-backup/apps/latest-paperless.json\nSOURCE_STATUS=OK\nSOURCE_MTIME_UTC=2026-07-17T02:30:25Z\nAGE_SECONDS=73324\nMAX_AGE_SECONDS=259200\nFRESHNESS=FRESH\nLEGACY_SOURCE_PATH=/var/lib/homelab-health/paperless-backup.txt\nCANONICAL_JOB_ID=paperless_backup\nCANONICAL_STATE=/var/lib/homelab-backup-matrix/state.json\n\nHEALTH_FILE_END=/var/lib/homelab-health/paperless-backup.txt\nREFERENCE_PAPERLESS_RC=0\nREFERENCE_PAPERLESS_BEGIN\n455:- edge-vm timers cover runtime dashboard, Paperless guard, external canary, health metrics, restore drill index, AdGuard rewrite sync, NPMplus cert expiry, NetBox backup/sync, retention, cluster daily status, vulnerability and Trivy scans, ingress hardening and NPMplus admin bind.\n456:- pve01 timers cover VPN/NetBird health, health metrics, smartctl, disk space, MkDocs refresh, VPS identity audit, storage capacity, quality gate, evidence catalog, backup freshness, docker health, Filebrowser backup/offhost/restore, NPMplus/Kuma backup, NetBird VPS backup/offhost, Authentik/Gitea/Vaultwarden backup, SOPS secret coverage, mail cloud upload/restore, Immich/Memos/Paperless backup/offhost/restore, auto backup, edge-vm vzdump, secret sanity.\n674:- paper.gram1.ru -> [PRIVATE_IP].\n707:- paper.gram1.ru -> http://127.0.0.1:8010, cert=30, ssl_forced=1, enabled=1.\n755:- cert=30: dozzle.gram1.ru, paper.gram1.ru, memos.gram1.ru, photos.gram1.ru, auth.gram1.ru, expires 2026-09-13 23:12:00.\n816:- paperless.\n829:- Data apps: immich, paperless, memos, gitea, netbox, actual-budget, homebox, mealie, n8n, node-red, vikunja, bookstack.\n840:- Paperless: 127.0.0.1:8010.\n956:- Paperless backup: STATUS=OK, latest snapshot under /mnt/staging/paperless-backups/snapshots.\n957:- Paperless offhost: STATUS=OK to pve02.\n958:- Paperless restore dry-run: STATUS=OK, pg_restore list and restore tables checked.\n1060: - https://paper.gram1.ru\n1373:| paper.gram1.ru | http://127.0.0.1:8010 | edge-vm / paperless | paperless backup/offhost/restore |\n2697:- Recommended next monitors are P0 only after operator approval: Router Moscow Health, Backup/Restore Dashboard, Restore Drill Index, NetBird Peers, CrowdSec CAPI, Paperless Restore.\n2717: - Paperless Restore -> http://[PRIVATE_IP]:9101/paperless-restore.txt\n2723:- Four Uptime Kuma monitors were still unavailable because three health endpoints returned 404 and Paperless Restore had STATUS=ERROR.\n2727: - paperless-restore.txt\n\nREFERENCE_PAPERLESS_END\nCORE170_RC=0\nCORE170_BEGIN\n{\n \"exitcode\" : 0,\n \"exited\" : 1,\n \"out-data\" : \"HOST=core-apps\\nHOMEPAGE_SERVICES_SHA256=fd4efeff221593e555e654f0fa42bdb0805d3fbcbdbec892a644d58ac1dfcdb4\\nHOMEPAGE_MAIL_PRESENT=True\\nHOMEPAGE_STAFF_PRESENT=False\\n576R1_CORE_BACKUP_DIR_EXISTS=False\\nDOCKER_PS_RC=0\\nPAPER_STACK_COUNT=0\\n\",\n \"out-truncated\" : 0\n}\n\nCORE170_END\nMON171_RC=0\nMON171_BEGIN\n{\n \"exitcode\" : 0,\n \"exited\" : 1,\n \"out-data\" : \"HOST=monitoring\\n576R1_CORE_BACKUP_DIR_EXISTS=False\\nDOCKER_PS_RC=0\\nPAPER_STACK_COUNT=0\\n\",\n \"out-truncated\" : 0\n}\n\nMON171_END\nEDGE130_RC=0\nEDGE130_BEGIN\n{\n \"exitcode\" : 0,\n \"exited\" : 1,\n \"out-data\" : \"HOST=edge-vm\\nEDGE_HEALTH_SHA256=ccf25de98494625cd88015411c82c9be2d4349970d6d4c6c353c45f787225225\\nEDGE_576_PATCH_PRESENT=False\\n576R1_EDGE_BACKUP_DIR_EXISTS=False\\nPAPER_STACK_COUNT=0\\nNGINX_T_RC=0\\nPAPER_SERVER_BLOCK_COUNT=1\\nPAPER_SERVER_BLOCK_1_BEGIN\\nPAPER_SERVER_BLOCK_1_END\\nPAPER_PUBLIC_PROBE_RC=28\\nPAPER_PUBLIC_PROBE=000|[PRIVATE_IP]|https://paper.gram1.ru/\\nPAPER_PUBLIC_ERR=curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received \\n\",\n \"out-truncated\" : 0\n}\n\nEDGE130_END\nHOME577R1_DECISION=RCA_COMPLETE\nHOME577R1_NEXT_GATE=CLASSIFY_PAPERLESS_THEN_RETRY_TRANSACTION_OR_DROP_STALE_CARD\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 455e5d82..3ce79a92 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,22 +1,22 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2 -STATUS=FAIL -RC=3 +COMMAND_ID=SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1 +STATUS=OK +RC=0 HOST=pve01 -MODE=change -COMPONENT=newfi-newfdom-content207-editorial-qa-provenance-internal-linking-portal-highlights-r2 +MODE=read-only +COMPONENT=home-gram1-576r1-rca-paperless-readonly REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=1d7ece240223279b3e8a97e51aef595036eeb912b9f4f72f080e2e0968a1a121 +COMMAND_SHA256=b6fe8efe20cc65c00228006521b926d8ab7bd3ff9531d0e79956baf336167cf1 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=true +CHANGE_DECLARED=false RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=FAIL +RESULT_CONTRACT_STATUS=NOT_APPLICABLE RESULT_CONTRACT_ERROR=NONE -COMMAND_RC=3 +COMMAND_RC=0 CHANGES_MADE=false ROLLBACK_STARTED=false ROLLBACK_RESTORED=null @@ -24,15 +24,126 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=016c1a5c3b52a4d83959eb059517d71f62bf5ea94f5dbb8c73ace33e96198b0e -SANITIZED_OUTPUT_SHA256=016c1a5c3b52a4d83959eb059517d71f62bf5ea94f5dbb8c73ace33e96198b0e +RAW_EVIDENCE_SHA256=b6e70bdbbcc2c291af3e523897e4b658d5b27b6764df3d0be82a3e6f52f6b0f7 +SANITIZED_OUTPUT_SHA256=66198c75ef4ed35ee7516159821887d7a6c30f9b291436236be1160b5672305c OUTPUT_BEGIN -NEWFI119R2_BEGIN -COMMAND_ID=NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2 -NEWFI119R2_FORUM_ROUTE_PRECHECK={"policy":"HTTP_200_OR_403","routes":7} -NEWFI119R2_PUBLIC_PRECHECK=PASS -NEWFI119R2_SAFE_REPORT={"changes_made":false,"decision":"FAIL_CONTENT207_HOLD","error":"RuntimeError:MARKER:staging:f5a27a04869135710514a29a3a7db57b149d47261d5af1a0315f4bf5de2bcf17","rollback_restored":null,"rollback_started":false} -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"NEWFI-260919-NEWFDOM-CONTENT207-APPLY119R2","rollback_restored":null,"rollback_started":false,"status":"FAIL","version":1} +:15: SyntaxWarning: invalid escape sequence '\.' +ERROR_REGISTER_CHECK=OK +REFERENCE_CHECK=OK +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +HEALTH_FILE=/var/lib/homelab-health/service-readiness-paperless.txt|exists=True +HEALTH_FILE_BEGIN=/var/lib/homelab-health/service-readiness-paperless.txt +STATUS=OK TS=2026-07-09T16:46:31Z TYPE=service-readiness-final BAD=0 SERVICE=paperless HOMEPAGE=OK NPMPLUS=OK KUMA=OK HEALTH=OK PUBLIC=OK BACKUP=OK OFFHOST=OK RESTORE=OK BACKUP_SLA=OK ALERTING=OK RUNBOOK=OK LOGS=OK URL=https://paper.gram1.ru STATE=app:running/healthy,postgres:running,redis:running + +HEALTH_FILE_END=/var/lib/homelab-health/service-readiness-paperless.txt +HEALTH_FILE=/var/lib/homelab-health/paperless-restore.txt|exists=True +HEALTH_FILE_BEGIN=/var/lib/homelab-health/paperless-restore.txt +STATUS=FAIL +TS=2026-08-10T21:00:07Z +TYPE=backup-matrix-generated +JOB_ID=paperless_restore_dry_run +JOB_NAME=paperless-restore-dry-run +MATRIX_MODE=authoritative +TIMER=paperless-restore-dry-run.timer +SERVICE=paperless-restore-dry-run.service +TIMER_ENABLED=disabled +TIMER_ACTIVE=inactive +SOURCE_KIND=health_file +EVIDENCE_LEVEL=artifact_or_health +SERVICE_RESULT=success +SERVICE_EXEC_MAIN_STATUS=0 +SOURCE_HEALTH=/var/lib/homelab-backup-matrix/evidence/paperless_restore_dry_run/0-paperless-restore.txt +SOURCE_STATUS=OK +SOURCE_MTIME_UTC=2026-07-09T16:42:55Z +AGE_SECONDS=2780232 +MAX_AGE_SECONDS=864000 +FRESHNESS=STALE +LEGACY_SOURCE_PATH=/var/lib/homelab-health/paperless-restore.txt +CANONICAL_JOB_ID=paperless_restore_dry_run +CANONICAL_STATE=/var/lib/homelab-backup-matrix/state.json + +HEALTH_FILE_END=/var/lib/homelab-health/paperless-restore.txt +HEALTH_FILE=/var/lib/homelab-health/paperless-backup.txt|exists=True +HEALTH_FILE_BEGIN=/var/lib/homelab-health/paperless-backup.txt +STATUS=OK +TS=2026-07-17T22:52:29Z +TYPE=backup-matrix-generated +JOB_ID=paperless_backup +JOB_NAME=paperless-backup +MATRIX_MODE=authoritative +TIMER=paperless-backup.timer +SERVICE=paperless-backup.service +TIMER_ENABLED=enabled +TIMER_ACTIVE=active +SOURCE_KIND=health_file +EVIDENCE_LEVEL=artifact_or_health +SERVICE_RESULT=success +SERVICE_EXEC_MAIN_STATUS=0 +SOURCE_HEALTH=/var/lib/homelab-backup/apps/latest-paperless.json +SOURCE_STATUS=OK +SOURCE_MTIME_UTC=2026-07-17T02:30:25Z +AGE_SECONDS=73324 +MAX_AGE_SECONDS=259200 +FRESHNESS=FRESH +LEGACY_SOURCE_PATH=/var/lib/homelab-health/paperless-backup.txt +CANONICAL_JOB_ID=paperless_backup +CANONICAL_STATE=/var/lib/homelab-backup-matrix/state.json + +HEALTH_FILE_END=/var/lib/homelab-health/paperless-backup.txt +REFERENCE_PAPERLESS_RC=0 +REFERENCE_PAPERLESS_BEGIN +455:- edge-vm timers cover runtime dashboard, Paperless guard, external canary, health metrics, restore drill index, AdGuard rewrite sync, NPMplus cert expiry, NetBox backup/sync, retention, cluster daily status, vulnerability and Trivy scans, ingress hardening and NPMplus admin bind. +456:- pve01 timers cover VPN/NetBird health, health metrics, smartctl, disk space, MkDocs refresh, VPS identity audit, storage capacity, quality gate, evidence catalog, backup freshness, docker health, Filebrowser backup/offhost/restore, NPMplus/Kuma backup, NetBird VPS backup/offhost, Authentik/Gitea/Vaultwarden backup, SOPS secret coverage, mail cloud upload/restore, Immich/Memos/Paperless backup/offhost/restore, auto backup, edge-vm vzdump, secret sanity. +674:- paper.gram1.ru -> [PRIVATE_IP]. +707:- paper.gram1.ru -> http://127.0.0.1:8010, cert=30, ssl_forced=1, enabled=1. +755:- cert=30: dozzle.gram1.ru, paper.gram1.ru, memos.gram1.ru, photos.gram1.ru, auth.gram1.ru, expires 2026-09-13 23:12:00. +816:- paperless. +829:- Data apps: immich, paperless, memos, gitea, netbox, actual-budget, homebox, mealie, n8n, node-red, vikunja, bookstack. +840:- Paperless: 127.0.0.1:8010. +956:- Paperless backup: STATUS=OK, latest snapshot under /mnt/staging/paperless-backups/snapshots. +957:- Paperless offhost: STATUS=OK to pve02. +958:- Paperless restore dry-run: STATUS=OK, pg_restore list and restore tables checked. +1060: - https://paper.gram1.ru +1373:| paper.gram1.ru | http://127.0.0.1:8010 | edge-vm / paperless | paperless backup/offhost/restore | +2697:- Recommended next monitors are P0 only after operator approval: Router Moscow Health, Backup/Restore Dashboard, Restore Drill Index, NetBird Peers, CrowdSec CAPI, Paperless Restore. +2717: - Paperless Restore -> http://[PRIVATE_IP]:9101/paperless-restore.txt +2723:- Four Uptime Kuma monitors were still unavailable because three health endpoints returned 404 and Paperless Restore had STATUS=ERROR. +2727: - paperless-restore.txt + +REFERENCE_PAPERLESS_END +CORE170_RC=0 +CORE170_BEGIN +{ + "exitcode" : 0, + "exited" : 1, + "out-data" : "HOST=core-apps\nHOMEPAGE_SERVICES_SHA256=fd4efeff221593e555e654f0fa42bdb0805d3fbcbdbec892a644d58ac1dfcdb4\nHOMEPAGE_MAIL_PRESENT=True\nHOMEPAGE_STAFF_PRESENT=False\n576R1_CORE_BACKUP_DIR_EXISTS=False\nDOCKER_PS_RC=0\nPAPER_STACK_COUNT=0\n", + "out-truncated" : 0 +} + +CORE170_END +MON171_RC=0 +MON171_BEGIN +{ + "exitcode" : 0, + "exited" : 1, + "out-data" : "HOST=monitoring\n576R1_CORE_BACKUP_DIR_EXISTS=False\nDOCKER_PS_RC=0\nPAPER_STACK_COUNT=0\n", + "out-truncated" : 0 +} + +MON171_END +EDGE130_RC=0 +EDGE130_BEGIN +{ + "exitcode" : 0, + "exited" : 1, + "out-data" : "HOST=edge-vm\nEDGE_HEALTH_SHA256=ccf25de98494625cd88015411c82c9be2d4349970d6d4c6c353c45f787225225\nEDGE_576_PATCH_PRESENT=False\n576R1_EDGE_BACKUP_DIR_EXISTS=False\nPAPER_STACK_COUNT=0\nNGINX_T_RC=0\nPAPER_SERVER_BLOCK_COUNT=1\nPAPER_SERVER_BLOCK_1_BEGIN\nPAPER_SERVER_BLOCK_1_END\nPAPER_PUBLIC_PROBE_RC=28\nPAPER_PUBLIC_PROBE=000|[PRIVATE_IP]|https://paper.gram1.ru/\nPAPER_PUBLIC_ERR=curl: (28) Operation timed out after 10002 milliseconds with 0 bytes received \n", + "out-truncated" : 0 +} + +EDGE130_END +HOME577R1_DECISION=RCA_COMPLETE +HOME577R1_NEXT_GATE=CLASSIFY_PAPERLESS_THEN_RETRY_TRANSACTION_OR_DROP_STALE_CARD +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260919-HOME-GRAM1-576R1-RCA-PAPERLESS-READONLY-577R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END