1
0
Files
homelab-public-context/runtime/history/GRAM1-SITE-AVAX-LINK-V2-COMPACT-DISCOVERY-20260731T104500Z.txt

35 lines
64 KiB
Plaintext

CHAT_OUTPUT_BEGIN
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
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83
COMMAND_SHA256=f18f5902084315ea5fa968b3ee453aa38d3d3e8a69cb517f8ae875dd2538c4b1
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=533ca4b7aef4c7c7d32e8ce2c7818e87acc6a15d9d2a0c988ddd608792647bbf
SANITIZED_OUTPUT_SHA256=4ed7f1df1cf5e4266c5b8639a314408722fb04f41b3c43b6f928a044c7cfc1ef
OUTPUT_BEGIN
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}
{"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"}
OUTPUT_END
CHAT_OUTPUT_END