CHAT_OUTPUT_BEGIN
COMMAND_ID=HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-FIX2-V6-20260803T094841Z
STATUS=OK
RC=0
HOST=pve01
MODE=verify
COMPONENT=hbarhub-standard-local-deployment-plan-fix2-v6
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5763f2f8edc75fcf6f3951f8c95896d1cc112ceccb6cf5b64a383f540a4deb8e
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=24934a2c7fa5c26f6e828583c4aefac7f143b40c0171736ed7571e617d55ab83
COMMAND_SHA256=cda1dbd047b226d23bcd8c6e8c02f46be9957c2f777aab7b559e582a794b8d0b
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=8a879b5f406593f076d9eaff004256d4df2e02ac75e5088cee94d964a841fcfc
SANITIZED_OUTPUT_SHA256=8a879b5f406593f076d9eaff004256d4df2e02ac75e5088cee94d964a841fcfc
OUTPUT_BEGIN
HOMELAB_RESULT_CONTRACT={"changes_made":false,"command_id":"HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-FIX2-V6-20260803T094841Z","mutation_outcome":"NO_MUTATION","rollback_restored":null,"rollback_started":false,"status":"OK","version":1}
{"PLAN_SHA256":"7c5e7eed51a9c2de733631c21063714423ac3f4a692549958d4b4807140b6684","candidate_plan_sha256":"7c5e7eed51a9c2de733631c21063714423ac3f4a692549958d4b4807140b6684","capacity":{"disk":{"available_bytes":76465217536,"gate":true,"required_available_bytes":10737418240,"total_bytes":126605975552},"memory":{"available_bytes":2744274944,"required_available_bytes":2147483648,"standard_gate":true,"swap_free_bytes":6714781696,"swap_total_bytes":8589930496,"total_bytes":10435301376}},"changes_made":false,"checks":{"archive_bytes_exact":true,"archive_sha256_exact":true,"compose_config_valid":true,"compose_env_file_handling_valid":true,"compose_services_exact":true,"compose_source_exact":true,"compose_v4_unsupported_flag_removed":true,"core_hostname":true,"disk_gate":true,"docker_available":true,"no_hbarhub_containers":true,"no_hbarhub_images":true,"no_hbarhub_networks":true,"no_hbarhub_volumes":true,"only_main_branch":true,"port_8040_free":true,"python_syntax_valid":true,"read_only":true,"requirements_exact":true,"safe_manifest_exact":true,"source_available":true,"source_commit_exact":true,"source_tree_exact":true,"standard_memory_gate":true,"target_env_absent":true,"target_path_absent":true,"tracked_file_count_exact":true,"tracked_total_bytes_exact":true,"tree_listing_exact":true,"tree_path_set_exact":true},"command_audit":[{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-candidate-1-is-bare","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":5,"stdout_sha256":"a17fcf0a2f50e2d495e4f90ce263410edc183add6c62699a2facbccf60410f74","timed_out":false,"tool":"git"},{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-main-head","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":41,"stdout_sha256":"dc0f064e529250268d3ff6232078a19aca8a12b3abc0291e79756ffde77303ed","timed_out":false,"tool":"git"},{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-main-tree","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":41,"stdout_sha256":"59f30ea418f3e638f5c0294f375feeda787f7da9acc07ac67f8276032be811a2","timed_out":false,"tool":"git"},{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-branches","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":5,"stdout_sha256":"6403203dd5a0867eb14d104ee8a73730bd72dd9ad92e78d996a6dba0a5dcfc01","timed_out":false,"tool":"git"},{"duration_ms":0,"output_within_limit":true,"rc":0,"stage":"git-main-ls-tree","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":2095,"stdout_sha256":"8119f9a0c680eca043b5d648b8bf90567c90e5a6ae4f503779f4e8b66fcaa954","timed_out":false,"tool":"git"},{"duration_ms":1,"output_within_limit":true,"rc":0,"stage":"git-main-archive","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":9760,"stdout_sha256":"a7fcc963703dfcf71e1c72410e4af8836ced830b35eff10dbcc59f333bbd0a9e","timed_out":false,"tool":"git"},{"duration_ms":11,"output_within_limit":true,"rc":0,"stage":"docker-server-version","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":13,"stdout_sha256":"8484e7b831ba500ccf015246dc0a7b3f98de3c11519b347437ff8e91db018257","timed_out":false,"tool":"docker"},{"duration_ms":24,"output_within_limit":true,"rc":0,"stage":"docker-compose-version","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":9,"stdout_sha256":"9a98539f27de5f629edafed2968b89d8ca06b9b39c9469ed2c22f3ca265bb6f9","timed_out":false,"tool":"docker"},{"duration_ms":7,"output_within_limit":true,"rc":0,"stage":"docker-hbarhub-containers","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","timed_out":false,"tool":"docker"},{"duration_ms":6,"output_within_limit":true,"rc":0,"stage":"docker-hbarhub-networks","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","timed_out":false,"tool":"docker"},{"duration_ms":5,"output_within_limit":true,"rc":0,"stage":"docker-hbarhub-volumes","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","timed_out":false,"tool":"docker"},{"duration_ms":10,"output_within_limit":true,"rc":0,"stage":"docker-hbarhub-images","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":0,"stdout_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","timed_out":false,"tool":"docker"},{"duration_ms":30,"output_within_limit":true,"rc":0,"stage":"docker-compose-config","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_bytes":4267,"stdout_sha256":"05e127c4b23822d5229a6497983c9d412175ec5ac6fc7058013d0bd45bf5cda1","timed_out":false,"tool":"docker"}],"command_id":"HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-FIX2-V6-20260803T094841Z","container_environment_requested":false,"control_plane_error":null,"diagnosis":"HBARHUB_STANDARD_LOCAL_DEPLOYMENT_PLAN_READY","diagnostic_complete":true,"docker":{"available":true,"compose_config":{"attempted":true,"config_bytes":4267,"config_input_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","config_sha256":"05e127c4b23822d5229a6497983c9d412175ec5ac6fc7058013d0bd45bf5cda1","env_file_transform":{"config_input_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","env_file_present":false,"method":"SOURCE_UNCHANGED_NO_ENV_FILE","removed_block_count":0,"removed_block_set_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","removed_path_count":0,"removed_paths_all_dot_env":true,"secret_file_read":false,"source_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","source_unchanged":true,"valid":true,"writes_performed":false},"rc":0,"secret_file_read":false,"services":["postgres","redis","scheduler","web","worker"],"services_match":true,"source_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","stderr_bytes":0,"stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","v4_failure_stderr_sha256":"ba21762623983ad018d6304d027d71b6daf31b7c183482acf2579424be4cc326","v4_unsupported_flag_removed":true,"valid":true},"compose_version":"2.26.1-4","container_environment_requested":false,"containers":[],"images":[],"networks":[],"server_version":"26.1.5+dfsg1","volumes":[]},"duration_ms":105,"failed_checks":[],"failures":[],"gate":"READY_FOR_STANDARD_LOCAL_DEPLOYMENT_APPLY","identity":{"expected_hostname":"core-apps","hostname_short":"core-apps","matches":true},"mutation_outcome":"NO_MUTATION","plan":{"acceptance":["all five services are present","postgres and redis are healthy","web is healthy and /health/live returns success","/health/ready returns success after migrations","worker and scheduler are running","Gitea main remains unchanged","public proxy remains unchanged"],"apply_operations":["create /opt/stacks/hbarhub from the verified in-memory git archive","generate deployment secrets locally and write .env mode 0600","validate docker compose config again","build only the hbarhub application image","start postgres and redis, then run Django migrations","start web, worker, and scheduler","verify local live and ready health on port 8040"],"apply_preconditions":["all source locks match exactly","only main branch is present","target path and target .env are absent","no hbarhub containers, networks, volumes, or images exist","port 8040 has no listener","standard memory and disk gates pass","docker compose config validates the exact source"],"compose_validation":{"command":"docker compose config --format json --no-interpolate","config_input_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","env_file_transform":{"config_input_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","env_file_present":false,"method":"SOURCE_UNCHANGED_NO_ENV_FILE","removed_block_count":0,"removed_block_set_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","removed_path_count":0,"removed_paths_all_dot_env":true,"secret_file_read":false,"source_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","source_unchanged":true,"valid":true,"writes_performed":false},"method":"SOURCE_UNCHANGED_OR_IN_MEMORY_ENV_FILE_OMISSION","normalized_config_sha256":"05e127c4b23822d5229a6497983c9d412175ec5ac6fc7058013d0bd45bf5cda1","secret_file_read":false,"services":["postgres","redis","scheduler","web","worker"],"source_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","unsupported_v4_flag_removed":true,"writes_performed":false},"forbidden":["modify Gitea refs or repository content","modify NPMplus, DNS, TLS, or any public proxy","modify monitoring, backups, or other compose projects","read, print, publish, or return generated secret values","write outside the new stack and Docker resources labeled project hbarhub"],"next_stage":"STANDARD_LOCAL_DEPLOYMENT_APPLY","operation":"HBARHUB_FRESH_STANDARD_LOCAL_DEPLOYMENT","parent_inventory":{"capsule_sha256":"15578fd16d67bd7180858370ff06017184bc79ce14da4eee8005fc9cf8e4219d","changes_made":false,"command_id":"HBARHUB-STANDARD-LOCAL-DEPLOYMENT-PLAN-FIX1-V5-20260803T093519Z","diagnosis":"HBARHUB_DEPLOYMENT_PLAN_UNEXPECTED_EXCEPTION","exception_evidence_sha256":"7d844bbd82129943f3b700ec95bbc2a73652300ec16c6c8353289e2ec0590fd0","exception_identity":"COMPOSE_ENV_FILE_BLOCK_MISSING","exception_type":"ValueError","mutation_outcome":"NO_MUTATION","output_sha256":"8eb695a48187cae0e47dc156a53e7a978b12d5e9e5dcc4108186db746f006206","runner_document_rc":1,"runner_json_sha256":"84358dea8b34a147269c560fb233581a68e31b49eb0d30618ebc6e90e1a0f756","runner_rc":1,"runtime_archive_bytes":9760,"runtime_archive_sha256":"a7fcc963703dfcf71e1c72410e4af8836ced830b35eff10dbcc59f333bbd0a9e","status":"FAIL"},"profile":{"health_endpoints":["/health/live","/health/ready"],"minimum_available_disk_bytes":10737418240,"minimum_available_memory_bytes":2147483648,"name":"STANDARD","services":["postgres","redis","scheduler","web","worker"]},"rollback":{"operations":["capture sanitized failure evidence","docker compose down --volumes --remove-orphans","remove only application images created by this apply","remove only /opt/stacks/hbarhub created by this apply","verify no hbarhub resources remain and port 8040 is free"],"preexisting_data_preserved":"preconditions require no preexisting stack or project resources","trigger":"any failed post-mutation check"},"schema":1,"source_lock":{"archive_bytes":9760,"archive_sha256":"a7fcc963703dfcf71e1c72410e4af8836ced830b35eff10dbcc59f333bbd0a9e","branch":"main","commit":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","delivery":"local bare repository git archive; no Git credentials","repository":"homelab-admin/hbarhub","tree":"7e13a2e1b5ab35046dbe172383a814151c16cce0"},"target":{"compose_project":"hbarhub","hostname":"core-apps","local_port":8040,"public_proxy":false,"role":"core-apps","stack_path":"/opt/stacks/hbarhub","vmid":170}},"port_listener":{"addresses_read_from_output":false,"errors":[],"kernel_tables_read":2,"listener_entry_count":0,"listener_present":false,"port":8040},"private_addresses_included":false,"rc":0,"read_only":true,"ready_for_apply":true,"rollback_restored":null,"rollback_started":false,"sanitized":true,"schema":1,"secret_files_read":false,"secrets_included":false,"source":{"archive_bytes":9760,"archive_member_count":33,"archive_member_set_sha256":"2bb39282d17b0cbcb368739c4cbd947b72c43585b527b3e685937b6e6dd2b142","archive_sha256":"a7fcc963703dfcf71e1c72410e4af8836ced830b35eff10dbcc59f333bbd0a9e","available":true,"branch_names":["main"],"env_example_key_count":12,"env_example_key_set_sha256":"730754b06ebb1f8d8855881238d6d5ed290120bb911b1f22cc68c12b4759085e","invalid_utf8_path_count":0,"main_head":"57d2704dc4dc4f1e00c3e1bda67fc0bc2bef6957","main_tree":"7e13a2e1b5ab35046dbe172383a814151c16cce0","published_path_candidates":[{"bare_repository":true,"bytes":4096,"exists":true,"gid":1000,"git_rc":0,"kind":"directory","mode":"0755","path":"/opt/stacks/gitea/data/git/repositories/homelab-admin/hbarhub.git","uid":1000},{"exists":false,"kind":null,"path":"/opt/stacks/gitea/data/gitea-repositories/homelab-admin/hbarhub.git"}],"python_compile_failures":[],"python_file_count":13,"requirements":["Django==6.0.7","celery==5.6.3","gunicorn==26.0.0","psycopg[binary]==3.3.4","redis==8.0.1"],"requirements_match":true,"safe_manifest":{".dockerignore":{"bytes":82,"exists":true,"expected_sha256":"3870cba2def4ee4e45c8ef33cb7239c6d391a9b57ff17e9b26d7bbdaf03501fa","matches":true,"sha256":"3870cba2def4ee4e45c8ef33cb7239c6d391a9b57ff17e9b26d7bbdaf03501fa"},".env.example":{"bytes":419,"exists":true,"expected_sha256":"0c93f24bb448c384a430b65bebcd54b86b570c62df88aa073e1342f7a3eba5b3","matches":true,"sha256":"0c93f24bb448c384a430b65bebcd54b86b570c62df88aa073e1342f7a3eba5b3"},"Dockerfile":{"bytes":477,"exists":true,"expected_sha256":"9c0be49681f983c329937f486427dbf002b826973a48d5c1851de7f55a6ce1ab","matches":true,"sha256":"9c0be49681f983c329937f486427dbf002b826973a48d5c1851de7f55a6ce1ab"},"README.md":{"bytes":1429,"exists":true,"expected_sha256":"3b6de9c4d5c9f76d51280bb395f86e3cf51b69c982ea6a5a8d3740d09739cfff","matches":true,"sha256":"3b6de9c4d5c9f76d51280bb395f86e3cf51b69c982ea6a5a8d3740d09739cfff"},"compose.yaml":{"bytes":2980,"exists":true,"expected_sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc","matches":true,"sha256":"65ea3fe0cd0d13651f920a776379876e9202a9614dd0368404d7a24561497efc"},"config/assets.json":{"bytes":2787,"exists":true,"expected_sha256":"dfa2fc55e610dc5bb341169c24d45aaaf4143a1b8c9d021db37a8a8725cd15ff","matches":true,"sha256":"dfa2fc55e610dc5bb341169c24d45aaaf4143a1b8c9d021db37a8a8725cd15ff"},"docs/ARCHITECTURE.md":{"bytes":1214,"exists":true,"expected_sha256":"cf219e2f0ee4be0e4881afc7035afff4c79b167579486ecf2eb601fd925d0e8e","matches":true,"sha256":"cf219e2f0ee4be0e4881afc7035afff4c79b167579486ecf2eb601fd925d0e8e"},"docs/OPERATIONS.md":{"bytes":957,"exists":true,"expected_sha256":"5b41e7fcb4527eea3e5ab2496ec2239d8021ae8843c302a9f5371d77fdd043a7","matches":true,"sha256":"5b41e7fcb4527eea3e5ab2496ec2239d8021ae8843c302a9f5371d77fdd043a7"},"hbarhub/__init__.py":{"bytes":65,"exists":true,"expected_sha256":"8974a9c493587f508e73f358876ade4f3ab0369012b29ffb14280dbe30f721ce","matches":true,"sha256":"8974a9c493587f508e73f358876ade4f3ab0369012b29ffb14280dbe30f721ce"},"hbarhub/celery.py":{"bytes":223,"exists":true,"expected_sha256":"b33bfae9785e01372e6b3c88a5747275013831fa5b323cfc60ada4f361551a47","matches":true,"sha256":"b33bfae9785e01372e6b3c88a5747275013831fa5b323cfc60ada4f361551a47"},"hbarhub/settings.py":{"bytes":3614,"exists":true,"expected_sha256":"662118548cce23f916be7ed66a468255a3405a3430b301bfe5adba4b764a1f88","matches":true,"sha256":"662118548cce23f916be7ed66a468255a3405a3430b301bfe5adba4b764a1f88"},"hbarhub/urls.py":{"bytes":165,"exists":true,"expected_sha256":"ddcebb4348c298dd8047df40cd1698603523f8a4ced6b518ad58f4b724db8cac","matches":true,"sha256":"ddcebb4348c298dd8047df40cd1698603523f8a4ced6b518ad58f4b724db8cac"},"hbarhub/wsgi.py":{"bytes":168,"exists":true,"expected_sha256":"03ee75d6dd996de897b4a1c221584459e3b41c507d21f010d5b0372c4da8a630","matches":true,"sha256":"03ee75d6dd996de897b4a1c221584459e3b41c507d21f010d5b0372c4da8a630"},"manage.py":{"bytes":284,"exists":true,"expected_sha256":"f9cca66c33a7b629895d0637299fa3aa2396ab6759bcade14ed28a6e2d306b5a","matches":true,"sha256":"f9cca66c33a7b629895d0637299fa3aa2396ab6759bcade14ed28a6e2d306b5a"},"portal/__init__.py":{"bytes":0,"exists":true,"expected_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","matches":true,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"portal/apps.py":{"bytes":174,"exists":true,"expected_sha256":"9308f2f4d7e9d110253fe8574aa42edeabd35a7316ab740d9e5e6ac0ee5498a2","matches":true,"sha256":"9308f2f4d7e9d110253fe8574aa42edeabd35a7316ab740d9e5e6ac0ee5498a2"},"portal/assets.py":{"bytes":911,"exists":true,"expected_sha256":"ce231cb3af3460166ef2a23c1456e3f704e44d9f19db42ce030af8a4bea71019","matches":true,"sha256":"ce231cb3af3460166ef2a23c1456e3f704e44d9f19db42ce030af8a4bea71019"},"portal/tasks.py":{"bytes":192,"exists":true,"expected_sha256":"8b4402ff2ac1c8603bc9c0821ca16b3b6d610facad7eccf76b83076ee912f0b2","matches":true,"sha256":"8b4402ff2ac1c8603bc9c0821ca16b3b6d610facad7eccf76b83076ee912f0b2"},"portal/templates/portal/home.html":{"bytes":3478,"exists":true,"expected_sha256":"bad177066fedee2f8e427cb81ba9c32db4ae36ce533ce0f2090e60b6970378ae","matches":true,"sha256":"bad177066fedee2f8e427cb81ba9c32db4ae36ce533ce0f2090e60b6970378ae"},"portal/tests.py":{"bytes":1371,"exists":true,"expected_sha256":"42420399fd48c97ce5ab4872d95b5490e0d3a266df8677d31d0ee1987852c9ff","matches":true,"sha256":"42420399fd48c97ce5ab4872d95b5490e0d3a266df8677d31d0ee1987852c9ff"},"portal/urls.py":{"bytes":260,"exists":true,"expected_sha256":"164665d9a442ab79bc4c0f250d1e3d76a096b4f93825e9900fab5bde0d53a088","matches":true,"sha256":"164665d9a442ab79bc4c0f250d1e3d76a096b4f93825e9900fab5bde0d53a088"},"portal/views.py":{"bytes":1449,"exists":true,"expected_sha256":"b1166fa6008792a83701740f560f93a3b74b3203003bc738c35a5f56454c1f14","matches":true,"sha256":"b1166fa6008792a83701740f560f93a3b74b3203003bc738c35a5f56454c1f14"},"requirements.txt":{"bytes":81,"exists":true,"expected_sha256":"9838729f64d26b126c20f47836bcedfc97262a46059c6f810e088b1b7bf02ffa","matches":true,"sha256":"9838729f64d26b126c20f47836bcedfc97262a46059c6f810e088b1b7bf02ffa"}},"safe_manifest_all_match":true,"safe_manifest_scope":"PUBLISHED_23_SOURCE_FILES","secret_file_read":false,"selected_path":"/opt/stacks/gitea/data/git/repositories/homelab-admin/hbarhub.git","tracked_file_count":27,"tracked_total_bytes":26067,"tree_listing_sha256":"8119f9a0c680eca043b5d648b8bf90567c90e5a6ae4f503779f4e8b66fcaa954","tree_path_set_sha256":"245c3f22584759bed02f493855facb68662333953100f036716afffc1f65e83f"},"stack":{"root":{"exists":false,"kind":null,"path":"/opt/stacks/hbarhub"},"secret_env_metadata_only":{"content_read":false,"exists":false,"kind":null,"path":"/opt/stacks/hbarhub/.env"}},"status":"OK","unexpected_exception":{}}

OUTPUT_END
CHAT_OUTPUT_END
