{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "NEWFI-260908-A-PORTAL200-APPLY4FIX4", "status": "FAIL", "rc": 1, "host": "pve01", "mode": "change", "component": "newfi-portal200-apply4fix4-dynamic-template-hash-deploy", "started_at_utc": "2026-09-08T04:11:30Z", "finished_at_utc": "2026-09-08T04:13:13Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", "command_sha256": "a5d4e8688e706e2eac604ae9b64945f897e671ba9c44be82b63559b4970c0c2d", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, "change_declared": true, "result_contract_valid": true, "result_contract_status": "FAIL", "result_contract_error": null, "command_rc": 1, "changes_made": true, "rollback_started": true, "rollback_restored": false, "mutation_outcome": "ROLLBACK_FAILED", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, "raw_evidence_sha256": "742f49cca6bb4d7976093b862a105b737ab06ab1fcd8ebe45b166dded2868373", "sanitized_output_sha256": "742f49cca6bb4d7976093b862a105b737ab06ab1fcd8ebe45b166dded2868373", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "NEWFI_APPLY4FIX4_BEGIN=true\nCOMMAND_ID=NEWFI-260908-A-PORTAL200-APPLY4FIX4\nCOMPONENT=newfi-portal200-apply4fix4-dynamic-template-hash-deploy\nMODE=change\nFLOW=exact-syntax-patch->dual-presave-preflight->staging->rollback-proof->staging-reapply->git-push->production->final\nADDON_REBUILD_METHOD=xf:addon-rebuild -n -f Newfi/Portal + XenForo Entity API templates\nTEMPLATE_IMPORT_WORKAROUND=native_baseline_template_rebuild_then_entity_api_then_candidate_dev_output\nFORCE_JUSTIFICATION=same_version_candidate_requires_force_to_skip_rebuildable_check\nERROR_REGISTER_CHECK=OK\nERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0\nREFERENCE_CHECK=OK\nREFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nRECOVERY5_HISTORY_SHA256=08c00e675ffa960eca55102a114d305fb1a15291ff7e401dc43c09d087c32ece\nSYNTAX1_HISTORY_SHA256=993e1e336b0806f5453e25a81df2d3f20597c90e7027fe97b9794f9401fe13a4\nFAILED_FIX3_HISTORY_SHA256=fb2b4aa365fabbb14fa4d0ea7d94352d3309bbf9013df1958ddbe5da3798b152\nTEMPLATE_SYNTAX_PATCH={\"bad_line\":\" {$dog.full_name ?: $dog.name}\",\"fixed_line\":\" {$dog.full_name}{$dog.name}\",\"fixed_xml_bytes\":11021,\"fixed_xml_sha256\":\"29c1dadd480f597f612a41d10081f39097ad90e12c480eec244b671f49074d28\",\"original_xml_sha256\":\"1650c3d868d4bc47703f1b75f1f179cd25309b2d3b20a2b848e81a4423c00861\"}\nCANDIDATE_TEMPLATE_EFFECTIVE_SHAS={\"newfi_portal\":\"adfd0b49bdef6ab33af849ddce7150c193072bcb9c688c077534eff522924d46\",\"newfi_portal.less\":\"25b1dc49e89ef7615a11cd1023876c4ab9b5f96f90b1fca52a4815bb5992fbe8\"}\nCANDIDATE_IDENTITY={\"effective_new\":{\"Pub/Controller/Portal.php\":[363,\"619d489f7cc3b461479c702fa8825097ae22d3c6cfeb911e9f14ea1de9c36d6d\"],\"Service/PortalData.php\":[5213,\"4da03f26294ab6d163a1a746dee4bb6a82d7d4f39e66b24246bc0eb4c455dd1d\"],\"_data/templates.xml\":[11021,\"29c1dadd480f597f612a41d10081f39097ad90e12c480eec244b671f49074d28\"]},\"mode\":\"sparse_exact_three_blobs\",\"result_tree_sha256\":\"40ec92a7af4f8824f620c0687b62303541dc11f1c7ca91711bc50bd9d728839d\",\"source_expected_new\":{\"Pub/Controller/Portal.php\":[363,\"619d489f7cc3b461479c702fa8825097ae22d3c6cfeb911e9f14ea1de9c36d6d\"],\"Service/PortalData.php\":[5213,\"4da03f26294ab6d163a1a746dee4bb6a82d7d4f39e66b24246bc0eb4c455dd1d\"],\"_data/templates.xml\":[10977,\"1650c3d868d4bc47703f1b75f1f179cd25309b2d3b20a2b848e81a4423c00861\"]},\"version_id\":1000010,\"version_string\":\"1.0.0 Alpha 1\"}\nNEWFI-STAGING_TEMPLATE_PRESAVE_VALIDATE={\"err\":\"\",\"out\":\"[{\\\"title\\\":\\\"newfi_portal\\\",\\\"presave\\\":\\\"OK\\\"},{\\\"title\\\":\\\"newfi_portal.less\\\",\\\"presave\\\":\\\"OK\\\"}]\",\"rc\":0}\nNEWFI-PROD_TEMPLATE_PRESAVE_VALIDATE={\"err\":\"\",\"out\":\"[{\\\"title\\\":\\\"newfi_portal\\\",\\\"presave\\\":\\\"OK\\\"},{\\\"title\\\":\\\"newfi_portal.less\\\",\\\"presave\\\":\\\"OK\\\"}]\",\"rc\":0}\nTEMPLATE_PRESAVE_PREFLIGHT=PASS_NO_PERSISTENT_MUTATION\nPORTAL200_PREFLIGHT=PASS\nNEWFI-STAGING_NATIVE_REBUILD_RC=0\nNEWFI-STAGING_NATIVE_REBUILD_STDOUT_TAIL=\\nImporting add-on data\\nImporting... Add-on data (Navigation)\\nImporting... Add-on data (Phrases)\\nImporting... Add-on data (Routes)\\nImporting... Add-on data (Templates)\\n\nNEWFI-STAGING_NATIVE_REBUILD_STDERR_TAIL=\nNEWFI-STAGING_ENTITY_TEMPLATE_APPLY={\"err\":\"\",\"out\":\"[{\\\"title\\\":\\\"newfi_portal\\\",\\\"type\\\":\\\"public\\\",\\\"style_id\\\":0,\\\"template_id\\\":1610,\\\"created\\\":false},{\\\"title\\\":\\\"newfi_portal.less\\\",\\\"type\\\":\\\"public\\\",\\\"style_id\\\":0,\\\"template_id\\\":1616,\\\"created\\\":true}]\",\"rc\":0}\nNEWFI-STAGING_RENDER_VERIFY={\"html_bytes\":3964,\"portal_count\":5}\nSTAGING_APPLY1_VERIFY=PASS\nNEWFI-STAGING_NATIVE_REBUILD_RC=0\nNEWFI-STAGING_NATIVE_REBUILD_STDOUT_TAIL=\\nImporting add-on data\\nImporting... Add-on data (Navigation)\\nImporting... Add-on data (Phrases)\\nImporting... Add-on data (Routes)\\nImporting... Add-on data (Templates)\\n\nNEWFI-STAGING_NATIVE_REBUILD_STDERR_TAIL=\nSTAGING_PLANNED_ROLLBACK_PROOF=PASS\nNEWFI-STAGING_NATIVE_REBUILD_RC=0\nNEWFI-STAGING_NATIVE_REBUILD_STDOUT_TAIL=\\nImporting add-on data\\nImporting... Add-on data (Navigation)\\nImporting... Add-on data (Phrases)\\nImporting... Add-on data (Routes)\\nImporting... Add-on data (Templates)\\n\nNEWFI-STAGING_NATIVE_REBUILD_STDERR_TAIL=\nNEWFI-STAGING_ENTITY_TEMPLATE_APPLY={\"err\":\"\",\"out\":\"[{\\\"title\\\":\\\"newfi_portal\\\",\\\"type\\\":\\\"public\\\",\\\"style_id\\\":0,\\\"template_id\\\":1610,\\\"created\\\":false},{\\\"title\\\":\\\"newfi_portal.less\\\",\\\"type\\\":\\\"public\\\",\\\"style_id\\\":0,\\\"template_id\\\":1617,\\\"created\\\":true}]\",\"rc\":0}\nNEWFI-STAGING_RENDER_VERIFY={\"html_bytes\":3964,\"portal_count\":5}\nSTAGING_FINAL_REAPPLY=PASS\nAPPLY4_FAILURE=DeployError:GIT_DIFF_SCOPE_FAIL\nFAILURE_ROLLBACK_BEGIN=true\nNEWFI-STAGING_NATIVE_REBUILD_RC=0\nNEWFI-STAGING_NATIVE_REBUILD_STDOUT_TAIL=\\nImporting add-on data\\nImporting... Add-on data (Navigation)\\nImporting... Add-on data (Phrases)\\nImporting... Add-on data (Routes)\\nImporting... Add-on data (Templates)\\n\nNEWFI-STAGING_NATIVE_REBUILD_STDERR_TAIL=\nFAILURE_ROLLBACK_STAGING=PASS\nFAILURE_ROLLBACK_GIT=FAIL:GIT_EXPLICIT_PATH_RESTORE_FAILED:error: pathspec 'src/addons/Newfi/Portal/Service/PortalData.php' did not match any file(s) known to git\\n\nFAILURE_ROLLBACK_END=false\nFINAL_DECISION=FAIL_PORTAL200_APPLY4FIX4_ROLLBACK_INCOMPLETE\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"NEWFI-260908-A-PORTAL200-APPLY4FIX4\",\"status\":\"FAIL\",\"changes_made\":true,\"rollback_started\":true,\"rollback_restored\":false}\n" }