{ "schema_version": 1, "channel": "homelab-runtime", "command_id": "SUPPORT-260909-GRAM-XF-PERMISSION-API-077", "status": "OK", "rc": 0, "host": "pve01", "mode": "read-only", "component": "gram-support-permission-api", "started_at_utc": "2026-09-09T13:48:18Z", "finished_at_utc": "2026-09-09T13:48:20Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", "command_sha256": "9b0bd9da831272790b46b5be9758e0b562464952d7cf2c31936d2849e96d6e88", "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": "c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429", "sanitized_output_sha256": "c4e84a8becdb6d1097209b6b71f48b386c9d9a63bd203442472a023a6dff9429", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", "output": "SUPPORT077_BEGIN\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nSUPPORT077_VM211={\"command_id\":\"SUPPORT-260909-GRAM-XF-PERMISSION-API-077\",\"decision\":\"PERMISSION_API_CAPTURED\",\"files\":[{\"methods\":[],\"path\":\"src/XF/AddOn/AbstractSetup.php\",\"sha256\":\"6bdd3fe834e15b963a52c9357f54262f2d12f3c7c3686fc31333b549cddf2d88\"},{\"constants\":[{\"line\":112,\"text\":\"public const GROUP_REG = 2;\"},{\"line\":113,\"text\":\"public const GROUP_ADMIN = 3;\"},{\"line\":114,\"text\":\"public const GROUP_MOD = 4;\"},{\"line\":1387,\"text\":\"$this->user_group_id = self::GROUP_REG;\"},{\"line\":2309,\"text\":\"$this->user_group_id = self::GROUP_REG;\"}],\"path\":\"src/XF/Entity/User.php\",\"sha256\":\"1ea738d44993ad4cb7f5db12e8b2ee06c37bd2b2c7ae1714b068fb64bbb82758\"},{\"methods\":[{\"block\":[{\"line\":15,\"text\":\"\\t/**\"},{\"line\":16,\"text\":\"\\t * @param float $maxRunTime\"},{\"line\":17,\"text\":\"\\t */\"},{\"line\":18,\"text\":\"\\tpublic function run($maxRunTime)\"},{\"line\":19,\"text\":\"\\t{\"},{\"line\":20,\"text\":\"\\t\\tif (!$this->data['cleaned'])\"},{\"line\":21,\"text\":\"\\t\\t{\"},{\"line\":22,\"text\":\"\\t\\t\\t$combinationRepo = $this->app->repository(PermissionCombinationRepository::class);\"},{\"line\":23,\"text\":\"\\t\\t\\t$combinationRepo->deleteUnusedPermissionCombinations();\"},{\"line\":24,\"text\":\"\"},{\"line\":25,\"text\":\"\\t\\t\\t$this->data['cleaned'] = true;\"},{\"line\":26,\"text\":\"\\t\\t}\"},{\"line\":27,\"text\":\"\"},{\"line\":28,\"text\":\"\\t\\treturn parent::run($maxRunTime);\"},{\"line\":29,\"text\":\"\\t}\"}],\"function_line\":18},{\"block\":[{\"line\":72,\"text\":\"\\t\\t$this->app->permissionBuilder()->rebuildCombination($combination);\"},{\"line\":73,\"text\":\"\\t}\"},{\"line\":74,\"text\":\"\"},{\"line\":75,\"text\":\"\\tprotected function getStatusType(): Phrase\"},{\"line\":76,\"text\":\"\\t{\"},{\"line\":77,\"text\":\"\\t\\treturn \\\\XF::phrase('permissions');\"},{\"line\":78,\"text\":\"\\t}\"}],\"function_line\":75}],\"path\":\"src/XF/Job/PermissionRebuild.php\",\"sha256\":\"4fe78e4c7547af61a1fe532c30ad674ef23e3d556e51200c41b22f6e3ec0dd89\"}],\"gram_setup\":{\"has_applyGlobalPermissionByGroup\":false,\"has_upgrade1000070Step1\":false,\"sha256\":\"4977f90ec0444e2e3a1e4ee9b79a4e88098c5a3ae37b30d63e77cff2e1fcb971\"},\"guest\":\"newfi-staging\",\"holds\":[],\"scope\":\"READ_ONLY_NO_MUTATION\",\"status\":\"OK\"}\nSUPPORT077_HOLDS=[]\nSUPPORT077_DECISION=PERMISSION_API_CAPTURED\nSUPPORT077_MUTATION_SCOPE=NONE_READ_ONLY\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"SUPPORT-260909-GRAM-XF-PERMISSION-API-077\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\nSUPPORT077_END\n" }