{
  "schema_version": 1,
  "channel": "homelab-runtime",
  "command_id": "GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z",
  "status": "OK",
  "rc": 0,
  "host": "pve01",
  "mode": "verify",
  "component": "gram1-site-avax-link-compact-discovery",
  "started_at_utc": "2026-07-31T10:56:28Z",
  "finished_at_utc": "2026-07-31T10:56:41Z",
  "reference_register_checked": true,
  "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
  "error_register_checked": true,
  "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
  "command_sha256": "f18f5902084315ea5fa968b3ee453aa38d3d3e8a69cb517f8ae875dd2538c4b1",
  "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": "533ca4b7aef4c7c7d32e8ce2c7818e87acc6a15d9d2a0c988ddd608792647bbf",
  "sanitized_output_sha256": "4ed7f1df1cf5e4266c5b8639a314408722fb04f41b3c43b6f928a044c7cfc1ef",
  "output_truncated_in_json": false,
  "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
  "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z\",\"mutation_outcome\":\"NO_MUTATION\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"baseline\":{\"branch\":\"site-gram1-ru-baseline-20260731\",\"commit\":\"f9d3ba8caf65005605aa8aee2ede7e4e7e94ee49\",\"host_source_map\":[{\"baseline_host_dir\":\"hosts/local\",\"domain_match_count\":1000,\"hostname\":\"pve01\",\"roots\":[\"/root/homelab-configs-worktree\",\"/root/homelab-configs-worktree/docs\",\"/root/homelab-configs-worktree/docs/operations\",\"/srv/homelab-desired-state\",\"/srv/homelab-desired-state/health\",\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"/srv/homelab-desired-state/sbin\",\"/srv/homelab-ops-worktrees/cr-2026-0015\",\"/root/homelab-ops-cr-2026-0004\",\"/root/homelab-ops-cr-2026-0012\"],\"ssh_target\":null,\"target\":\"local\"},{\"baseline_host_dir\":\"hosts/pve02\",\"domain_match_count\":16,\"hostname\":\"pve02\",\"roots\":[\"/root/evidence/forum-prod-diag-20260629T032514Z\",\"/root/evidence/forum-prod-os-baseline-20260629T034119Z\",\"/root/evidence/forum-prod-offline-fix2-20260629T033832Z\",\"/root/evidence/forum-prod-recover-20260629T025511Z\",\"/root/evidence/forum-prod-recreate-20260629T030810Z\",\"/srv/homelab-desired-state/routerguard-tuya\"],\"ssh_target\":\"pve02\",\"target\":\"pve02\"},{\"baseline_host_dir\":\"hosts/pve03\",\"domain_match_count\":6,\"hostname\":\"pve03\",\"roots\":[],\"ssh_target\":\"pve03\",\"target\":\"pve03\"}],\"snapshot_path\":\"sites/gram1.ru/baseline/20260731T071400Z\"},\"baseline_evidence\":{\"audit_count\":3,\"avax_present\":false,\"link_present\":true,\"providers\":{},\"ranked_change_files\":[{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/01_homelab-configs-worktree/reports/npmplus-api-certificate-endpoint-preflight-20260621.md\",\"audit_label\":\"baseline:local/source\",\"bytes\":528351,\"kinds\":[\"api\",\"coin_registry\"],\"path\":\"01_homelab-configs-worktree/reports/npmplus-api-certificate-endpoint-preflight-20260621.md\",\"providers\":[],\"score\":31,\"sha256\":\"977b61a620ea32d2ccfa4b5ebad611713c0b4aa7991f9af0332b2febf4007fd1\",\"snippets\":[{\"line\":9,\"text\":\"Inspected local NPMplus API status and app code references to identify a supported certificate object creation path before remediating public routes with certificate_id=0.\"},{\"line\":18,\"text\":\"PURPOSE=FIND_SUPPORTED_CERT_OBJECT_CREATION_PATH\"},{\"line\":227,\"text\":\"/app/frontend/assets/index-tlrv6MVo.js:878:`,no=new Map,ro=(e,t)=>{Ba(()=>{if(!e||typeof document>`u`)return;let n=document,r=no.get(n);if(r){t&&r.setAttribute(`nonce`,t);return}let i=n.createElement(`style`);i.textContent=e,t&&i.setAttribu\"},{\"line\":253,\"text\":\"/app/frontend/assets/index-tlrv6MVo.js:908:`,position:{start:{line:l+u,column:1},end:{line:l+u,column:1}}})}return l+=i,t}if(Object.prototype.hasOwnProperty.call(n,`children`)){var f=l;return n.children=e(n.children),t.push(n),n.position={s\"}],\"symbols\":{\"ADA\":11,\"DOT\":4,\"LINK\":24}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/01_homelab-configs-worktree/reports/mkdocs-refresh-discovery-20260621.md\",\"audit_label\":\"baseline:local/source\",\"bytes\":504281,\"kinds\":[\"coin_registry\"],\"path\":\"01_homelab-configs-worktree/reports/mkdocs-refresh-discovery-20260621.md\",\"providers\":[],\"score\":24,\"sha256\":\"1ac8fe15ebd06db8ef3a9c6127fe5efe7ecbb76d395abbe551c249b249492d21\",\"snippets\":[{\"line\":239,\"text\":\".<REDACTED_TOKEN>.md:227:/app/frontend/assets/index-tlrv6MVo.js:878:`,no=new Map,ro=(e,t)=>{Ba(()=>{if(!e||typeof document>`u`)return;let n=document,r=no.get(n);if(r){t&&r.setAttribute(`nonce`,t);return}let i=n.createElement(`style`);i.text\"},{\"line\":378,\"text\":\"126: labels: '{__address__=\\\"[PRIVATE_IP]:8000\\\", __meta_docker_container_id=\\\"<REDACTED_HEX>\\\", __meta_docker_container_label_com_docker_compose_config_hash=\\\"<REDACTED_HEX>\\\", __meta_docker_container_label_com_docker_compose_container_number=\\\"1\\\",\"},{\"line\":458,\"text\":\"/app/node_modules/knex/lib/knex-builder/internal/config-resolver.js:33: `knex: Unknown configuration option 'client' value ${clientName}. Note that it is case-sensitive, check documentation for supported values.`\"},{\"line\":469,\"text\":\"/app/node_modules/jsonwebtoken/README.md:37:encoded private key for RSA and ECDSA. In case of a private key with passphrase an object `{ key, passphrase }` can be used (based on [crypto documentation](https://nodejs.org/api/crypto.html#cryp\"}],\"symbols\":{\"ADA\":11,\"LINK\":14}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/04_homelab-desired-state/health/crypto-portfolio-remove-grt-browser-smoke.txt\",\"audit_label\":\"baseline:local/source\",\"bytes\":1724,\"kinds\":[\"coin_registry\"],\"path\":\"04_homelab-desired-state/health/crypto-portfolio-remove-grt-browser-smoke.txt\",\"providers\":[],\"score\":13,\"sha256\":\"0ec07f2df3d2acd4e02a3c884b1bf75885ac24995516c5a4657da1ef99cf5963\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T04:52:06Z TYPE=crypto-portfolio-remove-grt-browser-smoke BAD=0 COMMAND_PHYSICAL_LINES=1 PREVIOUS_FAILURE=CORRECTED PREVIOUS_FAILURE_ROOT_CAUSE=OPTIONAL_XXD_DEPENDENCY_MISSING_WITH_STDERR_SUPPRESSED BROWSER_RERUN=NO E\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/04_homelab-desired-state/health/crypto-portfolio-remove-grt-production-apply.txt\",\"audit_label\":\"baseline:local/source\",\"bytes\":1640,\"kinds\":[\"coin_registry\"],\"path\":\"04_homelab-desired-state/health/crypto-portfolio-remove-grt-production-apply.txt\",\"providers\":[],\"score\":13,\"sha256\":\"c52b04528dc67a5502c297f32c3a0d6812cdc8801d6725905a5957cadc38c5ea\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T05:47:54Z TYPE=crypto-portfolio-remove-grt-production-apply BAD=0 COMMAND_PHYSICAL_LINES=1 APPLY_REVISION=V3 FIX_UID_READONLY=YES FIX_READINESS_ENDPOINT=YES FIX_ROLLBACK_DATABASE_METADATA=YES PRODUCTION_CHANGED=YES_R\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/04_homelab-desired-state/health/crypto-portfolio-remove-grt-runtime-dry-run.txt\",\"audit_label\":\"baseline:local/source\",\"bytes\":1497,\"kinds\":[\"coin_registry\"],\"path\":\"04_homelab-desired-state/health/crypto-portfolio-remove-grt-runtime-dry-run.txt\",\"providers\":[],\"score\":13,\"sha256\":\"2fb9cadb78f74a3fcebf23b9f623716c6ef023d253ee4a9d8e6ae8ac876e7892\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T04:41:24Z TYPE=crypto-portfolio-remove-grt-runtime-dry-run BAD=0 COMMAND_PHYSICAL_LINES=1 VERIFIER_REVISION=V3 ANALYSIS_SOURCES=FULL_CHAT_CRYPTO_HANDOFF_CLUSTER_REFERENCE_ERROR_HISTORY PRODUCTION_CHANGED=NO PRODUCTIO\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/05_health/crypto-portfolio-remove-grt-browser-smoke.txt\",\"audit_label\":\"baseline:local/source\",\"bytes\":1724,\"kinds\":[\"coin_registry\"],\"path\":\"05_health/crypto-portfolio-remove-grt-browser-smoke.txt\",\"providers\":[],\"score\":13,\"sha256\":\"0ec07f2df3d2acd4e02a3c884b1bf75885ac24995516c5a4657da1ef99cf5963\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T04:52:06Z TYPE=crypto-portfolio-remove-grt-browser-smoke BAD=0 COMMAND_PHYSICAL_LINES=1 PREVIOUS_FAILURE=CORRECTED PREVIOUS_FAILURE_ROOT_CAUSE=OPTIONAL_XXD_DEPENDENCY_MISSING_WITH_STDERR_SUPPRESSED BROWSER_RERUN=NO E\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/05_health/crypto-portfolio-remove-grt-production-apply.txt\",\"audit_label\":\"baseline:local/source\",\"bytes\":1640,\"kinds\":[\"coin_registry\"],\"path\":\"05_health/crypto-portfolio-remove-grt-production-apply.txt\",\"providers\":[],\"score\":13,\"sha256\":\"c52b04528dc67a5502c297f32c3a0d6812cdc8801d6725905a5957cadc38c5ea\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T05:47:54Z TYPE=crypto-portfolio-remove-grt-production-apply BAD=0 COMMAND_PHYSICAL_LINES=1 APPLY_REVISION=V3 FIX_UID_READONLY=YES FIX_READINESS_ENDPOINT=YES FIX_ROLLBACK_DATABASE_METADATA=YES PRODUCTION_CHANGED=YES_R\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/05_health/crypto-portfolio-remove-grt-runtime-dry-run.txt\",\"audit_label\":\"baseline:local/source\",\"bytes\":1497,\"kinds\":[\"coin_registry\"],\"path\":\"05_health/crypto-portfolio-remove-grt-runtime-dry-run.txt\",\"providers\":[],\"score\":13,\"sha256\":\"2fb9cadb78f74a3fcebf23b9f623716c6ef023d253ee4a9d8e6ae8ac876e7892\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T04:41:24Z TYPE=crypto-portfolio-remove-grt-runtime-dry-run BAD=0 COMMAND_PHYSICAL_LINES=1 VERIFIER_REVISION=V3 ANALYSIS_SOURCES=FULL_CHAT_CRYPTO_HANDOFF_CLUSTER_REFERENCE_ERROR_HISTORY PRODUCTION_CHANGED=NO PRODUCTIO\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/01_homelab-configs-worktree/docs/app-level-backup-decisions.md\",\"audit_label\":\"baseline:local/source\",\"bytes\":5089,\"kinds\":[\"coin_registry\"],\"path\":\"01_homelab-configs-worktree/docs/app-level-backup-decisions.md\",\"providers\":[],\"score\":12,\"sha256\":\"dfef1bb11361739b2aef776c07788ef0151263b6553bf3adc45e2efea6a985fd\",\"snippets\":[{\"line\":31,\"text\":\"| Mealie | P2 | Protect later | Application DB/data and uploaded assets | Temporary restore with recipes visible | Personal data, but lower operational criticality |\"},{\"line\":75,\"text\":\"The required proof is not just media copy presence. The minimum acceptable proof is a same-window PostgreSQL dump plus media/library backup with a restore dry-run that proves the app can see the restored assets.\"}],\"symbols\":{}},{\"absolute_path\":\"/tmp/gram1-avax-link-discovery-71io3scf/repo/sites/gram1.ru/baseline/20260731T071400Z/hosts/local/source/01_homelab-configs-worktree/reports/container-update-wave-20260619.md\",\"audit_label\":\"baseline:local/source\",\"bytes\":6626,\"kinds\":[\"coin_registry\"],\"path\":\"01_homelab-configs-worktree/reports/container-update-wave-20260619.md\",\"providers\":[],\"score\":12,\"sha256\":\"c50e024cb0d2e17fece62d048d6739b4b4e425095ce4b852d17a39bb0713b74c\",\"snippets\":[{\"line\":56,\"text\":\"| Wave 3 | immich_server | OK | NO | pg_dump, health/HTTP/assets/users/Docker/Kuma/daily OK |\"},{\"line\":62,\"text\":\"| Wave 3 | immich_postgres | OK | NO | pg_dump, pg_isready, assets/users, Immich HTTP OK |\"}],\"symbols\":{}}],\"roots_with_files\":3,\"symbols\":{\"ADA\":22,\"DOT\":10,\"LINK\":73,\"POL\":18,\"TRX\":4},\"total_files_scanned\":3725},\"changes_made\":false,\"command_id\":\"GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z\",\"decision\":\"READY_TO_BUILD_TRANSACTIONAL_AVAX_LINK_CHANGE\",\"gitea_changed\":false,\"live_audit_summaries\":[{\"avax_present\":false,\"files_scanned\":1181,\"git\":{\"branch\":\"main\",\"dirty\":false,\"head\":\"cfab5168f800d63eba1bc0f669427ff8fcd48006\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-configs.git\",\"top_level\":\"/root/homelab-configs-worktree\"},\"host\":\"pve01\",\"label\":\"live:/root/homelab-configs-worktree\",\"link_present\":true,\"providers\":{},\"root\":\"/root/homelab-configs-worktree\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{\"ADA\":22,\"DOT\":4,\"LINK\":55,\"TRX\":4},\"top_matches\":[{\"absolute_path\":\"/root/homelab-configs-worktree/reports/npmplus-api-certificate-endpoint-preflight-20260621.md\",\"audit_label\":\"live:/root/homelab-configs-worktree\",\"bytes\":528364,\"kinds\":[\"api\",\"coin_registry\"],\"path\":\"reports/npmplus-api-certificate-endpoint-preflight-20260621.md\",\"providers\":[],\"score\":31,\"sha256\":\"74cafb6f6a21b39aa9ab56df8b5f9e1f4c420b5ca36d178e8631cdbe98943b4a\",\"snippets\":[{\"line\":9,\"text\":\"Inspected local NPMplus API status and app code references to identify a supported certificate object creation path before remediating public routes with certificate_id=0.\"},{\"line\":18,\"text\":\"PURPOSE=FIND_SUPPORTED_CERT_OBJECT_CREATION_PATH\"}],\"symbols\":{\"ADA\":11,\"DOT\":4,\"LINK\":24}},{\"absolute_path\":\"/root/homelab-configs-worktree/reports/mkdocs-refresh-discovery-20260621.md\",\"audit_label\":\"live:/root/homelab-configs-worktree\",\"bytes\":504333,\"kinds\":[\"coin_registry\"],\"path\":\"reports/mkdocs-refresh-discovery-20260621.md\",\"providers\":[],\"score\":24,\"sha256\":\"d0cfc6d4e78171cadab7432e3cd5269ff03cc3a5632519cc03ec5acc5499d333\",\"snippets\":[{\"line\":239,\"text\":\"./reports/npmplus-api-certificate-endpoint-preflight-20260621.md:227:/app/frontend/assets/index-tlrv6MVo.js:878:`,no=new Map,ro=(e,t)=>{Ba(()=>{if(!e||typeof document>`u`)return;let n=document,r=no.get(n);if(r){t&&r.setAttribute(`nonce`,t);\"},{\"line\":378,\"text\":\"126: labels: '{__address__=\\\"[PRIVATE_IP]:8000\\\", __meta_docker_container_id=\\\"<REDACTED_HEX>\\\", __meta_docker_container_label_com_docker_compose_config_hash=\\\"<REDACTED_HEX>\\\", __meta_docker_container_label_com_docker_compose_container_number=\\\"1\\\",\"}],\"symbols\":{\"ADA\":11,\"LINK\":14}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/app-level-backup-decisions.md\",\"audit_label\":\"live:/root/homelab-configs-worktree\",\"bytes\":5089,\"kinds\":[\"coin_registry\"],\"path\":\"docs/app-level-backup-decisions.md\",\"providers\":[],\"score\":12,\"sha256\":\"dfef1bb11361739b2aef776c07788ef0151263b6553bf3adc45e2efea6a985fd\",\"snippets\":[{\"line\":31,\"text\":\"| Mealie | P2 | Protect later | Application DB/data and uploaded assets | Temporary restore with recipes visible | Personal data, but lower operational criticality |\"},{\"line\":75,\"text\":\"The required proof is not just media copy presence. The minimum acceptable proof is a same-window PostgreSQL dump plus media/library backup with a restore dry-run that proves the app can see the restored assets.\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/reports/container-update-wave-20260619.md\",\"audit_label\":\"live:/root/homelab-configs-worktree\",\"bytes\":6626,\"kinds\":[\"coin_registry\"],\"path\":\"reports/container-update-wave-20260619.md\",\"providers\":[],\"score\":12,\"sha256\":\"c50e024cb0d2e17fece62d048d6739b4b4e425095ce4b852d17a39bb0713b74c\",\"snippets\":[{\"line\":56,\"text\":\"| Wave 3 | immich_server | OK | NO | pg_dump, health/HTTP/assets/users/Docker/Kuma/daily OK |\"},{\"line\":62,\"text\":\"| Wave 3 | immich_postgres | OK | NO | pg_dump, pg_isready, assets/users, Immich HTTP OK |\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/runbooks/app-level-backup-decisions.md\",\"audit_label\":\"live:/root/homelab-configs-worktree\",\"bytes\":5089,\"kinds\":[\"coin_registry\"],\"path\":\"runbooks/app-level-backup-decisions.md\",\"providers\":[],\"score\":12,\"sha256\":\"dfef1bb11361739b2aef776c07788ef0151263b6553bf3adc45e2efea6a985fd\",\"snippets\":[{\"line\":31,\"text\":\"| Mealie | P2 | Protect later | Application DB/data and uploaded assets | Temporary restore with recipes visible | Personal data, but lower operational criticality |\"},{\"line\":75,\"text\":\"The required proof is not just media copy presence. The minimum acceptable proof is a same-window PostgreSQL dump plus media/library backup with a restore dry-run that proves the app can see the restored assets.\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/reports/base-os-package-cve-analysis-20260619.md\",\"audit_label\":\"live:/root/homelab-configs-worktree\",\"bytes\":44330,\"kinds\":[],\"path\":\"reports/base-os-package-cve-analysis-20260619.md\",\"providers\":[],\"score\":10,\"sha256\":\"9c554193dab1798af18df9a3de2e263ead881257040cc553b3551250174e7573\",\"snippets\":[{\"line\":47,\"text\":\"| `libcrypto3` | 26 | 2 | 24 |\"},{\"line\":127,\"text\":\"| `libcrypto3` | `3.5.7-r0` | 13 |\"}],\"symbols\":{}}]},{\"avax_present\":false,\"files_scanned\":723,\"git\":{\"branch\":\"main\",\"dirty\":false,\"head\":\"cfab5168f800d63eba1bc0f669427ff8fcd48006\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-configs.git\",\"top_level\":\"/root/homelab-configs-worktree\"},\"host\":\"pve01\",\"label\":\"live:/root/homelab-configs-worktree/docs\",\"link_present\":true,\"providers\":{},\"root\":\"/root/homelab-configs-worktree/docs\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{\"LINK\":9},\"top_matches\":[{\"absolute_path\":\"/root/homelab-configs-worktree/docs/app-level-backup-decisions.md\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs\",\"bytes\":5089,\"kinds\":[\"coin_registry\"],\"path\":\"app-level-backup-decisions.md\",\"providers\":[],\"score\":12,\"sha256\":\"dfef1bb11361739b2aef776c07788ef0151263b6553bf3adc45e2efea6a985fd\",\"snippets\":[{\"line\":31,\"text\":\"| Mealie | P2 | Protect later | Application DB/data and uploaded assets | Temporary restore with recipes visible | Personal data, but lower operational criticality |\"},{\"line\":75,\"text\":\"The required proof is not just media copy presence. The minimum acceptable proof is a same-window PostgreSQL dump plus media/library backup with a restore dry-run that proves the app can see the restored assets.\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-exposure-watch-route-review-final-close-20260625T213956Z.md\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs\",\"bytes\":3056,\"kinds\":[\"api\",\"frontend\"],\"path\":\"operations/p1-exposure-watch-route-review-final-close-20260625T213956Z.md\",\"providers\":[],\"score\":8,\"sha256\":\"01e028863ae1393613019df014131064b7feb1a8a98fb39f73d70967801a0062\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-exposure-watch-route-review-package-20260625T213727Z.json\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs\",\"bytes\":9460,\"kinds\":[\"api\",\"frontend\"],\"path\":\"operations/p1-exposure-watch-route-review-package-20260625T213727Z.json\",\"providers\":[],\"score\":8,\"sha256\":\"f8456d53676fee3304850b00408c0b814e174142dfa365459141e1969c355929\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-exposure-watch-route-review-package-20260625T213727Z.md\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs\",\"bytes\":6022,\"kinds\":[\"api\",\"frontend\"],\"path\":\"operations/p1-exposure-watch-route-review-package-20260625T213727Z.md\",\"providers\":[],\"score\":8,\"sha256\":\"366cd6d7cc670cf4b5ff41e0c29a6a36382512b5d4dcd9f8171df20481f0861c\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-router-sanitized-review-plan-20260625T201130Z.md\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs\",\"bytes\":2419,\"kinds\":[\"api\",\"frontend\"],\"path\":\"operations/p1-router-sanitized-review-plan-20260625T201130Z.md\",\"providers\":[],\"score\":8,\"sha256\":\"a9d0f4afaf9cbdc3d42bd261d6e7937c9bde95c9699b5212d0fbd7ca83ffbecd\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-homepage-service-catalog-model-20260625T155520Z.json\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs\",\"bytes\":9445,\"kinds\":[\"database\",\"frontend\"],\"path\":\"operations/p1-homepage-service-catalog-model-20260625T155520Z.json\",\"providers\":[],\"score\":7,\"sha256\":\"d711ec23a8b77eac5d29c4a90bda7244a389cd9776f2c616d139a45555a327f7\",\"snippets\":[],\"symbols\":{}}]},{\"avax_present\":false,\"files_scanned\":660,\"git\":{\"branch\":\"main\",\"dirty\":false,\"head\":\"cfab5168f800d63eba1bc0f669427ff8fcd48006\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-configs.git\",\"top_level\":\"/root/homelab-configs-worktree\"},\"host\":\"pve01\",\"label\":\"live:/root/homelab-configs-worktree/docs/operations\",\"link_present\":true,\"providers\":{},\"root\":\"/root/homelab-configs-worktree/docs/operations\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{\"LINK\":7},\"top_matches\":[{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-exposure-watch-route-review-final-close-20260625T213956Z.md\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs/operations\",\"bytes\":3056,\"kinds\":[\"api\",\"frontend\"],\"path\":\"p1-exposure-watch-route-review-final-close-20260625T213956Z.md\",\"providers\":[],\"score\":8,\"sha256\":\"01e028863ae1393613019df014131064b7feb1a8a98fb39f73d70967801a0062\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-exposure-watch-route-review-package-20260625T213727Z.json\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs/operations\",\"bytes\":9460,\"kinds\":[\"api\",\"frontend\"],\"path\":\"p1-exposure-watch-route-review-package-20260625T213727Z.json\",\"providers\":[],\"score\":8,\"sha256\":\"f8456d53676fee3304850b00408c0b814e174142dfa365459141e1969c355929\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-exposure-watch-route-review-package-20260625T213727Z.md\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs/operations\",\"bytes\":6022,\"kinds\":[\"api\",\"frontend\"],\"path\":\"p1-exposure-watch-route-review-package-20260625T213727Z.md\",\"providers\":[],\"score\":8,\"sha256\":\"366cd6d7cc670cf4b5ff41e0c29a6a36382512b5d4dcd9f8171df20481f0861c\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-router-sanitized-review-plan-20260625T201130Z.md\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs/operations\",\"bytes\":2419,\"kinds\":[\"api\",\"frontend\"],\"path\":\"p1-router-sanitized-review-plan-20260625T201130Z.md\",\"providers\":[],\"score\":8,\"sha256\":\"a9d0f4afaf9cbdc3d42bd261d6e7937c9bde95c9699b5212d0fbd7ca83ffbecd\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-homepage-service-catalog-model-20260625T155520Z.json\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs/operations\",\"bytes\":9445,\"kinds\":[\"database\",\"frontend\"],\"path\":\"p1-homepage-service-catalog-model-20260625T155520Z.json\",\"providers\":[],\"score\":7,\"sha256\":\"d711ec23a8b77eac5d29c4a90bda7244a389cd9776f2c616d139a45555a327f7\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-configs-worktree/docs/operations/p1-homepage-service-catalog-model-20260625T155520Z.md\",\"audit_label\":\"live:/root/homelab-configs-worktree/docs/operations\",\"bytes\":2753,\"kinds\":[\"database\",\"frontend\"],\"path\":\"p1-homepage-service-catalog-model-20260625T155520Z.md\",\"providers\":[],\"score\":7,\"sha256\":\"e39d1091562fe09ab14630905571e054d6477379ad46f4b48cae888bc89478ae\",\"snippets\":[],\"symbols\":{}}]},{\"avax_present\":false,\"files_scanned\":682,\"git\":{\"branch\":\"master\",\"dirty\":false,\"head\":\"173b61c40ec2584ac14da018311b15729b86c611\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-desired-state.git\",\"top_level\":\"/srv/homelab-desired-state\"},\"host\":\"pve01\",\"label\":\"live:/srv/homelab-desired-state\",\"link_present\":true,\"providers\":{},\"root\":\"/srv/homelab-desired-state\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{\"DOT\":3,\"LINK\":1,\"POL\":9},\"top_matches\":[{\"absolute_path\":\"/srv/homelab-desired-state/health/crypto-portfolio-remove-grt-browser-smoke.txt\",\"audit_label\":\"live:/srv/homelab-desired-state\",\"bytes\":1724,\"kinds\":[\"coin_registry\"],\"path\":\"health/crypto-portfolio-remove-grt-browser-smoke.txt\",\"providers\":[],\"score\":13,\"sha256\":\"0ec07f2df3d2acd4e02a3c884b1bf75885ac24995516c5a4657da1ef99cf5963\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T04:52:06Z TYPE=crypto-portfolio-remove-grt-browser-smoke BAD=0 COMMAND_PHYSICAL_LINES=1 PREVIOUS_FAILURE=CORRECTED PREVIOUS_FAILURE_ROOT_CAUSE=OPTIONAL_XXD_DEPENDENCY_MISSING_WITH_STDERR_SUPPRESSED BROWSER_RERUN=NO E\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/srv/homelab-desired-state/health/crypto-portfolio-remove-grt-production-apply.txt\",\"audit_label\":\"live:/srv/homelab-desired-state\",\"bytes\":1640,\"kinds\":[\"coin_registry\"],\"path\":\"health/crypto-portfolio-remove-grt-production-apply.txt\",\"providers\":[],\"score\":13,\"sha256\":\"c52b04528dc67a5502c297f32c3a0d6812cdc8801d6725905a5957cadc38c5ea\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T05:47:54Z TYPE=crypto-portfolio-remove-grt-production-apply BAD=0 COMMAND_PHYSICAL_LINES=1 APPLY_REVISION=V3 FIX_UID_READONLY=YES FIX_READINESS_ENDPOINT=YES FIX_ROLLBACK_DATABASE_METADATA=YES PRODUCTION_CHANGED=YES_R\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/srv/homelab-desired-state/health/crypto-portfolio-remove-grt-runtime-dry-run.txt\",\"audit_label\":\"live:/srv/homelab-desired-state\",\"bytes\":1497,\"kinds\":[\"coin_registry\"],\"path\":\"health/crypto-portfolio-remove-grt-runtime-dry-run.txt\",\"providers\":[],\"score\":13,\"sha256\":\"2fb9cadb78f74a3fcebf23b9f623716c6ef023d253ee4a9d8e6ae8ac876e7892\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T04:41:24Z TYPE=crypto-portfolio-remove-grt-runtime-dry-run BAD=0 COMMAND_PHYSICAL_LINES=1 VERIFIER_REVISION=V3 ANALYSIS_SOURCES=FULL_CHAT_CRYPTO_HANDOFF_CLUSTER_REFERENCE_ERROR_HISTORY PRODUCTION_CHANGED=NO PRODUCTIO\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/srv/homelab-desired-state/app-states/latest-crypto-portfolio.json\",\"audit_label\":\"live:/srv/homelab-desired-state\",\"bytes\":1138,\"kinds\":[\"test\"],\"path\":\"app-states/latest-crypto-portfolio.json\",\"providers\":[],\"score\":12,\"sha256\":\"a1265d4a6312fd1b709f33799ccfa02f89fd2a476ee32dd1bd16f2a165ed2805\",\"snippets\":[{\"line\":2,\"text\":\"\\\"app\\\": \\\"crypto-portfolio\\\",\"},{\"line\":6,\"text\":\"\\\"core-apps:/opt/stacks/crypto-portfolio\\\"\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-desired-state/health/crypto-portfolio-chart-health.txt\",\"audit_label\":\"live:/srv/homelab-desired-state\",\"bytes\":139,\"kinds\":[\"coin_registry\"],\"path\":\"health/crypto-portfolio-chart-health.txt\",\"providers\":[],\"score\":10,\"sha256\":\"69f05461ce0e44cf2595a2357d367e5a2d905f930e6fcf53f9979d03ed847018\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-31T04:50:57Z TYPE=crypto-portfolio-chart-health BAD=0 LIBRARY_OK=true DISK_CACHE_PRESENT=true SYMBOLS=2 STALE_COUNT=2\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-desired-state/health/xenforo-branding-rollout.txt\",\"audit_label\":\"live:/srv/homelab-desired-state\",\"bytes\":202,\"kinds\":[\"coin_registry\"],\"path\":\"health/xenforo-branding-rollout.txt\",\"providers\":[],\"score\":10,\"sha256\":\"f8ef93393c5d51c604e2adb907f331d1b070ce0cad08811d79bbe155de7bb7fe\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-16T09:14:29Z TYPE=xenforo-branding TASK=xenforo-branding-rollout-v3 FORUM_COUNT=5 BRAND_FILES=35 DATABASE_CHANGED=NO TEMPLATE_CHANGED=NO STYLE_CHANGED=NO PUBLIC_ASSETS_VERIFIED=YES\"}],\"symbols\":{}}]},{\"avax_present\":false,\"files_scanned\":488,\"git\":{\"branch\":\"master\",\"dirty\":false,\"head\":\"173b61c40ec2584ac14da018311b15729b86c611\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-desired-state.git\",\"top_level\":\"/srv/homelab-desired-state\"},\"host\":\"pve01\",\"label\":\"live:/srv/homelab-desired-state/health\",\"link_present\":true,\"providers\":{},\"root\":\"/srv/homelab-desired-state/health\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{\"DOT\":3,\"LINK\":1,\"POL\":9},\"top_matches\":[{\"absolute_path\":\"/srv/homelab-desired-state/health/crypto-portfolio-remove-grt-browser-smoke.txt\",\"audit_label\":\"live:/srv/homelab-desired-state/health\",\"bytes\":1724,\"kinds\":[\"coin_registry\"],\"path\":\"crypto-portfolio-remove-grt-browser-smoke.txt\",\"providers\":[],\"score\":13,\"sha256\":\"0ec07f2df3d2acd4e02a3c884b1bf75885ac24995516c5a4657da1ef99cf5963\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T04:52:06Z TYPE=crypto-portfolio-remove-grt-browser-smoke BAD=0 COMMAND_PHYSICAL_LINES=1 PREVIOUS_FAILURE=CORRECTED PREVIOUS_FAILURE_ROOT_CAUSE=OPTIONAL_XXD_DEPENDENCY_MISSING_WITH_STDERR_SUPPRESSED BROWSER_RERUN=NO E\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/srv/homelab-desired-state/health/crypto-portfolio-remove-grt-production-apply.txt\",\"audit_label\":\"live:/srv/homelab-desired-state/health\",\"bytes\":1640,\"kinds\":[\"coin_registry\"],\"path\":\"crypto-portfolio-remove-grt-production-apply.txt\",\"providers\":[],\"score\":13,\"sha256\":\"c52b04528dc67a5502c297f32c3a0d6812cdc8801d6725905a5957cadc38c5ea\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T05:47:54Z TYPE=crypto-portfolio-remove-grt-production-apply BAD=0 COMMAND_PHYSICAL_LINES=1 APPLY_REVISION=V3 FIX_UID_READONLY=YES FIX_READINESS_ENDPOINT=YES FIX_ROLLBACK_DATABASE_METADATA=YES PRODUCTION_CHANGED=YES_R\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/srv/homelab-desired-state/health/crypto-portfolio-remove-grt-runtime-dry-run.txt\",\"audit_label\":\"live:/srv/homelab-desired-state/health\",\"bytes\":1497,\"kinds\":[\"coin_registry\"],\"path\":\"crypto-portfolio-remove-grt-runtime-dry-run.txt\",\"providers\":[],\"score\":13,\"sha256\":\"2fb9cadb78f74a3fcebf23b9f623716c6ef023d253ee4a9d8e6ae8ac876e7892\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T04:41:24Z TYPE=crypto-portfolio-remove-grt-runtime-dry-run BAD=0 COMMAND_PHYSICAL_LINES=1 VERIFIER_REVISION=V3 ANALYSIS_SOURCES=FULL_CHAT_CRYPTO_HANDOFF_CLUSTER_REFERENCE_ERROR_HISTORY PRODUCTION_CHANGED=NO PRODUCTIO\"}],\"symbols\":{\"POL\":2}},{\"absolute_path\":\"/srv/homelab-desired-state/health/crypto-portfolio-chart-health.txt\",\"audit_label\":\"live:/srv/homelab-desired-state/health\",\"bytes\":139,\"kinds\":[\"coin_registry\"],\"path\":\"crypto-portfolio-chart-health.txt\",\"providers\":[],\"score\":10,\"sha256\":\"69f05461ce0e44cf2595a2357d367e5a2d905f930e6fcf53f9979d03ed847018\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-31T04:50:57Z TYPE=crypto-portfolio-chart-health BAD=0 LIBRARY_OK=true DISK_CACHE_PRESENT=true SYMBOLS=2 STALE_COUNT=2\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-desired-state/health/xenforo-branding-rollout.txt\",\"audit_label\":\"live:/srv/homelab-desired-state/health\",\"bytes\":202,\"kinds\":[\"coin_registry\"],\"path\":\"xenforo-branding-rollout.txt\",\"providers\":[],\"score\":10,\"sha256\":\"f8ef93393c5d51c604e2adb907f331d1b070ce0cad08811d79bbe155de7bb7fe\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-16T09:14:29Z TYPE=xenforo-branding TASK=xenforo-branding-rollout-v3 FORUM_COUNT=5 BRAND_FILES=35 DATABASE_CHANGED=NO TEMPLATE_CHANGED=NO STYLE_CHANGED=NO PUBLIC_ASSETS_VERIFIED=YES\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-desired-state/health/crypto-portfolio-ui-center-alert-currency-final-seal.txt\",\"audit_label\":\"live:/srv/homelab-desired-state/health\",\"bytes\":1407,\"kinds\":[\"frontend\"],\"path\":\"crypto-portfolio-ui-center-alert-currency-final-seal.txt\",\"providers\":[],\"score\":9,\"sha256\":\"27b8fcc222008229d43140d44d290ed811365508bb9a193ae65fdf3958e4d8c8\",\"snippets\":[{\"line\":1,\"text\":\"STATUS=OK TS=2026-07-13T08:37:54Z TYPE=crypto-portfolio-ui-center-alert-currency-final-seal BAD=0 DANGLING_IMAGE_REFERENCE_GATE=OK DESIRED_STATE_SYNC_ARTIFACT_GATE=OK APP=crypto-portfolio PRODUCTION_CHANGED=NO_FINAL_SEAL_ONLY APP_SHA256=<RE\"}],\"symbols\":{\"POL\":1}}]},{\"avax_present\":false,\"files_scanned\":136,\"git\":{\"branch\":\"cr-2026-0017-inventory-foundation\",\"dirty\":false,\"head\":\"1c20ac860cbdd2ca7a05ef63d7011ac5937a7e17\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-ops.git\",\"top_level\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\"},\"host\":\"pve01\",\"label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"link_present\":true,\"providers\":{},\"root\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{\"LINK\":3},\"top_matches\":[{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0006_vm160_task.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"bytes\":6046,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0006_vm160_task.py\",\"providers\":[],\"score\":20,\"sha256\":\"4bb8fce2c5f007cf9768381bd4f1eafc8f208da36170e684047e6bad2c670bc2\",\"snippets\":[{\"line\":31,\"text\":\"files = sorted((TASK / \\\"phases\\\").glob(\\\"*.sh\\\")) + [TASK / \\\"assets/vm160-cloud-quorum-worker.sh\\\", TASK / \\\"assets/pve02-vm160-preflight-probe.sh\\\", TASK / \\\"assets/homelab-vm160-remote-backup\\\"]\"},{\"line\":36,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0007_skladchik_reauth.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"bytes\":4660,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_reauth.py\",\"providers\":[],\"score\":20,\"sha256\":\"9ba7ca8494a22e83bba5479a3a647eb96abaef45ada1b08fa7432f03a64b1765\",\"snippets\":[{\"line\":33,\"text\":\"relative.update(f\\\"assets/pve01/{name}\\\" for name in PVE_NAMES)\"},{\"line\":46,\"text\":\"paths += sorted((TASK / \\\"assets\\\").glob(\\\"*.sh\\\"))\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"bytes\":6711,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"providers\":[],\"score\":20,\"sha256\":\"cfddf97b92b1ce351e733c159aadfccd21193fb0d67b5312fb93aed05e45fd6f\",\"snippets\":[{\"line\":12,\"text\":\"PVE = TASK / \\\"assets/pve01\\\"\"},{\"line\":13,\"text\":\"EDGE = TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\"\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"bytes\":3549,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0008_skladchik_snapshot_integrity.py\",\"providers\":[],\"score\":20,\"sha256\":\"e868d8397e1a79f8cc7b37a91c4a0da84d041da04ba6ea9d8e10853de3464fc9\",\"snippets\":[{\"line\":30,\"text\":\"edge_prepare = (TASK / \\\"assets/edge-prepare.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":32,\"text\":\"edge_dry = (TASK / \\\"assets/edge-dry-run.sh\\\").read_text(encoding=\\\"utf-8\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0009_skladchik_concurrency_guard.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"bytes\":8942,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0009_skladchik_concurrency_guard.py\",\"providers\":[],\"score\":20,\"sha256\":\"0fe7182cb281e8ad5487f1c5f73f0230971a5027ae44c5ee0f0c6a5d10f8e513\",\"snippets\":[{\"line\":16,\"text\":\"class SkladchikConcurrencyGuardTests(unittest.TestCase):\"},{\"line\":21,\"text\":\"source = (TASK / \\\"assets/edge-preflight.sh\\\").read_text(encoding=\\\"utf-8\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/errors/regression-cases.json\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"bytes\":32948,\"kinds\":[\"coin_registry\"],\"path\":\"errors/regression-cases.json\",\"providers\":[],\"score\":18,\"sha256\":\"3e79648b565bad680dbafbda376155ce48e74bd9deaeda58b3425906ac025ab0\",\"snippets\":[{\"line\":37,\"text\":\"\\\"required_control\\\": \\\"Set the bare repository symbolic HEAD to refs/heads/main and clone main explicitly.\\\",\"},{\"line\":54,\"text\":\"\\\"incident\\\": \\\"install -m attempted chmod semantics unsupported by pmxcfs.\\\",\"}],\"symbols\":{}}]},{\"avax_present\":false,\"files_scanned\":9,\"git\":{\"branch\":\"master\",\"dirty\":false,\"head\":\"173b61c40ec2584ac14da018311b15729b86c611\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-desired-state.git\",\"top_level\":\"/srv/homelab-desired-state\"},\"host\":\"pve01\",\"label\":\"live:/srv/homelab-desired-state/sbin\",\"link_present\":false,\"providers\":{},\"root\":\"/srv/homelab-desired-state/sbin\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{},\"top_matches\":[{\"absolute_path\":\"/srv/homelab-desired-state/sbin/homelab-rclone-required-check.sh\",\"audit_label\":\"live:/srv/homelab-desired-state/sbin\",\"bytes\":1035,\"kinds\":[\"frontend\"],\"path\":\"homelab-rclone-required-check.sh\",\"providers\":[],\"score\":4,\"sha256\":\"bca15ae3f67dd2d9ef5aa04a2270f7ec7de45b9f99f39ff72288df183d884cf4\",\"snippets\":[],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-desired-state/sbin/homelab-docker-health.sh\",\"audit_label\":\"live:/srv/homelab-desired-state/sbin\",\"bytes\":3218,\"kinds\":[\"deployment\"],\"path\":\"homelab-docker-health.sh\",\"providers\":[],\"score\":0,\"sha256\":\"1e1e1b38d4cd741df3b1b8f31e0d5398fad92068fb51f4b1967b3be862132ca0\",\"snippets\":[],\"symbols\":{}}]},{\"avax_present\":false,\"files_scanned\":105,\"git\":{\"branch\":\"cr-2026-0015-pve03-r8152-rx-ring-canary\",\"dirty\":false,\"head\":\"60f53ea6fe6724196802a46de3de19c7889a51cc\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-ops.git\",\"top_level\":\"/srv/homelab-ops-worktrees/cr-2026-0015\"},\"host\":\"pve01\",\"label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"link_present\":true,\"providers\":{},\"root\":\"/srv/homelab-ops-worktrees/cr-2026-0015\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{\"LINK\":45},\"top_matches\":[{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0015_pve03_r8152_rx_ring_canary.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":13506,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0015_pve03_r8152_rx_ring_canary.py\",\"providers\":[],\"score\":23,\"sha256\":\"91b7a0a01b0eaa1db6a726eb8b009726e75bad5e11959be9494d82c5b5bf00df\",\"snippets\":[{\"line\":10,\"text\":\"REMOTE = TASK / \\\"assets\\\" / \\\"pve03-r8152-rx-ring-canary.sh\\\"\"},{\"line\":23,\"text\":\"def test_01_shell_syntax_and_declared_remote_asset(self) -> None:\"}],\"symbols\":{\"LINK\":6}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/errors/regression-cases.json\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":38408,\"kinds\":[\"coin_registry\"],\"path\":\"errors/regression-cases.json\",\"providers\":[],\"score\":21,\"sha256\":\"07c9854ab0232d1f2766cdab114d0d398a4dcc1a5b41ea7fde77646e5f42804e\",\"snippets\":[{\"line\":37,\"text\":\"\\\"required_control\\\": \\\"Set the bare repository symbolic HEAD to refs/heads/main and clone main explicitly.\\\",\"},{\"line\":54,\"text\":\"\\\"incident\\\": \\\"install -m attempted chmod semantics unsupported by pmxcfs.\\\",\"}],\"symbols\":{\"LINK\":11}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tasks/pve03-r8152-rx-ring-canary-v1/task.json\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":7694,\"kinds\":[\"coin_registry\"],\"path\":\"tasks/pve03-r8152-rx-ring-canary-v1/task.json\",\"providers\":[],\"score\":21,\"sha256\":\"c5f36cd51d38da66d5c2e517ff850f996b04b4be4ee9a5529f991687bb7bb429\",\"snippets\":[{\"line\":138,\"text\":\"\\\"REG-062-RX-RING-AUTO-ROLLBACK-ON-LINK-OR-QUORUM-FAILURE\\\",\"},{\"line\":139,\"text\":\"\\\"REG-063-RX-RING-CANARY-SURVIVES-SSH-LINK-LOSS\\\",\"}],\"symbols\":{\"LINK\":4}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0006_vm160_task.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":6046,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0006_vm160_task.py\",\"providers\":[],\"score\":20,\"sha256\":\"4bb8fce2c5f007cf9768381bd4f1eafc8f208da36170e684047e6bad2c670bc2\",\"snippets\":[{\"line\":31,\"text\":\"files = sorted((TASK / \\\"phases\\\").glob(\\\"*.sh\\\")) + [TASK / \\\"assets/vm160-cloud-quorum-worker.sh\\\", TASK / \\\"assets/pve02-vm160-preflight-probe.sh\\\", TASK / \\\"assets/homelab-vm160-remote-backup\\\"]\"},{\"line\":36,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0007_skladchik_reauth.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":4660,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_reauth.py\",\"providers\":[],\"score\":20,\"sha256\":\"9ba7ca8494a22e83bba5479a3a647eb96abaef45ada1b08fa7432f03a64b1765\",\"snippets\":[{\"line\":33,\"text\":\"relative.update(f\\\"assets/pve01/{name}\\\" for name in PVE_NAMES)\"},{\"line\":46,\"text\":\"paths += sorted((TASK / \\\"assets\\\").glob(\\\"*.sh\\\"))\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":6711,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"providers\":[],\"score\":20,\"sha256\":\"cfddf97b92b1ce351e733c159aadfccd21193fb0d67b5312fb93aed05e45fd6f\",\"snippets\":[{\"line\":12,\"text\":\"PVE = TASK / \\\"assets/pve01\\\"\"},{\"line\":13,\"text\":\"EDGE = TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\"\"}],\"symbols\":{}}]},{\"avax_present\":false,\"files_scanned\":70,\"git\":{\"branch\":\"cr-2026-0004-backup-tail-closure\",\"dirty\":true,\"head\":\"bf80410f592f8eb9eaa80695f609870fe3fb85fd\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-ops.git\",\"top_level\":\"/root/homelab-ops-cr-2026-0004\"},\"host\":\"pve01\",\"label\":\"live:/root/homelab-ops-cr-2026-0004\",\"link_present\":true,\"providers\":{},\"root\":\"/root/homelab-ops-cr-2026-0004\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{\"DOT\":6,\"LINK\":30},\"top_matches\":[{\"absolute_path\":\"/root/homelab-ops-cr-2026-0004/tasks/homelab-backup-tail-closure-v1/phases/apply.sh\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0004\",\"bytes\":6806,\"kinds\":[\"coin_registry\"],\"path\":\"tasks/homelab-backup-tail-closure-v1/phases/apply.sh\",\"providers\":[],\"score\":18,\"sha256\":\"1c713b76c5bb4282d0dfe2c5d18143bfff8a2817089d1b960c4eac333a922fd0\",\"snippets\":[{\"line\":11,\"text\":\"pve02(){ ssh \\\"${SSH_BASE[@]}\\\" root@[PRIVATE_IP] bash -s -- \\\"$@\\\" < \\\"$HOMELAB_TASK_DIR/assets/pve02-worker.sh\\\"; }\"},{\"line\":12,\"text\":\"pve03(){ ssh \\\"${SSH_BASE[@]}\\\" root@[PRIVATE_IP] bash -s -- \\\"$@\\\" < \\\"$HOMELAB_TASK_DIR/assets/pve03-worker.sh\\\"; }\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0004/tasks/homelab-full-handoff-recovery-v1/phases/apply.sh\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0004\",\"bytes\":2355,\"kinds\":[\"coin_registry\"],\"path\":\"tasks/homelab-full-handoff-recovery-v1/phases/apply.sh\",\"providers\":[],\"score\":18,\"sha256\":\"83d9fe06de17f1c3e91525905db74b426a7ab81452e84f0a30f5c8b8f70cebe7\",\"snippets\":[{\"line\":11,\"text\":\"cat \\\"$PKG/assets/HOMELAB_FULL_HANDOFF_CURRENT_2026-07-10.md\\\" > /etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\"},{\"line\":12,\"text\":\"cmp -s \\\"$PKG/assets/HOMELAB_FULL_HANDOFF_CURRENT_2026-07-10.md\\\" /etc/pve/HOMELAB_FULL_HANDOFF_CURRENT.md\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0004/tasks/homelab-backup-tail-closure-v1/task.json\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0004\",\"bytes\":8432,\"kinds\":[\"coin_registry\"],\"path\":\"tasks/homelab-backup-tail-closure-v1/task.json\",\"providers\":[],\"score\":16,\"sha256\":\"7747f19466e5bcd8fafebffa10c83a16ad43f172f66aad0135d91f073d064b32\",\"snippets\":[{\"line\":185,\"text\":\"\\\"assets/homelab-vm160-remote-backup\\\",\"},{\"line\":186,\"text\":\"\\\"assets/pve02-worker.sh\\\",\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0004/tasks/homelab-backup-tail-closure-v1/phases/dry-run.sh\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0004\",\"bytes\":3348,\"kinds\":[\"coin_registry\"],\"path\":\"tasks/homelab-backup-tail-closure-v1/phases/dry-run.sh\",\"providers\":[],\"score\":12,\"sha256\":\"ac4c4149c7539e6ff72599c660dbea9ecb694e22f6c202b35b27ab1c25472f06\",\"snippets\":[{\"line\":11,\"text\":\"pve02(){ ssh \\\"${SSH_BASE[@]}\\\" root@[PRIVATE_IP] bash -s -- \\\"$@\\\" < \\\"$HOMELAB_TASK_DIR/assets/pve02-worker.sh\\\"; }\"},{\"line\":12,\"text\":\"pve03(){ ssh \\\"${SSH_BASE[@]}\\\" root@[PRIVATE_IP] bash -s -- \\\"$@\\\" < \\\"$HOMELAB_TASK_DIR/assets/pve03-worker.sh\\\"; }\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0004/tasks/homelab-backup-tail-closure-v1/phases/preflight.sh\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0004\",\"bytes\":4245,\"kinds\":[\"coin_registry\"],\"path\":\"tasks/homelab-backup-tail-closure-v1/phases/preflight.sh\",\"providers\":[],\"score\":12,\"sha256\":\"c92d6fe583502b188482c2a07264aff7d4bc946ff5f66b60846f3679e02c0ea3\",\"snippets\":[{\"line\":11,\"text\":\"pve02(){ ssh \\\"${SSH_BASE[@]}\\\" root@[PRIVATE_IP] bash -s -- \\\"$@\\\" < \\\"$HOMELAB_TASK_DIR/assets/pve02-worker.sh\\\"; }\"},{\"line\":12,\"text\":\"pve03(){ ssh \\\"${SSH_BASE[@]}\\\" root@[PRIVATE_IP] bash -s -- \\\"$@\\\" < \\\"$HOMELAB_TASK_DIR/assets/pve03-worker.sh\\\"; }\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0004/tasks/homelab-backup-tail-closure-v1/phases/prepare.sh\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0004\",\"bytes\":2617,\"kinds\":[\"coin_registry\"],\"path\":\"tasks/homelab-backup-tail-closure-v1/phases/prepare.sh\",\"providers\":[],\"score\":12,\"sha256\":\"37871a80d9cbd5554d31557d409af19c2b634fe19b8a967e47de481a189922ff\",\"snippets\":[{\"line\":11,\"text\":\"pve02(){ ssh \\\"${SSH_BASE[@]}\\\" root@[PRIVATE_IP] bash -s -- \\\"$@\\\" < \\\"$HOMELAB_TASK_DIR/assets/pve02-worker.sh\\\"; }\"},{\"line\":12,\"text\":\"pve03(){ ssh \\\"${SSH_BASE[@]}\\\" root@[PRIVATE_IP] bash -s -- \\\"$@\\\" < \\\"$HOMELAB_TASK_DIR/assets/pve03-worker.sh\\\"; }\"}],\"symbols\":{}}]},{\"avax_present\":false,\"files_scanned\":87,\"git\":{\"branch\":\"cr-2026-0012-skladchik-cookie-refresh-runbook\",\"dirty\":false,\"head\":\"f5b22d867ea467987008408e3fb1fb0e17fa7b2e\",\"origin\":\"https://git.gram1.ru/homelab-admin/homelab-ops.git\",\"top_level\":\"/root/homelab-ops-cr-2026-0012\"},\"host\":\"pve01\",\"label\":\"live:/root/homelab-ops-cr-2026-0012\",\"link_present\":true,\"providers\":{},\"root\":\"/root/homelab-ops-cr-2026-0012\",\"root_exists\":true,\"ssh_target\":null,\"symbols\":{\"LINK\":3},\"top_matches\":[{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0006_vm160_task.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":6046,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0006_vm160_task.py\",\"providers\":[],\"score\":20,\"sha256\":\"4bb8fce2c5f007cf9768381bd4f1eafc8f208da36170e684047e6bad2c670bc2\",\"snippets\":[{\"line\":31,\"text\":\"files = sorted((TASK / \\\"phases\\\").glob(\\\"*.sh\\\")) + [TASK / \\\"assets/vm160-cloud-quorum-worker.sh\\\", TASK / \\\"assets/pve02-vm160-preflight-probe.sh\\\", TASK / \\\"assets/homelab-vm160-remote-backup\\\"]\"},{\"line\":36,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0007_skladchik_reauth.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":4660,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_reauth.py\",\"providers\":[],\"score\":20,\"sha256\":\"9ba7ca8494a22e83bba5479a3a647eb96abaef45ada1b08fa7432f03a64b1765\",\"snippets\":[{\"line\":33,\"text\":\"relative.update(f\\\"assets/pve01/{name}\\\" for name in PVE_NAMES)\"},{\"line\":46,\"text\":\"paths += sorted((TASK / \\\"assets\\\").glob(\\\"*.sh\\\"))\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":6711,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"providers\":[],\"score\":20,\"sha256\":\"cfddf97b92b1ce351e733c159aadfccd21193fb0d67b5312fb93aed05e45fd6f\",\"snippets\":[{\"line\":12,\"text\":\"PVE = TASK / \\\"assets/pve01\\\"\"},{\"line\":13,\"text\":\"EDGE = TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\"\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":3549,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0008_skladchik_snapshot_integrity.py\",\"providers\":[],\"score\":20,\"sha256\":\"e868d8397e1a79f8cc7b37a91c4a0da84d041da04ba6ea9d8e10853de3464fc9\",\"snippets\":[{\"line\":30,\"text\":\"edge_prepare = (TASK / \\\"assets/edge-prepare.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":32,\"text\":\"edge_dry = (TASK / \\\"assets/edge-dry-run.sh\\\").read_text(encoding=\\\"utf-8\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0009_skladchik_concurrency_guard.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":8942,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0009_skladchik_concurrency_guard.py\",\"providers\":[],\"score\":20,\"sha256\":\"0fe7182cb281e8ad5487f1c5f73f0230971a5027ae44c5ee0f0c6a5d10f8e513\",\"snippets\":[{\"line\":16,\"text\":\"class SkladchikConcurrencyGuardTests(unittest.TestCase):\"},{\"line\":21,\"text\":\"source = (TASK / \\\"assets/edge-preflight.sh\\\").read_text(encoding=\\\"utf-8\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/errors/regression-cases.json\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":26500,\"kinds\":[\"coin_registry\"],\"path\":\"errors/regression-cases.json\",\"providers\":[],\"score\":18,\"sha256\":\"5dab56a2e73e4a3582d4792b91a0c803d485e68b40791bc456315748b15490a0\",\"snippets\":[{\"line\":37,\"text\":\"\\\"required_control\\\": \\\"Set the bare repository symbolic HEAD to refs/heads/main and clone main explicitly.\\\",\"},{\"line\":54,\"text\":\"\\\"incident\\\": \\\"install -m attempted chmod semantics unsupported by pmxcfs.\\\",\"}],\"symbols\":{}}]}],\"live_evidence\":{\"audit_count\":10,\"avax_present\":false,\"link_present\":true,\"providers\":{},\"ranked_change_files\":[{\"absolute_path\":\"/root/homelab-configs-worktree/reports/npmplus-api-certificate-endpoint-preflight-20260621.md\",\"audit_label\":\"live:/root/homelab-configs-worktree\",\"bytes\":528364,\"kinds\":[\"api\",\"coin_registry\"],\"path\":\"reports/npmplus-api-certificate-endpoint-preflight-20260621.md\",\"providers\":[],\"score\":31,\"sha256\":\"74cafb6f6a21b39aa9ab56df8b5f9e1f4c420b5ca36d178e8631cdbe98943b4a\",\"snippets\":[{\"line\":9,\"text\":\"Inspected local NPMplus API status and app code references to identify a supported certificate object creation path before remediating public routes with certificate_id=0.\"},{\"line\":18,\"text\":\"PURPOSE=FIND_SUPPORTED_CERT_OBJECT_CREATION_PATH\"},{\"line\":227,\"text\":\"/app/frontend/assets/index-tlrv6MVo.js:878:`,no=new Map,ro=(e,t)=>{Ba(()=>{if(!e||typeof document>`u`)return;let n=document,r=no.get(n);if(r){t&&r.setAttribute(`nonce`,t);return}let i=n.createElement(`style`);i.textContent=e,t&&i.setAttribu\"},{\"line\":253,\"text\":\"/app/frontend/assets/index-tlrv6MVo.js:908:`,position:{start:{line:l+u,column:1},end:{line:l+u,column:1}}})}return l+=i,t}if(Object.prototype.hasOwnProperty.call(n,`children`)){var f=l;return n.children=e(n.children),t.push(n),n.position={s\"}],\"symbols\":{\"ADA\":11,\"DOT\":4,\"LINK\":24}},{\"absolute_path\":\"/root/homelab-configs-worktree/reports/mkdocs-refresh-discovery-20260621.md\",\"audit_label\":\"live:/root/homelab-configs-worktree\",\"bytes\":504333,\"kinds\":[\"coin_registry\"],\"path\":\"reports/mkdocs-refresh-discovery-20260621.md\",\"providers\":[],\"score\":24,\"sha256\":\"d0cfc6d4e78171cadab7432e3cd5269ff03cc3a5632519cc03ec5acc5499d333\",\"snippets\":[{\"line\":239,\"text\":\"./reports/npmplus-api-certificate-endpoint-preflight-20260621.md:227:/app/frontend/assets/index-tlrv6MVo.js:878:`,no=new Map,ro=(e,t)=>{Ba(()=>{if(!e||typeof document>`u`)return;let n=document,r=no.get(n);if(r){t&&r.setAttribute(`nonce`,t);\"},{\"line\":378,\"text\":\"126: labels: '{__address__=\\\"[PRIVATE_IP]:8000\\\", __meta_docker_container_id=\\\"<REDACTED_HEX>\\\", __meta_docker_container_label_com_docker_compose_config_hash=\\\"<REDACTED_HEX>\\\", __meta_docker_container_label_com_docker_compose_container_number=\\\"1\\\",\"},{\"line\":458,\"text\":\"/app/node_modules/knex/lib/knex-builder/internal/config-resolver.js:33: `knex: Unknown configuration option 'client' value ${clientName}. Note that it is case-sensitive, check documentation for supported values.`\"},{\"line\":469,\"text\":\"/app/node_modules/jsonwebtoken/README.md:37:encoded private key for RSA and ECDSA. In case of a private key with passphrase an object `{ key, passphrase }` can be used (based on [crypto documentation](https://nodejs.org/api/crypto.html#cryp\"}],\"symbols\":{\"ADA\":11,\"LINK\":14}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0015_pve03_r8152_rx_ring_canary.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":13506,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0015_pve03_r8152_rx_ring_canary.py\",\"providers\":[],\"score\":23,\"sha256\":\"91b7a0a01b0eaa1db6a726eb8b009726e75bad5e11959be9494d82c5b5bf00df\",\"snippets\":[{\"line\":10,\"text\":\"REMOTE = TASK / \\\"assets\\\" / \\\"pve03-r8152-rx-ring-canary.sh\\\"\"},{\"line\":23,\"text\":\"def test_01_shell_syntax_and_declared_remote_asset(self) -> None:\"},{\"line\":26,\"text\":\"self.assertEqual(self.contract[\\\"remote_scripts\\\"], [\\\"assets/pve03-r8152-rx-ring-canary.sh\\\"])\"},{\"line\":36,\"text\":\"self.assertTrue(source[\\\"tx_not_available_supported\\\"])\"}],\"symbols\":{\"LINK\":6}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/errors/regression-cases.json\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":38408,\"kinds\":[\"coin_registry\"],\"path\":\"errors/regression-cases.json\",\"providers\":[],\"score\":21,\"sha256\":\"07c9854ab0232d1f2766cdab114d0d398a4dcc1a5b41ea7fde77646e5f42804e\",\"snippets\":[{\"line\":37,\"text\":\"\\\"required_control\\\": \\\"Set the bare repository symbolic HEAD to refs/heads/main and clone main explicitly.\\\",\"},{\"line\":54,\"text\":\"\\\"incident\\\": \\\"install -m attempted chmod semantics unsupported by pmxcfs.\\\",\"},{\"line\":78,\"text\":\"\\\"incident\\\": \\\"A task named for /dev/null retained unrelated backup-tail reads, writes, mutations and assets.\\\",\"},{\"line\":163,\"text\":\"\\\"required_control\\\": \\\"A remotely executed mutation script must be included in the task package, syntax checked, hash pinned, deployed from that asset and covered by rollback.\\\",\"}],\"symbols\":{\"LINK\":11}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tasks/pve03-r8152-rx-ring-canary-v1/task.json\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":7694,\"kinds\":[\"coin_registry\"],\"path\":\"tasks/pve03-r8152-rx-ring-canary-v1/task.json\",\"providers\":[],\"score\":21,\"sha256\":\"c5f36cd51d38da66d5c2e517ff850f996b04b4be4ee9a5529f991687bb7bb429\",\"snippets\":[{\"line\":138,\"text\":\"\\\"REG-062-RX-RING-AUTO-ROLLBACK-ON-LINK-OR-QUORUM-FAILURE\\\",\"},{\"line\":139,\"text\":\"\\\"REG-063-RX-RING-CANARY-SURVIVES-SSH-LINK-LOSS\\\",\"},{\"line\":165,\"text\":\"\\\"tx_ring_evidence_policy\\\": \\\"opaque-string-preserve-exactly; n/a is supported and no TX mutation is allowed\\\",\"},{\"line\":167,\"text\":\"\\\"tx_not_available_supported\\\": true\"}],\"symbols\":{\"LINK\":4}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0006_vm160_task.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":6046,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0006_vm160_task.py\",\"providers\":[],\"score\":20,\"sha256\":\"4bb8fce2c5f007cf9768381bd4f1eafc8f208da36170e684047e6bad2c670bc2\",\"snippets\":[{\"line\":31,\"text\":\"files = sorted((TASK / \\\"phases\\\").glob(\\\"*.sh\\\")) + [TASK / \\\"assets/vm160-cloud-quorum-worker.sh\\\", TASK / \\\"assets/pve02-vm160-preflight-probe.sh\\\", TASK / \\\"assets/homelab-vm160-remote-backup\\\"]\"},{\"line\":36,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"},{\"line\":51,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"},{\"line\":59,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0007_skladchik_reauth.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":4660,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_reauth.py\",\"providers\":[],\"score\":20,\"sha256\":\"9ba7ca8494a22e83bba5479a3a647eb96abaef45ada1b08fa7432f03a64b1765\",\"snippets\":[{\"line\":33,\"text\":\"relative.update(f\\\"assets/pve01/{name}\\\" for name in PVE_NAMES)\"},{\"line\":46,\"text\":\"paths += sorted((TASK / \\\"assets\\\").glob(\\\"*.sh\\\"))\"},{\"line\":48,\"text\":\"TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\",\"},{\"line\":49,\"text\":\"TASK / \\\"assets/pve01/skladchik-reports-monitor-cookie-update\\\",\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":6711,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"providers\":[],\"score\":20,\"sha256\":\"cfddf97b92b1ce351e733c159aadfccd21193fb0d67b5312fb93aed05e45fd6f\",\"snippets\":[{\"line\":12,\"text\":\"PVE = TASK / \\\"assets/pve01\\\"\"},{\"line\":13,\"text\":\"EDGE = TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\"\"},{\"line\":46,\"text\":\"prepare = (TASK / \\\"assets/edge-prepare.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":47,\"text\":\"rollback = (TASK / \\\"assets/edge-rollback.sh\\\").read_text(encoding=\\\"utf-8\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":3549,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0008_skladchik_snapshot_integrity.py\",\"providers\":[],\"score\":20,\"sha256\":\"e868d8397e1a79f8cc7b37a91c4a0da84d041da04ba6ea9d8e10853de3464fc9\",\"snippets\":[{\"line\":30,\"text\":\"edge_prepare = (TASK / \\\"assets/edge-prepare.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":32,\"text\":\"edge_dry = (TASK / \\\"assets/edge-dry-run.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":42,\"text\":\"edge = (TASK / \\\"assets/edge-rollback.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":64,\"text\":\"TASK / \\\"assets/edge-prepare.sh\\\",\"}],\"symbols\":{}},{\"absolute_path\":\"/root/homelab-ops-cr-2026-0012/tests/test_cr_2026_0009_skladchik_concurrency_guard.py\",\"audit_label\":\"live:/root/homelab-ops-cr-2026-0012\",\"bytes\":8942,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0009_skladchik_concurrency_guard.py\",\"providers\":[],\"score\":20,\"sha256\":\"0fe7182cb281e8ad5487f1c5f73f0230971a5027ae44c5ee0f0c6a5d10f8e513\",\"snippets\":[{\"line\":16,\"text\":\"class SkladchikConcurrencyGuardTests(unittest.TestCase):\"},{\"line\":21,\"text\":\"source = (TASK / \\\"assets/edge-preflight.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":29,\"text\":\"source = (TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":42,\"text\":\"source = (TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\").read_text(encoding=\\\"utf-8\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0006_vm160_task.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":6046,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0006_vm160_task.py\",\"providers\":[],\"score\":20,\"sha256\":\"4bb8fce2c5f007cf9768381bd4f1eafc8f208da36170e684047e6bad2c670bc2\",\"snippets\":[{\"line\":31,\"text\":\"files = sorted((TASK / \\\"phases\\\").glob(\\\"*.sh\\\")) + [TASK / \\\"assets/vm160-cloud-quorum-worker.sh\\\", TASK / \\\"assets/pve02-vm160-preflight-probe.sh\\\", TASK / \\\"assets/homelab-vm160-remote-backup\\\"]\"},{\"line\":36,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"},{\"line\":51,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"},{\"line\":59,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0007_skladchik_reauth.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":4660,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_reauth.py\",\"providers\":[],\"score\":20,\"sha256\":\"9ba7ca8494a22e83bba5479a3a647eb96abaef45ada1b08fa7432f03a64b1765\",\"snippets\":[{\"line\":33,\"text\":\"relative.update(f\\\"assets/pve01/{name}\\\" for name in PVE_NAMES)\"},{\"line\":46,\"text\":\"paths += sorted((TASK / \\\"assets\\\").glob(\\\"*.sh\\\"))\"},{\"line\":48,\"text\":\"TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\",\"},{\"line\":49,\"text\":\"TASK / \\\"assets/pve01/skladchik-reports-monitor-cookie-update\\\",\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":6711,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"providers\":[],\"score\":20,\"sha256\":\"cfddf97b92b1ce351e733c159aadfccd21193fb0d67b5312fb93aed05e45fd6f\",\"snippets\":[{\"line\":12,\"text\":\"PVE = TASK / \\\"assets/pve01\\\"\"},{\"line\":13,\"text\":\"EDGE = TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\"\"},{\"line\":46,\"text\":\"prepare = (TASK / \\\"assets/edge-prepare.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":47,\"text\":\"rollback = (TASK / \\\"assets/edge-rollback.sh\\\").read_text(encoding=\\\"utf-8\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0008_skladchik_snapshot_integrity.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":3549,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0008_skladchik_snapshot_integrity.py\",\"providers\":[],\"score\":20,\"sha256\":\"e868d8397e1a79f8cc7b37a91c4a0da84d041da04ba6ea9d8e10853de3464fc9\",\"snippets\":[{\"line\":30,\"text\":\"edge_prepare = (TASK / \\\"assets/edge-prepare.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":32,\"text\":\"edge_dry = (TASK / \\\"assets/edge-dry-run.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":42,\"text\":\"edge = (TASK / \\\"assets/edge-rollback.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":64,\"text\":\"TASK / \\\"assets/edge-prepare.sh\\\",\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0015/tests/test_cr_2026_0009_skladchik_concurrency_guard.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0015\",\"bytes\":8942,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0009_skladchik_concurrency_guard.py\",\"providers\":[],\"score\":20,\"sha256\":\"0fe7182cb281e8ad5487f1c5f73f0230971a5027ae44c5ee0f0c6a5d10f8e513\",\"snippets\":[{\"line\":16,\"text\":\"class SkladchikConcurrencyGuardTests(unittest.TestCase):\"},{\"line\":21,\"text\":\"source = (TASK / \\\"assets/edge-preflight.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":29,\"text\":\"source = (TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":42,\"text\":\"source = (TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\").read_text(encoding=\\\"utf-8\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0006_vm160_task.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"bytes\":6046,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0006_vm160_task.py\",\"providers\":[],\"score\":20,\"sha256\":\"4bb8fce2c5f007cf9768381bd4f1eafc8f208da36170e684047e6bad2c670bc2\",\"snippets\":[{\"line\":31,\"text\":\"files = sorted((TASK / \\\"phases\\\").glob(\\\"*.sh\\\")) + [TASK / \\\"assets/vm160-cloud-quorum-worker.sh\\\", TASK / \\\"assets/pve02-vm160-preflight-probe.sh\\\", TASK / \\\"assets/homelab-vm160-remote-backup\\\"]\"},{\"line\":36,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"},{\"line\":51,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"},{\"line\":59,\"text\":\"w = self.text(\\\"assets/vm160-cloud-quorum-worker.sh\\\")\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0007_skladchik_reauth.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"bytes\":4660,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_reauth.py\",\"providers\":[],\"score\":20,\"sha256\":\"9ba7ca8494a22e83bba5479a3a647eb96abaef45ada1b08fa7432f03a64b1765\",\"snippets\":[{\"line\":33,\"text\":\"relative.update(f\\\"assets/pve01/{name}\\\" for name in PVE_NAMES)\"},{\"line\":46,\"text\":\"paths += sorted((TASK / \\\"assets\\\").glob(\\\"*.sh\\\"))\"},{\"line\":48,\"text\":\"TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\",\"},{\"line\":49,\"text\":\"TASK / \\\"assets/pve01/skladchik-reports-monitor-cookie-update\\\",\"}],\"symbols\":{}},{\"absolute_path\":\"/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation/tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"audit_label\":\"live:/srv/homelab-ops-worktrees/cr-2026-0017-inventory-foundation\",\"bytes\":6711,\"kinds\":[\"coin_registry\",\"test\"],\"path\":\"tests/test_cr_2026_0007_skladchik_semantic_repair.py\",\"providers\":[],\"score\":20,\"sha256\":\"cfddf97b92b1ce351e733c159aadfccd21193fb0d67b5312fb93aed05e45fd6f\",\"snippets\":[{\"line\":12,\"text\":\"PVE = TASK / \\\"assets/pve01\\\"\"},{\"line\":13,\"text\":\"EDGE = TASK / \\\"assets/edge/skladchik-reports-monitor-cookie-update-edge\\\"\"},{\"line\":46,\"text\":\"prepare = (TASK / \\\"assets/edge-prepare.sh\\\").read_text(encoding=\\\"utf-8\\\")\"},{\"line\":47,\"text\":\"rollback = (TASK / \\\"assets/edge-rollback.sh\\\").read_text(encoding=\\\"utf-8\\\")\"}],\"symbols\":{}}],\"roots_with_files\":10,\"symbols\":{\"ADA\":22,\"DOT\":16,\"LINK\":154,\"POL\":18,\"TRX\":4},\"total_files_scanned\":4141},\"live_probe_results\":[{\"duration_seconds\":null,\"hostname\":\"pve01\",\"rc\":0,\"ssh_target\":null,\"stderr\":null,\"target\":\"local\"},{\"duration_seconds\":0.407,\"hostname\":null,\"rc\":1,\"ssh_target\":\"pve02\",\"stderr\":\"Traceback (most recent call last): File \\\"<stdin>\\\", line 916, in <module> File \\\"<stdin>\\\", line 729, in main File \\\"<stdin>\\\", line 354, in remote_worker File \\\"<stdin>\\\", line 227, in scan_tree File \\\"<stdin>\\\", line 128, in run File \\\"/usr/lib/python3.13/subprocess.py\\\", line 554, in run with Popen(*popenargs, **kwargs) as process: ~~~~~^^^^^^^^^^^^^^^^^^^^^^ File \\\"/usr/lib/python3.13/subprocess.py\\\", line 1039, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pass_fds, cwd, env, ^^^^^^^^^^^^^^^^^^^ ...<5 lines>... gid, gids, uid, umask, ^^^^^^^^^^^^^^^^^^^^^^ start_new_session, process_group) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File \\\"/usr/lib/python3.13/subprocess.py\\\", line 1972, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'git'\",\"target\":null}],\"mutation_outcome\":\"NO_MUTATION\",\"output_compaction\":{\"level\":0,\"limit_bytes\":65536,\"original_json_bytes\":64527},\"production_site_changed\":false,\"rc\":0,\"required_assets\":[\"AVAX\",\"LINK\"],\"rollback_restored\":null,\"rollback_started\":false,\"schema\":2,\"status\":\"OK\"}\n"
}
