)]}'
{"id":"openstack%2Fhacking~979489","triplet_id":"openstack%2Fhacking~master~Ibb166036694f84a066c39b5589d458b39574e225","project":"openstack/hacking","branch":"master","topic":"typing","attention_set":{},"removed_from_attention_set":{"13252":{"account":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"last_update":"2026-04-12 10:23:48.000000000","reason":"\u003cGERRIT_ACCOUNT_13252\u003e replied on the change","reason_account":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"}},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-03-12 18:08:33.000000000","reason":"\u003cGERRIT_ACCOUNT_11604\u003e replied on the change","reason_account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},"15334":{"account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"last_update":"2026-05-08 16:13:40.000000000","reason":"\u003cGERRIT_ACCOUNT_15334\u003e replied on the change","reason_account":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},"8556":{"account":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"last_update":"2026-05-08 16:26:39.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Ibb166036694f84a066c39b5589d458b39574e225","subject":"Add minimal typing","status":"MERGED","created":"2026-03-09 11:27:17.000000000","updated":"2026-05-08 16:28:35.000000000","submitted":"2026-05-08 16:26:39.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":19,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"979489-typing","meta_rev_id":"1d3a3ff7b6afcf7af6c98ef8ce4967f650acbeed","_number":979489,"virtual_id_number":979489,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-05-08 16:26:39.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":2,"date":"2026-03-12 18:08:33.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":2,"date":"2026-04-12 10:23:48.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"value":1,"date":"2026-05-08 16:13:40.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"}],"reviewers":{"REVIEWER":[{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-03-09 12:02:23.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":"2026-03-10 14:58:39.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"state":"REVIEWER"},{"updated":"2026-03-10 14:58:39.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"},{"updated":"2026-03-11 18:41:05.000000000","updated_by":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"reviewer":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"state":"CC"},{"updated":"2026-04-12 10:23:48.000000000","updated_by":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"reviewer":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"state":"REVIEWER"}],"messages":[{"id":"de79a7a30db04eb46b27adc5ceaba302da572b6d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-09 11:27:17.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"25ed1b0586ba67835a252fa26e31989af76ccf38","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 12:02:23.000000000","message":"Patch Set 1: Verified-1\n\n(5 comments)\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/444d3ac994014c1a9070105acb6be32e\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/63fac00b989d437b86c05c7aa5b8e69d : SUCCESS in 3m 26s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ffc69dae6ab64639b733a0680f16108c : SUCCESS in 6m 28s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/9bb4ee0a26be48eea27ec20b2c9c11cd : SUCCESS in 5m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/24f7c69ac26b484b9671a8e8b795f679 : FAILURE in 2m 27s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/e51aa27f9a274a4cb293e48e289a9291 : SUCCESS in 3m 05s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/3e515c24c25748b9b377f3d6afbf32bb : SUCCESS in 3m 26s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/8c65d1fd3ae44a488095a18701ddadd1 : SUCCESS in 3m 15s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/5a005f107689403499825229dc74fb76 : SUCCESS in 5m 35s (non-voting)\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1f53d5c294cb4953a26a59c0090e5ef2 : SUCCESS in 2m 27s\n- hacking-integration-nova https://zuul.opendev.org/t/openstack/build/9012808969b7440c907a02a76f28c59f : FAILURE in 4m 59s (non-voting)\n\nWarning:\n  Comments left for invalid file hacking/tests/checks/test_except_checks.py","accounts_in_message":[],"_revision_number":1},{"id":"fa91af40c5f1d71d02d091da2c1c3e91af761a9a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-09 13:03:28.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":2},{"id":"8d36a14c5943ab22067c7de7d1662fb2c7e113c8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-09 13:27:12.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/41e98168823943c9832e403fd0a58ae3\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/8160dc87313c4b278ec45af4ae021303 : SUCCESS in 2m 27s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cc8bf9fd26584514805a6576b7ac1c45 : SUCCESS in 6m 50s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5dd7354ea3a643c38d3516e3c87cc275 : SUCCESS in 3m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/485f32c8d7ef48fa887d5c92623f9dc7 : SUCCESS in 3m 21s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/002d72860d37403cbf67e52ddbfee3eb : SUCCESS in 3m 20s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/3a5e990d9e764331bddfd6e704d4fdcc : SUCCESS in 3m 31s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6bb01096793c4822a689b6650c9f797b : SUCCESS in 2m 54s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/117c560352e043b7a738c8f49dc1f8b0 : SUCCESS in 5m 29s (non-voting)\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/e9a0bbc49f1d43b181f401e954416dfe : SUCCESS in 2m 40s\n- hacking-integration-nova https://zuul.opendev.org/t/openstack/build/27c1df47e52046988e0644cb40f3662d : FAILURE in 5m 54s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"9ae48fc63741dc4634d11adacd6c696f732b9896","author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"date":"2026-03-11 18:41:05.000000000","message":"Patch Set 2:\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"ff8ed013d17eb3034afd9a08e30296071ff9043c","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-11 19:22:48.000000000","message":"Patch Set 2: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":2},{"id":"777faef3833e00dca39297ded136e38640b1641e","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-11 19:30:07.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"046f21f28fc431d1b7c9c72fa2b4441d26e32d4e","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-11 21:30:34.000000000","message":"Patch Set 2:\n\n(4 comments)","accounts_in_message":[],"_revision_number":2},{"id":"9e69d2d64e15e82eb8321a8896e15b9b2c569cc3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-11 21:33:25.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"239d9381596d311038839186a03d2a9323620db1","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-11 21:33:28.000000000","message":"Patch Set 2:\n\n(3 comments)","accounts_in_message":[],"_revision_number":2},{"id":"1ed443e8ddc639d22d62f005af55d0bdee1f48cd","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-03-11 21:46:19.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/c69a83bdffed4ebe81f9f6a855135f49\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/ece2905b95434e50ab754441497d5e19 : SUCCESS in 3m 12s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/edc337655c2f4fb09df59a364dee1c59 : SUCCESS in 7m 17s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b0e80a08ed9c41438667f7fd4a8ed941 : SUCCESS in 2m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d6da22363def4fbeb6d6391326d96130 : SUCCESS in 2m 21s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/8866c0f514d24b3aac1270434ea9e201 : SUCCESS in 2m 31s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/a7315f170fc24465a32264076470b1f4 : SUCCESS in 3m 19s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/9b56bf17879b4f2d91694c8b51dd74e5 : SUCCESS in 2m 31s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/eb4756cd79ef4acfa0163de1a7d03955 : SUCCESS in 5m 24s (non-voting)\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f4132c6b0e25433fa1dacfd5098a9843 : SUCCESS in 2m 29s\n- hacking-integration-nova https://zuul.opendev.org/t/openstack/build/cf034fe66584458a941fc20c4de90792 : FAILURE in 4m 41s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"3ff291a6758208220f8a82c7d100f87aa3588ea7","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-03-12 18:08:33.000000000","message":"Patch Set 3: Code-Review+2\n\n(4 comments)","accounts_in_message":[],"_revision_number":3},{"id":"3b49ec61654c147bfa232ad196aeed69b8252836","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-03-12 19:44:25.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"85836c4fe45834d21922c2b3eb6c3baebfa568b6","author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"date":"2026-04-12 10:23:48.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"5d5e0bb4fe2bb541804133aeab7de8b25735ae6d","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2026-05-08 16:13:40.000000000","message":"Patch Set 3: Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"a8cd84d6b4f7fcdf441d025f8c74458c26639ff9","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-08 16:14:26.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"1b699bd87ba29b3c7274395338a470a974903cbf","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-08 16:26:39.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/94b10d85adc54a82930c9ac3309bc02f\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/f2c727a7b5bb40d7b7ca06e30dafb487 : SUCCESS in 2m 15s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/25006c69b63840ce882f7311ba3a2514 : SUCCESS in 7m 39s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a7fd2769a72e41d78b1968169a961f89 : SUCCESS in 4m 16s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/44a144a22d2b4a69935fa8123dfdeda6 : SUCCESS in 3m 45s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/ebf6c09e677e4be4a8c441c2cdcf6d43 : SUCCESS in 2m 15s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6797a53815814f07b7d269fa6e79dbf3 : SUCCESS in 3m 14s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/18e8c2169fe9481ab5e8970563d9f8d4 : SUCCESS in 2m 35s","accounts_in_message":[],"_revision_number":3},{"id":"b35867557e0123f2828187ce5b90f794608c8e47","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-08 16:26:39.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"1d3a3ff7b6afcf7af6c98ef8ce4967f650acbeed","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-05-08 16:28:35.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/81b6276aad004c079d92c8ae7dd041ad\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5e6dcdf2ec3f42938d374b90a01c784b : SUCCESS in 54s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9f9e2a53fe69494b9f71612121095979 : SUCCESS in 40s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"fa22c39de3e73c8c771edbc8eb2848d779fd8f8c","revisions":{"dd67a84decff881b2f35a23d0bb361433fa69a9a":{"kind":"REWORK","_number":1,"created":"2026-03-09 11:27:17.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/89/979489/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/hacking","ref":"refs/changes/89/979489/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/hacking refs/changes/89/979489/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/hacking refs/changes/89/979489/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/hacking refs/changes/89/979489/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/hacking refs/changes/89/979489/1"}}},"commit":{"parents":[{"commit":"d27907accd97d6ae5f2b41e5bd5fd7beda2c9ca8","subject":"Migrate setup configuration to pyproject.toml","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/d27907accd97d6ae5f2b41e5bd5fd7beda2c9ca8"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-03-08 19:07:52.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-03-08 19:14:35.000000000","tz":0},"subject":"Add minimal typing","message":"Add minimal typing\n\nWe do not bother typing all the checks: just the core utilities. This is\nenough for us to be able to type check other projects\u0027 hacking\nextensions.\n\nChange-Id: Ibb166036694f84a066c39b5589d458b39574e225\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/dd67a84decff881b2f35a23d0bb361433fa69a9a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/dd67a84decff881b2f35a23d0bb361433fa69a9a"}]},"branch":"refs/heads/master"},"957f7d6060ba02a3a2c39571b0143db17897db63":{"kind":"REWORK","_number":2,"created":"2026-03-09 13:03:28.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/89/979489/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/hacking","ref":"refs/changes/89/979489/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/hacking refs/changes/89/979489/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/hacking refs/changes/89/979489/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/hacking refs/changes/89/979489/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/hacking refs/changes/89/979489/2"}}},"commit":{"parents":[{"commit":"4de6e790fb7e4ab374412b041ff440e91e4469c4","subject":"Allow typing-related object imports","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/4de6e790fb7e4ab374412b041ff440e91e4469c4"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-03-08 19:07:52.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-03-09 13:03:10.000000000","tz":0},"subject":"Add minimal typing","message":"Add minimal typing\n\nWe do not bother typing all the checks: just the core utilities. This is\nenough for us to be able to type check other projects\u0027 hacking\nextensions.\n\nChange-Id: Ibb166036694f84a066c39b5589d458b39574e225\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/957f7d6060ba02a3a2c39571b0143db17897db63"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/957f7d6060ba02a3a2c39571b0143db17897db63"}]},"branch":"refs/heads/master"},"fa22c39de3e73c8c771edbc8eb2848d779fd8f8c":{"kind":"REWORK","_number":3,"created":"2026-03-11 21:33:25.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/89/979489/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/hacking","ref":"refs/changes/89/979489/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/hacking refs/changes/89/979489/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/hacking refs/changes/89/979489/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/hacking refs/changes/89/979489/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/hacking refs/changes/89/979489/3"}}},"commit":{"parents":[{"commit":"4de6e790fb7e4ab374412b041ff440e91e4469c4","subject":"Allow typing-related object imports","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/4de6e790fb7e4ab374412b041ff440e91e4469c4"}]}],"author":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-03-08 19:07:52.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"stephenfin@redhat.com","date":"2026-03-11 21:32:55.000000000","tz":0},"subject":"Add minimal typing","message":"Add minimal typing\n\nWe do not bother typing all the checks: just the core utilities. This is\nenough for us to be able to type check other projects\u0027 hacking\nextensions.\n\nNote that we make the `default_section` argument to\n`hacking.config.Config` mandatory, since `RawConfigParser.has_section`\nneeds a non-null argument. We also need to replace some dot assignments\nwith setattr/getattr since this is the only way to do dynamic attribute\nassignment on type checked code.\n\nChange-Id: Ibb166036694f84a066c39b5589d458b39574e225\nSigned-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/fa22c39de3e73c8c771edbc8eb2848d779fd8f8c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/hacking/commit/fa22c39de3e73c8c771edbc8eb2848d779fd8f8c"}]},"branch":"refs/heads/master"}},"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}}]}],"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
