1
0
Files
homelab-public-context/runtime/latest.json
T
2026-07-29 15:27:59 +00:00

39 lines
18 KiB
JSON

{
"schema_version": 1,
"channel": "homelab-runtime",
"command_id": "HBARHUB-DEPLOYMENT-PLAN-V1-20260729T152500Z",
"status": "OK",
"rc": 0,
"host": "pve01",
"mode": "verify",
"component": "hbarhub-deployment-plan-v1",
"started_at_utc": "2026-07-29T15:27:49Z",
"finished_at_utc": "2026-07-29T15:27:58Z",
"reference_register_checked": true,
"reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e",
"error_register_checked": true,
"error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83",
"command_sha256": "1a52142d8f07c20539a890d3e04d9a92b6aea77e4b6bb41b1c9d62e154e3e3fc",
"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": "021bdd8ff374d6f279f51e3a5229cac7da0d447adeb8c5741636daaa82fb4770",
"sanitized_output_sha256": "021bdd8ff374d6f279f51e3a5229cac7da0d447adeb8c5741636daaa82fb4770",
"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\":\"HBARHUB-DEPLOYMENT-PLAN-V1-20260729T152500Z\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"PLAN_SHA256\":\"1d46135831d977cba89adfc1fb03ee969d11030f9ed2b277464b2bbdff7b27df\",\"approved_architecture\":{\"application\":\"Django\",\"database\":\"PostgreSQL\",\"notifications\":[\"Gotify\",\"Telegram later\"],\"public_proxy\":\"NPMplus\",\"queue\":\"Redis\",\"web_port\":8040,\"workers\":\"Celery worker + Celery beat\"},\"asset_baseline\":{\"crypto\":[{\"coingecko_id\":\"hedera-hashgraph\",\"symbol\":\"HBAR\"},{\"coingecko_id\":\"polygon-ecosystem-token\",\"symbol\":\"POL\"},{\"coingecko_id\":\"avalanche-2\",\"symbol\":\"AVAX\"},{\"coingecko_id\":\"chainlink\",\"symbol\":\"LINK\"}],\"tracked\":{\"DATA_CENTER_REITS\":[\"VPN\",\"CLOU\",\"EQIX\",\"DLR\"],\"URANIUM_ETF_AND_TRUST\":[\"URA\",\"URNM\",\"SRUUF\",\"NLR\",\"URNJ\",\"RCTR\"],\"URANIUM_STOCKS\":[\"CCJ\",\"CEG\",\"UUUU\",\"DNN\",\"UEC\",\"LEU\",\"BWXT\",\"SMR\"]}},\"changes_made\":false,\"command_id\":\"HBARHUB-DEPLOYMENT-PLAN-V1-20260729T152500Z\",\"core_reference_paths\":[{\"bytes\":1233,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/crypto-portfolio/compose.yaml\",\"sha256\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"uid\":0},{\"bytes\":10343,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/worker.py.bak-icons-20260711T004054Z\",\"sha256\":\"dcc4fcc47b8b244046ac082fc5fcfe6c35160a9b8721245eb763ad6d2e57aadf\",\"uid\":0},{\"bytes\":10256,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/worker.py\",\"sha256\":\"174a14b86014535980d200a76d0057110c7af102c66f16c2e21fc3e74bb2e49e\",\"uid\":0},{\"bytes\":9535,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/worker.py.bak-currency-rebuild-20260711T002156Z\",\"sha256\":\"4a2fa9348c36247ca26b8f38a5303c4ffd6c17f559223bf46e75a86929c6263b\",\"uid\":0},{\"bytes\":6938,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/app.py.bak-icons-20260711T004054Z\",\"sha256\":\"3b41fb76cbd4ca18598f882e5180a0b2f41152086d52a972eedf165eece9f80e\",\"uid\":0},{\"bytes\":17955,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/app.py\",\"sha256\":\"44df2b25183b7c5d87ff1516ec2d9cd1d169acde3031f7c2aa1fc4e0c7813cd2\",\"uid\":0},{\"bytes\":9535,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/worker.py.bak-usd-rub-20260711T001327Z\",\"sha256\":\"4a2fa9348c36247ca26b8f38a5303c4ffd6c17f559223bf46e75a86929c6263b\",\"uid\":0},{\"bytes\":9507,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/worker.py.bak-runtime-fix-20260710T164812Z\",\"sha256\":\"69703bb68857ba34460af308d6e528bffedb21a7aebed75f377af7471a3cd3e6\",\"uid\":0},{\"bytes\":6938,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/app.py.bak-icons-layout-20260711T005138Z\",\"sha256\":\"3b41fb76cbd4ca18598f882e5180a0b2f41152086d52a972eedf165eece9f80e\",\"uid\":0},{\"bytes\":9535,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/worker.py.bak-currency-ui-20260711T000554Z\",\"sha256\":\"4a2fa9348c36247ca26b8f38a5303c4ffd6c17f559223bf46e75a86929c6263b\",\"uid\":0},{\"bytes\":6910,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/app.py.bak-runtime-fix-20260710T164812Z\",\"sha256\":\"7e10e9b285111a4c301fdc70b5e5e6b504ef613c135dd8c8374fc392c05ddda1\",\"uid\":0},{\"bytes\":9535,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0600\",\"path\":\"/opt/stacks/crypto-portfolio/worker.py.rollback-running-20260711T003109Z\",\"sha256\":\"4a2fa9348c36247ca26b8f38a5303c4ffd6c17f559223bf46e75a86929c6263b\",\"uid\":0},{\"bytes\":6938,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/app.py.bak-icons-layout-v4-20260711T005609Z\",\"sha256\":\"3b41fb76cbd4ca18598f882e5180a0b2f41152086d52a972eedf165eece9f80e\",\"uid\":0},{\"bytes\":21619,\"gid\":1000,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/gitea/data/gitea/runtime-stage/latest.txt\",\"sha256\":\"1ed63fca4c6131cd9df2de81f4a2bb346dfd75f4c6b8b0cc43a42d28cbc1799f\",\"uid\":1000},{\"bytes\":462349,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/gitea/data/gitea/public/.well-known/homelab-bootstrap.json\",\"sha256\":\"7be8012c619c01d5770417d3a26ca82c7cd14935ed5cf10fd7cb6e2fa687c82f\",\"uid\":0},{\"bytes\":44382,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/gitea/data/gitea/public/assets/homelab-context/command-output/cr0027-cleanup-inventory.txt\",\"sha256\":\"0117d852de7cc3fc6d4eb5362cd3eba80923448042d5e80519fa8ace1cc2dcfa\",\"uid\":0},{\"bytes\":28566,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/gitea/data/gitea/public/assets/homelab-context/command-output/cr0027-inventory-v2.json\",\"sha256\":\"cfafce78901d4d519565bc808bd108d27d3c20134d2c0e3517bb9c2ef77998de\",\"uid\":0},{\"bytes\":36414,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/gitea/data/gitea/public/assets/homelab-context/command-output/cr0027-change-inventory.json\",\"sha256\":\"4d7943315d368da730cfa18c58c21c4f2ee710b9953df6901dab3fc2daeef814\",\"uid\":0},{\"bytes\":462349,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/gitea/data/gitea/public/.well-known/homelab-bootstrap/7be8012c619c01d5770417d3a26ca82c7cd14935ed5cf10fd7cb6e2fa687c82f.json\",\"sha256\":\"7be8012c619c01d5770417d3a26ca82c7cd14935ed5cf10fd7cb6e2fa687c82f\",\"uid\":0},{\"bytes\":21619,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/gitea/data/gitea/public/.well-known/homelab-runtime/latest.txt\",\"sha256\":\"1ed63fca4c6131cd9df2de81f4a2bb346dfd75f4c6b8b0cc43a42d28cbc1799f\",\"uid\":0},{\"bytes\":25871,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/__pycache__/app.cpython-313.pyc\",\"sha256\":\"9753184c226c5daffeb4f08c9b2c4bb77ddf121cc94617f7caedbc878be6bf7b\",\"uid\":0},{\"bytes\":16784,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\"],\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/__pycache__/worker.cpython-313.pyc\",\"sha256\":\"b4888e983604909328d115c8bc322dc5764151323982038d1082db6a8c389283\",\"uid\":0},{\"bytes\":57521,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"hbarhub\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/minio/data/homelab-command-capsules/capsules/1a5e882626f26718b1864c75887be82d62fef74be679bd4a2bf053d3faae129f.hcmd/xl.meta\",\"sha256\":\"ead16f70ed9bbcd82941186b37d51a48642e6bcaaf0c2181cafe69471a83c5f8\",\"uid\":0},{\"bytes\":36440,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"hbarhub\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/minio/data/homelab-command-capsules/capsules/67c4ae0ffeb3e1d143625de622933f1cc377db46c9c49edc521a4d4e7a57cb7b.hcmd/xl.meta\",\"sha256\":\"edcfe97ec18e568b6477c57d50f6871964f7bd7ae4b7bddd339ee2c68baf842d\",\"uid\":0},{\"bytes\":18203,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"hbarhub\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/minio/data/homelab-command-capsules/capsules/1a6c9a82d85f5dae4d428a70f378b9cbc87035ecc92fef200f46118bef70d099.hcmd/xl.meta\",\"sha256\":\"cac2f3f58bf5bf495dfae5a8040a066328f16869bacbee1a8788f4ca90490625\",\"uid\":0},{\"bytes\":49748,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"hbarhub\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/minio/data/homelab-command-capsules/capsules/ae19d40259bba21359f9976413e354adcaf8abf2e930f90ed92c8c17f51b24c0.hcmd/xl.meta\",\"sha256\":\"be576d6ba217eeddcb3c094d97295b740b45a53aebdfe98ee7b30ea178fc180a\",\"uid\":0},{\"bytes\":34971,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"hbarhub\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/minio/data/homelab-command-capsules/capsules/3a67aa2bdcdbcf80e9ebc149b6976dfcc89595f5febfa1be25700fe1f9f2e4da.hcmd/xl.meta\",\"sha256\":\"39aa8fb1f6ff9ca7e2451fc2fc88eea584e323499f202615e5c1d3c38bc65a07\",\"uid\":0},{\"bytes\":37344,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"crypto-portfolio\",\"hbarhub\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/minio/data/homelab-command-capsules/capsules/8ae8cadf8a2b0574e6d8089c8d7cfee6b387ea9e35cf52ab010daec76281ec5a.hcmd/xl.meta\",\"sha256\":\"b7dbfe01a3e7930a7fc9c69f1275ec726264eecd2d5f1b81b20d824fe4d46841\",\"uid\":0},{\"bytes\":40707,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"hbarhub\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/minio/data/homelab-command-capsules/capsules/879f53e67631809491953b88cd002ccf01ba0b795d4e312aa82bbddd6bacdd88.hcmd/xl.meta\",\"sha256\":\"2a8ae235921978e3db577c6872a7a237d4bdb24a4b2a19290bfd302cda984866\",\"uid\":0},{\"bytes\":52808,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"hbarhub\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/minio/data/homelab-command-capsules/capsules/9c179070977758d8e4d29f6da15bd6e2917689c9b1ff42c71b3b36825b504f49.hcmd/xl.meta\",\"sha256\":\"fe7027b2332d2fa7c5fe4f231629d0b8b33e6f4a1f860987889e4a7df53bdd7c\",\"uid\":0},{\"bytes\":17062,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"matched\":[\"hbarhub\"],\"mode\":\"0644\",\"path\":\"/opt/stacks/minio/data/homelab-command-capsules/capsules/5a765cefe1152f198acc281306a1818e061a38036992c015de3e008b90fe43ea.hcmd/xl.meta\",\"sha256\":\"6cab87a42c84e3ffbe1ca5509aeec423e69ae6f3312f506c74aa190194817403\",\"uid\":0}],\"deployment_gate\":\"READY_WITH_EXISTING_ASSET_REVIEW\",\"edge_reference\":{\"crypto_portfolio_refs\":[],\"hbarhub_refs\":[],\"nginx_test\":{\"rc\":0,\"stderr_sha256\":\"9cb221b6993277a11765b15bdded4e9b090f1c2a8f5ed573e907ae3b6921f27c\",\"stdout_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"},\"npmplus\":{\"health\":\"healthy\",\"image\":\"docker.io/zoeyvid/npmplus:2026-06-17-b1\",\"mounts\":[{\"destination\":\"/data\",\"source\":\"/opt/npmplus\",\"type\":\"bind\"}],\"status\":\"running\"}},\"existing_hbarhub_paths\":[{\"bytes\":4096,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/opt/stacks/minio/data/homelab-evidence/portal/HBARHUB-PVE-CLI-READONLY-DIAG-20260729T101639Z\",\"uid\":0},{\"bytes\":4096,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/opt/stacks/minio/data/homelab-evidence/portal/HBARHUB-PVE-IPC-NAMESPACE-DIAG-20260729T104500Z\",\"uid\":0},{\"bytes\":4096,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/opt/stacks/minio/data/homelab-evidence/portal/HBARHUB-READONLY-INVENTORY-V1-20260729T145500Z\",\"uid\":0},{\"bytes\":4096,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/opt/stacks/minio/data/homelab-evidence/portal/HBARHUB-AUTO-DISCOVERY-FIX2-20260729T104000Z\",\"uid\":0},{\"bytes\":4096,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/opt/stacks/minio/data/homelab-evidence/portal/HBARHUB-AUTO-DISCOVERY-FIX4-20260729T105500Z\",\"uid\":0},{\"bytes\":4096,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/opt/stacks/minio/data/homelab-evidence/portal/HBARHUB-CLUSTER-DISCOVERY-PLAN-FIX1-20260729T101000Z\",\"uid\":0},{\"bytes\":4096,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/opt/stacks/minio/data/homelab-evidence/portal/HBARHUB-READONLY-INVENTORY-V2-20260729T151000Z\",\"uid\":0}],\"gitea_hbarhub_search\":{\"body_sha256\":\"45b93ccefd22e5ec4796dc8d5173e3060566fec357528dfe20b3bd814d9bc430\",\"count\":0,\"full_names\":[],\"http\":200},\"hard_checks\":{\"all_guests_readable\":true,\"all_vms_running\":true,\"core_docker\":true,\"core_port_8040_free\":true,\"edge_npmplus_healthy\":true,\"monitoring_ready\":true,\"no_existing_public_proxy\":true,\"no_mutation\":true},\"implementation_stages\":[{\"name_ru\":\"Репозиторий и исходный каркас\",\"order\":1,\"scope\":\"Gitea only\"},{\"name_ru\":\"Локальный стек на core-apps\",\"order\":2,\"scope\":\"web, worker, scheduler, PostgreSQL, Redis; port 8040; no public proxy\"},{\"name_ru\":\"Рыночные данные и Hedera\",\"order\":3,\"scope\":\"HBAR, POL, AVAX, LINK; prices, market cap, supply, network status\"},{\"name_ru\":\"Русские новости\",\"order\":4,\"scope\":\"source allowlist, deduplication, summaries, provenance\"},{\"name_ru\":\"Радар токенизации\",\"order\":5,\"scope\":\"18 tracked assets, evidence and status state machine\"},{\"name_ru\":\"Сигналы\",\"order\":6,\"scope\":\"paper and notification-only; no exchange keys\"},{\"name_ru\":\"Публичный домен\",\"order\":7,\"scope\":\"NPMplus and TLS after local health passes\"},{\"name_ru\":\"Мониторинг и резервирование\",\"order\":8,\"scope\":\"Uptime Kuma, Gotify, backup and restore check\"}],\"monitoring_reference\":{\"containers\":{\"alertmanager\":{\"health\":null,\"image\":\"prom/alertmanager:v0.33.0\",\"mount_destinations\":[\"/alertmanager\",\"/etc/alertmanager/alertmanager.yml\"],\"status\":\"running\"},\"gotify\":{\"health\":\"healthy\",\"image\":\"gotify/server:latest\",\"mount_destinations\":[\"/app/data\"],\"status\":\"running\"},\"ntfy\":{\"health\":null,\"image\":\"binwiederhier/ntfy:latest\",\"mount_destinations\":[\"/var/cache/ntfy\",\"/var/lib/ntfy\"],\"status\":\"running\"},\"prometheus\":{\"health\":null,\"image\":\"prom/prometheus:latest\",\"mount_destinations\":[\"/etc/prometheus/prometheus.yml\",\"/etc/prometheus/rules\",\"/prometheus\"],\"status\":\"running\"},\"uptime-kuma\":{\"health\":\"healthy\",\"image\":\"louislam/uptime-kuma:2-slim\",\"mount_destinations\":[\"/app/data\"],\"status\":\"running\"}},\"crypto_portfolio_health_refs\":[],\"docker_present\":true,\"hbarhub_health_refs\":[],\"hostname_matches\":true,\"role\":\"monitoring\",\"schema\":1},\"mutation_outcome\":\"NO_MUTATION\",\"next_stage\":\"GITEA_AND_PATH_RECONCILIATION_PLAN\",\"parent_evidence\":{\"PLAN_SHA256\":\"a6e7fa6dd20d57504d31748aeec0bd28c567c1c5fb5ce697dbbae36606cba483\",\"capsule_sha256\":\"9c179070977758d8e4d29f6da15bd6e2917689c9b1ff42c71b3b36825b504f49\",\"command_id\":\"HBARHUB-READONLY-INVENTORY-V2-20260729T151000Z\",\"deployment_gate\":\"READY_FOR_DEPLOYMENT_PLAN\",\"runner_json_sha256\":\"65ddc2b24974f12c63ba92f01f04596fb5632b34da69e2c074be8f1cff15940f\",\"status\":\"OK\"},\"private_addresses_included\":false,\"reference_stack\":{\"health\":null,\"image\":\"crypto-portfolio-web\",\"mount_destinations\":[\"/data\",\"/run/secrets/email_config\",\"/run/secrets/password_hash\",\"/run/secrets/session_secret\"],\"network_names\":[\"crypto-portfolio_default\"],\"published_container_ports\":[\"8000/tcp\"],\"status\":\"running\"},\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"PLAN_COMPLETE\"}\n"
}