diff --git a/runtime/history/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6.json b/runtime/history/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6.json new file mode 100644 index 00000000..f2e81289 --- /dev/null +++ b/runtime/history/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "channel": "homelab-runtime", + "command_id": "SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6", + "status": "OK", + "rc": 0, + "host": "pve01", + "mode": "change", + "component": "gram-support-codevipe-preserve-legacy-final-canary", + "started_at_utc": "2026-09-18T01:50:13Z", + "finished_at_utc": "2026-09-18T01:50:25Z", + "reference_register_checked": true, + "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", + "error_register_checked": true, + "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", + "command_sha256": "d8a95949945b0bc64fde7daced4cf576756b8e6d42fece7f5629b50a47bb67a6", + "duplicate_failed_command_blocked": false, + "block_reason": null, + "execution_started": true, + "change_declared": true, + "result_contract_valid": true, + "result_contract_status": "OK", + "result_contract_error": null, + "command_rc": 0, + "changes_made": true, + "rollback_started": false, + "rollback_restored": null, + "mutation_outcome": "MUTATED", + "sanitized": true, + "secrets_included": false, + "private_addresses_included": false, + "raw_evidence_retained_locally": true, + "raw_evidence_sha256": "9a2fb4b7dad241c4905363f755fdc22e4c08d0efa37b784e68e90c38cf16ab28", + "sanitized_output_sha256": "9a2fb4b7dad241c4905363f755fdc22e4c08d0efa37b784e68e90c38cf16ab28", + "output_truncated_in_json": false, + "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", + "output": "GRAM513R3R6_WRAPPER_BEGIN=true\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nGRAM513R3R6_BEGIN=true\nMODE=CHANGE_CODEVIPE_PRESERVE_LEGACY_FINAL_CANARY\nNO_DELETE=true\nTARGET=codevipe.ru\nGRAM513R3R6_SAFE_REPORT={\"guest\":{\"backup\":{\"path\":\"/root/codevipe-gram-support-backups/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6\",\"sealed\":true,\"source\":{\"bytes\":32103,\"sha256\":\"4ac4120e62e278821f6227bdf63c07fc77219142339e81cd53b4a58dcce1cfae\"},\"database\":{\"gzip_bytes\":4709229,\"gzip_sha256\":\"d2e5bfd20a15c59b5302a07658d18b88671f05ad63b5bcb6fb1bbdaca8ff464e\",\"raw_bytes\":47398340,\"dbname_hash\":\"8512af6a5bd7c65a639fd916e17c2a1eedf1f820324ee4f7c3e78f17ae866b4c\"},\"sha256sums\":\"5ebbfc34b8ab4bab38dd8648f1da981bdfaec40ac8a3564f9f994e6a83b2b303\"},\"artifact\":{\"base_sha256\":\"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e\",\"version_id\":1000120,\"patched_manifest\":{\"file_count\":59,\"combined_sha256\":\"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a\",\"addon_files\":51,\"addon_sha256\":\"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948\",\"outside_files\":8,\"outside_sha256\":\"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58\",\"paths\":[\"js/gram/support/access.js\",\"js/gram/support/access.min.js\",\"js/gram/support/pwa/icon-192.png\",\"js/gram/support/pwa/icon-512.png\",\"js/gram/support/pwa/manifest.webmanifest\",\"js/gram/support/pwa/offline.html\",\"js/gram/support/staff-pwa.js\",\"js/gram/support/staff-pwa.min.js\",\"src/addons/Gram/Support/Attachment/TicketHandler.php\",\"src/addons/Gram/Support/Entity/AttachmentMeta.php\",\"src/addons/Gram/Support/Entity/Delivery.php\",\"src/addons/Gram/Support/Entity/Message.php\",\"src/addons/Gram/Support/Entity/RateLimit.php\",\"src/addons/Gram/Support/Entity/SupportEvent.php\",\"src/addons/Gram/Support/Entity/Ticket.php\",\"src/addons/Gram/Support/Listener/SourcePageContext.php\",\"src/addons/Gram/Support/Notification/AlertConsumer.php\",\"src/addons/Gram/Support/Notification/DeliveryGate.php\",\"src/addons/Gram/Support/Notification/Dispatcher.php\",\"src/addons/Gram/Support/Notification/EmailConsumer.php\",\"src/addons/Gram/Support/Notification/EntityDeliveryGate.php\",\"src/addons/Gram/Support/Notification/EventDispatcher.php\",\"src/addons/Gram/Support/Notification/Policy.php\",\"src/addons/Gram/Support/Notification/RecipientKey.php\",\"src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Support.php\",\"src/addons/Gram/Support/Pub/View/PwaServiceWorker.php\",\"src/addons/Gram/Support/Repository/Message.php\",\"src/addons/Gram/Support/Repository/Ticket.php\",\"src/addons/Gram/Support/Security/GuestTicketSession.php\",\"src/addons/Gram/Support/Security/TicketAccess.php\",\"src/addons/Gram/Support/Service/GuestScreenshotService.php\",\"src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php\",\"src/addons/Gram/Support/Service/RateLimiter.php\",\"src/addons/Gram/Support/Service/SourceContextResolver.php\",\"src/addons/Gram/Support/Service/Ticket/Creator.php\",\"src/addons/Gram/Support/Service/Ticket/Reply.php\",\"src/addons/Gram/Support/Service/Ticket/StaffUpdate.php\",\"src/addons/Gram/Support/Setup.php\",\"src/addons/Gram/Support/Util/GuestToken.php\",\"src/addons/Gram/Support/Util/PublicRef.php\",\"src/addons/Gram/Support/Util/RateKey.php\",\"src/addons/Gram/Support/Util/SafeContext.php\",\"src/addons/Gram/Support/Util/SiteConfig.php\",\"src/addons/Gram/Support/Util/StatusPolicy.php\",\"src/addons/Gram/Support/_data/code_event_listeners.xml\",\"src/addons/Gram/Support/_data/content_type_fields.xml\",\"src/addons/Gram/Support/_data/option_groups.xml\",\"src/addons/Gram/Support/_data/options.xml\",\"src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"src/addons/Gram/Support/_data/permissions.xml\",\"src/addons/Gram/Support/_data/phrases.xml\",\"src/addons/Gram/Support/_data/routes.xml\",\"src/addons/Gram/Support/_data/template_modifications.xml\",\"src/addons/Gram/Support/_data/templates.xml\",\"src/addons/Gram/Support/addon.json\",\"src/addons/Gram/Support/hashes.json\"]},\"footer_patch\":{\"marker\":\"gram-support-footer-align-v7-textline\",\"desktop_translate_y_px\":-5,\"base_manifest\":{\"file_count\":59,\"combined_sha256\":\"abf01c976240d065d235740a9f78a187840a55fe7b02f9125c4e9d2803392c05\",\"addon_files\":51,\"addon_sha256\":\"805caec12d36496bbd9703c7d97b56f80f7a4c4893e758c8bc1706d94cb93907\",\"outside_files\":8,\"outside_sha256\":\"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58\",\"paths\":[\"js/gram/support/access.js\",\"js/gram/support/access.min.js\",\"js/gram/support/pwa/icon-192.png\",\"js/gram/support/pwa/icon-512.png\",\"js/gram/support/pwa/manifest.webmanifest\",\"js/gram/support/pwa/offline.html\",\"js/gram/support/staff-pwa.js\",\"js/gram/support/staff-pwa.min.js\",\"src/addons/Gram/Support/Attachment/TicketHandler.php\",\"src/addons/Gram/Support/Entity/AttachmentMeta.php\",\"src/addons/Gram/Support/Entity/Delivery.php\",\"src/addons/Gram/Support/Entity/Message.php\",\"src/addons/Gram/Support/Entity/RateLimit.php\",\"src/addons/Gram/Support/Entity/SupportEvent.php\",\"src/addons/Gram/Support/Entity/Ticket.php\",\"src/addons/Gram/Support/Listener/SourcePageContext.php\",\"src/addons/Gram/Support/Notification/AlertConsumer.php\",\"src/addons/Gram/Support/Notification/DeliveryGate.php\",\"src/addons/Gram/Support/Notification/Dispatcher.php\",\"src/addons/Gram/Support/Notification/EmailConsumer.php\",\"src/addons/Gram/Support/Notification/EntityDeliveryGate.php\",\"src/addons/Gram/Support/Notification/EventDispatcher.php\",\"src/addons/Gram/Support/Notification/Policy.php\",\"src/addons/Gram/Support/Notification/RecipientKey.php\",\"src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Support.php\",\"src/addons/Gram/Support/Pub/View/PwaServiceWorker.php\",\"src/addons/Gram/Support/Repository/Message.php\",\"src/addons/Gram/Support/Repository/Ticket.php\",\"src/addons/Gram/Support/Security/GuestTicketSession.php\",\"src/addons/Gram/Support/Security/TicketAccess.php\",\"src/addons/Gram/Support/Service/GuestScreenshotService.php\",\"src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php\",\"src/addons/Gram/Support/Service/RateLimiter.php\",\"src/addons/Gram/Support/Service/SourceContextResolver.php\",\"src/addons/Gram/Support/Service/Ticket/Creator.php\",\"src/addons/Gram/Support/Service/Ticket/Reply.php\",\"src/addons/Gram/Support/Service/Ticket/StaffUpdate.php\",\"src/addons/Gram/Support/Setup.php\",\"src/addons/Gram/Support/Util/GuestToken.php\",\"src/addons/Gram/Support/Util/PublicRef.php\",\"src/addons/Gram/Support/Util/RateKey.php\",\"src/addons/Gram/Support/Util/SafeContext.php\",\"src/addons/Gram/Support/Util/SiteConfig.php\",\"src/addons/Gram/Support/Util/StatusPolicy.php\",\"src/addons/Gram/Support/_data/code_event_listeners.xml\",\"src/addons/Gram/Support/_data/content_type_fields.xml\",\"src/addons/Gram/Support/_data/option_groups.xml\",\"src/addons/Gram/Support/_data/options.xml\",\"src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"src/addons/Gram/Support/_data/permissions.xml\",\"src/addons/Gram/Support/_data/phrases.xml\",\"src/addons/Gram/Support/_data/routes.xml\",\"src/addons/Gram/Support/_data/template_modifications.xml\",\"src/addons/Gram/Support/_data/templates.xml\",\"src/addons/Gram/Support/addon.json\",\"src/addons/Gram/Support/hashes.json\"]},\"patched_manifest\":{\"file_count\":59,\"combined_sha256\":\"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a\",\"addon_files\":51,\"addon_sha256\":\"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948\",\"outside_files\":8,\"outside_sha256\":\"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58\",\"paths\":[\"js/gram/support/access.js\",\"js/gram/support/access.min.js\",\"js/gram/support/pwa/icon-192.png\",\"js/gram/support/pwa/icon-512.png\",\"js/gram/support/pwa/manifest.webmanifest\",\"js/gram/support/pwa/offline.html\",\"js/gram/support/staff-pwa.js\",\"js/gram/support/staff-pwa.min.js\",\"src/addons/Gram/Support/Attachment/TicketHandler.php\",\"src/addons/Gram/Support/Entity/AttachmentMeta.php\",\"src/addons/Gram/Support/Entity/Delivery.php\",\"src/addons/Gram/Support/Entity/Message.php\",\"src/addons/Gram/Support/Entity/RateLimit.php\",\"src/addons/Gram/Support/Entity/SupportEvent.php\",\"src/addons/Gram/Support/Entity/Ticket.php\",\"src/addons/Gram/Support/Listener/SourcePageContext.php\",\"src/addons/Gram/Support/Notification/AlertConsumer.php\",\"src/addons/Gram/Support/Notification/DeliveryGate.php\",\"src/addons/Gram/Support/Notification/Dispatcher.php\",\"src/addons/Gram/Support/Notification/EmailConsumer.php\",\"src/addons/Gram/Support/Notification/EntityDeliveryGate.php\",\"src/addons/Gram/Support/Notification/EventDispatcher.php\",\"src/addons/Gram/Support/Notification/Policy.php\",\"src/addons/Gram/Support/Notification/RecipientKey.php\",\"src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Support.php\",\"src/addons/Gram/Support/Pub/View/PwaServiceWorker.php\",\"src/addons/Gram/Support/Repository/Message.php\",\"src/addons/Gram/Support/Repository/Ticket.php\",\"src/addons/Gram/Support/Security/GuestTicketSession.php\",\"src/addons/Gram/Support/Security/TicketAccess.php\",\"src/addons/Gram/Support/Service/GuestScreenshotService.php\",\"src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php\",\"src/addons/Gram/Support/Service/RateLimiter.php\",\"src/addons/Gram/Support/Service/SourceContextResolver.php\",\"src/addons/Gram/Support/Service/Ticket/Creator.php\",\"src/addons/Gram/Support/Service/Ticket/Reply.php\",\"src/addons/Gram/Support/Service/Ticket/StaffUpdate.php\",\"src/addons/Gram/Support/Setup.php\",\"src/addons/Gram/Support/Util/GuestToken.php\",\"src/addons/Gram/Support/Util/PublicRef.php\",\"src/addons/Gram/Support/Util/RateKey.php\",\"src/addons/Gram/Support/Util/SafeContext.php\",\"src/addons/Gram/Support/Util/SiteConfig.php\",\"src/addons/Gram/Support/Util/StatusPolicy.php\",\"src/addons/Gram/Support/_data/code_event_listeners.xml\",\"src/addons/Gram/Support/_data/content_type_fields.xml\",\"src/addons/Gram/Support/_data/option_groups.xml\",\"src/addons/Gram/Support/_data/options.xml\",\"src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"src/addons/Gram/Support/_data/permissions.xml\",\"src/addons/Gram/Support/_data/phrases.xml\",\"src/addons/Gram/Support/_data/routes.xml\",\"src/addons/Gram/Support/_data/template_modifications.xml\",\"src/addons/Gram/Support/_data/templates.xml\",\"src/addons/Gram/Support/addon.json\",\"src/addons/Gram/Support/hashes.json\"]},\"templates_xml_sha256\":\"1a344bd306135486d2019bf0a5cafff5eb472882f7b3433ef13af4556a4c791e\",\"hash_entries_updated\":1,\"basis\":\"historical FIX10 browser geometry: horizontal gap-center delta 0.006px; button visual center about 5px below footer text center\"}},\"legacy_preservation\":{\"ok\":true,\"renamed\":[{\"from\":\"xf_gram_support_ticket\",\"to\":\"xf_gram_support_ticket__legacy513r3r6\",\"rows\":0},{\"from\":\"xf_gram_support_message\",\"to\":\"xf_gram_support_message__legacy513r3r6\",\"rows\":0},{\"from\":\"xf_gram_support_event\",\"to\":\"xf_gram_support_event__legacy513r3r6\",\"rows\":0}]},\"install\":{\"rc\":0,\"stdout_sha256\":\"9a44553ad46a52d12c721982baf83934983a0ca5648484863918cf6133ea7d22\",\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_tail\":\"\"},\"configure\":{\"ok\":true,\"site_option\":\"gramSupportSiteId\",\"site_id\":\"codevipe\",\"permission_entries_written\":22,\"permission_jobs\":[],\"all_jobs\":[{\"job_id\":4,\"execute_class\":\"XF\\\\Job\\\\Cron\"},{\"job_id\":50,\"execute_class\":\"XF\\\\Job\\\\UpgradeCheck\"},{\"job_id\":64372,\"execute_class\":\"XF\\\\Job\\\\IconUsage\"},{\"job_id\":64374,\"execute_class\":\"XF\\\\Job\\\\IconUsage\"},{\"job_id\":64375,\"execute_class\":\"XF\\\\Job\\\\IconUsage\"},{\"job_id\":64376,\"execute_class\":\"XF\\\\Job\\\\IconUsage\"}],\"baseline_unrelated_allowed\":[{\"job_id\":4,\"execute_class\":\"XF\\\\Job\\\\Cron\"},{\"job_id\":50,\"execute_class\":\"XF\\\\Job\\\\UpgradeCheck\"}],\"job_loops\":0},\"verify\":{\"ok\":true,\"checks\":{\"addon\":true,\"board_active\":true,\"tables\":true,\"routes4\":true,\"counts\":true,\"permissions\":true,\"site_id\":true,\"perm_jobs_zero\":true,\"manifest\":true,\"error_log\":true,\"footer_v7\":true,\"services\":true,\"http\":true},\"state\":{\"addon\":{\"addon_id\":\"Gram/Support\",\"title\":\"Gram Support\",\"version_id\":1000120,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 10\",\"active\":1,\"is_processing\":0,\"last_pending_action\":null},\"counts\":{\"xf_content_type_field\":1,\"xf_code_event_listener\":1,\"xf_option\":4,\"xf_option_group\":1,\"xf_permission\":9,\"xf_permission_interface_group\":1,\"xf_phrase\":54,\"xf_route\":4,\"xf_template\":13,\"xf_template_modification\":1},\"support_tables\":[\"xf_gram_support_attachment_meta\",\"xf_gram_support_delivery\",\"xf_gram_support_event\",\"xf_gram_support_event__conflict\",\"xf_gram_support_event__legacy513r3r6\",\"xf_gram_support_message\",\"xf_gram_support_message__conflict\",\"xf_gram_support_message__legacy513r3r6\",\"xf_gram_support_rate_limit\",\"xf_gram_support_ticket\",\"xf_gram_support_ticket__conflict\",\"xf_gram_support_ticket__legacy513r3r6\"],\"support_table_rows\":{\"xf_gram_support_attachment_meta\":0,\"xf_gram_support_delivery\":0,\"xf_gram_support_event\":0,\"xf_gram_support_event__conflict\":0,\"xf_gram_support_event__legacy513r3r6\":0,\"xf_gram_support_message\":0,\"xf_gram_support_message__conflict\":0,\"xf_gram_support_message__legacy513r3r6\":0,\"xf_gram_support_rate_limit\":0,\"xf_gram_support_ticket\":0,\"xf_gram_support_ticket__conflict\":0,\"xf_gram_support_ticket__legacy513r3r6\":0},\"routes\":[{\"route_type\":\"public\",\"route_prefix\":\"account\",\"sub_name\":\"support\",\"format\":\"support\",\"controller\":\"Gram\\\\Support:AccountSupport\",\"addon_id\":\"Gram/Support\"},{\"route_type\":\"public\",\"route_prefix\":\"support\",\"sub_name\":\"\",\"format\":\"\",\"controller\":\"Gram\\\\Support:Support\",\"addon_id\":\"Gram/Support\"},{\"route_type\":\"public\",\"route_prefix\":\"support\",\"sub_name\":\"service-worker\",\"format\":\"service-worker\",\"controller\":\"Gram\\\\Support:Pwa\",\"addon_id\":\"Gram/Support\"},{\"route_type\":\"public\",\"route_prefix\":\"support\",\"sub_name\":\"staff\",\"format\":\"staff\",\"controller\":\"Gram\\\\Support:StaffSupport\",\"addon_id\":\"Gram/Support\"}],\"options\":[{\"option_id\":\"gramSupportGuestRateLimitCount\",\"option_value\":\"5\",\"default_value\":\"5\"},{\"option_id\":\"gramSupportGuestRateLimitWindowSeconds\",\"option_value\":\"3600\",\"default_value\":\"3600\"},{\"option_id\":\"gramSupportGuestTokenTtlDays\",\"option_value\":\"30\",\"default_value\":\"30\"},{\"option_id\":\"gramSupportSiteId\",\"option_value\":\"codevipe\",\"default_value\":\"\"}],\"permission_entries\":[{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\",\"user_group_id\":2,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\",\"user_group_id\":2,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\",\"user_group_id\":2,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\",\"user_group_id\":2,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"assign\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"internalNotes\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"manage\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewAll\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewTechnicalContext\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"assign\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"internalNotes\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"manage\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewAll\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewTechnicalContext\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0}],\"permission_jobs\":[],\"all_jobs\":[{\"job_id\":4,\"execute_class\":\"XF\\\\Job\\\\Cron\",\"manual_execute\":0},{\"job_id\":50,\"execute_class\":\"XF\\\\Job\\\\UpgradeCheck\",\"manual_execute\":0},{\"job_id\":64372,\"execute_class\":\"XF\\\\Job\\\\IconUsage\",\"manual_execute\":0},{\"job_id\":64374,\"execute_class\":\"XF\\\\Job\\\\IconUsage\",\"manual_execute\":0},{\"job_id\":64375,\"execute_class\":\"XF\\\\Job\\\\IconUsage\",\"manual_execute\":0},{\"job_id\":64376,\"execute_class\":\"XF\\\\Job\\\\IconUsage\",\"manual_execute\":0}],\"footer_template\":{\"template_id\":1416,\"version_id\":1000100,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 8\",\"sha256\":\"ced49dfb6a64c55b06292c2b0d283847608f9c52434d6411cd93d06375ae225b\",\"marker\":true,\"shift\":true},\"board_active\":\"1\",\"board_url\":\"https://codevipe.ru\",\"error_max\":0,\"xf\":{\"version_id\":2031170,\"version_string\":\"2.3.11\"},\"php\":\"8.3.32\"},\"manifest\":{\"file_count\":59,\"combined_sha256\":\"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a\",\"addon_files\":51,\"addon_sha256\":\"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948\",\"outside_files\":8,\"outside_sha256\":\"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58\",\"paths\":[\"js/gram/support/access.js\",\"js/gram/support/access.min.js\",\"js/gram/support/pwa/icon-192.png\",\"js/gram/support/pwa/icon-512.png\",\"js/gram/support/pwa/manifest.webmanifest\",\"js/gram/support/pwa/offline.html\",\"js/gram/support/staff-pwa.js\",\"js/gram/support/staff-pwa.min.js\",\"src/addons/Gram/Support/Attachment/TicketHandler.php\",\"src/addons/Gram/Support/Entity/AttachmentMeta.php\",\"src/addons/Gram/Support/Entity/Delivery.php\",\"src/addons/Gram/Support/Entity/Message.php\",\"src/addons/Gram/Support/Entity/RateLimit.php\",\"src/addons/Gram/Support/Entity/SupportEvent.php\",\"src/addons/Gram/Support/Entity/Ticket.php\",\"src/addons/Gram/Support/Listener/SourcePageContext.php\",\"src/addons/Gram/Support/Notification/AlertConsumer.php\",\"src/addons/Gram/Support/Notification/DeliveryGate.php\",\"src/addons/Gram/Support/Notification/Dispatcher.php\",\"src/addons/Gram/Support/Notification/EmailConsumer.php\",\"src/addons/Gram/Support/Notification/EntityDeliveryGate.php\",\"src/addons/Gram/Support/Notification/EventDispatcher.php\",\"src/addons/Gram/Support/Notification/Policy.php\",\"src/addons/Gram/Support/Notification/RecipientKey.php\",\"src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Support.php\",\"src/addons/Gram/Support/Pub/View/PwaServiceWorker.php\",\"src/addons/Gram/Support/Repository/Message.php\",\"src/addons/Gram/Support/Repository/Ticket.php\",\"src/addons/Gram/Support/Security/GuestTicketSession.php\",\"src/addons/Gram/Support/Security/TicketAccess.php\",\"src/addons/Gram/Support/Service/GuestScreenshotService.php\",\"src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php\",\"src/addons/Gram/Support/Service/RateLimiter.php\",\"src/addons/Gram/Support/Service/SourceContextResolver.php\",\"src/addons/Gram/Support/Service/Ticket/Creator.php\",\"src/addons/Gram/Support/Service/Ticket/Reply.php\",\"src/addons/Gram/Support/Service/Ticket/StaffUpdate.php\",\"src/addons/Gram/Support/Setup.php\",\"src/addons/Gram/Support/Util/GuestToken.php\",\"src/addons/Gram/Support/Util/PublicRef.php\",\"src/addons/Gram/Support/Util/RateKey.php\",\"src/addons/Gram/Support/Util/SafeContext.php\",\"src/addons/Gram/Support/Util/SiteConfig.php\",\"src/addons/Gram/Support/Util/StatusPolicy.php\",\"src/addons/Gram/Support/_data/code_event_listeners.xml\",\"src/addons/Gram/Support/_data/content_type_fields.xml\",\"src/addons/Gram/Support/_data/option_groups.xml\",\"src/addons/Gram/Support/_data/options.xml\",\"src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"src/addons/Gram/Support/_data/permissions.xml\",\"src/addons/Gram/Support/_data/phrases.xml\",\"src/addons/Gram/Support/_data/routes.xml\",\"src/addons/Gram/Support/_data/template_modifications.xml\",\"src/addons/Gram/Support/_data/templates.xml\",\"src/addons/Gram/Support/addon.json\",\"src/addons/Gram/Support/hashes.json\"]},\"services\":{\"mariadb\":\"active\",\"nginx\":\"active\",\"php8.3-fpm\":\"active\"},\"permission_counts\":{\"2\":4,\"3\":9,\"4\":9},\"http\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"200\"},\"/support/create/\":{\"rc\":0,\"code\":\"200\"}}},\"no_delete\":true,\"target\":\"codevipe.ru\",\"other_production_mutations\":0},\"pre_http\":{\"codevipe.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"dsmods.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"gamevipe.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"hkmods.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"kingofwolk.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"zakrutim.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"newfi.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}}},\"post_http\":{\"codevipe.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"200\"}},\"dsmods.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"gamevipe.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"hkmods.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"kingofwolk.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"zakrutim.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"newfi.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}}},\"artifact_sha256\":\"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e\",\"target\":\"codevipe.ru\"}\nGRAM513R3R6_DECISION=PASS_CODEVIPE_PRESERVE_LEGACY_FINAL_CANARY\nGRAM513R3R6_NEXT_GATE=READY_FOR_USER_VISUAL_CONFIRM_AND_REMAINING_6_PRODUCTION_ROLLOUT_513R4\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6\",\"status\":\"OK\",\"changes_made\":true,\"rollback_started\":false,\"rollback_restored\":null}\n" +} diff --git a/runtime/history/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6.txt b/runtime/history/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6.txt new file mode 100644 index 00000000..3966a69d --- /dev/null +++ b/runtime/history/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6.txt @@ -0,0 +1,44 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6 +STATUS=OK +RC=0 +HOST=pve01 +MODE=change +COMPONENT=gram-support-codevipe-preserve-legacy-final-canary +REFERENCE_REGISTER_CHECK=OK +REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 +ERROR_REGISTER_CHECK=OK +ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 +COMMAND_SHA256=d8a95949945b0bc64fde7daced4cf576756b8e6d42fece7f5629b50a47bb67a6 +DUPLICATE_FAILED_COMMAND_BLOCKED=false +EXECUTION_STARTED=true +CHANGE_DECLARED=true +RESULT_CONTRACT_VALID=true +RESULT_CONTRACT_STATUS=OK +RESULT_CONTRACT_ERROR=NONE +COMMAND_RC=0 +CHANGES_MADE=true +ROLLBACK_STARTED=false +ROLLBACK_RESTORED=null +MUTATION_OUTCOME=MUTATED +SANITIZED=yes +SECRETS_INCLUDED=no +PRIVATE_ADDRESSES_INCLUDED=no +RAW_EVIDENCE_SHA256=9a2fb4b7dad241c4905363f755fdc22e4c08d0efa37b784e68e90c38cf16ab28 +SANITIZED_OUTPUT_SHA256=9a2fb4b7dad241c4905363f755fdc22e4c08d0efa37b784e68e90c38cf16ab28 +OUTPUT_BEGIN +GRAM513R3R6_WRAPPER_BEGIN=true +ERROR_REGISTER_CHECK=OK +REFERENCE_CHECK=OK +AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED +GRAM513R3R6_BEGIN=true +MODE=CHANGE_CODEVIPE_PRESERVE_LEGACY_FINAL_CANARY +NO_DELETE=true +TARGET=codevipe.ru +GRAM513R3R6_SAFE_REPORT={"guest":{"backup":{"path":"/root/codevipe-gram-support-backups/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6","sealed":true,"source":{"bytes":32103,"sha256":"4ac4120e62e278821f6227bdf63c07fc77219142339e81cd53b4a58dcce1cfae"},"database":{"gzip_bytes":4709229,"gzip_sha256":"d2e5bfd20a15c59b5302a07658d18b88671f05ad63b5bcb6fb1bbdaca8ff464e","raw_bytes":47398340,"dbname_hash":"8512af6a5bd7c65a639fd916e17c2a1eedf1f820324ee4f7c3e78f17ae866b4c"},"sha256sums":"5ebbfc34b8ab4bab38dd8648f1da981bdfaec40ac8a3564f9f994e6a83b2b303"},"artifact":{"base_sha256":"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e","version_id":1000120,"patched_manifest":{"file_count":59,"combined_sha256":"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a","addon_files":51,"addon_sha256":"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948","outside_files":8,"outside_sha256":"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58","paths":["js/gram/support/access.js","js/gram/support/access.min.js","js/gram/support/pwa/icon-192.png","js/gram/support/pwa/icon-512.png","js/gram/support/pwa/manifest.webmanifest","js/gram/support/pwa/offline.html","js/gram/support/staff-pwa.js","js/gram/support/staff-pwa.min.js","src/addons/Gram/Support/Attachment/TicketHandler.php","src/addons/Gram/Support/Entity/AttachmentMeta.php","src/addons/Gram/Support/Entity/Delivery.php","src/addons/Gram/Support/Entity/Message.php","src/addons/Gram/Support/Entity/RateLimit.php","src/addons/Gram/Support/Entity/SupportEvent.php","src/addons/Gram/Support/Entity/Ticket.php","src/addons/Gram/Support/Listener/SourcePageContext.php","src/addons/Gram/Support/Notification/AlertConsumer.php","src/addons/Gram/Support/Notification/DeliveryGate.php","src/addons/Gram/Support/Notification/Dispatcher.php","src/addons/Gram/Support/Notification/EmailConsumer.php","src/addons/Gram/Support/Notification/EntityDeliveryGate.php","src/addons/Gram/Support/Notification/EventDispatcher.php","src/addons/Gram/Support/Notification/Policy.php","src/addons/Gram/Support/Notification/RecipientKey.php","src/addons/Gram/Support/Pub/Controller/AccountSupport.php","src/addons/Gram/Support/Pub/Controller/Pwa.php","src/addons/Gram/Support/Pub/Controller/StaffSupport.php","src/addons/Gram/Support/Pub/Controller/Support.php","src/addons/Gram/Support/Pub/View/PwaServiceWorker.php","src/addons/Gram/Support/Repository/Message.php","src/addons/Gram/Support/Repository/Ticket.php","src/addons/Gram/Support/Security/GuestTicketSession.php","src/addons/Gram/Support/Security/TicketAccess.php","src/addons/Gram/Support/Service/GuestScreenshotService.php","src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php","src/addons/Gram/Support/Service/RateLimiter.php","src/addons/Gram/Support/Service/SourceContextResolver.php","src/addons/Gram/Support/Service/Ticket/Creator.php","src/addons/Gram/Support/Service/Ticket/Reply.php","src/addons/Gram/Support/Service/Ticket/StaffUpdate.php","src/addons/Gram/Support/Setup.php","src/addons/Gram/Support/Util/GuestToken.php","src/addons/Gram/Support/Util/PublicRef.php","src/addons/Gram/Support/Util/RateKey.php","src/addons/Gram/Support/Util/SafeContext.php","src/addons/Gram/Support/Util/SiteConfig.php","src/addons/Gram/Support/Util/StatusPolicy.php","src/addons/Gram/Support/_data/code_event_listeners.xml","src/addons/Gram/Support/_data/content_type_fields.xml","src/addons/Gram/Support/_data/option_groups.xml","src/addons/Gram/Support/_data/options.xml","src/addons/Gram/Support/_data/permission_interface_groups.xml","src/addons/Gram/Support/_data/permissions.xml","src/addons/Gram/Support/_data/phrases.xml","src/addons/Gram/Support/_data/routes.xml","src/addons/Gram/Support/_data/template_modifications.xml","src/addons/Gram/Support/_data/templates.xml","src/addons/Gram/Support/addon.json","src/addons/Gram/Support/hashes.json"]},"footer_patch":{"marker":"gram-support-footer-align-v7-textline","desktop_translate_y_px":-5,"base_manifest":{"file_count":59,"combined_sha256":"abf01c976240d065d235740a9f78a187840a55fe7b02f9125c4e9d2803392c05","addon_files":51,"addon_sha256":"805caec12d36496bbd9703c7d97b56f80f7a4c4893e758c8bc1706d94cb93907","outside_files":8,"outside_sha256":"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58","paths":["js/gram/support/access.js","js/gram/support/access.min.js","js/gram/support/pwa/icon-192.png","js/gram/support/pwa/icon-512.png","js/gram/support/pwa/manifest.webmanifest","js/gram/support/pwa/offline.html","js/gram/support/staff-pwa.js","js/gram/support/staff-pwa.min.js","src/addons/Gram/Support/Attachment/TicketHandler.php","src/addons/Gram/Support/Entity/AttachmentMeta.php","src/addons/Gram/Support/Entity/Delivery.php","src/addons/Gram/Support/Entity/Message.php","src/addons/Gram/Support/Entity/RateLimit.php","src/addons/Gram/Support/Entity/SupportEvent.php","src/addons/Gram/Support/Entity/Ticket.php","src/addons/Gram/Support/Listener/SourcePageContext.php","src/addons/Gram/Support/Notification/AlertConsumer.php","src/addons/Gram/Support/Notification/DeliveryGate.php","src/addons/Gram/Support/Notification/Dispatcher.php","src/addons/Gram/Support/Notification/EmailConsumer.php","src/addons/Gram/Support/Notification/EntityDeliveryGate.php","src/addons/Gram/Support/Notification/EventDispatcher.php","src/addons/Gram/Support/Notification/Policy.php","src/addons/Gram/Support/Notification/RecipientKey.php","src/addons/Gram/Support/Pub/Controller/AccountSupport.php","src/addons/Gram/Support/Pub/Controller/Pwa.php","src/addons/Gram/Support/Pub/Controller/StaffSupport.php","src/addons/Gram/Support/Pub/Controller/Support.php","src/addons/Gram/Support/Pub/View/PwaServiceWorker.php","src/addons/Gram/Support/Repository/Message.php","src/addons/Gram/Support/Repository/Ticket.php","src/addons/Gram/Support/Security/GuestTicketSession.php","src/addons/Gram/Support/Security/TicketAccess.php","src/addons/Gram/Support/Service/GuestScreenshotService.php","src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php","src/addons/Gram/Support/Service/RateLimiter.php","src/addons/Gram/Support/Service/SourceContextResolver.php","src/addons/Gram/Support/Service/Ticket/Creator.php","src/addons/Gram/Support/Service/Ticket/Reply.php","src/addons/Gram/Support/Service/Ticket/StaffUpdate.php","src/addons/Gram/Support/Setup.php","src/addons/Gram/Support/Util/GuestToken.php","src/addons/Gram/Support/Util/PublicRef.php","src/addons/Gram/Support/Util/RateKey.php","src/addons/Gram/Support/Util/SafeContext.php","src/addons/Gram/Support/Util/SiteConfig.php","src/addons/Gram/Support/Util/StatusPolicy.php","src/addons/Gram/Support/_data/code_event_listeners.xml","src/addons/Gram/Support/_data/content_type_fields.xml","src/addons/Gram/Support/_data/option_groups.xml","src/addons/Gram/Support/_data/options.xml","src/addons/Gram/Support/_data/permission_interface_groups.xml","src/addons/Gram/Support/_data/permissions.xml","src/addons/Gram/Support/_data/phrases.xml","src/addons/Gram/Support/_data/routes.xml","src/addons/Gram/Support/_data/template_modifications.xml","src/addons/Gram/Support/_data/templates.xml","src/addons/Gram/Support/addon.json","src/addons/Gram/Support/hashes.json"]},"patched_manifest":{"file_count":59,"combined_sha256":"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a","addon_files":51,"addon_sha256":"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948","outside_files":8,"outside_sha256":"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58","paths":["js/gram/support/access.js","js/gram/support/access.min.js","js/gram/support/pwa/icon-192.png","js/gram/support/pwa/icon-512.png","js/gram/support/pwa/manifest.webmanifest","js/gram/support/pwa/offline.html","js/gram/support/staff-pwa.js","js/gram/support/staff-pwa.min.js","src/addons/Gram/Support/Attachment/TicketHandler.php","src/addons/Gram/Support/Entity/AttachmentMeta.php","src/addons/Gram/Support/Entity/Delivery.php","src/addons/Gram/Support/Entity/Message.php","src/addons/Gram/Support/Entity/RateLimit.php","src/addons/Gram/Support/Entity/SupportEvent.php","src/addons/Gram/Support/Entity/Ticket.php","src/addons/Gram/Support/Listener/SourcePageContext.php","src/addons/Gram/Support/Notification/AlertConsumer.php","src/addons/Gram/Support/Notification/DeliveryGate.php","src/addons/Gram/Support/Notification/Dispatcher.php","src/addons/Gram/Support/Notification/EmailConsumer.php","src/addons/Gram/Support/Notification/EntityDeliveryGate.php","src/addons/Gram/Support/Notification/EventDispatcher.php","src/addons/Gram/Support/Notification/Policy.php","src/addons/Gram/Support/Notification/RecipientKey.php","src/addons/Gram/Support/Pub/Controller/AccountSupport.php","src/addons/Gram/Support/Pub/Controller/Pwa.php","src/addons/Gram/Support/Pub/Controller/StaffSupport.php","src/addons/Gram/Support/Pub/Controller/Support.php","src/addons/Gram/Support/Pub/View/PwaServiceWorker.php","src/addons/Gram/Support/Repository/Message.php","src/addons/Gram/Support/Repository/Ticket.php","src/addons/Gram/Support/Security/GuestTicketSession.php","src/addons/Gram/Support/Security/TicketAccess.php","src/addons/Gram/Support/Service/GuestScreenshotService.php","src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php","src/addons/Gram/Support/Service/RateLimiter.php","src/addons/Gram/Support/Service/SourceContextResolver.php","src/addons/Gram/Support/Service/Ticket/Creator.php","src/addons/Gram/Support/Service/Ticket/Reply.php","src/addons/Gram/Support/Service/Ticket/StaffUpdate.php","src/addons/Gram/Support/Setup.php","src/addons/Gram/Support/Util/GuestToken.php","src/addons/Gram/Support/Util/PublicRef.php","src/addons/Gram/Support/Util/RateKey.php","src/addons/Gram/Support/Util/SafeContext.php","src/addons/Gram/Support/Util/SiteConfig.php","src/addons/Gram/Support/Util/StatusPolicy.php","src/addons/Gram/Support/_data/code_event_listeners.xml","src/addons/Gram/Support/_data/content_type_fields.xml","src/addons/Gram/Support/_data/option_groups.xml","src/addons/Gram/Support/_data/options.xml","src/addons/Gram/Support/_data/permission_interface_groups.xml","src/addons/Gram/Support/_data/permissions.xml","src/addons/Gram/Support/_data/phrases.xml","src/addons/Gram/Support/_data/routes.xml","src/addons/Gram/Support/_data/template_modifications.xml","src/addons/Gram/Support/_data/templates.xml","src/addons/Gram/Support/addon.json","src/addons/Gram/Support/hashes.json"]},"templates_xml_sha256":"1a344bd306135486d2019bf0a5cafff5eb472882f7b3433ef13af4556a4c791e","hash_entries_updated":1,"basis":"historical FIX10 browser geometry: horizontal gap-center delta 0.006px; button visual center about 5px below footer text center"}},"legacy_preservation":{"ok":true,"renamed":[{"from":"xf_gram_support_ticket","to":"xf_gram_support_ticket__legacy513r3r6","rows":0},{"from":"xf_gram_support_message","to":"xf_gram_support_message__legacy513r3r6","rows":0},{"from":"xf_gram_support_event","to":"xf_gram_support_event__legacy513r3r6","rows":0}]},"install":{"rc":0,"stdout_sha256":"9a44553ad46a52d12c721982baf83934983a0ca5648484863918cf6133ea7d22","stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_tail":""},"configure":{"ok":true,"site_option":"gramSupportSiteId","site_id":"codevipe","permission_entries_written":22,"permission_jobs":[],"all_jobs":[{"job_id":4,"execute_class":"XF\\Job\\Cron"},{"job_id":50,"execute_class":"XF\\Job\\UpgradeCheck"},{"job_id":64372,"execute_class":"XF\\Job\\IconUsage"},{"job_id":64374,"execute_class":"XF\\Job\\IconUsage"},{"job_id":64375,"execute_class":"XF\\Job\\IconUsage"},{"job_id":64376,"execute_class":"XF\\Job\\IconUsage"}],"baseline_unrelated_allowed":[{"job_id":4,"execute_class":"XF\\Job\\Cron"},{"job_id":50,"execute_class":"XF\\Job\\UpgradeCheck"}],"job_loops":0},"verify":{"ok":true,"checks":{"addon":true,"board_active":true,"tables":true,"routes4":true,"counts":true,"permissions":true,"site_id":true,"perm_jobs_zero":true,"manifest":true,"error_log":true,"footer_v7":true,"services":true,"http":true},"state":{"addon":{"addon_id":"Gram/Support","title":"Gram Support","version_id":1000120,"version_string":"1.0.0 Alpha 3 Unified Fix 10","active":1,"is_processing":0,"last_pending_action":null},"counts":{"xf_content_type_field":1,"xf_code_event_listener":1,"xf_option":4,"xf_option_group":1,"xf_permission":9,"xf_permission_interface_group":1,"xf_phrase":54,"xf_route":4,"xf_template":13,"xf_template_modification":1},"support_tables":["xf_gram_support_attachment_meta","xf_gram_support_delivery","xf_gram_support_event","xf_gram_support_event__conflict","xf_gram_support_event__legacy513r3r6","xf_gram_support_message","xf_gram_support_message__conflict","xf_gram_support_message__legacy513r3r6","xf_gram_support_rate_limit","xf_gram_support_ticket","xf_gram_support_ticket__conflict","xf_gram_support_ticket__legacy513r3r6"],"support_table_rows":{"xf_gram_support_attachment_meta":0,"xf_gram_support_delivery":0,"xf_gram_support_event":0,"xf_gram_support_event__conflict":0,"xf_gram_support_event__legacy513r3r6":0,"xf_gram_support_message":0,"xf_gram_support_message__conflict":0,"xf_gram_support_message__legacy513r3r6":0,"xf_gram_support_rate_limit":0,"xf_gram_support_ticket":0,"xf_gram_support_ticket__conflict":0,"xf_gram_support_ticket__legacy513r3r6":0},"routes":[{"route_type":"public","route_prefix":"account","sub_name":"support","format":"support","controller":"Gram\\Support:AccountSupport","addon_id":"Gram/Support"},{"route_type":"public","route_prefix":"support","sub_name":"","format":"","controller":"Gram\\Support:Support","addon_id":"Gram/Support"},{"route_type":"public","route_prefix":"support","sub_name":"service-worker","format":"service-worker","controller":"Gram\\Support:Pwa","addon_id":"Gram/Support"},{"route_type":"public","route_prefix":"support","sub_name":"staff","format":"staff","controller":"Gram\\Support:StaffSupport","addon_id":"Gram/Support"}],"options":[{"option_id":"gramSupportGuestRateLimitCount","option_value":"5","default_value":"5"},{"option_id":"gramSupportGuestRateLimitWindowSeconds","option_value":"3600","default_value":"3600"},{"option_id":"gramSupportGuestTokenTtlDays","option_value":"30","default_value":"30"},{"option_id":"gramSupportSiteId","option_value":"codevipe","default_value":""}],"permission_entries":[{"permission_group_id":"gramSupport","permission_id":"create","user_group_id":2,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"replyOwn","user_group_id":2,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"view","user_group_id":2,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewOwn","user_group_id":2,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"assign","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"create","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"internalNotes","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"manage","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"replyOwn","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"view","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewAll","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewOwn","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewTechnicalContext","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"assign","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"create","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"internalNotes","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"manage","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"replyOwn","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"view","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewAll","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewOwn","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewTechnicalContext","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0}],"permission_jobs":[],"all_jobs":[{"job_id":4,"execute_class":"XF\\Job\\Cron","manual_execute":0},{"job_id":50,"execute_class":"XF\\Job\\UpgradeCheck","manual_execute":0},{"job_id":64372,"execute_class":"XF\\Job\\IconUsage","manual_execute":0},{"job_id":64374,"execute_class":"XF\\Job\\IconUsage","manual_execute":0},{"job_id":64375,"execute_class":"XF\\Job\\IconUsage","manual_execute":0},{"job_id":64376,"execute_class":"XF\\Job\\IconUsage","manual_execute":0}],"footer_template":{"template_id":1416,"version_id":1000100,"version_string":"1.0.0 Alpha 3 Unified Fix 8","sha256":"ced49dfb6a64c55b06292c2b0d283847608f9c52434d6411cd93d06375ae225b","marker":true,"shift":true},"board_active":"1","board_url":"https://codevipe.ru","error_max":0,"xf":{"version_id":2031170,"version_string":"2.3.11"},"php":"8.3.32"},"manifest":{"file_count":59,"combined_sha256":"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a","addon_files":51,"addon_sha256":"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948","outside_files":8,"outside_sha256":"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58","paths":["js/gram/support/access.js","js/gram/support/access.min.js","js/gram/support/pwa/icon-192.png","js/gram/support/pwa/icon-512.png","js/gram/support/pwa/manifest.webmanifest","js/gram/support/pwa/offline.html","js/gram/support/staff-pwa.js","js/gram/support/staff-pwa.min.js","src/addons/Gram/Support/Attachment/TicketHandler.php","src/addons/Gram/Support/Entity/AttachmentMeta.php","src/addons/Gram/Support/Entity/Delivery.php","src/addons/Gram/Support/Entity/Message.php","src/addons/Gram/Support/Entity/RateLimit.php","src/addons/Gram/Support/Entity/SupportEvent.php","src/addons/Gram/Support/Entity/Ticket.php","src/addons/Gram/Support/Listener/SourcePageContext.php","src/addons/Gram/Support/Notification/AlertConsumer.php","src/addons/Gram/Support/Notification/DeliveryGate.php","src/addons/Gram/Support/Notification/Dispatcher.php","src/addons/Gram/Support/Notification/EmailConsumer.php","src/addons/Gram/Support/Notification/EntityDeliveryGate.php","src/addons/Gram/Support/Notification/EventDispatcher.php","src/addons/Gram/Support/Notification/Policy.php","src/addons/Gram/Support/Notification/RecipientKey.php","src/addons/Gram/Support/Pub/Controller/AccountSupport.php","src/addons/Gram/Support/Pub/Controller/Pwa.php","src/addons/Gram/Support/Pub/Controller/StaffSupport.php","src/addons/Gram/Support/Pub/Controller/Support.php","src/addons/Gram/Support/Pub/View/PwaServiceWorker.php","src/addons/Gram/Support/Repository/Message.php","src/addons/Gram/Support/Repository/Ticket.php","src/addons/Gram/Support/Security/GuestTicketSession.php","src/addons/Gram/Support/Security/TicketAccess.php","src/addons/Gram/Support/Service/GuestScreenshotService.php","src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php","src/addons/Gram/Support/Service/RateLimiter.php","src/addons/Gram/Support/Service/SourceContextResolver.php","src/addons/Gram/Support/Service/Ticket/Creator.php","src/addons/Gram/Support/Service/Ticket/Reply.php","src/addons/Gram/Support/Service/Ticket/StaffUpdate.php","src/addons/Gram/Support/Setup.php","src/addons/Gram/Support/Util/GuestToken.php","src/addons/Gram/Support/Util/PublicRef.php","src/addons/Gram/Support/Util/RateKey.php","src/addons/Gram/Support/Util/SafeContext.php","src/addons/Gram/Support/Util/SiteConfig.php","src/addons/Gram/Support/Util/StatusPolicy.php","src/addons/Gram/Support/_data/code_event_listeners.xml","src/addons/Gram/Support/_data/content_type_fields.xml","src/addons/Gram/Support/_data/option_groups.xml","src/addons/Gram/Support/_data/options.xml","src/addons/Gram/Support/_data/permission_interface_groups.xml","src/addons/Gram/Support/_data/permissions.xml","src/addons/Gram/Support/_data/phrases.xml","src/addons/Gram/Support/_data/routes.xml","src/addons/Gram/Support/_data/template_modifications.xml","src/addons/Gram/Support/_data/templates.xml","src/addons/Gram/Support/addon.json","src/addons/Gram/Support/hashes.json"]},"services":{"mariadb":"active","nginx":"active","php8.3-fpm":"active"},"permission_counts":{"2":4,"3":9,"4":9},"http":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"200"},"/support/create/":{"rc":0,"code":"200"}}},"no_delete":true,"target":"codevipe.ru","other_production_mutations":0},"pre_http":{"codevipe.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"dsmods.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"gamevipe.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"hkmods.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"kingofwolk.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"zakrutim.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"newfi.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}}},"post_http":{"codevipe.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"200"}},"dsmods.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"gamevipe.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"hkmods.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"kingofwolk.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"zakrutim.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"newfi.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}}},"artifact_sha256":"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e","target":"codevipe.ru"} +GRAM513R3R6_DECISION=PASS_CODEVIPE_PRESERVE_LEGACY_FINAL_CANARY +GRAM513R3R6_NEXT_GATE=READY_FOR_USER_VISUAL_CONFIRM_AND_REMAINING_6_PRODUCTION_ROLLOUT_513R4 +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6","status":"OK","changes_made":true,"rollback_started":false,"rollback_restored":null} + +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index 8a618592..f2e81289 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1,38 @@ { "schema_version": 1, "channel": "homelab-runtime", - "command_id": "SUPPORT-260918-GRAM-XF-CODEVIPE-POST-513R3R4-RECONCILIATION-513R3R5", + "command_id": "SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6", "status": "OK", "rc": 0, "host": "pve01", - "mode": "read-only", - "component": "gram-support-codevipe-post-513r3r4-reconciliation", - "started_at_utc": "2026-09-18T01:45:05Z", - "finished_at_utc": "2026-09-18T01:45:07Z", + "mode": "change", + "component": "gram-support-codevipe-preserve-legacy-final-canary", + "started_at_utc": "2026-09-18T01:50:13Z", + "finished_at_utc": "2026-09-18T01:50:25Z", "reference_register_checked": true, "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", "error_register_checked": true, "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "6065eb014a49cdccb8fc5102cc290b3e1dbdf69fd2321accc87290e0cc4178e8", + "command_sha256": "d8a95949945b0bc64fde7daced4cf576756b8e6d42fece7f5629b50a47bb67a6", "duplicate_failed_command_blocked": false, "block_reason": null, "execution_started": true, - "change_declared": false, + "change_declared": true, "result_contract_valid": true, - "result_contract_status": null, + "result_contract_status": "OK", "result_contract_error": null, "command_rc": 0, - "changes_made": false, + "changes_made": true, "rollback_started": false, "rollback_restored": null, - "mutation_outcome": "NO_MUTATION", + "mutation_outcome": "MUTATED", "sanitized": true, "secrets_included": false, "private_addresses_included": false, "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "c3a55276a873b54f04e42c52897076b0a2e8329dc394bfacb2c775ce613611bd", - "sanitized_output_sha256": "c3a55276a873b54f04e42c52897076b0a2e8329dc394bfacb2c775ce613611bd", + "raw_evidence_sha256": "9a2fb4b7dad241c4905363f755fdc22e4c08d0efa37b784e68e90c38cf16ab28", + "sanitized_output_sha256": "9a2fb4b7dad241c4905363f755fdc22e4c08d0efa37b784e68e90c38cf16ab28", "output_truncated_in_json": false, "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "GRAM513R3R5_WRAPPER_BEGIN=true\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nGRAM513R3R5_SAFE_REPORT={\"artifact_sha256\":\"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e\",\"codevipe\":{\"ok\":true,\"state\":{\"addon\":null,\"counts\":{\"xf_content_type_field\":0,\"xf_code_event_listener\":0,\"xf_option\":0,\"xf_option_group\":0,\"xf_permission\":0,\"xf_permission_interface_group\":0,\"xf_phrase\":0,\"xf_route\":0,\"xf_template\":0,\"xf_template_modification\":0},\"support_tables\":{\"xf_gram_support_attachment_meta\":{\"rows\":0,\"ddl_sha256\":\"3c3d2ce4c5dae793687243dca37f60cd781895818b546a68e227aef9bfc9b6b2\",\"ddl\":\"CREATE TABLE `xf_gram_support_attachment_meta` (\\n `attachment_id` int(10) unsigned NOT NULL,\\n `ticket_id` int(10) unsigned NOT NULL,\\n `message_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `is_internal` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `created_date` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`attachment_id`),\\n KEY `ticket_internal` (`ticket_id`,`is_internal`),\\n KEY `message_id` (`message_id`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_gram_support_delivery\":{\"rows\":0,\"ddl_sha256\":\"91f068994bdbe4b168ab1c82fa669180f13825e6d1a7f5b9e956ccc872d0410d\",\"ddl\":\"CREATE TABLE `xf_gram_support_delivery` (\\n `delivery_key` char(64) NOT NULL,\\n `event_id` int(10) unsigned NOT NULL,\\n `consumer` varchar(32) NOT NULL,\\n `recipient_key` varchar(96) NOT NULL,\\n `state` varchar(16) NOT NULL DEFAULT 'pending',\\n `lease_expires` int(10) unsigned NOT NULL DEFAULT 0,\\n `attempt_count` int(10) unsigned NOT NULL DEFAULT 0,\\n `last_failure_class` varchar(191) NOT NULL DEFAULT '',\\n `created_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `updated_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `sent_date` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`delivery_key`),\\n KEY `event_consumer` (`event_id`,`consumer`),\\n KEY `state_lease` (`state`,`lease_expires`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_gram_support_event\":{\"rows\":0,\"ddl_sha256\":\"81b6328dbbcf3f6405891897ba185e29890c675f21d7a2f9caf827c0eddb42da\",\"ddl\":\"CREATE TABLE `xf_gram_support_event` (\\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `ticket_id` int(10) unsigned NOT NULL,\\n `site_id` varchar(32) NOT NULL,\\n `actor_user_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `event_type` varchar(64) NOT NULL,\\n `event_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `safe_payload_json` mediumtext NOT NULL,\\n PRIMARY KEY (`event_id`),\\n KEY `ticket_date` (`ticket_id`,`event_date`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_gram_support_event__conflict\":{\"rows\":0,\"ddl_sha256\":\"3ec4d00d4e0a209d8ca439e47639ec9462e4ed6ae4a3abfab564ba53a5f8aaca\",\"ddl\":\"CREATE TABLE `xf_gram_support_event__conflict` (\\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `ticket_id` int(10) unsigned NOT NULL,\\n `site_id` varchar(32) NOT NULL,\\n `actor_user_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `event_type` varchar(64) NOT NULL,\\n `event_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `safe_payload_json` mediumtext NOT NULL,\\n PRIMARY KEY (`event_id`),\\n KEY `ticket_date` (`ticket_id`,`event_date`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_gram_support_message\":{\"rows\":0,\"ddl_sha256\":\"a00e534c642179db3018c74060d1aa6cef4dc445dcb801eb847c04d770f8f884\",\"ddl\":\"CREATE TABLE `xf_gram_support_message` (\\n `message_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `ticket_id` int(10) unsigned NOT NULL,\\n `user_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `is_staff` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `is_internal` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `message` mediumtext NOT NULL,\\n `message_date` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`message_id`),\\n KEY `ticket_date` (`ticket_id`,`message_date`),\\n KEY `ticket_public_date` (`ticket_id`,`is_internal`,`message_date`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_gram_support_message__conflict\":{\"rows\":0,\"ddl_sha256\":\"49d3e846099ebd4b869957e558afe1ff4a5cb0e1449623462b78c55bd68b6808\",\"ddl\":\"CREATE TABLE `xf_gram_support_message__conflict` (\\n `message_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `ticket_id` int(10) unsigned NOT NULL,\\n `user_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `is_staff` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `is_internal` tinyint(3) unsigned NOT NULL DEFAULT 0,\\n `message` mediumtext NOT NULL,\\n `message_date` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`message_id`),\\n KEY `ticket_date` (`ticket_id`,`message_date`),\\n KEY `ticket_public_date` (`ticket_id`,`is_internal`,`message_date`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_gram_support_rate_limit\":{\"rows\":0,\"ddl_sha256\":\"f2271e20d520a8ba413b2094a4f8f6640395065c7d9c2e4f5b0a74b790d3dd8e\",\"ddl\":\"CREATE TABLE `xf_gram_support_rate_limit` (\\n `rate_key` char(64) NOT NULL,\\n `window_start` int(10) unsigned NOT NULL,\\n `hit_count` int(10) unsigned NOT NULL DEFAULT 0,\\n `updated_date` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`rate_key`),\\n KEY `updated_date` (`updated_date`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_gram_support_ticket\":{\"rows\":0,\"ddl_sha256\":\"3558077fc70b4453960d1d782998ad498b2d3b12ba587488e8b23785979f7ba8\",\"ddl\":\"CREATE TABLE `xf_gram_support_ticket` (\\n `ticket_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `public_ref` varchar(64) NOT NULL,\\n `site_id` varchar(32) NOT NULL,\\n `user_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `guest_email` varchar(255) NOT NULL DEFAULT '',\\n `guest_access_token_hash` char(64) NOT NULL DEFAULT '',\\n `guest_access_expires` int(10) unsigned NOT NULL DEFAULT 0,\\n `node_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `thread_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `post_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `category` varchar(64) NOT NULL DEFAULT '',\\n `subject` varchar(255) NOT NULL DEFAULT '',\\n `status` varchar(32) NOT NULL DEFAULT 'NEW',\\n `assigned_user_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `created_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `updated_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `resolved_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `context_json` mediumtext NOT NULL,\\n `last_message_id` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`ticket_id`),\\n UNIQUE KEY `public_ref` (`public_ref`),\\n KEY `guest_token_hash` (`guest_access_token_hash`),\\n KEY `site_user_updated` (`site_id`,`user_id`,`updated_date`),\\n KEY `site_status_updated` (`site_id`,`status`,`updated_date`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"},\"xf_gram_support_ticket__conflict\":{\"rows\":0,\"ddl_sha256\":\"5c952146662e5d701a49c2fa206b8f8ce1811e7f4e06dca7698d9c8dd4c0de1a\",\"ddl\":\"CREATE TABLE `xf_gram_support_ticket__conflict` (\\n `ticket_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\\n `public_ref` varchar(64) NOT NULL,\\n `site_id` varchar(32) NOT NULL,\\n `user_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `guest_email` varchar(255) NOT NULL DEFAULT '',\\n `guest_access_token_hash` char(64) NOT NULL DEFAULT '',\\n `guest_access_expires` int(10) unsigned NOT NULL DEFAULT 0,\\n `node_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `thread_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `post_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `category` varchar(64) NOT NULL DEFAULT '',\\n `subject` varchar(255) NOT NULL DEFAULT '',\\n `status` varchar(32) NOT NULL DEFAULT 'NEW',\\n `assigned_user_id` int(10) unsigned NOT NULL DEFAULT 0,\\n `created_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `updated_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `resolved_date` int(10) unsigned NOT NULL DEFAULT 0,\\n `context_json` mediumtext NOT NULL,\\n `last_message_id` int(10) unsigned NOT NULL DEFAULT 0,\\n PRIMARY KEY (`ticket_id`),\\n UNIQUE KEY `public_ref` (`public_ref`),\\n KEY `guest_token_hash` (`guest_access_token_hash`),\\n KEY `site_user_updated` (`site_id`,`user_id`,`updated_date`),\\n KEY `site_status_updated` (`site_id`,`status`,`updated_date`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci\"}},\"routes\":[],\"options\":[],\"permission_entries\":[],\"jobs\":[{\"job_id\":4,\"execute_class\":\"XF\\\\Job\\\\Cron\",\"manual_execute\":0},{\"job_id\":50,\"execute_class\":\"XF\\\\Job\\\\UpgradeCheck\",\"manual_execute\":0}],\"errors\":[],\"footer_template\":null,\"board_active\":\"1\",\"board_url\":\"https://codevipe.ru\",\"xf\":{\"version_id\":2031170,\"version_string\":\"2.3.11\"},\"php\":\"8.3.32\"},\"manifest\":{\"file_count\":59,\"combined_sha256\":\"c8c3fbe24b22c47338dc06b49eeee10f56038804812c715f53e2607d88502f29\",\"paths\":[\"js/gram/support/access.js\",\"js/gram/support/access.min.js\",\"js/gram/support/pwa/icon-192.png\",\"js/gram/support/pwa/icon-512.png\",\"js/gram/support/pwa/manifest.webmanifest\",\"js/gram/support/pwa/offline.html\",\"js/gram/support/staff-pwa.js\",\"js/gram/support/staff-pwa.min.js\",\"src/addons/Gram/Support/Attachment/TicketHandler.php\",\"src/addons/Gram/Support/Entity/AttachmentMeta.php\",\"src/addons/Gram/Support/Entity/Delivery.php\",\"src/addons/Gram/Support/Entity/Message.php\",\"src/addons/Gram/Support/Entity/RateLimit.php\",\"src/addons/Gram/Support/Entity/SupportEvent.php\",\"src/addons/Gram/Support/Entity/Ticket.php\",\"src/addons/Gram/Support/Listener/SourcePageContext.php\",\"src/addons/Gram/Support/Notification/AlertConsumer.php\",\"src/addons/Gram/Support/Notification/DeliveryGate.php\",\"src/addons/Gram/Support/Notification/Dispatcher.php\",\"src/addons/Gram/Support/Notification/EmailConsumer.php\",\"src/addons/Gram/Support/Notification/EntityDeliveryGate.php\",\"src/addons/Gram/Support/Notification/EventDispatcher.php\",\"src/addons/Gram/Support/Notification/Policy.php\",\"src/addons/Gram/Support/Notification/RecipientKey.php\",\"src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Support.php\",\"src/addons/Gram/Support/Pub/View/PwaServiceWorker.php\",\"src/addons/Gram/Support/Repository/Message.php\",\"src/addons/Gram/Support/Repository/Ticket.php\",\"src/addons/Gram/Support/Security/GuestTicketSession.php\",\"src/addons/Gram/Support/Security/TicketAccess.php\",\"src/addons/Gram/Support/Service/GuestScreenshotService.php\",\"src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php\",\"src/addons/Gram/Support/Service/RateLimiter.php\",\"src/addons/Gram/Support/Service/SourceContextResolver.php\",\"src/addons/Gram/Support/Service/Ticket/Creator.php\",\"src/addons/Gram/Support/Service/Ticket/Reply.php\",\"src/addons/Gram/Support/Service/Ticket/StaffUpdate.php\",\"src/addons/Gram/Support/Setup.php\",\"src/addons/Gram/Support/Util/GuestToken.php\",\"src/addons/Gram/Support/Util/PublicRef.php\",\"src/addons/Gram/Support/Util/RateKey.php\",\"src/addons/Gram/Support/Util/SafeContext.php\",\"src/addons/Gram/Support/Util/SiteConfig.php\",\"src/addons/Gram/Support/Util/StatusPolicy.php\",\"src/addons/Gram/Support/_data/code_event_listeners.xml\",\"src/addons/Gram/Support/_data/content_type_fields.xml\",\"src/addons/Gram/Support/_data/option_groups.xml\",\"src/addons/Gram/Support/_data/options.xml\",\"src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"src/addons/Gram/Support/_data/permissions.xml\",\"src/addons/Gram/Support/_data/phrases.xml\",\"src/addons/Gram/Support/_data/routes.xml\",\"src/addons/Gram/Support/_data/template_modifications.xml\",\"src/addons/Gram/Support/_data/templates.xml\",\"src/addons/Gram/Support/addon.json\",\"src/addons/Gram/Support/hashes.json\"]}},\"classification\":{\"canonical_six_present\":true,\"support_tables_all_empty\":true,\"conflict_tables\":[\"xf_gram_support_event__conflict\",\"xf_gram_support_message__conflict\",\"xf_gram_support_ticket__conflict\"],\"conflict_count\":3,\"expected_schema_conflict_errors\":[],\"expected_schema_conflict_error_count\":0,\"other_recent_errors\":[],\"addon_present\":false,\"routes_count\":0,\"permissions_count\":0,\"footer_v7\":false,\"footer_shift\":false}}\nGRAM513R3R5_DECISION=PASS_POST_513R3R4_RECONCILIATION\nGRAM513R3R5_NEXT_GATE=READY_FOR_PRESERVE_LEGACY_TABLES_FINAL_CODEVIPE_CANARY_513R3R6\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260918-GRAM-XF-CODEVIPE-POST-513R3R4-RECONCILIATION-513R3R5\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n" + "output": "GRAM513R3R6_WRAPPER_BEGIN=true\nERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nGRAM513R3R6_BEGIN=true\nMODE=CHANGE_CODEVIPE_PRESERVE_LEGACY_FINAL_CANARY\nNO_DELETE=true\nTARGET=codevipe.ru\nGRAM513R3R6_SAFE_REPORT={\"guest\":{\"backup\":{\"path\":\"/root/codevipe-gram-support-backups/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6\",\"sealed\":true,\"source\":{\"bytes\":32103,\"sha256\":\"4ac4120e62e278821f6227bdf63c07fc77219142339e81cd53b4a58dcce1cfae\"},\"database\":{\"gzip_bytes\":4709229,\"gzip_sha256\":\"d2e5bfd20a15c59b5302a07658d18b88671f05ad63b5bcb6fb1bbdaca8ff464e\",\"raw_bytes\":47398340,\"dbname_hash\":\"8512af6a5bd7c65a639fd916e17c2a1eedf1f820324ee4f7c3e78f17ae866b4c\"},\"sha256sums\":\"5ebbfc34b8ab4bab38dd8648f1da981bdfaec40ac8a3564f9f994e6a83b2b303\"},\"artifact\":{\"base_sha256\":\"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e\",\"version_id\":1000120,\"patched_manifest\":{\"file_count\":59,\"combined_sha256\":\"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a\",\"addon_files\":51,\"addon_sha256\":\"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948\",\"outside_files\":8,\"outside_sha256\":\"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58\",\"paths\":[\"js/gram/support/access.js\",\"js/gram/support/access.min.js\",\"js/gram/support/pwa/icon-192.png\",\"js/gram/support/pwa/icon-512.png\",\"js/gram/support/pwa/manifest.webmanifest\",\"js/gram/support/pwa/offline.html\",\"js/gram/support/staff-pwa.js\",\"js/gram/support/staff-pwa.min.js\",\"src/addons/Gram/Support/Attachment/TicketHandler.php\",\"src/addons/Gram/Support/Entity/AttachmentMeta.php\",\"src/addons/Gram/Support/Entity/Delivery.php\",\"src/addons/Gram/Support/Entity/Message.php\",\"src/addons/Gram/Support/Entity/RateLimit.php\",\"src/addons/Gram/Support/Entity/SupportEvent.php\",\"src/addons/Gram/Support/Entity/Ticket.php\",\"src/addons/Gram/Support/Listener/SourcePageContext.php\",\"src/addons/Gram/Support/Notification/AlertConsumer.php\",\"src/addons/Gram/Support/Notification/DeliveryGate.php\",\"src/addons/Gram/Support/Notification/Dispatcher.php\",\"src/addons/Gram/Support/Notification/EmailConsumer.php\",\"src/addons/Gram/Support/Notification/EntityDeliveryGate.php\",\"src/addons/Gram/Support/Notification/EventDispatcher.php\",\"src/addons/Gram/Support/Notification/Policy.php\",\"src/addons/Gram/Support/Notification/RecipientKey.php\",\"src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Support.php\",\"src/addons/Gram/Support/Pub/View/PwaServiceWorker.php\",\"src/addons/Gram/Support/Repository/Message.php\",\"src/addons/Gram/Support/Repository/Ticket.php\",\"src/addons/Gram/Support/Security/GuestTicketSession.php\",\"src/addons/Gram/Support/Security/TicketAccess.php\",\"src/addons/Gram/Support/Service/GuestScreenshotService.php\",\"src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php\",\"src/addons/Gram/Support/Service/RateLimiter.php\",\"src/addons/Gram/Support/Service/SourceContextResolver.php\",\"src/addons/Gram/Support/Service/Ticket/Creator.php\",\"src/addons/Gram/Support/Service/Ticket/Reply.php\",\"src/addons/Gram/Support/Service/Ticket/StaffUpdate.php\",\"src/addons/Gram/Support/Setup.php\",\"src/addons/Gram/Support/Util/GuestToken.php\",\"src/addons/Gram/Support/Util/PublicRef.php\",\"src/addons/Gram/Support/Util/RateKey.php\",\"src/addons/Gram/Support/Util/SafeContext.php\",\"src/addons/Gram/Support/Util/SiteConfig.php\",\"src/addons/Gram/Support/Util/StatusPolicy.php\",\"src/addons/Gram/Support/_data/code_event_listeners.xml\",\"src/addons/Gram/Support/_data/content_type_fields.xml\",\"src/addons/Gram/Support/_data/option_groups.xml\",\"src/addons/Gram/Support/_data/options.xml\",\"src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"src/addons/Gram/Support/_data/permissions.xml\",\"src/addons/Gram/Support/_data/phrases.xml\",\"src/addons/Gram/Support/_data/routes.xml\",\"src/addons/Gram/Support/_data/template_modifications.xml\",\"src/addons/Gram/Support/_data/templates.xml\",\"src/addons/Gram/Support/addon.json\",\"src/addons/Gram/Support/hashes.json\"]},\"footer_patch\":{\"marker\":\"gram-support-footer-align-v7-textline\",\"desktop_translate_y_px\":-5,\"base_manifest\":{\"file_count\":59,\"combined_sha256\":\"abf01c976240d065d235740a9f78a187840a55fe7b02f9125c4e9d2803392c05\",\"addon_files\":51,\"addon_sha256\":\"805caec12d36496bbd9703c7d97b56f80f7a4c4893e758c8bc1706d94cb93907\",\"outside_files\":8,\"outside_sha256\":\"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58\",\"paths\":[\"js/gram/support/access.js\",\"js/gram/support/access.min.js\",\"js/gram/support/pwa/icon-192.png\",\"js/gram/support/pwa/icon-512.png\",\"js/gram/support/pwa/manifest.webmanifest\",\"js/gram/support/pwa/offline.html\",\"js/gram/support/staff-pwa.js\",\"js/gram/support/staff-pwa.min.js\",\"src/addons/Gram/Support/Attachment/TicketHandler.php\",\"src/addons/Gram/Support/Entity/AttachmentMeta.php\",\"src/addons/Gram/Support/Entity/Delivery.php\",\"src/addons/Gram/Support/Entity/Message.php\",\"src/addons/Gram/Support/Entity/RateLimit.php\",\"src/addons/Gram/Support/Entity/SupportEvent.php\",\"src/addons/Gram/Support/Entity/Ticket.php\",\"src/addons/Gram/Support/Listener/SourcePageContext.php\",\"src/addons/Gram/Support/Notification/AlertConsumer.php\",\"src/addons/Gram/Support/Notification/DeliveryGate.php\",\"src/addons/Gram/Support/Notification/Dispatcher.php\",\"src/addons/Gram/Support/Notification/EmailConsumer.php\",\"src/addons/Gram/Support/Notification/EntityDeliveryGate.php\",\"src/addons/Gram/Support/Notification/EventDispatcher.php\",\"src/addons/Gram/Support/Notification/Policy.php\",\"src/addons/Gram/Support/Notification/RecipientKey.php\",\"src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Support.php\",\"src/addons/Gram/Support/Pub/View/PwaServiceWorker.php\",\"src/addons/Gram/Support/Repository/Message.php\",\"src/addons/Gram/Support/Repository/Ticket.php\",\"src/addons/Gram/Support/Security/GuestTicketSession.php\",\"src/addons/Gram/Support/Security/TicketAccess.php\",\"src/addons/Gram/Support/Service/GuestScreenshotService.php\",\"src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php\",\"src/addons/Gram/Support/Service/RateLimiter.php\",\"src/addons/Gram/Support/Service/SourceContextResolver.php\",\"src/addons/Gram/Support/Service/Ticket/Creator.php\",\"src/addons/Gram/Support/Service/Ticket/Reply.php\",\"src/addons/Gram/Support/Service/Ticket/StaffUpdate.php\",\"src/addons/Gram/Support/Setup.php\",\"src/addons/Gram/Support/Util/GuestToken.php\",\"src/addons/Gram/Support/Util/PublicRef.php\",\"src/addons/Gram/Support/Util/RateKey.php\",\"src/addons/Gram/Support/Util/SafeContext.php\",\"src/addons/Gram/Support/Util/SiteConfig.php\",\"src/addons/Gram/Support/Util/StatusPolicy.php\",\"src/addons/Gram/Support/_data/code_event_listeners.xml\",\"src/addons/Gram/Support/_data/content_type_fields.xml\",\"src/addons/Gram/Support/_data/option_groups.xml\",\"src/addons/Gram/Support/_data/options.xml\",\"src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"src/addons/Gram/Support/_data/permissions.xml\",\"src/addons/Gram/Support/_data/phrases.xml\",\"src/addons/Gram/Support/_data/routes.xml\",\"src/addons/Gram/Support/_data/template_modifications.xml\",\"src/addons/Gram/Support/_data/templates.xml\",\"src/addons/Gram/Support/addon.json\",\"src/addons/Gram/Support/hashes.json\"]},\"patched_manifest\":{\"file_count\":59,\"combined_sha256\":\"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a\",\"addon_files\":51,\"addon_sha256\":\"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948\",\"outside_files\":8,\"outside_sha256\":\"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58\",\"paths\":[\"js/gram/support/access.js\",\"js/gram/support/access.min.js\",\"js/gram/support/pwa/icon-192.png\",\"js/gram/support/pwa/icon-512.png\",\"js/gram/support/pwa/manifest.webmanifest\",\"js/gram/support/pwa/offline.html\",\"js/gram/support/staff-pwa.js\",\"js/gram/support/staff-pwa.min.js\",\"src/addons/Gram/Support/Attachment/TicketHandler.php\",\"src/addons/Gram/Support/Entity/AttachmentMeta.php\",\"src/addons/Gram/Support/Entity/Delivery.php\",\"src/addons/Gram/Support/Entity/Message.php\",\"src/addons/Gram/Support/Entity/RateLimit.php\",\"src/addons/Gram/Support/Entity/SupportEvent.php\",\"src/addons/Gram/Support/Entity/Ticket.php\",\"src/addons/Gram/Support/Listener/SourcePageContext.php\",\"src/addons/Gram/Support/Notification/AlertConsumer.php\",\"src/addons/Gram/Support/Notification/DeliveryGate.php\",\"src/addons/Gram/Support/Notification/Dispatcher.php\",\"src/addons/Gram/Support/Notification/EmailConsumer.php\",\"src/addons/Gram/Support/Notification/EntityDeliveryGate.php\",\"src/addons/Gram/Support/Notification/EventDispatcher.php\",\"src/addons/Gram/Support/Notification/Policy.php\",\"src/addons/Gram/Support/Notification/RecipientKey.php\",\"src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Support.php\",\"src/addons/Gram/Support/Pub/View/PwaServiceWorker.php\",\"src/addons/Gram/Support/Repository/Message.php\",\"src/addons/Gram/Support/Repository/Ticket.php\",\"src/addons/Gram/Support/Security/GuestTicketSession.php\",\"src/addons/Gram/Support/Security/TicketAccess.php\",\"src/addons/Gram/Support/Service/GuestScreenshotService.php\",\"src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php\",\"src/addons/Gram/Support/Service/RateLimiter.php\",\"src/addons/Gram/Support/Service/SourceContextResolver.php\",\"src/addons/Gram/Support/Service/Ticket/Creator.php\",\"src/addons/Gram/Support/Service/Ticket/Reply.php\",\"src/addons/Gram/Support/Service/Ticket/StaffUpdate.php\",\"src/addons/Gram/Support/Setup.php\",\"src/addons/Gram/Support/Util/GuestToken.php\",\"src/addons/Gram/Support/Util/PublicRef.php\",\"src/addons/Gram/Support/Util/RateKey.php\",\"src/addons/Gram/Support/Util/SafeContext.php\",\"src/addons/Gram/Support/Util/SiteConfig.php\",\"src/addons/Gram/Support/Util/StatusPolicy.php\",\"src/addons/Gram/Support/_data/code_event_listeners.xml\",\"src/addons/Gram/Support/_data/content_type_fields.xml\",\"src/addons/Gram/Support/_data/option_groups.xml\",\"src/addons/Gram/Support/_data/options.xml\",\"src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"src/addons/Gram/Support/_data/permissions.xml\",\"src/addons/Gram/Support/_data/phrases.xml\",\"src/addons/Gram/Support/_data/routes.xml\",\"src/addons/Gram/Support/_data/template_modifications.xml\",\"src/addons/Gram/Support/_data/templates.xml\",\"src/addons/Gram/Support/addon.json\",\"src/addons/Gram/Support/hashes.json\"]},\"templates_xml_sha256\":\"1a344bd306135486d2019bf0a5cafff5eb472882f7b3433ef13af4556a4c791e\",\"hash_entries_updated\":1,\"basis\":\"historical FIX10 browser geometry: horizontal gap-center delta 0.006px; button visual center about 5px below footer text center\"}},\"legacy_preservation\":{\"ok\":true,\"renamed\":[{\"from\":\"xf_gram_support_ticket\",\"to\":\"xf_gram_support_ticket__legacy513r3r6\",\"rows\":0},{\"from\":\"xf_gram_support_message\",\"to\":\"xf_gram_support_message__legacy513r3r6\",\"rows\":0},{\"from\":\"xf_gram_support_event\",\"to\":\"xf_gram_support_event__legacy513r3r6\",\"rows\":0}]},\"install\":{\"rc\":0,\"stdout_sha256\":\"9a44553ad46a52d12c721982baf83934983a0ca5648484863918cf6133ea7d22\",\"stderr_sha256\":\"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\",\"stdout_tail\":\"\"},\"configure\":{\"ok\":true,\"site_option\":\"gramSupportSiteId\",\"site_id\":\"codevipe\",\"permission_entries_written\":22,\"permission_jobs\":[],\"all_jobs\":[{\"job_id\":4,\"execute_class\":\"XF\\\\Job\\\\Cron\"},{\"job_id\":50,\"execute_class\":\"XF\\\\Job\\\\UpgradeCheck\"},{\"job_id\":64372,\"execute_class\":\"XF\\\\Job\\\\IconUsage\"},{\"job_id\":64374,\"execute_class\":\"XF\\\\Job\\\\IconUsage\"},{\"job_id\":64375,\"execute_class\":\"XF\\\\Job\\\\IconUsage\"},{\"job_id\":64376,\"execute_class\":\"XF\\\\Job\\\\IconUsage\"}],\"baseline_unrelated_allowed\":[{\"job_id\":4,\"execute_class\":\"XF\\\\Job\\\\Cron\"},{\"job_id\":50,\"execute_class\":\"XF\\\\Job\\\\UpgradeCheck\"}],\"job_loops\":0},\"verify\":{\"ok\":true,\"checks\":{\"addon\":true,\"board_active\":true,\"tables\":true,\"routes4\":true,\"counts\":true,\"permissions\":true,\"site_id\":true,\"perm_jobs_zero\":true,\"manifest\":true,\"error_log\":true,\"footer_v7\":true,\"services\":true,\"http\":true},\"state\":{\"addon\":{\"addon_id\":\"Gram/Support\",\"title\":\"Gram Support\",\"version_id\":1000120,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 10\",\"active\":1,\"is_processing\":0,\"last_pending_action\":null},\"counts\":{\"xf_content_type_field\":1,\"xf_code_event_listener\":1,\"xf_option\":4,\"xf_option_group\":1,\"xf_permission\":9,\"xf_permission_interface_group\":1,\"xf_phrase\":54,\"xf_route\":4,\"xf_template\":13,\"xf_template_modification\":1},\"support_tables\":[\"xf_gram_support_attachment_meta\",\"xf_gram_support_delivery\",\"xf_gram_support_event\",\"xf_gram_support_event__conflict\",\"xf_gram_support_event__legacy513r3r6\",\"xf_gram_support_message\",\"xf_gram_support_message__conflict\",\"xf_gram_support_message__legacy513r3r6\",\"xf_gram_support_rate_limit\",\"xf_gram_support_ticket\",\"xf_gram_support_ticket__conflict\",\"xf_gram_support_ticket__legacy513r3r6\"],\"support_table_rows\":{\"xf_gram_support_attachment_meta\":0,\"xf_gram_support_delivery\":0,\"xf_gram_support_event\":0,\"xf_gram_support_event__conflict\":0,\"xf_gram_support_event__legacy513r3r6\":0,\"xf_gram_support_message\":0,\"xf_gram_support_message__conflict\":0,\"xf_gram_support_message__legacy513r3r6\":0,\"xf_gram_support_rate_limit\":0,\"xf_gram_support_ticket\":0,\"xf_gram_support_ticket__conflict\":0,\"xf_gram_support_ticket__legacy513r3r6\":0},\"routes\":[{\"route_type\":\"public\",\"route_prefix\":\"account\",\"sub_name\":\"support\",\"format\":\"support\",\"controller\":\"Gram\\\\Support:AccountSupport\",\"addon_id\":\"Gram/Support\"},{\"route_type\":\"public\",\"route_prefix\":\"support\",\"sub_name\":\"\",\"format\":\"\",\"controller\":\"Gram\\\\Support:Support\",\"addon_id\":\"Gram/Support\"},{\"route_type\":\"public\",\"route_prefix\":\"support\",\"sub_name\":\"service-worker\",\"format\":\"service-worker\",\"controller\":\"Gram\\\\Support:Pwa\",\"addon_id\":\"Gram/Support\"},{\"route_type\":\"public\",\"route_prefix\":\"support\",\"sub_name\":\"staff\",\"format\":\"staff\",\"controller\":\"Gram\\\\Support:StaffSupport\",\"addon_id\":\"Gram/Support\"}],\"options\":[{\"option_id\":\"gramSupportGuestRateLimitCount\",\"option_value\":\"5\",\"default_value\":\"5\"},{\"option_id\":\"gramSupportGuestRateLimitWindowSeconds\",\"option_value\":\"3600\",\"default_value\":\"3600\"},{\"option_id\":\"gramSupportGuestTokenTtlDays\",\"option_value\":\"30\",\"default_value\":\"30\"},{\"option_id\":\"gramSupportSiteId\",\"option_value\":\"codevipe\",\"default_value\":\"\"}],\"permission_entries\":[{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\",\"user_group_id\":2,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\",\"user_group_id\":2,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\",\"user_group_id\":2,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\",\"user_group_id\":2,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"assign\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"internalNotes\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"manage\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewAll\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewTechnicalContext\",\"user_group_id\":3,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"assign\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"create\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"internalNotes\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"manage\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"replyOwn\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"view\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewAll\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewOwn\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0},{\"permission_group_id\":\"gramSupport\",\"permission_id\":\"viewTechnicalContext\",\"user_group_id\":4,\"user_id\":0,\"permission_value\":\"allow\",\"permission_value_int\":0}],\"permission_jobs\":[],\"all_jobs\":[{\"job_id\":4,\"execute_class\":\"XF\\\\Job\\\\Cron\",\"manual_execute\":0},{\"job_id\":50,\"execute_class\":\"XF\\\\Job\\\\UpgradeCheck\",\"manual_execute\":0},{\"job_id\":64372,\"execute_class\":\"XF\\\\Job\\\\IconUsage\",\"manual_execute\":0},{\"job_id\":64374,\"execute_class\":\"XF\\\\Job\\\\IconUsage\",\"manual_execute\":0},{\"job_id\":64375,\"execute_class\":\"XF\\\\Job\\\\IconUsage\",\"manual_execute\":0},{\"job_id\":64376,\"execute_class\":\"XF\\\\Job\\\\IconUsage\",\"manual_execute\":0}],\"footer_template\":{\"template_id\":1416,\"version_id\":1000100,\"version_string\":\"1.0.0 Alpha 3 Unified Fix 8\",\"sha256\":\"ced49dfb6a64c55b06292c2b0d283847608f9c52434d6411cd93d06375ae225b\",\"marker\":true,\"shift\":true},\"board_active\":\"1\",\"board_url\":\"https://codevipe.ru\",\"error_max\":0,\"xf\":{\"version_id\":2031170,\"version_string\":\"2.3.11\"},\"php\":\"8.3.32\"},\"manifest\":{\"file_count\":59,\"combined_sha256\":\"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a\",\"addon_files\":51,\"addon_sha256\":\"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948\",\"outside_files\":8,\"outside_sha256\":\"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58\",\"paths\":[\"js/gram/support/access.js\",\"js/gram/support/access.min.js\",\"js/gram/support/pwa/icon-192.png\",\"js/gram/support/pwa/icon-512.png\",\"js/gram/support/pwa/manifest.webmanifest\",\"js/gram/support/pwa/offline.html\",\"js/gram/support/staff-pwa.js\",\"js/gram/support/staff-pwa.min.js\",\"src/addons/Gram/Support/Attachment/TicketHandler.php\",\"src/addons/Gram/Support/Entity/AttachmentMeta.php\",\"src/addons/Gram/Support/Entity/Delivery.php\",\"src/addons/Gram/Support/Entity/Message.php\",\"src/addons/Gram/Support/Entity/RateLimit.php\",\"src/addons/Gram/Support/Entity/SupportEvent.php\",\"src/addons/Gram/Support/Entity/Ticket.php\",\"src/addons/Gram/Support/Listener/SourcePageContext.php\",\"src/addons/Gram/Support/Notification/AlertConsumer.php\",\"src/addons/Gram/Support/Notification/DeliveryGate.php\",\"src/addons/Gram/Support/Notification/Dispatcher.php\",\"src/addons/Gram/Support/Notification/EmailConsumer.php\",\"src/addons/Gram/Support/Notification/EntityDeliveryGate.php\",\"src/addons/Gram/Support/Notification/EventDispatcher.php\",\"src/addons/Gram/Support/Notification/Policy.php\",\"src/addons/Gram/Support/Notification/RecipientKey.php\",\"src/addons/Gram/Support/Pub/Controller/AccountSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Pwa.php\",\"src/addons/Gram/Support/Pub/Controller/StaffSupport.php\",\"src/addons/Gram/Support/Pub/Controller/Support.php\",\"src/addons/Gram/Support/Pub/View/PwaServiceWorker.php\",\"src/addons/Gram/Support/Repository/Message.php\",\"src/addons/Gram/Support/Repository/Ticket.php\",\"src/addons/Gram/Support/Security/GuestTicketSession.php\",\"src/addons/Gram/Support/Security/TicketAccess.php\",\"src/addons/Gram/Support/Service/GuestScreenshotService.php\",\"src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php\",\"src/addons/Gram/Support/Service/RateLimiter.php\",\"src/addons/Gram/Support/Service/SourceContextResolver.php\",\"src/addons/Gram/Support/Service/Ticket/Creator.php\",\"src/addons/Gram/Support/Service/Ticket/Reply.php\",\"src/addons/Gram/Support/Service/Ticket/StaffUpdate.php\",\"src/addons/Gram/Support/Setup.php\",\"src/addons/Gram/Support/Util/GuestToken.php\",\"src/addons/Gram/Support/Util/PublicRef.php\",\"src/addons/Gram/Support/Util/RateKey.php\",\"src/addons/Gram/Support/Util/SafeContext.php\",\"src/addons/Gram/Support/Util/SiteConfig.php\",\"src/addons/Gram/Support/Util/StatusPolicy.php\",\"src/addons/Gram/Support/_data/code_event_listeners.xml\",\"src/addons/Gram/Support/_data/content_type_fields.xml\",\"src/addons/Gram/Support/_data/option_groups.xml\",\"src/addons/Gram/Support/_data/options.xml\",\"src/addons/Gram/Support/_data/permission_interface_groups.xml\",\"src/addons/Gram/Support/_data/permissions.xml\",\"src/addons/Gram/Support/_data/phrases.xml\",\"src/addons/Gram/Support/_data/routes.xml\",\"src/addons/Gram/Support/_data/template_modifications.xml\",\"src/addons/Gram/Support/_data/templates.xml\",\"src/addons/Gram/Support/addon.json\",\"src/addons/Gram/Support/hashes.json\"]},\"services\":{\"mariadb\":\"active\",\"nginx\":\"active\",\"php8.3-fpm\":\"active\"},\"permission_counts\":{\"2\":4,\"3\":9,\"4\":9},\"http\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"200\"},\"/support/create/\":{\"rc\":0,\"code\":\"200\"}}},\"no_delete\":true,\"target\":\"codevipe.ru\",\"other_production_mutations\":0},\"pre_http\":{\"codevipe.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"dsmods.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"gamevipe.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"hkmods.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"kingofwolk.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"zakrutim.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"newfi.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}}},\"post_http\":{\"codevipe.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"200\"}},\"dsmods.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"gamevipe.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"hkmods.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"kingofwolk.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"zakrutim.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}},\"newfi.ru\":{\"/\":{\"rc\":0,\"code\":\"200\"},\"/support/\":{\"rc\":0,\"code\":\"404\"}}},\"artifact_sha256\":\"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e\",\"target\":\"codevipe.ru\"}\nGRAM513R3R6_DECISION=PASS_CODEVIPE_PRESERVE_LEGACY_FINAL_CANARY\nGRAM513R3R6_NEXT_GATE=READY_FOR_USER_VISUAL_CONFIRM_AND_REMAINING_6_PRODUCTION_ROLLOUT_513R4\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6\",\"status\":\"OK\",\"changes_made\":true,\"rollback_started\":false,\"rollback_restored\":null}\n" } diff --git a/runtime/latest.txt b/runtime/latest.txt index 5845e146..3966a69d 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,40 +1,44 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260918-GRAM-XF-CODEVIPE-POST-513R3R4-RECONCILIATION-513R3R5 +COMMAND_ID=SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6 STATUS=OK RC=0 HOST=pve01 -MODE=read-only -COMPONENT=gram-support-codevipe-post-513r3r4-reconciliation +MODE=change +COMPONENT=gram-support-codevipe-preserve-legacy-final-canary REFERENCE_REGISTER_CHECK=OK REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 ERROR_REGISTER_CHECK=OK ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=6065eb014a49cdccb8fc5102cc290b3e1dbdf69fd2321accc87290e0cc4178e8 +COMMAND_SHA256=d8a95949945b0bc64fde7daced4cf576756b8e6d42fece7f5629b50a47bb67a6 DUPLICATE_FAILED_COMMAND_BLOCKED=false EXECUTION_STARTED=true -CHANGE_DECLARED=false +CHANGE_DECLARED=true RESULT_CONTRACT_VALID=true -RESULT_CONTRACT_STATUS=NOT_APPLICABLE +RESULT_CONTRACT_STATUS=OK RESULT_CONTRACT_ERROR=NONE COMMAND_RC=0 -CHANGES_MADE=false +CHANGES_MADE=true ROLLBACK_STARTED=false ROLLBACK_RESTORED=null -MUTATION_OUTCOME=NO_MUTATION +MUTATION_OUTCOME=MUTATED SANITIZED=yes SECRETS_INCLUDED=no PRIVATE_ADDRESSES_INCLUDED=no -RAW_EVIDENCE_SHA256=c3a55276a873b54f04e42c52897076b0a2e8329dc394bfacb2c775ce613611bd -SANITIZED_OUTPUT_SHA256=c3a55276a873b54f04e42c52897076b0a2e8329dc394bfacb2c775ce613611bd +RAW_EVIDENCE_SHA256=9a2fb4b7dad241c4905363f755fdc22e4c08d0efa37b784e68e90c38cf16ab28 +SANITIZED_OUTPUT_SHA256=9a2fb4b7dad241c4905363f755fdc22e4c08d0efa37b784e68e90c38cf16ab28 OUTPUT_BEGIN -GRAM513R3R5_WRAPPER_BEGIN=true +GRAM513R3R6_WRAPPER_BEGIN=true ERROR_REGISTER_CHECK=OK REFERENCE_CHECK=OK AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED -GRAM513R3R5_SAFE_REPORT={"artifact_sha256":"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e","codevipe":{"ok":true,"state":{"addon":null,"counts":{"xf_content_type_field":0,"xf_code_event_listener":0,"xf_option":0,"xf_option_group":0,"xf_permission":0,"xf_permission_interface_group":0,"xf_phrase":0,"xf_route":0,"xf_template":0,"xf_template_modification":0},"support_tables":{"xf_gram_support_attachment_meta":{"rows":0,"ddl_sha256":"3c3d2ce4c5dae793687243dca37f60cd781895818b546a68e227aef9bfc9b6b2","ddl":"CREATE TABLE `xf_gram_support_attachment_meta` (\n `attachment_id` int(10) unsigned NOT NULL,\n `ticket_id` int(10) unsigned NOT NULL,\n `message_id` int(10) unsigned NOT NULL DEFAULT 0,\n `is_internal` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `created_date` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`attachment_id`),\n KEY `ticket_internal` (`ticket_id`,`is_internal`),\n KEY `message_id` (`message_id`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_gram_support_delivery":{"rows":0,"ddl_sha256":"91f068994bdbe4b168ab1c82fa669180f13825e6d1a7f5b9e956ccc872d0410d","ddl":"CREATE TABLE `xf_gram_support_delivery` (\n `delivery_key` char(64) NOT NULL,\n `event_id` int(10) unsigned NOT NULL,\n `consumer` varchar(32) NOT NULL,\n `recipient_key` varchar(96) NOT NULL,\n `state` varchar(16) NOT NULL DEFAULT 'pending',\n `lease_expires` int(10) unsigned NOT NULL DEFAULT 0,\n `attempt_count` int(10) unsigned NOT NULL DEFAULT 0,\n `last_failure_class` varchar(191) NOT NULL DEFAULT '',\n `created_date` int(10) unsigned NOT NULL DEFAULT 0,\n `updated_date` int(10) unsigned NOT NULL DEFAULT 0,\n `sent_date` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`delivery_key`),\n KEY `event_consumer` (`event_id`,`consumer`),\n KEY `state_lease` (`state`,`lease_expires`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_gram_support_event":{"rows":0,"ddl_sha256":"81b6328dbbcf3f6405891897ba185e29890c675f21d7a2f9caf827c0eddb42da","ddl":"CREATE TABLE `xf_gram_support_event` (\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `ticket_id` int(10) unsigned NOT NULL,\n `site_id` varchar(32) NOT NULL,\n `actor_user_id` int(10) unsigned NOT NULL DEFAULT 0,\n `event_type` varchar(64) NOT NULL,\n `event_date` int(10) unsigned NOT NULL DEFAULT 0,\n `safe_payload_json` mediumtext NOT NULL,\n PRIMARY KEY (`event_id`),\n KEY `ticket_date` (`ticket_id`,`event_date`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_gram_support_event__conflict":{"rows":0,"ddl_sha256":"3ec4d00d4e0a209d8ca439e47639ec9462e4ed6ae4a3abfab564ba53a5f8aaca","ddl":"CREATE TABLE `xf_gram_support_event__conflict` (\n `event_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `ticket_id` int(10) unsigned NOT NULL,\n `site_id` varchar(32) NOT NULL,\n `actor_user_id` int(10) unsigned NOT NULL DEFAULT 0,\n `event_type` varchar(64) NOT NULL,\n `event_date` int(10) unsigned NOT NULL DEFAULT 0,\n `safe_payload_json` mediumtext NOT NULL,\n PRIMARY KEY (`event_id`),\n KEY `ticket_date` (`ticket_id`,`event_date`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_gram_support_message":{"rows":0,"ddl_sha256":"a00e534c642179db3018c74060d1aa6cef4dc445dcb801eb847c04d770f8f884","ddl":"CREATE TABLE `xf_gram_support_message` (\n `message_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `ticket_id` int(10) unsigned NOT NULL,\n `user_id` int(10) unsigned NOT NULL DEFAULT 0,\n `is_staff` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `is_internal` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `message` mediumtext NOT NULL,\n `message_date` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`message_id`),\n KEY `ticket_date` (`ticket_id`,`message_date`),\n KEY `ticket_public_date` (`ticket_id`,`is_internal`,`message_date`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_gram_support_message__conflict":{"rows":0,"ddl_sha256":"49d3e846099ebd4b869957e558afe1ff4a5cb0e1449623462b78c55bd68b6808","ddl":"CREATE TABLE `xf_gram_support_message__conflict` (\n `message_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `ticket_id` int(10) unsigned NOT NULL,\n `user_id` int(10) unsigned NOT NULL DEFAULT 0,\n `is_staff` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `is_internal` tinyint(3) unsigned NOT NULL DEFAULT 0,\n `message` mediumtext NOT NULL,\n `message_date` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`message_id`),\n KEY `ticket_date` (`ticket_id`,`message_date`),\n KEY `ticket_public_date` (`ticket_id`,`is_internal`,`message_date`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_gram_support_rate_limit":{"rows":0,"ddl_sha256":"f2271e20d520a8ba413b2094a4f8f6640395065c7d9c2e4f5b0a74b790d3dd8e","ddl":"CREATE TABLE `xf_gram_support_rate_limit` (\n `rate_key` char(64) NOT NULL,\n `window_start` int(10) unsigned NOT NULL,\n `hit_count` int(10) unsigned NOT NULL DEFAULT 0,\n `updated_date` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`rate_key`),\n KEY `updated_date` (`updated_date`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_gram_support_ticket":{"rows":0,"ddl_sha256":"3558077fc70b4453960d1d782998ad498b2d3b12ba587488e8b23785979f7ba8","ddl":"CREATE TABLE `xf_gram_support_ticket` (\n `ticket_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `public_ref` varchar(64) NOT NULL,\n `site_id` varchar(32) NOT NULL,\n `user_id` int(10) unsigned NOT NULL DEFAULT 0,\n `guest_email` varchar(255) NOT NULL DEFAULT '',\n `guest_access_token_hash` char(64) NOT NULL DEFAULT '',\n `guest_access_expires` int(10) unsigned NOT NULL DEFAULT 0,\n `node_id` int(10) unsigned NOT NULL DEFAULT 0,\n `thread_id` int(10) unsigned NOT NULL DEFAULT 0,\n `post_id` int(10) unsigned NOT NULL DEFAULT 0,\n `category` varchar(64) NOT NULL DEFAULT '',\n `subject` varchar(255) NOT NULL DEFAULT '',\n `status` varchar(32) NOT NULL DEFAULT 'NEW',\n `assigned_user_id` int(10) unsigned NOT NULL DEFAULT 0,\n `created_date` int(10) unsigned NOT NULL DEFAULT 0,\n `updated_date` int(10) unsigned NOT NULL DEFAULT 0,\n `resolved_date` int(10) unsigned NOT NULL DEFAULT 0,\n `context_json` mediumtext NOT NULL,\n `last_message_id` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`ticket_id`),\n UNIQUE KEY `public_ref` (`public_ref`),\n KEY `guest_token_hash` (`guest_access_token_hash`),\n KEY `site_user_updated` (`site_id`,`user_id`,`updated_date`),\n KEY `site_status_updated` (`site_id`,`status`,`updated_date`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"},"xf_gram_support_ticket__conflict":{"rows":0,"ddl_sha256":"5c952146662e5d701a49c2fa206b8f8ce1811e7f4e06dca7698d9c8dd4c0de1a","ddl":"CREATE TABLE `xf_gram_support_ticket__conflict` (\n `ticket_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n `public_ref` varchar(64) NOT NULL,\n `site_id` varchar(32) NOT NULL,\n `user_id` int(10) unsigned NOT NULL DEFAULT 0,\n `guest_email` varchar(255) NOT NULL DEFAULT '',\n `guest_access_token_hash` char(64) NOT NULL DEFAULT '',\n `guest_access_expires` int(10) unsigned NOT NULL DEFAULT 0,\n `node_id` int(10) unsigned NOT NULL DEFAULT 0,\n `thread_id` int(10) unsigned NOT NULL DEFAULT 0,\n `post_id` int(10) unsigned NOT NULL DEFAULT 0,\n `category` varchar(64) NOT NULL DEFAULT '',\n `subject` varchar(255) NOT NULL DEFAULT '',\n `status` varchar(32) NOT NULL DEFAULT 'NEW',\n `assigned_user_id` int(10) unsigned NOT NULL DEFAULT 0,\n `created_date` int(10) unsigned NOT NULL DEFAULT 0,\n `updated_date` int(10) unsigned NOT NULL DEFAULT 0,\n `resolved_date` int(10) unsigned NOT NULL DEFAULT 0,\n `context_json` mediumtext NOT NULL,\n `last_message_id` int(10) unsigned NOT NULL DEFAULT 0,\n PRIMARY KEY (`ticket_id`),\n UNIQUE KEY `public_ref` (`public_ref`),\n KEY `guest_token_hash` (`guest_access_token_hash`),\n KEY `site_user_updated` (`site_id`,`user_id`,`updated_date`),\n KEY `site_status_updated` (`site_id`,`status`,`updated_date`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci"}},"routes":[],"options":[],"permission_entries":[],"jobs":[{"job_id":4,"execute_class":"XF\\Job\\Cron","manual_execute":0},{"job_id":50,"execute_class":"XF\\Job\\UpgradeCheck","manual_execute":0}],"errors":[],"footer_template":null,"board_active":"1","board_url":"https://codevipe.ru","xf":{"version_id":2031170,"version_string":"2.3.11"},"php":"8.3.32"},"manifest":{"file_count":59,"combined_sha256":"c8c3fbe24b22c47338dc06b49eeee10f56038804812c715f53e2607d88502f29","paths":["js/gram/support/access.js","js/gram/support/access.min.js","js/gram/support/pwa/icon-192.png","js/gram/support/pwa/icon-512.png","js/gram/support/pwa/manifest.webmanifest","js/gram/support/pwa/offline.html","js/gram/support/staff-pwa.js","js/gram/support/staff-pwa.min.js","src/addons/Gram/Support/Attachment/TicketHandler.php","src/addons/Gram/Support/Entity/AttachmentMeta.php","src/addons/Gram/Support/Entity/Delivery.php","src/addons/Gram/Support/Entity/Message.php","src/addons/Gram/Support/Entity/RateLimit.php","src/addons/Gram/Support/Entity/SupportEvent.php","src/addons/Gram/Support/Entity/Ticket.php","src/addons/Gram/Support/Listener/SourcePageContext.php","src/addons/Gram/Support/Notification/AlertConsumer.php","src/addons/Gram/Support/Notification/DeliveryGate.php","src/addons/Gram/Support/Notification/Dispatcher.php","src/addons/Gram/Support/Notification/EmailConsumer.php","src/addons/Gram/Support/Notification/EntityDeliveryGate.php","src/addons/Gram/Support/Notification/EventDispatcher.php","src/addons/Gram/Support/Notification/Policy.php","src/addons/Gram/Support/Notification/RecipientKey.php","src/addons/Gram/Support/Pub/Controller/AccountSupport.php","src/addons/Gram/Support/Pub/Controller/Pwa.php","src/addons/Gram/Support/Pub/Controller/StaffSupport.php","src/addons/Gram/Support/Pub/Controller/Support.php","src/addons/Gram/Support/Pub/View/PwaServiceWorker.php","src/addons/Gram/Support/Repository/Message.php","src/addons/Gram/Support/Repository/Ticket.php","src/addons/Gram/Support/Security/GuestTicketSession.php","src/addons/Gram/Support/Security/TicketAccess.php","src/addons/Gram/Support/Service/GuestScreenshotService.php","src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php","src/addons/Gram/Support/Service/RateLimiter.php","src/addons/Gram/Support/Service/SourceContextResolver.php","src/addons/Gram/Support/Service/Ticket/Creator.php","src/addons/Gram/Support/Service/Ticket/Reply.php","src/addons/Gram/Support/Service/Ticket/StaffUpdate.php","src/addons/Gram/Support/Setup.php","src/addons/Gram/Support/Util/GuestToken.php","src/addons/Gram/Support/Util/PublicRef.php","src/addons/Gram/Support/Util/RateKey.php","src/addons/Gram/Support/Util/SafeContext.php","src/addons/Gram/Support/Util/SiteConfig.php","src/addons/Gram/Support/Util/StatusPolicy.php","src/addons/Gram/Support/_data/code_event_listeners.xml","src/addons/Gram/Support/_data/content_type_fields.xml","src/addons/Gram/Support/_data/option_groups.xml","src/addons/Gram/Support/_data/options.xml","src/addons/Gram/Support/_data/permission_interface_groups.xml","src/addons/Gram/Support/_data/permissions.xml","src/addons/Gram/Support/_data/phrases.xml","src/addons/Gram/Support/_data/routes.xml","src/addons/Gram/Support/_data/template_modifications.xml","src/addons/Gram/Support/_data/templates.xml","src/addons/Gram/Support/addon.json","src/addons/Gram/Support/hashes.json"]}},"classification":{"canonical_six_present":true,"support_tables_all_empty":true,"conflict_tables":["xf_gram_support_event__conflict","xf_gram_support_message__conflict","xf_gram_support_ticket__conflict"],"conflict_count":3,"expected_schema_conflict_errors":[],"expected_schema_conflict_error_count":0,"other_recent_errors":[],"addon_present":false,"routes_count":0,"permissions_count":0,"footer_v7":false,"footer_shift":false}} -GRAM513R3R5_DECISION=PASS_POST_513R3R4_RECONCILIATION -GRAM513R3R5_NEXT_GATE=READY_FOR_PRESERVE_LEGACY_TABLES_FINAL_CODEVIPE_CANARY_513R3R6 -HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260918-GRAM-XF-CODEVIPE-POST-513R3R4-RECONCILIATION-513R3R5","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null} +GRAM513R3R6_BEGIN=true +MODE=CHANGE_CODEVIPE_PRESERVE_LEGACY_FINAL_CANARY +NO_DELETE=true +TARGET=codevipe.ru +GRAM513R3R6_SAFE_REPORT={"guest":{"backup":{"path":"/root/codevipe-gram-support-backups/SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6","sealed":true,"source":{"bytes":32103,"sha256":"4ac4120e62e278821f6227bdf63c07fc77219142339e81cd53b4a58dcce1cfae"},"database":{"gzip_bytes":4709229,"gzip_sha256":"d2e5bfd20a15c59b5302a07658d18b88671f05ad63b5bcb6fb1bbdaca8ff464e","raw_bytes":47398340,"dbname_hash":"8512af6a5bd7c65a639fd916e17c2a1eedf1f820324ee4f7c3e78f17ae866b4c"},"sha256sums":"5ebbfc34b8ab4bab38dd8648f1da981bdfaec40ac8a3564f9f994e6a83b2b303"},"artifact":{"base_sha256":"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e","version_id":1000120,"patched_manifest":{"file_count":59,"combined_sha256":"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a","addon_files":51,"addon_sha256":"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948","outside_files":8,"outside_sha256":"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58","paths":["js/gram/support/access.js","js/gram/support/access.min.js","js/gram/support/pwa/icon-192.png","js/gram/support/pwa/icon-512.png","js/gram/support/pwa/manifest.webmanifest","js/gram/support/pwa/offline.html","js/gram/support/staff-pwa.js","js/gram/support/staff-pwa.min.js","src/addons/Gram/Support/Attachment/TicketHandler.php","src/addons/Gram/Support/Entity/AttachmentMeta.php","src/addons/Gram/Support/Entity/Delivery.php","src/addons/Gram/Support/Entity/Message.php","src/addons/Gram/Support/Entity/RateLimit.php","src/addons/Gram/Support/Entity/SupportEvent.php","src/addons/Gram/Support/Entity/Ticket.php","src/addons/Gram/Support/Listener/SourcePageContext.php","src/addons/Gram/Support/Notification/AlertConsumer.php","src/addons/Gram/Support/Notification/DeliveryGate.php","src/addons/Gram/Support/Notification/Dispatcher.php","src/addons/Gram/Support/Notification/EmailConsumer.php","src/addons/Gram/Support/Notification/EntityDeliveryGate.php","src/addons/Gram/Support/Notification/EventDispatcher.php","src/addons/Gram/Support/Notification/Policy.php","src/addons/Gram/Support/Notification/RecipientKey.php","src/addons/Gram/Support/Pub/Controller/AccountSupport.php","src/addons/Gram/Support/Pub/Controller/Pwa.php","src/addons/Gram/Support/Pub/Controller/StaffSupport.php","src/addons/Gram/Support/Pub/Controller/Support.php","src/addons/Gram/Support/Pub/View/PwaServiceWorker.php","src/addons/Gram/Support/Repository/Message.php","src/addons/Gram/Support/Repository/Ticket.php","src/addons/Gram/Support/Security/GuestTicketSession.php","src/addons/Gram/Support/Security/TicketAccess.php","src/addons/Gram/Support/Service/GuestScreenshotService.php","src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php","src/addons/Gram/Support/Service/RateLimiter.php","src/addons/Gram/Support/Service/SourceContextResolver.php","src/addons/Gram/Support/Service/Ticket/Creator.php","src/addons/Gram/Support/Service/Ticket/Reply.php","src/addons/Gram/Support/Service/Ticket/StaffUpdate.php","src/addons/Gram/Support/Setup.php","src/addons/Gram/Support/Util/GuestToken.php","src/addons/Gram/Support/Util/PublicRef.php","src/addons/Gram/Support/Util/RateKey.php","src/addons/Gram/Support/Util/SafeContext.php","src/addons/Gram/Support/Util/SiteConfig.php","src/addons/Gram/Support/Util/StatusPolicy.php","src/addons/Gram/Support/_data/code_event_listeners.xml","src/addons/Gram/Support/_data/content_type_fields.xml","src/addons/Gram/Support/_data/option_groups.xml","src/addons/Gram/Support/_data/options.xml","src/addons/Gram/Support/_data/permission_interface_groups.xml","src/addons/Gram/Support/_data/permissions.xml","src/addons/Gram/Support/_data/phrases.xml","src/addons/Gram/Support/_data/routes.xml","src/addons/Gram/Support/_data/template_modifications.xml","src/addons/Gram/Support/_data/templates.xml","src/addons/Gram/Support/addon.json","src/addons/Gram/Support/hashes.json"]},"footer_patch":{"marker":"gram-support-footer-align-v7-textline","desktop_translate_y_px":-5,"base_manifest":{"file_count":59,"combined_sha256":"abf01c976240d065d235740a9f78a187840a55fe7b02f9125c4e9d2803392c05","addon_files":51,"addon_sha256":"805caec12d36496bbd9703c7d97b56f80f7a4c4893e758c8bc1706d94cb93907","outside_files":8,"outside_sha256":"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58","paths":["js/gram/support/access.js","js/gram/support/access.min.js","js/gram/support/pwa/icon-192.png","js/gram/support/pwa/icon-512.png","js/gram/support/pwa/manifest.webmanifest","js/gram/support/pwa/offline.html","js/gram/support/staff-pwa.js","js/gram/support/staff-pwa.min.js","src/addons/Gram/Support/Attachment/TicketHandler.php","src/addons/Gram/Support/Entity/AttachmentMeta.php","src/addons/Gram/Support/Entity/Delivery.php","src/addons/Gram/Support/Entity/Message.php","src/addons/Gram/Support/Entity/RateLimit.php","src/addons/Gram/Support/Entity/SupportEvent.php","src/addons/Gram/Support/Entity/Ticket.php","src/addons/Gram/Support/Listener/SourcePageContext.php","src/addons/Gram/Support/Notification/AlertConsumer.php","src/addons/Gram/Support/Notification/DeliveryGate.php","src/addons/Gram/Support/Notification/Dispatcher.php","src/addons/Gram/Support/Notification/EmailConsumer.php","src/addons/Gram/Support/Notification/EntityDeliveryGate.php","src/addons/Gram/Support/Notification/EventDispatcher.php","src/addons/Gram/Support/Notification/Policy.php","src/addons/Gram/Support/Notification/RecipientKey.php","src/addons/Gram/Support/Pub/Controller/AccountSupport.php","src/addons/Gram/Support/Pub/Controller/Pwa.php","src/addons/Gram/Support/Pub/Controller/StaffSupport.php","src/addons/Gram/Support/Pub/Controller/Support.php","src/addons/Gram/Support/Pub/View/PwaServiceWorker.php","src/addons/Gram/Support/Repository/Message.php","src/addons/Gram/Support/Repository/Ticket.php","src/addons/Gram/Support/Security/GuestTicketSession.php","src/addons/Gram/Support/Security/TicketAccess.php","src/addons/Gram/Support/Service/GuestScreenshotService.php","src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php","src/addons/Gram/Support/Service/RateLimiter.php","src/addons/Gram/Support/Service/SourceContextResolver.php","src/addons/Gram/Support/Service/Ticket/Creator.php","src/addons/Gram/Support/Service/Ticket/Reply.php","src/addons/Gram/Support/Service/Ticket/StaffUpdate.php","src/addons/Gram/Support/Setup.php","src/addons/Gram/Support/Util/GuestToken.php","src/addons/Gram/Support/Util/PublicRef.php","src/addons/Gram/Support/Util/RateKey.php","src/addons/Gram/Support/Util/SafeContext.php","src/addons/Gram/Support/Util/SiteConfig.php","src/addons/Gram/Support/Util/StatusPolicy.php","src/addons/Gram/Support/_data/code_event_listeners.xml","src/addons/Gram/Support/_data/content_type_fields.xml","src/addons/Gram/Support/_data/option_groups.xml","src/addons/Gram/Support/_data/options.xml","src/addons/Gram/Support/_data/permission_interface_groups.xml","src/addons/Gram/Support/_data/permissions.xml","src/addons/Gram/Support/_data/phrases.xml","src/addons/Gram/Support/_data/routes.xml","src/addons/Gram/Support/_data/template_modifications.xml","src/addons/Gram/Support/_data/templates.xml","src/addons/Gram/Support/addon.json","src/addons/Gram/Support/hashes.json"]},"patched_manifest":{"file_count":59,"combined_sha256":"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a","addon_files":51,"addon_sha256":"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948","outside_files":8,"outside_sha256":"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58","paths":["js/gram/support/access.js","js/gram/support/access.min.js","js/gram/support/pwa/icon-192.png","js/gram/support/pwa/icon-512.png","js/gram/support/pwa/manifest.webmanifest","js/gram/support/pwa/offline.html","js/gram/support/staff-pwa.js","js/gram/support/staff-pwa.min.js","src/addons/Gram/Support/Attachment/TicketHandler.php","src/addons/Gram/Support/Entity/AttachmentMeta.php","src/addons/Gram/Support/Entity/Delivery.php","src/addons/Gram/Support/Entity/Message.php","src/addons/Gram/Support/Entity/RateLimit.php","src/addons/Gram/Support/Entity/SupportEvent.php","src/addons/Gram/Support/Entity/Ticket.php","src/addons/Gram/Support/Listener/SourcePageContext.php","src/addons/Gram/Support/Notification/AlertConsumer.php","src/addons/Gram/Support/Notification/DeliveryGate.php","src/addons/Gram/Support/Notification/Dispatcher.php","src/addons/Gram/Support/Notification/EmailConsumer.php","src/addons/Gram/Support/Notification/EntityDeliveryGate.php","src/addons/Gram/Support/Notification/EventDispatcher.php","src/addons/Gram/Support/Notification/Policy.php","src/addons/Gram/Support/Notification/RecipientKey.php","src/addons/Gram/Support/Pub/Controller/AccountSupport.php","src/addons/Gram/Support/Pub/Controller/Pwa.php","src/addons/Gram/Support/Pub/Controller/StaffSupport.php","src/addons/Gram/Support/Pub/Controller/Support.php","src/addons/Gram/Support/Pub/View/PwaServiceWorker.php","src/addons/Gram/Support/Repository/Message.php","src/addons/Gram/Support/Repository/Ticket.php","src/addons/Gram/Support/Security/GuestTicketSession.php","src/addons/Gram/Support/Security/TicketAccess.php","src/addons/Gram/Support/Service/GuestScreenshotService.php","src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php","src/addons/Gram/Support/Service/RateLimiter.php","src/addons/Gram/Support/Service/SourceContextResolver.php","src/addons/Gram/Support/Service/Ticket/Creator.php","src/addons/Gram/Support/Service/Ticket/Reply.php","src/addons/Gram/Support/Service/Ticket/StaffUpdate.php","src/addons/Gram/Support/Setup.php","src/addons/Gram/Support/Util/GuestToken.php","src/addons/Gram/Support/Util/PublicRef.php","src/addons/Gram/Support/Util/RateKey.php","src/addons/Gram/Support/Util/SafeContext.php","src/addons/Gram/Support/Util/SiteConfig.php","src/addons/Gram/Support/Util/StatusPolicy.php","src/addons/Gram/Support/_data/code_event_listeners.xml","src/addons/Gram/Support/_data/content_type_fields.xml","src/addons/Gram/Support/_data/option_groups.xml","src/addons/Gram/Support/_data/options.xml","src/addons/Gram/Support/_data/permission_interface_groups.xml","src/addons/Gram/Support/_data/permissions.xml","src/addons/Gram/Support/_data/phrases.xml","src/addons/Gram/Support/_data/routes.xml","src/addons/Gram/Support/_data/template_modifications.xml","src/addons/Gram/Support/_data/templates.xml","src/addons/Gram/Support/addon.json","src/addons/Gram/Support/hashes.json"]},"templates_xml_sha256":"1a344bd306135486d2019bf0a5cafff5eb472882f7b3433ef13af4556a4c791e","hash_entries_updated":1,"basis":"historical FIX10 browser geometry: horizontal gap-center delta 0.006px; button visual center about 5px below footer text center"}},"legacy_preservation":{"ok":true,"renamed":[{"from":"xf_gram_support_ticket","to":"xf_gram_support_ticket__legacy513r3r6","rows":0},{"from":"xf_gram_support_message","to":"xf_gram_support_message__legacy513r3r6","rows":0},{"from":"xf_gram_support_event","to":"xf_gram_support_event__legacy513r3r6","rows":0}]},"install":{"rc":0,"stdout_sha256":"9a44553ad46a52d12c721982baf83934983a0ca5648484863918cf6133ea7d22","stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","stdout_tail":""},"configure":{"ok":true,"site_option":"gramSupportSiteId","site_id":"codevipe","permission_entries_written":22,"permission_jobs":[],"all_jobs":[{"job_id":4,"execute_class":"XF\\Job\\Cron"},{"job_id":50,"execute_class":"XF\\Job\\UpgradeCheck"},{"job_id":64372,"execute_class":"XF\\Job\\IconUsage"},{"job_id":64374,"execute_class":"XF\\Job\\IconUsage"},{"job_id":64375,"execute_class":"XF\\Job\\IconUsage"},{"job_id":64376,"execute_class":"XF\\Job\\IconUsage"}],"baseline_unrelated_allowed":[{"job_id":4,"execute_class":"XF\\Job\\Cron"},{"job_id":50,"execute_class":"XF\\Job\\UpgradeCheck"}],"job_loops":0},"verify":{"ok":true,"checks":{"addon":true,"board_active":true,"tables":true,"routes4":true,"counts":true,"permissions":true,"site_id":true,"perm_jobs_zero":true,"manifest":true,"error_log":true,"footer_v7":true,"services":true,"http":true},"state":{"addon":{"addon_id":"Gram/Support","title":"Gram Support","version_id":1000120,"version_string":"1.0.0 Alpha 3 Unified Fix 10","active":1,"is_processing":0,"last_pending_action":null},"counts":{"xf_content_type_field":1,"xf_code_event_listener":1,"xf_option":4,"xf_option_group":1,"xf_permission":9,"xf_permission_interface_group":1,"xf_phrase":54,"xf_route":4,"xf_template":13,"xf_template_modification":1},"support_tables":["xf_gram_support_attachment_meta","xf_gram_support_delivery","xf_gram_support_event","xf_gram_support_event__conflict","xf_gram_support_event__legacy513r3r6","xf_gram_support_message","xf_gram_support_message__conflict","xf_gram_support_message__legacy513r3r6","xf_gram_support_rate_limit","xf_gram_support_ticket","xf_gram_support_ticket__conflict","xf_gram_support_ticket__legacy513r3r6"],"support_table_rows":{"xf_gram_support_attachment_meta":0,"xf_gram_support_delivery":0,"xf_gram_support_event":0,"xf_gram_support_event__conflict":0,"xf_gram_support_event__legacy513r3r6":0,"xf_gram_support_message":0,"xf_gram_support_message__conflict":0,"xf_gram_support_message__legacy513r3r6":0,"xf_gram_support_rate_limit":0,"xf_gram_support_ticket":0,"xf_gram_support_ticket__conflict":0,"xf_gram_support_ticket__legacy513r3r6":0},"routes":[{"route_type":"public","route_prefix":"account","sub_name":"support","format":"support","controller":"Gram\\Support:AccountSupport","addon_id":"Gram/Support"},{"route_type":"public","route_prefix":"support","sub_name":"","format":"","controller":"Gram\\Support:Support","addon_id":"Gram/Support"},{"route_type":"public","route_prefix":"support","sub_name":"service-worker","format":"service-worker","controller":"Gram\\Support:Pwa","addon_id":"Gram/Support"},{"route_type":"public","route_prefix":"support","sub_name":"staff","format":"staff","controller":"Gram\\Support:StaffSupport","addon_id":"Gram/Support"}],"options":[{"option_id":"gramSupportGuestRateLimitCount","option_value":"5","default_value":"5"},{"option_id":"gramSupportGuestRateLimitWindowSeconds","option_value":"3600","default_value":"3600"},{"option_id":"gramSupportGuestTokenTtlDays","option_value":"30","default_value":"30"},{"option_id":"gramSupportSiteId","option_value":"codevipe","default_value":""}],"permission_entries":[{"permission_group_id":"gramSupport","permission_id":"create","user_group_id":2,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"replyOwn","user_group_id":2,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"view","user_group_id":2,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewOwn","user_group_id":2,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"assign","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"create","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"internalNotes","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"manage","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"replyOwn","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"view","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewAll","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewOwn","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewTechnicalContext","user_group_id":3,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"assign","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"create","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"internalNotes","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"manage","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"replyOwn","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"view","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewAll","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewOwn","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0},{"permission_group_id":"gramSupport","permission_id":"viewTechnicalContext","user_group_id":4,"user_id":0,"permission_value":"allow","permission_value_int":0}],"permission_jobs":[],"all_jobs":[{"job_id":4,"execute_class":"XF\\Job\\Cron","manual_execute":0},{"job_id":50,"execute_class":"XF\\Job\\UpgradeCheck","manual_execute":0},{"job_id":64372,"execute_class":"XF\\Job\\IconUsage","manual_execute":0},{"job_id":64374,"execute_class":"XF\\Job\\IconUsage","manual_execute":0},{"job_id":64375,"execute_class":"XF\\Job\\IconUsage","manual_execute":0},{"job_id":64376,"execute_class":"XF\\Job\\IconUsage","manual_execute":0}],"footer_template":{"template_id":1416,"version_id":1000100,"version_string":"1.0.0 Alpha 3 Unified Fix 8","sha256":"ced49dfb6a64c55b06292c2b0d283847608f9c52434d6411cd93d06375ae225b","marker":true,"shift":true},"board_active":"1","board_url":"https://codevipe.ru","error_max":0,"xf":{"version_id":2031170,"version_string":"2.3.11"},"php":"8.3.32"},"manifest":{"file_count":59,"combined_sha256":"a31fc0535de726fc779ef67d1cac8fea3cb518f738e5e47412825cddb1a34a7a","addon_files":51,"addon_sha256":"f0054b4417c13226fe105c815e24466fd4dc5a2e65c7e11a04090206a95d9948","outside_files":8,"outside_sha256":"9e657ea8877f40c9336807faa12d681c21f0261db5ad1aad3501dc0b48fdde58","paths":["js/gram/support/access.js","js/gram/support/access.min.js","js/gram/support/pwa/icon-192.png","js/gram/support/pwa/icon-512.png","js/gram/support/pwa/manifest.webmanifest","js/gram/support/pwa/offline.html","js/gram/support/staff-pwa.js","js/gram/support/staff-pwa.min.js","src/addons/Gram/Support/Attachment/TicketHandler.php","src/addons/Gram/Support/Entity/AttachmentMeta.php","src/addons/Gram/Support/Entity/Delivery.php","src/addons/Gram/Support/Entity/Message.php","src/addons/Gram/Support/Entity/RateLimit.php","src/addons/Gram/Support/Entity/SupportEvent.php","src/addons/Gram/Support/Entity/Ticket.php","src/addons/Gram/Support/Listener/SourcePageContext.php","src/addons/Gram/Support/Notification/AlertConsumer.php","src/addons/Gram/Support/Notification/DeliveryGate.php","src/addons/Gram/Support/Notification/Dispatcher.php","src/addons/Gram/Support/Notification/EmailConsumer.php","src/addons/Gram/Support/Notification/EntityDeliveryGate.php","src/addons/Gram/Support/Notification/EventDispatcher.php","src/addons/Gram/Support/Notification/Policy.php","src/addons/Gram/Support/Notification/RecipientKey.php","src/addons/Gram/Support/Pub/Controller/AccountSupport.php","src/addons/Gram/Support/Pub/Controller/Pwa.php","src/addons/Gram/Support/Pub/Controller/StaffSupport.php","src/addons/Gram/Support/Pub/Controller/Support.php","src/addons/Gram/Support/Pub/View/PwaServiceWorker.php","src/addons/Gram/Support/Repository/Message.php","src/addons/Gram/Support/Repository/Ticket.php","src/addons/Gram/Support/Security/GuestTicketSession.php","src/addons/Gram/Support/Security/TicketAccess.php","src/addons/Gram/Support/Service/GuestScreenshotService.php","src/addons/Gram/Support/Service/GuestTicketCreateAttachmentFlow.php","src/addons/Gram/Support/Service/RateLimiter.php","src/addons/Gram/Support/Service/SourceContextResolver.php","src/addons/Gram/Support/Service/Ticket/Creator.php","src/addons/Gram/Support/Service/Ticket/Reply.php","src/addons/Gram/Support/Service/Ticket/StaffUpdate.php","src/addons/Gram/Support/Setup.php","src/addons/Gram/Support/Util/GuestToken.php","src/addons/Gram/Support/Util/PublicRef.php","src/addons/Gram/Support/Util/RateKey.php","src/addons/Gram/Support/Util/SafeContext.php","src/addons/Gram/Support/Util/SiteConfig.php","src/addons/Gram/Support/Util/StatusPolicy.php","src/addons/Gram/Support/_data/code_event_listeners.xml","src/addons/Gram/Support/_data/content_type_fields.xml","src/addons/Gram/Support/_data/option_groups.xml","src/addons/Gram/Support/_data/options.xml","src/addons/Gram/Support/_data/permission_interface_groups.xml","src/addons/Gram/Support/_data/permissions.xml","src/addons/Gram/Support/_data/phrases.xml","src/addons/Gram/Support/_data/routes.xml","src/addons/Gram/Support/_data/template_modifications.xml","src/addons/Gram/Support/_data/templates.xml","src/addons/Gram/Support/addon.json","src/addons/Gram/Support/hashes.json"]},"services":{"mariadb":"active","nginx":"active","php8.3-fpm":"active"},"permission_counts":{"2":4,"3":9,"4":9},"http":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"200"},"/support/create/":{"rc":0,"code":"200"}}},"no_delete":true,"target":"codevipe.ru","other_production_mutations":0},"pre_http":{"codevipe.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"dsmods.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"gamevipe.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"hkmods.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"kingofwolk.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"zakrutim.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"newfi.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}}},"post_http":{"codevipe.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"200"}},"dsmods.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"gamevipe.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"hkmods.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"kingofwolk.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"zakrutim.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}},"newfi.ru":{"/":{"rc":0,"code":"200"},"/support/":{"rc":0,"code":"404"}}},"artifact_sha256":"2e31f89d3626a83c1211910aa6fd279cc04689b75ba822899952865085cf551e","target":"codevipe.ru"} +GRAM513R3R6_DECISION=PASS_CODEVIPE_PRESERVE_LEGACY_FINAL_CANARY +GRAM513R3R6_NEXT_GATE=READY_FOR_USER_VISUAL_CONFIRM_AND_REMAINING_6_PRODUCTION_ROLLOUT_513R4 +HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260918-GRAM-XF-CODEVIPE-PRESERVE-LEGACY-FINAL-CANARY-513R3R6","status":"OK","changes_made":true,"rollback_started":false,"rollback_restored":null} OUTPUT_END CHAT_OUTPUT_END