)]}'
{"id":"openstack%2Fkeystone~940286","triplet_id":"openstack%2Fkeystone~unmaintained%2Fyoga~I8c45131b298ceae7b43b42e2c5df167607d18c48","project":"openstack/keystone","branch":"unmaintained/yoga","topic":"appcred-validation-speed2-unmaintained/yoga","attention_set":{},"removed_from_attention_set":{"21107":{"account":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"last_update":"2025-02-28 10:39:07.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I8c45131b298ceae7b43b42e2c5df167607d18c48","subject":"Improve application credential validation speed","status":"MERGED","created":"2025-01-28 08:25:57.000000000","updated":"2025-02-28 10:40:49.000000000","submitted":"2025-02-28 10:39:07.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"940286-appcred-validation-speed2-unmaintained/yoga","cherry_pick_of_change":880456,"cherry_pick_of_patch_set":4,"meta_rev_id":"f924db0ca6344e112ec532d17bdede9c8e21d17b","_number":940286,"virtual_id_number":940286,"owner":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-02-28 10:39:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2025-02-26 22:27:34.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"value":2,"date":"2025-02-28 08:50:33.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"all":[{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"value":1,"date":"2025-02-28 08:50:33.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-01-28 09:01:51.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-01-28 10:03:39.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-02-26 19:44:47.000000000","updated_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"reviewer":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"state":"CC"},{"updated":"2025-02-26 22:27:34.000000000","updated_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"reviewer":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"state":"REVIEWER"},{"updated":"2025-02-28 08:50:33.000000000","updated_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"reviewer":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"state":"REVIEWER"}],"messages":[{"id":"eaebb642f551a2ad96548d14a053ab82f793d755","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"date":"2025-01-28 08:25:57.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"a51bc294680342f16e6ba16949586958080c0e23","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-28 09:01:51.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e1943132beb84347ab79c25d79847ced\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/fefbc397d8c248d2a9afd86780db9afb : SUCCESS in 33m 56s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/69bedc2df273488f93d979487c6092d1 : FAILURE in 9m 20s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"68035ac8e7f58b7ac90ae12600e64cc916ef64d9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-01-28 10:03:39.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/91a339b68b9c42dbb28ed59c592cbcfb\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/53c8650b9dae4cb78960e1cc3620fc6b : SUCCESS in 14m 50s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4c3c563b104e483ca69b49bef4ebd20a : SUCCESS in 3m 12s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/44de354a022d4d01bb1f4b2f172be163 : SUCCESS in 15m 30s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/c7e227d45e58453eba1c148457e7aed6 : FAILURE in 2m 54s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/87ee90cff9a54be49e2aadab3dd9c460 : SUCCESS in 10m 54s\n- grenade https://zuul.opendev.org/t/openstack/build/658a187f515346fa951c52233efccde5 : SUCCESS in 57m 40s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/617c41cce96d499f992410bc537c9f9a : SUCCESS in 1h 30m 01s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/c5a1a35ff3d743189f386c78ec32a624 : FAILURE in 32m 36s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/7cc67c07bbb943fd9634408f56636cf9 : FAILURE in 6m 12s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/94ae649f579c4494958904ff04c1d505 : FAILURE in 32m 52s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/0ab73f9328b64abbb537957b420dc6e3 : FAILURE in 24m 49s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/5b46a115a8d741218d80866579ed1fe6 : FAILURE in 19m 35s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/56d87a5e8fd64defbe80c8a380f30744 : SUCCESS in 20m 15s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9fbe810d3c314d05b4cc516edc6c2128 : SUCCESS in 53m 21s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/b4c391c5d4db4524b48737a0ca5202d4 : FAILURE in 29m 20s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"1cd7e483757d1cd1898f7ab09a88ce32ace1e37e","author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"date":"2025-02-26 19:44:47.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"5e36e4aa68e59e75f6d89100ebf0ce8a800e5b1f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-26 21:18:23.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/32e285bfa5594f308ac9ccb5ef803f92\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/f87a93ee9fec4648bfcd4875fae24183 : SUCCESS in 13m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/608abc488f5c4f90a1bdb3e524a59533 : SUCCESS in 5m 02s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/90eb16a4f69c4c53a31421233c981baf : SUCCESS in 11m 14s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/52bcb98a5ed648d4bcf86b113bcd314f : SUCCESS in 11m 57s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e67b97d5adf940fd937fb97d551c68e1 : SUCCESS in 11m 56s\n- grenade https://zuul.opendev.org/t/openstack/build/f5122d6b823f4557a3b78b30a95b1765 : SUCCESS in 57m 13s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f230b510384345cfad8e946a61a74164 : SUCCESS in 1h 27m 55s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/3b336dbfb5204df8b474fbeb2cf242e6 : SUCCESS in 34m 00s\n- keystone-dsvm-py3-functional-fips https://zuul.opendev.org/t/openstack/build/33ff9bddbb224d919a5feb402ac04052 : FAILURE in 6m 57s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal https://zuul.opendev.org/t/openstack/build/3f91928ec5d148cdb9946f520089bc8d : FAILURE in 33m 34s (non-voting)\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/981669069d1446e69d4178a2538df530 : SUCCESS in 25m 37s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/43a1e4f8f07f4b7f9158158241d1a088 : FAILURE in 18m 45s (non-voting)\n- keystone-dsvm-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/70c28d781c394e8d9f63f8eb9bb47cf7 : SUCCESS in 32m 14s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/9782203f1ff14ac08a5a902f406ee9f5 : SUCCESS in 1h 14m 32s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/2eea01f6200e41db95a50bcabc53cfc0 : SUCCESS in 19m 45s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"4fb9aae284a236cffbb7f12583d8ae40eae7fa5c","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-26 22:09:32.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/84cdbbe02bd54bf5aba817cb3b9574e1\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/794ccc76fbd54147ad051b532a4d5ef0 : TIMED_OUT in 1h 01m 15s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/e38d0e247c854b0e9759c592e00c2437 : TIMED_OUT in 1h 00m 51s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"f98b07fc84aafa936323ad1b6e969d21d90ecfee","author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"date":"2025-02-26 22:27:34.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"c05af06d6d65999c0e2442a1b53c8d3e4d08b551","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2025-02-28 08:50:33.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"7d5f47091c61b1ac85a74f22d18014eff7547528","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 08:51:02.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"d489f820a885769159398ebc83debc2f5694212f","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 10:39:07.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f5b702bd577a4074ab86226afbbc92f5\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0408eccf2ec940b0bab60fa7d6f4ebc8 : SUCCESS in 5m 19s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/7b8e73107baa478c8002d67b82f11e7c : SUCCESS in 14m 27s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/79cb191d55974cf8af9af90efcb72b4e : SUCCESS in 14m 13s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0d9a93c450aa43dd8b797e8ebd1b7851 : SUCCESS in 11m 08s\n- grenade https://zuul.opendev.org/t/openstack/build/d2e48d4be4064dabb4afa57a7ac2616e : SUCCESS in 44m 53s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f3bf9256b501471f981f68ebda6d35bc : SUCCESS in 1h 40m 59s\n- keystone-dsvm-py3-functional https://zuul.opendev.org/t/openstack/build/b68ad2c1f0584efbbdba0227a6cc5c6d : SUCCESS in 24m 40s\n- keystone-dsvm-py3-functional-federation-ubuntu-focal-k2k https://zuul.opendev.org/t/openstack/build/65b3002b37ef4565a66c3110b6e767e7 : SUCCESS in 24m 45s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/b59ab2e1e43f4dde94b66f092de10bab : SUCCESS in 45m 26s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/742a994b8ea54b15bfe69f29ba09142f : SUCCESS in 51m 31s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"d6a2ba47d153d4dcf95d66ad194518f96fc53afa","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 10:39:07.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"f924db0ca6344e112ec532d17bdede9c8e21d17b","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-02-28 10:40:49.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f1d7a425d1f2466e8476fae86d8920e6\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/37f67cd98d1247cb98b76037bb95008c : SUCCESS in 1m 24s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"a0f3e4cc26fbcb6f86eb0fa42995c971c30836a3","revisions":{"a0f3e4cc26fbcb6f86eb0fa42995c971c30836a3":{"kind":"REWORK","_number":1,"created":"2025-01-28 08:25:57.000000000","uploader":{"_account_id":21107,"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","username":"lathiat"},"ref":"refs/changes/86/940286/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/86/940286/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/86/940286/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/86/940286/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/86/940286/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/86/940286/1"}}},"commit":{"parents":[{"commit":"e2a1f17c44bc105ee4a06b8eeb0b9c71cb6ca288","subject":"Remove reference to devstack-gate","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/e2a1f17c44bc105ee4a06b8eeb0b9c71cb6ca288"}]}],"author":{"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","date":"2024-01-02 08:46:24.000000000","tz":0},"committer":{"name":"Trent Lloyd","email":"trent.lloyd@canonical.com","date":"2025-01-28 08:25:57.000000000","tz":0},"subject":"Improve application credential validation speed","message":"Improve application credential validation speed\n\nValidating an application credential token is very slow, taking at least\n400ms+ in a simple devstack environment, 5-10x longer than validating a\nuser/password project token.\n\nThe primary bottleneck during a token validation request\n(/v3/auth/tokens) is that token.roles is evaluated at least 5 times.\nvalidate_token is called twice, first during RBAC to populate the\nsubject token context and again to actually validate the token. Each\ncall to validate_token then called token.roles twice because it first\nchecks if it is None, before calling it again to use the result. Lastly\ntoken.roles is evaluated a fifth time during\nrender_token_response_from_model.\n\nEach evaluation of token.roles calls through\n_get_application_credential_roles into list_role_assignments which then\nmakes multiple round-trip SQL queries to the database.\n\nUnlike the related get_roles_for_user_and_project function, none of\nthese calls are currently cached/memoized. We memoize\nlist_role_assignments to get the same-speedup.\n\nReduce the number of token.roles calls to only 3 by storing and re-using\nthe token.roles result in validate_token, then memoize\nlist_role_assignments so the 2nd and 3rd call fetch from the cache\ninstead of repeating many SQL queries.\n\nThis provides a substantial performance improvement bringing validation\ntime in-line with user/password tokens.\n\nChange-Id: I8c45131b298ceae7b43b42e2c5df167607d18c48\n(cherry picked from commit 67b5cca032c36ef67a8aee9db6adada9b403dc5c)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/a0f3e4cc26fbcb6f86eb0fa42995c971c30836a3"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/a0f3e4cc26fbcb6f86eb0fa42995c971c30836a3"}]},"branch":"refs/heads/unmaintained/yoga"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
