From 946d3e66a96750050dc6f1adfa9a5e5ca4d5916f Mon Sep 17 00:00:00 2001 From: homelab-runtime-publisher Date: Sun, 2 Aug 2026 22:40:23 +0000 Subject: [PATCH] runtime: publish GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z --- ...RECT-QGA-SOURCE-DIAG-20260802T223529Z.json | 38 +++++++++++++++++++ ...IRECT-QGA-SOURCE-DIAG-20260802T223529Z.txt | 34 +++++++++++++++++ runtime/latest.json | 16 ++++---- runtime/latest.txt | 14 +++---- 4 files changed, 87 insertions(+), 15 deletions(-) create mode 100644 runtime/history/GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z.json create mode 100644 runtime/history/GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z.txt diff --git a/runtime/history/GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z.json b/runtime/history/GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z.json new file mode 100644 index 0000000..fb6a9f9 --- /dev/null +++ b/runtime/history/GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "verify", + "component": "gram1-site-usdc-read-only-direct-qga-source-diag", + "started_at_utc": "2026-08-02T22:40:22Z", + "finished_at_utc": "2026-08-02T22:40:22Z", + "reference_register_checked": true, + "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", + "error_register_checked": true, + "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", + "command_sha256": "3f8cc02deb5c35249b401acfaefa0cee6e5e542ca5f32624ea159b9c0f77bf15", + "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": "d0630af716a246d0621840fdab6bcbd7cfc6e5a03c4accc464b597d374b9ace9", + "sanitized_output_sha256": "d0630af716a246d0621840fdab6bcbd7cfc6e5a03c4accc464b597d374b9ace9", + "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-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z\",\"mutation_outcome\":\"NO_MUTATION\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"changes_made\":false,\"command_id\":\"GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z\",\"commands\":[{\"duration_ms\":32,\"rc\":0,\"stage\":\"compose-config-services\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":11,\"stdout_sha256\":\"eef9f2ae690badd252b6332992b53a6658f483425b294de9826500063f55de9f\"},{\"duration_ms\":7,\"rc\":0,\"stage\":\"inspect-crypto-portfolio\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":12670,\"stdout_sha256\":\"f47f2e23fd203fc060cf3bdda469c6bb73ec47f9f6dfcbcd0f799ac7050b53c0\"},{\"duration_ms\":7,\"rc\":0,\"stage\":\"inspect-crypto-portfolio-worker\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":10792,\"stdout_sha256\":\"ff1345dd2cf83f368e02dff11123f1e10dc6212d8caf30cb8ecdf3979694d428\"},{\"duration_ms\":118,\"rc\":0,\"stage\":\"source-hashes-crypto-portfolio\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":262,\"stdout_sha256\":\"ada0aa78b4a0c5b6b44e7d076e7307359471e2c06065f5fa85e8e9fe549f5bf3\"},{\"duration_ms\":74,\"rc\":0,\"stage\":\"source-hashes-crypto-portfolio-worker\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":86,\"stdout_sha256\":\"572f389d914e2ebb95fb6d85531efd753e4e9de54d1ac2e866c4e26605624de5\"}],\"control_plane_error\":null,\"duration_ms\":293,\"error\":null,\"error_type\":null,\"mutation_outcome\":\"NO_MUTATION\",\"observations\":{\"compose\":{\"available\":true,\"rc\":0,\"services\":[\"web\",\"worker\"]},\"containers\":{\"crypto-portfolio\":{\"app_bind_mounted\":false,\"available\":true,\"image_id\":\"sha256:2a9339d475b2f4a01f060162f48a23b9590eb3ba4b036b46aad72adad540c40d\",\"image_ref\":\"crypto-portfolio-web\",\"restart_count\":0,\"running\":true},\"crypto-portfolio-worker\":{\"app_bind_mounted\":false,\"available\":true,\"image_id\":\"sha256:7ff5fdff7ab373e6b22dfa1a677b000d83ff9d021e4464915078e506781fd0ed\",\"image_ref\":\"crypto-portfolio-worker\",\"restart_count\":0,\"running\":true}},\"database\":{\"amounts_read\":false,\"available\":true,\"holding_rows\":4,\"quick_check\":\"ok\",\"usdc_holding_rows\":0},\"expected_v46_baseline_sha256\":{\"app.py\":\"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d\",\"compose.yaml\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"templates/index.html\":\"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2\",\"worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"},\"expected_v46_target_sha256\":{\"app.py\":\"8a81d075297856c2dd843da34e6dd1cb6baa1d9c36d24dbee6865e02aa625e25\",\"compose.yaml\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"templates/index.html\":\"6ce3a065ba677a74e4b73db15613a1114a1167dc9af40bc76a29ced556aabe36\",\"worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"},\"runtime_source\":{\"web\":{\"available\":true,\"rc\":0,\"sha256\":{\"/app/app.py\":\"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d\",\"/app/templates/index.html\":\"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2\",\"/app/worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"}},\"worker\":{\"available\":true,\"rc\":0,\"sha256\":{\"/app/worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"}}},\"source_classification\":\"V46_BASELINE\",\"source_files\":{\"app.py\":{\"bytes\":32843,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/app.py\",\"sha256\":\"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d\",\"uid\":0},\"compose.yaml\":{\"bytes\":1233,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0644\",\"path\":\"/opt/stacks/crypto-portfolio/compose.yaml\",\"sha256\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"uid\":0},\"templates/index.html\":{\"bytes\":38036,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0644\",\"path\":\"/opt/stacks/crypto-portfolio/templates/index.html\",\"sha256\":\"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2\",\"uid\":0},\"worker.py\":{\"bytes\":10300,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/worker.py\",\"sha256\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\",\"uid\":0}},\"source_semantics\":{\"alerts_still_use_shared_set\":true,\"alerts_use_shared_ids\":true,\"app_readable\":true,\"fixed_usdc_price_present\":false,\"holding_accepts_portfolio_set\":false,\"portfolio_coins_declaration_count\":0,\"portfolio_market_declaration_count\":0,\"positions_use_portfolio_ids\":false,\"positions_use_shared_ids\":true,\"template_readable\":true,\"top_cards_use_shared_ids\":true},\"target_identity\":{\"docker_state\":{\"bytes\":30721152,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/usr/bin/docker\",\"sha256\":\"dcd656567975bc326ab55e8a043989a60ca336638689d9faa10ef15614709b71\",\"uid\":0},\"euid\":0,\"observed_hostname\":\"core-apps\",\"root_state\":{\"bytes\":4096,\"exists\":true,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0750\",\"path\":\"/opt/stacks/crypto-portfolio\",\"resolved_path\":\"/opt/stacks/crypto-portfolio\",\"uid\":0},\"transport\":\"QEMU_GUEST_AGENT\",\"v46_expected_hostname\":\"core-apps\",\"v46_hostname_match\":true,\"vmid\":170}},\"private_addresses_included\":false,\"rc\":0,\"read_only\":true,\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"OK\"}\n" +} diff --git a/runtime/history/GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z.txt b/runtime/history/GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z.txt new file mode 100644 index 0000000..0cf7f9f --- /dev/null +++ b/runtime/history/GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z.txt @@ -0,0 +1,34 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z +STATUS=OK +RC=0 +HOST=pve01 +MODE=verify +COMPONENT=gram1-site-usdc-read-only-direct-qga-source-diag +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 +COMMAND_SHA256=3f8cc02deb5c35249b401acfaefa0cee6e5e542ca5f32624ea159b9c0f77bf15 +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=d0630af716a246d0621840fdab6bcbd7cfc6e5a03c4accc464b597d374b9ace9 +SANITIZED_OUTPUT_SHA256=d0630af716a246d0621840fdab6bcbd7cfc6e5a03c4accc464b597d374b9ace9 +OUTPUT_BEGIN +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"changes_made":false,"command_id":"GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z","commands":[{"duration_ms":32,"rc":0,"stage":"compose-config-services","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":11,"stdout_sha256":"eef9f2ae690badd252b6332992b53a6658f483425b294de9826500063f55de9f"},{"duration_ms":7,"rc":0,"stage":"inspect-crypto-portfolio","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":12670,"stdout_sha256":"f47f2e23fd203fc060cf3bdda469c6bb73ec47f9f6dfcbcd0f799ac7050b53c0"},{"duration_ms":7,"rc":0,"stage":"inspect-crypto-portfolio-worker","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":10792,"stdout_sha256":"ff1345dd2cf83f368e02dff11123f1e10dc6212d8caf30cb8ecdf3979694d428"},{"duration_ms":118,"rc":0,"stage":"source-hashes-crypto-portfolio","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":262,"stdout_sha256":"ada0aa78b4a0c5b6b44e7d076e7307359471e2c06065f5fa85e8e9fe549f5bf3"},{"duration_ms":74,"rc":0,"stage":"source-hashes-crypto-portfolio-worker","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":86,"stdout_sha256":"572f389d914e2ebb95fb6d85531efd753e4e9de54d1ac2e866c4e26605624de5"}],"control_plane_error":null,"duration_ms":293,"error":null,"error_type":null,"mutation_outcome":"NO_MUTATION","observations":{"compose":{"available":true,"rc":0,"services":["web","worker"]},"containers":{"crypto-portfolio":{"app_bind_mounted":false,"available":true,"image_id":"sha256:2a9339d475b2f4a01f060162f48a23b9590eb3ba4b036b46aad72adad540c40d","image_ref":"crypto-portfolio-web","restart_count":0,"running":true},"crypto-portfolio-worker":{"app_bind_mounted":false,"available":true,"image_id":"sha256:7ff5fdff7ab373e6b22dfa1a677b000d83ff9d021e4464915078e506781fd0ed","image_ref":"crypto-portfolio-worker","restart_count":0,"running":true}},"database":{"amounts_read":false,"available":true,"holding_rows":4,"quick_check":"ok","usdc_holding_rows":0},"expected_v46_baseline_sha256":{"app.py":"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d","compose.yaml":"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8","templates/index.html":"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2","worker.py":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c"},"expected_v46_target_sha256":{"app.py":"8a81d075297856c2dd843da34e6dd1cb6baa1d9c36d24dbee6865e02aa625e25","compose.yaml":"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8","templates/index.html":"6ce3a065ba677a74e4b73db15613a1114a1167dc9af40bc76a29ced556aabe36","worker.py":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c"},"runtime_source":{"web":{"available":true,"rc":0,"sha256":{"/app/app.py":"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d","/app/templates/index.html":"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2","/app/worker.py":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c"}},"worker":{"available":true,"rc":0,"sha256":{"/app/worker.py":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c"}}},"source_classification":"V46_BASELINE","source_files":{"app.py":{"bytes":32843,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0640","path":"/opt/stacks/crypto-portfolio/app.py","sha256":"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d","uid":0},"compose.yaml":{"bytes":1233,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0644","path":"/opt/stacks/crypto-portfolio/compose.yaml","sha256":"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8","uid":0},"templates/index.html":{"bytes":38036,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0644","path":"/opt/stacks/crypto-portfolio/templates/index.html","sha256":"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2","uid":0},"worker.py":{"bytes":10300,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0640","path":"/opt/stacks/crypto-portfolio/worker.py","sha256":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c","uid":0}},"source_semantics":{"alerts_still_use_shared_set":true,"alerts_use_shared_ids":true,"app_readable":true,"fixed_usdc_price_present":false,"holding_accepts_portfolio_set":false,"portfolio_coins_declaration_count":0,"portfolio_market_declaration_count":0,"positions_use_portfolio_ids":false,"positions_use_shared_ids":true,"template_readable":true,"top_cards_use_shared_ids":true},"target_identity":{"docker_state":{"bytes":30721152,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0755","path":"/usr/bin/docker","sha256":"dcd656567975bc326ab55e8a043989a60ca336638689d9faa10ef15614709b71","uid":0},"euid":0,"observed_hostname":"core-apps","root_state":{"bytes":4096,"exists":true,"gid":0,"is_dir":true,"is_file":false,"is_symlink":false,"mode":"0750","path":"/opt/stacks/crypto-portfolio","resolved_path":"/opt/stacks/crypto-portfolio","uid":0},"transport":"QEMU_GUEST_AGENT","v46_expected_hostname":"core-apps","v46_hostname_match":true,"vmid":170}},"private_addresses_included":false,"rc":0,"read_only":true,"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"status":"OK"} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 7afabf3..fb6a9f9 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,19 +1,19 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "GRAM1-SITE-USDC-V49-READ-ONLY-DIRECT-QGA-PREFLIGHT-20260802T222337Z", + "command_id": "GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z", "status": "OK", "rc": 0, "host": "pve01", "mode": "verify", - "component": "gram1-site-usdc-read-only-direct-qga-preflight", - "started_at_utc": "2026-08-02T22:30:47Z", - "finished_at_utc": "2026-08-02T22:30:47Z", + "component": "gram1-site-usdc-read-only-direct-qga-source-diag", + "started_at_utc": "2026-08-02T22:40:22Z", + "finished_at_utc": "2026-08-02T22:40:22Z", "reference_register_checked": true, "reference_sha256": "5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e", "error_register_checked": true, "error_register_sha256": "24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83", - "command_sha256": "a560d36dc914e744797d7087ec211e1225c11c52b1e4c4e2b9899764c0dc0a7d", + "command_sha256": "3f8cc02deb5c35249b401acfaefa0cee6e5e542ca5f32624ea159b9c0f77bf15", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, @@ -30,9 +30,9 @@ "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "40f8598fabe87aba4e9d39df195480a9e95c0412111b01e057f0bfda1be97486", - "sanitized_output_sha256": "40f8598fabe87aba4e9d39df195480a9e95c0412111b01e057f0bfda1be97486", + "raw_evidence_sha256": "d0630af716a246d0621840fdab6bcbd7cfc6e5a03c4accc464b597d374b9ace9", + "sanitized_output_sha256": "d0630af716a246d0621840fdab6bcbd7cfc6e5a03c4accc464b597d374b9ace9", "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-USDC-V49-READ-ONLY-DIRECT-QGA-PREFLIGHT-20260802T222337Z\",\"mutation_outcome\":\"NO_MUTATION\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"changes_made\":false,\"command_id\":\"GRAM1-SITE-USDC-V49-READ-ONLY-DIRECT-QGA-PREFLIGHT-20260802T222337Z\",\"control_plane_error\":null,\"diagnosis\":\"VM170_DIRECT_QGA_READY\",\"diagnostic_complete\":true,\"duration_ms\":279,\"failure_evidence\":{},\"mutation_outcome\":\"NO_MUTATION\",\"observations\":{\"execution_context\":{\"direct_qga_bypasses_qm_and_pmxcfs\":true,\"effective_uid\":0},\"qga\":{\"capabilities\":{\"guest-exec\":{\"advertised\":true,\"enabled\":true},\"guest-exec-status\":{\"advertised\":true,\"enabled\":true},\"guest-get-host-name\":{\"advertised\":true,\"enabled\":true},\"guest-info\":{\"advertised\":true,\"enabled\":true},\"guest-ping\":{\"advertised\":true,\"enabled\":true}},\"connected\":true,\"guest_exec_smoke\":{\"err_data_present\":false,\"err_truncated\":false,\"exit_code\":0,\"exited\":true,\"ok\":true,\"out_data_present\":false,\"out_truncated\":false,\"path\":\"/usr/bin/true\",\"pid_returned\":true,\"signal\":null},\"hostname\":{\"expected_short\":\"core-apps\",\"full_bytes\":9,\"full_sha256\":\"4b47bafa6e2406986a5c23dc31e075fbcd3feedf7001d35c5e130ef522b32c53\",\"matches\":true,\"short\":\"core-apps\"},\"ping_ok\":true,\"synchronized\":true,\"version\":\"10.0.11\"},\"qga_socket\":{\"candidates\":[{\"device\":27,\"exists\":true,\"expected_kind\":\"socket\",\"gid\":0,\"inode\":4042,\"kind\":\"socket\",\"kind_matches\":true,\"label\":\"service-view\",\"mode\":\"0o750\",\"uid\":0},{\"device\":27,\"exists\":true,\"expected_kind\":\"socket\",\"gid\":0,\"inode\":4042,\"kind\":\"socket\",\"kind_matches\":true,\"label\":\"host-root-view\",\"mode\":\"0o750\",\"uid\":0}],\"selected_view\":\"service-view\"},\"source_v48\":{\"capsule_sha256\":\"bb565ea0d3c4351d749bd42a55be269661eaf0343a3ce6925e499d9af0591dd8\",\"diagnosis\":\"VM170_STATUS_QUERY_FAILED\",\"pmxcfs_ipc_stderr_sha256\":\"7f7c6a4e34d689a6246e2dda50729abf93fb15fdc56cc971b1690257d4e0d228\"},\"vm_config\":{\"agent_option_enabled\":true,\"agent_option_present\":true,\"agent_option_sha256\":\"04244d61b5d62bec0d4460feab3b431064160aeacf8a94cdcb447f1a3908841c\",\"candidates\":[{\"bytes\":727,\"device\":49,\"exists\":true,\"expected_kind\":\"regular\",\"gid\":33,\"inode\":59,\"kind\":\"regular\",\"kind_matches\":true,\"label\":\"service-view\",\"mode\":\"0o640\",\"readable\":true,\"sha256\":\"7e344ce8d2bbee4be2ad293826e22a0b952bde209060e8a1c1fa5dc864acaeac\",\"uid\":0},{\"device\":49,\"exists\":true,\"expected_kind\":\"regular\",\"gid\":33,\"inode\":59,\"kind\":\"regular\",\"kind_matches\":true,\"label\":\"host-root-view\",\"mode\":\"0o640\",\"uid\":0}],\"expected_name\":\"core-apps\",\"name\":\"core-apps\",\"name_matches\":true,\"selected_view\":\"service-view\",\"vmid\":170}},\"private_addresses_included\":false,\"qga_steps\":[{\"command\":\"guest-sync-delimited\",\"ok\":true,\"request_bytes\":75,\"request_sha256\":\"424a705f1581c9f091c16b68b540f0f7c65c17e29e543cd6c11b6ce403cf64ba\",\"response_bytes\":32,\"response_sha256\":\"e965aa919da269564dbf51c4db060660d394f06a69d5cd54a6e752c79dea42b0\",\"stage\":\"sync\"},{\"command\":\"guest-ping\",\"ok\":true,\"request_bytes\":25,\"request_sha256\":\"235f66ea63328f6374765a92c9fb9bfc8663508d8c473c471b5f670213ec9341\",\"response_bytes\":15,\"response_sha256\":\"96199c5d226002cc69183cf9a5c3c5074ca0af4c76d234b08652604488493a5e\",\"stage\":\"ping\"},{\"command\":\"guest-info\",\"ok\":true,\"request_bytes\":25,\"request_sha256\":\"0bf25558396c0dbac996d55fc671d5e4d92acce15fd96829234ef4632fb57fb0\",\"response_bytes\":3297,\"response_sha256\":\"fff4078a94d3d1a05250f1e93293cde65557ab022794d8e7fe6b3bda45ff2790\",\"stage\":\"info\"},{\"command\":\"guest-get-host-name\",\"ok\":true,\"request_bytes\":34,\"request_sha256\":\"56712c554c3f734ac24b18e5ed1322c3b73da0fc12298a4c6d8ec78b642b5f5c\",\"response_bytes\":39,\"response_sha256\":\"fe21c65168be8b21117db3971470a493793cfff9db1f9cbcdf952db00ad2b92e\",\"stage\":\"hostname\"},{\"command\":\"guest-exec\",\"ok\":true,\"request_bytes\":93,\"request_sha256\":\"654b199fb62dbd428aabf8286b4ace82f4097979e0225f0ad27e42edd93b39f6\",\"response_bytes\":29,\"response_sha256\":\"9b86c0dcda01b8b94a5f707ac57a6733d26ec2c3c54db5f216c75cbb31eecb7d\",\"stage\":\"exec-true\"},{\"command\":\"guest-exec-status\",\"ok\":true,\"request_bytes\":60,\"request_sha256\":\"c2aaea060ca52c33af44158983dfdcbb168c8bd19eb8f7b29c41b73575b1015a\",\"response_bytes\":30,\"response_sha256\":\"dd37cc8c208829ac7bad548c8711792dd014b8c8131bf2f5585c6903e5ff2362\",\"stage\":\"exec-status-true\"},{\"command\":\"guest-exec-status\",\"ok\":true,\"request_bytes\":60,\"request_sha256\":\"c2aaea060ca52c33af44158983dfdcbb168c8bd19eb8f7b29c41b73575b1015a\",\"response_bytes\":44,\"response_sha256\":\"92240907ad6e0d1d002acab36f88c588d81f70a918a2bcd3db8c61b86f3ee74c\",\"stage\":\"exec-status-true\"}],\"rc\":0,\"read_only\":true,\"ready_for_remote_payload\":true,\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"OK\"}\n" + "output": "HOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z\",\"mutation_outcome\":\"NO_MUTATION\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n{\"changes_made\":false,\"command_id\":\"GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z\",\"commands\":[{\"duration_ms\":32,\"rc\":0,\"stage\":\"compose-config-services\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":11,\"stdout_sha256\":\"eef9f2ae690badd252b6332992b53a6658f483425b294de9826500063f55de9f\"},{\"duration_ms\":7,\"rc\":0,\"stage\":\"inspect-crypto-portfolio\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":12670,\"stdout_sha256\":\"f47f2e23fd203fc060cf3bdda469c6bb73ec47f9f6dfcbcd0f799ac7050b53c0\"},{\"duration_ms\":7,\"rc\":0,\"stage\":\"inspect-crypto-portfolio-worker\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":10792,\"stdout_sha256\":\"ff1345dd2cf83f368e02dff11123f1e10dc6212d8caf30cb8ecdf3979694d428\"},{\"duration_ms\":118,\"rc\":0,\"stage\":\"source-hashes-crypto-portfolio\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":262,\"stdout_sha256\":\"ada0aa78b4a0c5b6b44e7d076e7307359471e2c06065f5fa85e8e9fe549f5bf3\"},{\"duration_ms\":74,\"rc\":0,\"stage\":\"source-hashes-crypto-portfolio-worker\",\"stderr_bytes\":0,\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_bytes\":86,\"stdout_sha256\":\"572f389d914e2ebb95fb6d85531efd753e4e9de54d1ac2e866c4e26605624de5\"}],\"control_plane_error\":null,\"duration_ms\":293,\"error\":null,\"error_type\":null,\"mutation_outcome\":\"NO_MUTATION\",\"observations\":{\"compose\":{\"available\":true,\"rc\":0,\"services\":[\"web\",\"worker\"]},\"containers\":{\"crypto-portfolio\":{\"app_bind_mounted\":false,\"available\":true,\"image_id\":\"sha256:2a9339d475b2f4a01f060162f48a23b9590eb3ba4b036b46aad72adad540c40d\",\"image_ref\":\"crypto-portfolio-web\",\"restart_count\":0,\"running\":true},\"crypto-portfolio-worker\":{\"app_bind_mounted\":false,\"available\":true,\"image_id\":\"sha256:7ff5fdff7ab373e6b22dfa1a677b000d83ff9d021e4464915078e506781fd0ed\",\"image_ref\":\"crypto-portfolio-worker\",\"restart_count\":0,\"running\":true}},\"database\":{\"amounts_read\":false,\"available\":true,\"holding_rows\":4,\"quick_check\":\"ok\",\"usdc_holding_rows\":0},\"expected_v46_baseline_sha256\":{\"app.py\":\"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d\",\"compose.yaml\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"templates/index.html\":\"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2\",\"worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"},\"expected_v46_target_sha256\":{\"app.py\":\"8a81d075297856c2dd843da34e6dd1cb6baa1d9c36d24dbee6865e02aa625e25\",\"compose.yaml\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"templates/index.html\":\"6ce3a065ba677a74e4b73db15613a1114a1167dc9af40bc76a29ced556aabe36\",\"worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"},\"runtime_source\":{\"web\":{\"available\":true,\"rc\":0,\"sha256\":{\"/app/app.py\":\"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d\",\"/app/templates/index.html\":\"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2\",\"/app/worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"}},\"worker\":{\"available\":true,\"rc\":0,\"sha256\":{\"/app/worker.py\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\"}}},\"source_classification\":\"V46_BASELINE\",\"source_files\":{\"app.py\":{\"bytes\":32843,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/app.py\",\"sha256\":\"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d\",\"uid\":0},\"compose.yaml\":{\"bytes\":1233,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0644\",\"path\":\"/opt/stacks/crypto-portfolio/compose.yaml\",\"sha256\":\"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8\",\"uid\":0},\"templates/index.html\":{\"bytes\":38036,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0644\",\"path\":\"/opt/stacks/crypto-portfolio/templates/index.html\",\"sha256\":\"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2\",\"uid\":0},\"worker.py\":{\"bytes\":10300,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0640\",\"path\":\"/opt/stacks/crypto-portfolio/worker.py\",\"sha256\":\"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c\",\"uid\":0}},\"source_semantics\":{\"alerts_still_use_shared_set\":true,\"alerts_use_shared_ids\":true,\"app_readable\":true,\"fixed_usdc_price_present\":false,\"holding_accepts_portfolio_set\":false,\"portfolio_coins_declaration_count\":0,\"portfolio_market_declaration_count\":0,\"positions_use_portfolio_ids\":false,\"positions_use_shared_ids\":true,\"template_readable\":true,\"top_cards_use_shared_ids\":true},\"target_identity\":{\"docker_state\":{\"bytes\":30721152,\"exists\":true,\"gid\":0,\"is_dir\":false,\"is_file\":true,\"is_symlink\":false,\"mode\":\"0755\",\"path\":\"/usr/bin/docker\",\"sha256\":\"dcd656567975bc326ab55e8a043989a60ca336638689d9faa10ef15614709b71\",\"uid\":0},\"euid\":0,\"observed_hostname\":\"core-apps\",\"root_state\":{\"bytes\":4096,\"exists\":true,\"gid\":0,\"is_dir\":true,\"is_file\":false,\"is_symlink\":false,\"mode\":\"0750\",\"path\":\"/opt/stacks/crypto-portfolio\",\"resolved_path\":\"/opt/stacks/crypto-portfolio\",\"uid\":0},\"transport\":\"QEMU_GUEST_AGENT\",\"v46_expected_hostname\":\"core-apps\",\"v46_hostname_match\":true,\"vmid\":170}},\"private_addresses_included\":false,\"rc\":0,\"read_only\":true,\"rollback_restored\":null,\"rollback_started\":false,\"sanitized\":true,\"schema\":1,\"secrets_included\":false,\"status\":\"OK\"}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index c3a1bb0..0cf7f9f 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,15 +1,15 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=GRAM1-SITE-USDC-V49-READ-ONLY-DIRECT-QGA-PREFLIGHT-20260802T222337Z +COMMAND_ID=GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z STATUS=OK RC=0 HOST=pve01 MODE=verify -COMPONENT=gram1-site-usdc-read-only-direct-qga-preflight +COMPONENT=gram1-site-usdc-read-only-direct-qga-source-diag REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83 -COMMAND_SHA256=a560d36dc914e744797d7087ec211e1225c11c52b1e4c4e2b9899764c0dc0a7d +COMMAND_SHA256=3f8cc02deb5c35249b401acfaefa0cee6e5e542ca5f32624ea159b9c0f77bf15 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true CHANGE_DECLARED=false @@ -24,11 +24,11 @@ MUTATION_OUTCOME=NO_MUTATION SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=40f8598fabe87aba4e9d39df195480a9e95c0412111b01e057f0bfda1be97486 -SANITIZED_OUTPUT_SHA256=40f8598fabe87aba4e9d39df195480a9e95c0412111b01e057f0bfda1be97486 +RAW_EVIDENCE_SHA256=d0630af716a246d0621840fdab6bcbd7cfc6e5a03c4accc464b597d374b9ace9 +SANITIZED_OUTPUT_SHA256=d0630af716a246d0621840fdab6bcbd7cfc6e5a03c4accc464b597d374b9ace9 OUTPUT_BEGIN -HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GRAM1-SITE-USDC-V49-READ-ONLY-DIRECT-QGA-PREFLIGHT-20260802T222337Z","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} -{"changes_made":false,"command_id":"GRAM1-SITE-USDC-V49-READ-ONLY-DIRECT-QGA-PREFLIGHT-20260802T222337Z","control_plane_error":null,"diagnosis":"VM170_DIRECT_QGA_READY","diagnostic_complete":true,"duration_ms":279,"failure_evidence":{},"mutation_outcome":"NO_MUTATION","observations":{"execution_context":{"direct_qga_bypasses_qm_and_pmxcfs":true,"effective_uid":0},"qga":{"capabilities":{"guest-exec":{"advertised":true,"enabled":true},"guest-exec-status":{"advertised":true,"enabled":true},"guest-get-host-name":{"advertised":true,"enabled":true},"guest-info":{"advertised":true,"enabled":true},"guest-ping":{"advertised":true,"enabled":true}},"connected":true,"guest_exec_smoke":{"err_data_present":false,"err_truncated":false,"exit_code":0,"exited":true,"ok":true,"out_data_present":false,"out_truncated":false,"path":"/usr/bin/true","pid_returned":true,"signal":null},"hostname":{"expected_short":"core-apps","full_bytes":9,"full_sha256":"4b47bafa6e2406986a5c23dc31e075fbcd3feedf7001d35c5e130ef522b32c53","matches":true,"short":"core-apps"},"ping_ok":true,"synchronized":true,"version":"10.0.11"},"qga_socket":{"candidates":[{"device":27,"exists":true,"expected_kind":"socket","gid":0,"inode":4042,"kind":"socket","kind_matches":true,"label":"service-view","mode":"0o750","uid":0},{"device":27,"exists":true,"expected_kind":"socket","gid":0,"inode":4042,"kind":"socket","kind_matches":true,"label":"host-root-view","mode":"0o750","uid":0}],"selected_view":"service-view"},"source_v48":{"capsule_sha256":"bb565ea0d3c4351d749bd42a55be269661eaf0343a3ce6925e499d9af0591dd8","diagnosis":"VM170_STATUS_QUERY_FAILED","pmxcfs_ipc_stderr_sha256":"7f7c6a4e34d689a6246e2dda50729abf93fb15fdc56cc971b1690257d4e0d228"},"vm_config":{"agent_option_enabled":true,"agent_option_present":true,"agent_option_sha256":"04244d61b5d62bec0d4460feab3b431064160aeacf8a94cdcb447f1a3908841c","candidates":[{"bytes":727,"device":49,"exists":true,"expected_kind":"regular","gid":33,"inode":59,"kind":"regular","kind_matches":true,"label":"service-view","mode":"0o640","readable":true,"sha256":"7e344ce8d2bbee4be2ad293826e22a0b952bde209060e8a1c1fa5dc864acaeac","uid":0},{"device":49,"exists":true,"expected_kind":"regular","gid":33,"inode":59,"kind":"regular","kind_matches":true,"label":"host-root-view","mode":"0o640","uid":0}],"expected_name":"core-apps","name":"core-apps","name_matches":true,"selected_view":"service-view","vmid":170}},"private_addresses_included":false,"qga_steps":[{"command":"guest-sync-delimited","ok":true,"request_bytes":75,"request_sha256":"424a705f1581c9f091c16b68b540f0f7c65c17e29e543cd6c11b6ce403cf64ba","response_bytes":32,"response_sha256":"e965aa919da269564dbf51c4db060660d394f06a69d5cd54a6e752c79dea42b0","stage":"sync"},{"command":"guest-ping","ok":true,"request_bytes":25,"request_sha256":"235f66ea63328f6374765a92c9fb9bfc8663508d8c473c471b5f670213ec9341","response_bytes":15,"response_sha256":"96199c5d226002cc69183cf9a5c3c5074ca0af4c76d234b08652604488493a5e","stage":"ping"},{"command":"guest-info","ok":true,"request_bytes":25,"request_sha256":"0bf25558396c0dbac996d55fc671d5e4d92acce15fd96829234ef4632fb57fb0","response_bytes":3297,"response_sha256":"fff4078a94d3d1a05250f1e93293cde65557ab022794d8e7fe6b3bda45ff2790","stage":"info"},{"command":"guest-get-host-name","ok":true,"request_bytes":34,"request_sha256":"56712c554c3f734ac24b18e5ed1322c3b73da0fc12298a4c6d8ec78b642b5f5c","response_bytes":39,"response_sha256":"fe21c65168be8b21117db3971470a493793cfff9db1f9cbcdf952db00ad2b92e","stage":"hostname"},{"command":"guest-exec","ok":true,"request_bytes":93,"request_sha256":"654b199fb62dbd428aabf8286b4ace82f4097979e0225f0ad27e42edd93b39f6","response_bytes":29,"response_sha256":"9b86c0dcda01b8b94a5f707ac57a6733d26ec2c3c54db5f216c75cbb31eecb7d","stage":"exec-true"},{"command":"guest-exec-status","ok":true,"request_bytes":60,"request_sha256":"c2aaea060ca52c33af44158983dfdcbb168c8bd19eb8f7b29c41b73575b1015a","response_bytes":30,"response_sha256":"dd37cc8c208829ac7bad548c8711792dd014b8c8131bf2f5585c6903e5ff2362","stage":"exec-status-true"},{"command":"guest-exec-status","ok":true,"request_bytes":60,"request_sha256":"c2aaea060ca52c33af44158983dfdcbb168c8bd19eb8f7b29c41b73575b1015a","response_bytes":44,"response_sha256":"92240907ad6e0d1d002acab36f88c588d81f70a918a2bcd3db8c61b86f3ee74c","stage":"exec-status-true"}],"rc":0,"read_only":true,"ready_for_remote_payload":true,"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"status":"OK"} +HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"status":"OK","version":1} +{"changes_made":false,"command_id":"GRAM1-SITE-USDC-V50-READ-ONLY-DIRECT-QGA-SOURCE-DIAG-20260802T223529Z","commands":[{"duration_ms":32,"rc":0,"stage":"compose-config-services","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":11,"stdout_sha256":"eef9f2ae690badd252b6332992b53a6658f483425b294de9826500063f55de9f"},{"duration_ms":7,"rc":0,"stage":"inspect-crypto-portfolio","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":12670,"stdout_sha256":"f47f2e23fd203fc060cf3bdda469c6bb73ec47f9f6dfcbcd0f799ac7050b53c0"},{"duration_ms":7,"rc":0,"stage":"inspect-crypto-portfolio-worker","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":10792,"stdout_sha256":"ff1345dd2cf83f368e02dff11123f1e10dc6212d8caf30cb8ecdf3979694d428"},{"duration_ms":118,"rc":0,"stage":"source-hashes-crypto-portfolio","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":262,"stdout_sha256":"ada0aa78b4a0c5b6b44e7d076e7307359471e2c06065f5fa85e8e9fe549f5bf3"},{"duration_ms":74,"rc":0,"stage":"source-hashes-crypto-portfolio-worker","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":86,"stdout_sha256":"572f389d914e2ebb95fb6d85531efd753e4e9de54d1ac2e866c4e26605624de5"}],"control_plane_error":null,"duration_ms":293,"error":null,"error_type":null,"mutation_outcome":"NO_MUTATION","observations":{"compose":{"available":true,"rc":0,"services":["web","worker"]},"containers":{"crypto-portfolio":{"app_bind_mounted":false,"available":true,"image_id":"sha256:2a9339d475b2f4a01f060162f48a23b9590eb3ba4b036b46aad72adad540c40d","image_ref":"crypto-portfolio-web","restart_count":0,"running":true},"crypto-portfolio-worker":{"app_bind_mounted":false,"available":true,"image_id":"sha256:7ff5fdff7ab373e6b22dfa1a677b000d83ff9d021e4464915078e506781fd0ed","image_ref":"crypto-portfolio-worker","restart_count":0,"running":true}},"database":{"amounts_read":false,"available":true,"holding_rows":4,"quick_check":"ok","usdc_holding_rows":0},"expected_v46_baseline_sha256":{"app.py":"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d","compose.yaml":"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8","templates/index.html":"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2","worker.py":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c"},"expected_v46_target_sha256":{"app.py":"8a81d075297856c2dd843da34e6dd1cb6baa1d9c36d24dbee6865e02aa625e25","compose.yaml":"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8","templates/index.html":"6ce3a065ba677a74e4b73db15613a1114a1167dc9af40bc76a29ced556aabe36","worker.py":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c"},"runtime_source":{"web":{"available":true,"rc":0,"sha256":{"/app/app.py":"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d","/app/templates/index.html":"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2","/app/worker.py":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c"}},"worker":{"available":true,"rc":0,"sha256":{"/app/worker.py":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c"}}},"source_classification":"V46_BASELINE","source_files":{"app.py":{"bytes":32843,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0640","path":"/opt/stacks/crypto-portfolio/app.py","sha256":"3b55b78c015173eea66b67afb8fb9371f0d7d2e38a7679d4c433749f4c07301d","uid":0},"compose.yaml":{"bytes":1233,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0644","path":"/opt/stacks/crypto-portfolio/compose.yaml","sha256":"6d344e46b3de94ad86131a914df2ff3ff25e9d82f7ce0557cbffa468b8cdc1b8","uid":0},"templates/index.html":{"bytes":38036,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0644","path":"/opt/stacks/crypto-portfolio/templates/index.html","sha256":"3752846b9a2d47a2c82377d222e5f8603f78101eda11422bc8634567e26209d2","uid":0},"worker.py":{"bytes":10300,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0640","path":"/opt/stacks/crypto-portfolio/worker.py","sha256":"4a7b16ece826fe2d938f392db6b0b5ca028dcb6ff02fdff4ab431f114edf0e5c","uid":0}},"source_semantics":{"alerts_still_use_shared_set":true,"alerts_use_shared_ids":true,"app_readable":true,"fixed_usdc_price_present":false,"holding_accepts_portfolio_set":false,"portfolio_coins_declaration_count":0,"portfolio_market_declaration_count":0,"positions_use_portfolio_ids":false,"positions_use_shared_ids":true,"template_readable":true,"top_cards_use_shared_ids":true},"target_identity":{"docker_state":{"bytes":30721152,"exists":true,"gid":0,"is_dir":false,"is_file":true,"is_symlink":false,"mode":"0755","path":"/usr/bin/docker","sha256":"dcd656567975bc326ab55e8a043989a60ca336638689d9faa10ef15614709b71","uid":0},"euid":0,"observed_hostname":"core-apps","root_state":{"bytes":4096,"exists":true,"gid":0,"is_dir":true,"is_file":false,"is_symlink":false,"mode":"0750","path":"/opt/stacks/crypto-portfolio","resolved_path":"/opt/stacks/crypto-portfolio","uid":0},"transport":"QEMU_GUEST_AGENT","v46_expected_hostname":"core-apps","v46_hostname_match":true,"vmid":170}},"private_addresses_included":false,"rc":0,"read_only":true,"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secrets_included":false,"status":"OK"} OUTPUT_END CHAT_OUTPUT_END