)]}'
{"id":"openstack%2Fplacement~963006","triplet_id":"openstack%2Fplacement~master~I4107a29afbf49dfd7d2f5176ece5bb2f7670003e","project":"openstack/placement","branch":"master","topic":"bug/2126751","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2025-10-07 13:25:18.000000000","reason":"Change was abandoned"},"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2025-10-07 09:57:38.000000000","reason":"\u003cGERRIT_ACCOUNT_9708\u003e replied on the change","reason_account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}}},"hashtags":[],"change_id":"I4107a29afbf49dfd7d2f5176ece5bb2f7670003e","subject":"[WIP] Fix copy_arr_if_needed() and add observability","status":"ABANDONED","created":"2025-10-03 18:49:01.000000000","updated":"2025-10-07 13:25:18.000000000","total_comment_count":41,"unresolved_comment_count":2,"has_review_started":true,"meta_rev_id":"bda47331bb4f136821721585e5b2520ea13c297d","_number":963006,"virtual_id_number":963006,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"tag":"autogenerated:zuul:check","value":1,"date":"2025-10-03 20:36:33.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"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":{"rejected":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":-1,"date":"2025-10-03 19:01:20.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-10-03 19:01:20.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"state":"REVIEWER"},{"updated":"2025-10-03 20:36:33.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"}],"messages":[{"id":"2865cb99ebe29dde166412042acb1361819a084f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-03 18:49:01.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"8439938ea390a9cb28b5b5538b80f79a8e422243","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-03 18:53:27.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"8517d98118b9cff4a57f0d8c5beb0f3beba8955f","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-03 19:01:20.000000000","message":"Patch Set 2: Workflow-1\n\n(5 comments)","accounts_in_message":[],"_revision_number":2},{"id":"82f6723ce51393344ddaf886821eb384e4a62a83","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-10-03 20:36:33.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/66fce4f4482d43b686e75fe3579377c2\n\n- grenade https://zuul.opendev.org/t/openstack/build/5fd7f94a0eca41aaac32af4c462bb20f : SUCCESS in 44m 22s\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/cac39364e4ea4b01b9335ba882fca66a : SUCCESS in 1h 02m 25s\n- tempest-integrated-placement https://zuul.opendev.org/t/openstack/build/aef72f7570724e88929f9518844ef89f : SUCCESS in 1h 38m 26s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a25bd75953304f1884cb9faa84aac6ed : SUCCESS in 57m 11s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/159eb32c146b44798d3b82575c14f3c7 : SUCCESS in 10m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/e29529ea093a4051bdcda70f0bdfcc64 : SUCCESS in 4m 53s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c99749655ac04cebb1fc9190a5764d15 : SUCCESS in 6m 17s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/d506667ba31f4f64bcf0b0bb4d5e8961 : SUCCESS in 5m 43s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/48e95f02ef41496b936847048a9c78c1 : SUCCESS in 7m 24s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/99f977a7a2814564b57d3c3a5fb217cd : SUCCESS in 5m 34s\n- openstack-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/80cf2d056a7d461e9d7b9788a0f0ef91 : SUCCESS in 11m 48s\n- openstack-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/a38d13589e3e4aeba68bb0556dd43f6c : SUCCESS in 8m 15s\n- placement-nova-tox-functional-py312 https://zuul.opendev.org/t/openstack/build/9946b02132784ce493dd9a280aa7824b : SUCCESS in 24m 35s\n- placement-nested-perfload https://zuul.opendev.org/t/openstack/build/a4d8bd6dea8c43d086d8c3e145a3afca : SUCCESS in 27m 54s (non-voting)\n- placement-perfload https://zuul.opendev.org/t/openstack/build/2357cde68c02483fa2dc680a16583ee3 : FAILURE in 3m 04s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/401539c182ff4c66985c18efdc188a48 : SUCCESS in 47m 37s","accounts_in_message":[],"_revision_number":2},{"id":"c977896c70d61664cc24c58b59b4cd0eacf61866","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-10-04 10:14:34.000000000","message":"Patch Set 2:\n\n(14 comments)","accounts_in_message":[],"_revision_number":2},{"id":"5ec20c6309849356e5aa6981b00fea4bfa1885cf","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-06 10:28:11.000000000","message":"Patch Set 2:\n\n(8 comments)","accounts_in_message":[],"_revision_number":2},{"id":"bc9fd046dea7d5ded14d191116e433db23b0bcae","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2025-10-07 09:57:38.000000000","message":"Patch Set 2:\n\n(14 comments)","accounts_in_message":[],"_revision_number":2},{"id":"bda47331bb4f136821721585e5b2520ea13c297d","tag":"autogenerated:gerrit:abandon","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-10-07 13:25:18.000000000","message":"Abandoned\n\nthe useful part of this patch have been incoperated by gibi into the parent so this si not needed anymore so abandoing this for clarity","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"6d1206bee804a9109c59b545bd0935419f6e5d1c","revisions":{"85f3a7803b774e473bad8d01c870cdb024b41dcd":{"kind":"REWORK","_number":1,"created":"2025-10-03 18:49:01.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/06/963006/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/06/963006/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/06/963006/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/06/963006/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/06/963006/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/06/963006/1"}}},"commit":{"parents":[{"commit":"601b6075257c2d98ee24d5068012e54ce1bc0281","subject":"Prune a_c search space by invalid prefixes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/601b6075257c2d98ee24d5068012e54ce1bc0281"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-10-03 18:14:37.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-10-03 18:30:22.000000000","tz":60},"subject":"[WIP] Fix copy_arr_if_needed() and add observability","message":"[WIP] Fix copy_arr_if_needed() and add observability\n\nAddresses critical issues from code audit of bug #2126751:\n1. Gate copy_arr_if_needed() behind config flag (CRITICAL)\n2. Add operator observability logging\n3. Improve configuration documentation\n4. Add performance tests for 32-64 group scenarios\n\nCritical Fix: Gate copy_arr_if_needed()\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe original patch modified copy_arr_if_needed() to always copy\nAllocationRequestResource objects when resource_class is in\nmulti_group_rcs. This removed the fast-path for group_policy\u003d\u0027isolate\u0027\nand affected ALL requests, even when optimization was disabled.\n\nImpact: Performance regression for non-target workloads, not safe\nfor backporting.\n\nFix: Gate copy behavior behind optimize_for_wide_provider_trees config.\nWhen disabled, restore the original fast-path. The copy is only needed\nwhen prefix-pruning is enabled, as incremental testing creates partial\ncandidates sharing AllocationRequestResource objects.\n\nChanges in placement/objects/research_context.py:\n- Check config flag before forcing copy\n- Restore fast-path: if group_policy !\u003d \u0027none\u0027: return arr\n\nAdd Observability\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAdded INFO logging with aggregated metrics:\n\n  Generated allocation candidates for 8 groups across 2 anchors:\n  returned 1000 candidates (optimization enabled)\n\nHelps operators verify optimization status and troubleshoot performance.\n\nChanges in placement/objects/allocation_candidate.py:\n- LOG.info() with groups, anchors, candidates, optimization status\n\nImprove Config Documentation\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nRewrote help text with structured guidance:\n- WHEN TO ENABLE: 8+ child RPs, 8+ groups, \u003e5s query time\n- PERFORMANCE: 6-600x speedup (8-21 groups), may be 2-3x slower \u003c4 groups\n- EXAMPLES: SRIOV 8 VFs, vGPU 16 slices, NUMA placement\n- WHEN NOT: Flat trees, \u003c4 groups, shared providers\n\nChanges in placement/conf/workarounds.py:\n- Structured sections with performance numbers and examples\n\nAdd Performance Tests\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAdded 3 tests documenting scaling (all use breadth-first strategy):\n\n1. test_many_non_viable_candidates_32_32_two_computes\n   32 RPs × 32 groups, limit\u003d1000, ~32s\n   Validates larger scenarios work\n\n2. test_many_non_viable_candidates_48_48_two_computes\n   48 RPs × 48 groups, limit\u003d100, ~14s (limited for CI)\n   Documents approach to scaling limits\n\n3. test_many_non_viable_candidates_64_64_two_computes\n   64 RPs × 64 groups, limit\u003d10, ~6s\n   Shows low limit helps with very large scenarios\n\nBackportability: SAFE (no API/DB changes, config-gated)\nRisk: LOW (critical regression fixed, comprehensive tests)\n\nGenerated-By: Claude Code\nAI-Contribution: Code analysis, fix implementation, commit message\nRelated-Bug: #2126751\nChange-Id: I4107a29afbf49dfd7d2f5176ece5bb2f7670003e\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/85f3a7803b774e473bad8d01c870cdb024b41dcd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/85f3a7803b774e473bad8d01c870cdb024b41dcd"}]},"branch":"refs/heads/master"},"6d1206bee804a9109c59b545bd0935419f6e5d1c":{"kind":"REWORK","_number":2,"created":"2025-10-03 18:53:27.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/06/963006/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/06/963006/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/06/963006/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/06/963006/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/06/963006/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/06/963006/2"}}},"commit":{"parents":[{"commit":"601b6075257c2d98ee24d5068012e54ce1bc0281","subject":"Prune a_c search space by invalid prefixes","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/601b6075257c2d98ee24d5068012e54ce1bc0281"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-10-03 18:14:37.000000000","tz":60},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-10-03 18:53:13.000000000","tz":60},"subject":"[WIP] Fix copy_arr_if_needed() and add observability","message":"[WIP] Fix copy_arr_if_needed() and add observability\n\nAddresses critical issues from code audit of bug #2126751:\n1. Gate copy_arr_if_needed() behind config flag (CRITICAL)\n2. Add operator observability logging\n3. Improve configuration documentation\n4. Add performance tests for 32-64 group scenarios\n\nCritical Fix: Gate copy_arr_if_needed()\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe original patch modified copy_arr_if_needed() to always copy\nAllocationRequestResource objects when resource_class is in\nmulti_group_rcs. This removed the fast-path for group_policy\u003d\u0027isolate\u0027\nand affected ALL requests, even when optimization was disabled.\n\nImpact: Performance regression for non-target workloads, not safe\nfor backporting.\n\nFix: Gate copy behavior behind optimize_for_wide_provider_trees config.\nWhen disabled, restore the original fast-path. The copy is only needed\nwhen prefix-pruning is enabled, as incremental testing creates partial\ncandidates sharing AllocationRequestResource objects.\n\nChanges in placement/objects/research_context.py:\n- Check config flag before forcing copy\n- Restore fast-path: if group_policy !\u003d \u0027none\u0027: return arr\n\nAdd Observability\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAdded INFO logging with aggregated metrics:\n\n  Generated allocation candidates for 8 groups across 2 anchors:\n  returned 1000 candidates (optimization enabled)\n\nHelps operators verify optimization status and troubleshoot performance.\n\nChanges in placement/objects/allocation_candidate.py:\n- LOG.info() with groups, anchors, candidates, optimization status\n\nImprove Config Documentation\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nRewrote help text with structured guidance:\n- WHEN TO ENABLE: 8+ child RPs, 8+ groups, \u003e5s query time\n- PERFORMANCE: 6-600x speedup (8-21 groups), may be 2-3x slower \u003c4 groups\n- EXAMPLES: SRIOV 8 VFs, vGPU 16 slices, NUMA placement\n- WHEN NOT: Flat trees, \u003c4 groups, shared providers\n\nChanges in placement/conf/workarounds.py:\n- Structured sections with performance numbers and examples\n\nAdd Performance Tests\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nAdded 3 tests documenting scaling (all use breadth-first strategy):\n\n1. test_many_non_viable_candidates_32_32_two_computes\n   32 RPs × 32 groups, limit\u003d1000, ~32s\n   Validates larger scenarios work\n\n2. test_many_non_viable_candidates_48_48_two_computes\n   48 RPs × 48 groups, limit\u003d100, ~14s (limited for CI)\n   Documents approach to scaling limits\n\n3. test_many_non_viable_candidates_64_64_two_computes\n   64 RPs × 64 groups, limit\u003d10, ~6s\n   Shows low limit helps with very large scenarios\n\nBackportability: SAFE (no API/DB changes, config-gated)\nRisk: LOW (critical regression fixed, comprehensive tests)\n\nGenerated-By: Claude Code\nAI-Contribution: Code analysis, fix implementation, commit message\nRelated-Bug: #2126751\nChange-Id: I4107a29afbf49dfd7d2f5176ece5bb2f7670003e\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/6d1206bee804a9109c59b545bd0935419f6e5d1c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/6d1206bee804a9109c59b545bd0935419f6e5d1c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Review-Priority","description":"Review Priority","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":["label:Workflow\u003dMIN"],"failing_atoms":["label:Workflow\u003dMAX"],"atom_explanations":{}}}]}
