)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"b3f7abec2e733e1a5ed7ae3033fd8a5dcb6b5121","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[pre-commit] fix typos and configure codespell"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This chanage enabled codespell in precommit and"},{"line_number":10,"context_line":"fixes the existing typos."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"A followup commit will enable this in tox and ci."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"67397e1d_8aa4eaa2","line":9,"range":{"start_line":9,"start_character":5,"end_line":9,"end_character":12},"updated":"2024-10-24 07:24:13.000000000","message":"nit: change","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"15a6be5a678ff5d67a0a9a0db6be97965cc1e0a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6046d847_8f167b6d","updated":"2024-10-24 14:19:37.000000000","message":"Thanks Sean, lgtm.","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"b3f7abec2e733e1a5ed7ae3033fd8a5dcb6b5121","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"62d22f61_7ff3c822","updated":"2024-10-24 07:24:13.000000000","message":"lgtm","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6641003a03e10a91685120a30d1066516167d103","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1870270b_d8b45963","updated":"2024-10-24 02:45:22.000000000","message":"recheck https://review.opendev.org/c/openstack/watcher/+/933046 is now merged","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a53963fe2b6ef698d7c3257983796be5e779a361","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"550b287a_f2285635","updated":"2024-11-19 15:32:02.000000000","message":"I don\u0027t agree with everything in here and I\u0027m not a huge fan of applying codespell universally, but 99% of these changes are correct and the two I complained about are opinion of course.","commit_id":"5f79ab87c702c1b5f4899dfe273728a83497879c"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"bb02482bdc69e8d10b138de64c741fa96f5dae11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"baca406e_91a68152","updated":"2024-11-08 11:09:38.000000000","message":"still lgtm,tks","commit_id":"5f79ab87c702c1b5f4899dfe273728a83497879c"}],"doc/dictionary.txt":[{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5422e9c6a8dd21700c910b583173ca170ea2a8e1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"thirdparty"},{"line_number":2,"context_line":"assertin"},{"line_number":3,"context_line":"notin"},{"line_number":4,"context_line":"ist"}],"source_content_type":"text/plain","patch_set":2,"id":"1ebba427_87b4f5a0","line":1,"updated":"2024-10-30 08:17:24.000000000","message":"so, based on the dictionary format i just read about, should this one be like:\n\n`thirdparty-\u003ethird-party, third party`","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8a980874d702fcc921f2c74ea41854d14657fc60","unresolved":true,"context_lines":[{"line_number":1,"context_line":"thirdparty"},{"line_number":2,"context_line":"assertin"},{"line_number":3,"context_line":"notin"},{"line_number":4,"context_line":"ist"}],"source_content_type":"text/plain","patch_set":2,"id":"5cb699b2_ece8cf1e","line":1,"in_reply_to":"1ebba427_87b4f5a0","updated":"2024-11-05 01:02:46.000000000","message":"if i wanted to add my own auto suggestion yes.\n\nwhen you add a single entry per linke without -\u003e and suggestions then it confiugrs it to ignore the word.\n\nif we wanted to standardise on third-party\n\nwe coudl add \n\nthirdparty-\u003ethird-party\n\nfor example.","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"786ee3ff1f9eb292492139d5e7596cccbecec028","unresolved":false,"context_lines":[{"line_number":1,"context_line":"thirdparty"},{"line_number":2,"context_line":"assertin"},{"line_number":3,"context_line":"notin"},{"line_number":4,"context_line":"ist"}],"source_content_type":"text/plain","patch_set":2,"id":"eb182ba5_dac677da","line":1,"in_reply_to":"5cb699b2_ece8cf1e","updated":"2024-11-11 07:46:33.000000000","message":"Acknowledged","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5422e9c6a8dd21700c910b583173ca170ea2a8e1","unresolved":true,"context_lines":[{"line_number":2,"context_line":"assertin"},{"line_number":3,"context_line":"notin"},{"line_number":4,"context_line":"ist"},{"line_number":5,"context_line":"ser"}],"source_content_type":"text/plain","patch_set":2,"id":"af700ea4_1a7003c9","line":5,"updated":"2024-10-30 08:17:24.000000000","message":"where is \u0027ist\u0027 or \u0027ser\u0027 used in a valid context ;) is it from code?\n\n[edit]: k more likely i need to better understand what this dictionary format is and what codespell does ... reading there https://github.com/codespell-project/codespell?tab\u003dreadme-ov-file#dictionary-format","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"786ee3ff1f9eb292492139d5e7596cccbecec028","unresolved":false,"context_lines":[{"line_number":2,"context_line":"assertin"},{"line_number":3,"context_line":"notin"},{"line_number":4,"context_line":"ist"},{"line_number":5,"context_line":"ser"}],"source_content_type":"text/plain","patch_set":2,"id":"0e382d1a_892b921a","line":5,"in_reply_to":"0d9c3295_4102796c","updated":"2024-11-11 07:46:33.000000000","message":"ack ok i see ( I found the \u0027ist\u0027 in the locale/de files).\n\nno need to respin unless you really want to, we could followup to remove the redundant \u0027ist\u0027 and specifying our own autocorrect for \u0027thirdparty\u0027 if necessary and that will be easier than updating this patch. but up to you obviously","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"8ef8412cb29a63f47c46dc707b1881a4f086c813","unresolved":false,"context_lines":[{"line_number":2,"context_line":"assertin"},{"line_number":3,"context_line":"notin"},{"line_number":4,"context_line":"ist"},{"line_number":5,"context_line":"ser"}],"source_content_type":"text/plain","patch_set":2,"id":"a7fccf2e_cc4069d0","line":5,"in_reply_to":"0e382d1a_892b921a","updated":"2024-11-11 07:47:58.000000000","message":"actually you removed ist in v3 thanks","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8a980874d702fcc921f2c74ea41854d14657fc60","unresolved":true,"context_lines":[{"line_number":2,"context_line":"assertin"},{"line_number":3,"context_line":"notin"},{"line_number":4,"context_line":"ist"},{"line_number":5,"context_line":"ser"}],"source_content_type":"text/plain","patch_set":2,"id":"0d9c3295_4102796c","line":5,"in_reply_to":"af700ea4_1a7003c9","updated":"2024-11-05 01:02:46.000000000","message":"i belive its only used in test code\n\nhttps://github.com/openstack/watcher/blob/b5e45b43b92f4239ade849328e0ec47eef1d8b22/watcher/tests/objects/test_objects.py#L462\n\nser is used as a veriabel name because of the 79 character column limit.\nI could rewrite it but i belive it is used in an number of projects\nas the shorthand for serializer\n\nist is german and is in one fo the po translation files but i have since exluded those so i can remove that.","commit_id":"ca60bedf00e22c6156c8460b4408501bc6eeb69c"}],"watcher/common/keystone_helper.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"352394a73fc7aa0aeae5ae96d02940c46d8ffe06","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            if len(projects) \u003e 1:"},{"line_number":74,"context_line":"                raise exception.Invalid("},{"line_number":75,"context_line":"                    message\u003d(_(\"Project name seems ambiguous: %s\") %"},{"line_number":76,"context_line":"                             name_or_id))"},{"line_number":77,"context_line":"            return projects[0]"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def get_domain(self, name_or_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3c20cbf8_b75a3dd5","line":76,"updated":"2024-10-22 18:44:21.000000000","message":"this was a pre-existing bug.","commit_id":"ef6d4ea4b723807263a4c07c17c8f9d4456f0f80"}],"watcher/decision_engine/strategy/selection/default.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a53963fe2b6ef698d7c3257983796be5e779a361","unresolved":true,"context_lines":[{"line_number":52,"context_line":"            else:"},{"line_number":53,"context_line":"                available_strategies \u003d self.strategy_loader.list_available()"},{"line_number":54,"context_line":"                available_strategies_for_goal \u003d list("},{"line_number":55,"context_line":"                    key for key, strategy in available_strategies.items()"},{"line_number":56,"context_line":"                    if strategy.get_goal_name() \u003d\u003d self.goal_name)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"                if not available_strategies_for_goal:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3c11535b_e86fed15","line":55,"updated":"2024-11-19 15:32:02.000000000","message":"FWIW, I\u0027m not in favor of requiring full names instead of abbreviations in code. Fixing misspelled variable names is totally fine, but so is \"strat\" as a shortening, IMHO.","commit_id":"5f79ab87c702c1b5f4899dfe273728a83497879c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"379424976c29490882a112f5d6e0f19a77616d92","unresolved":true,"context_lines":[{"line_number":52,"context_line":"            else:"},{"line_number":53,"context_line":"                available_strategies \u003d self.strategy_loader.list_available()"},{"line_number":54,"context_line":"                available_strategies_for_goal \u003d list("},{"line_number":55,"context_line":"                    key for key, strategy in available_strategies.items()"},{"line_number":56,"context_line":"                    if strategy.get_goal_name() \u003d\u003d self.goal_name)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"                if not available_strategies_for_goal:"}],"source_content_type":"text/x-python","patch_set":3,"id":"308628ea_4b38c691","line":55,"in_reply_to":"3c11535b_e86fed15","updated":"2024-11-19 15:53:59.000000000","message":"ya I think i originally added this to the ignore list in the dictionary \n\ni generally agree that abbreviation are ok.\ni dont recall why i changed my mind but ill keep that im mind for the future.","commit_id":"5f79ab87c702c1b5f4899dfe273728a83497879c"}],"watcher/tests/api/v1/test_actions.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"352394a73fc7aa0aeae5ae96d02940c46d8ffe06","unresolved":true,"context_lines":[{"line_number":536,"context_line":"        self.policy.set_rules({"},{"line_number":537,"context_line":"            \"admin_api\": \"(role:admin or role:administrator)\","},{"line_number":538,"context_line":"            \"default\": \"rule:admin_api\","},{"line_number":539,"context_line":"            rule: \"rule:default\"})"},{"line_number":540,"context_line":"        response \u003d func(*arg, **kwarg)"},{"line_number":541,"context_line":"        self.assertEqual(HTTPStatus.FORBIDDEN, response.status_int)"},{"line_number":542,"context_line":"        self.assertEqual(\u0027application/json\u0027, response.content_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"2a8548de_fc986e89","line":539,"updated":"2024-10-22 18:44:21.000000000","message":"this strongly implies that this test is not testing what we think it is.\n\nI have not looked at the overall correctness but the test passes before and after.","commit_id":"ef6d4ea4b723807263a4c07c17c8f9d4456f0f80"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"5422e9c6a8dd21700c910b583173ca170ea2a8e1","unresolved":true,"context_lines":[{"line_number":536,"context_line":"        self.policy.set_rules({"},{"line_number":537,"context_line":"            \"admin_api\": \"(role:admin or role:administrator)\","},{"line_number":538,"context_line":"            \"default\": \"rule:admin_api\","},{"line_number":539,"context_line":"            rule: \"rule:default\"})"},{"line_number":540,"context_line":"        response \u003d func(*arg, **kwarg)"},{"line_number":541,"context_line":"        self.assertEqual(HTTPStatus.FORBIDDEN, response.status_int)"},{"line_number":542,"context_line":"        self.assertEqual(\u0027application/json\u0027, response.content_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"6af2babc_215c89dd","line":539,"in_reply_to":"2a8548de_fc986e89","updated":"2024-10-30 08:17:24.000000000","message":"+1\nand according to grep there are six of them (looks like you got them all here)\n\ndid a little digging ... seems like this should be catching the issue but is just adding the rule without error https://github.com/openstack/watcher/blob/b5e45b43b92f4239ade849328e0ec47eef1d8b22/watcher/tests/policy_fixture.py#L41\n\ndo you want to leave a #TODO here as a reminder for someone to followup","commit_id":"ef6d4ea4b723807263a4c07c17c8f9d4456f0f80"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8a980874d702fcc921f2c74ea41854d14657fc60","unresolved":true,"context_lines":[{"line_number":536,"context_line":"        self.policy.set_rules({"},{"line_number":537,"context_line":"            \"admin_api\": \"(role:admin or role:administrator)\","},{"line_number":538,"context_line":"            \"default\": \"rule:admin_api\","},{"line_number":539,"context_line":"            rule: \"rule:default\"})"},{"line_number":540,"context_line":"        response \u003d func(*arg, **kwarg)"},{"line_number":541,"context_line":"        self.assertEqual(HTTPStatus.FORBIDDEN, response.status_int)"},{"line_number":542,"context_line":"        self.assertEqual(\u0027application/json\u0027, response.content_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"a5ea2e37_4f54f34b","line":539,"in_reply_to":"6af2babc_215c89dd","updated":"2024-11-05 01:02:46.000000000","message":"ya i can add one.\n\nill do that when i respin to remvoe ist and add thirdparty-\u003ethird-party","commit_id":"ef6d4ea4b723807263a4c07c17c8f9d4456f0f80"},{"author":{"_account_id":8449,"name":"Marios Andreou","email":"marios.andreou@gmail.com","username":"marios"},"change_message_id":"786ee3ff1f9eb292492139d5e7596cccbecec028","unresolved":false,"context_lines":[{"line_number":536,"context_line":"        self.policy.set_rules({"},{"line_number":537,"context_line":"            \"admin_api\": \"(role:admin or role:administrator)\","},{"line_number":538,"context_line":"            \"default\": \"rule:admin_api\","},{"line_number":539,"context_line":"            rule: \"rule:default\"})"},{"line_number":540,"context_line":"        response \u003d func(*arg, **kwarg)"},{"line_number":541,"context_line":"        self.assertEqual(HTTPStatus.FORBIDDEN, response.status_int)"},{"line_number":542,"context_line":"        self.assertEqual(\u0027application/json\u0027, response.content_type)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ca007093_68171199","line":539,"in_reply_to":"a5ea2e37_4f54f34b","updated":"2024-11-11 07:46:33.000000000","message":"again, as this is a large patch no worries if you want to get this in and we can follow-up to dig and fix this test issue.","commit_id":"ef6d4ea4b723807263a4c07c17c8f9d4456f0f80"}],"watcher/tests/decision_engine/test_sync.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a53963fe2b6ef698d7c3257983796be5e779a361","unresolved":true,"context_lines":[{"line_number":76,"context_line":"        self.addCleanup(p_strategies.stop)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @staticmethod"},{"line_number":79,"context_line":"    def _find_created_modified_unmodified_ids(befores, afters):"},{"line_number":80,"context_line":"        created \u003d {"},{"line_number":81,"context_line":"            a_item.id: a_item for a_item in afters"},{"line_number":82,"context_line":"            if a_item.uuid not in (b_item.uuid for b_item in befores)"}],"source_content_type":"text/x-python","patch_set":3,"id":"544be89f_92dad038","side":"PARENT","line":79,"range":{"start_line":79,"start_character":46,"end_line":79,"end_character":53},"updated":"2024-11-19 15:32:02.000000000","message":"As a list of \"before values\" I think \"befores\" is perfectly fine. I\u0027m sure codespell doesn\u0027t think so, but this is where we need to exercise judgment and not just apply these globally without looking IMHO.","commit_id":"4d5022ab94ce604cd362d9f50ea0ba7deb94d0f7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"976386f1cc8993b58694748a36f63af6b2c91df9","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        self.addCleanup(p_strategies.stop)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @staticmethod"},{"line_number":79,"context_line":"    def _find_created_modified_unmodified_ids(befores, afters):"},{"line_number":80,"context_line":"        created \u003d {"},{"line_number":81,"context_line":"            a_item.id: a_item for a_item in afters"},{"line_number":82,"context_line":"            if a_item.uuid not in (b_item.uuid for b_item in befores)"}],"source_content_type":"text/x-python","patch_set":3,"id":"c5b2b5ef_7e6c5788","side":"PARENT","line":79,"range":{"start_line":79,"start_character":46,"end_line":79,"end_character":53},"in_reply_to":"13147063_2ad78e6d","updated":"2024-11-19 16:08:54.000000000","message":"Right, but I think it\u0027s actually \"before states\" which makes \"befores\" a reasonable abbreviation to me.","commit_id":"4d5022ab94ce604cd362d9f50ea0ba7deb94d0f7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"379424976c29490882a112f5d6e0f19a77616d92","unresolved":true,"context_lines":[{"line_number":76,"context_line":"        self.addCleanup(p_strategies.stop)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @staticmethod"},{"line_number":79,"context_line":"    def _find_created_modified_unmodified_ids(befores, afters):"},{"line_number":80,"context_line":"        created \u003d {"},{"line_number":81,"context_line":"            a_item.id: a_item for a_item in afters"},{"line_number":82,"context_line":"            if a_item.uuid not in (b_item.uuid for b_item in befores)"}],"source_content_type":"text/x-python","patch_set":3,"id":"13147063_2ad78e6d","side":"PARENT","line":79,"range":{"start_line":79,"start_character":46,"end_line":79,"end_character":53},"in_reply_to":"544be89f_92dad038","updated":"2024-11-19 15:53:59.000000000","message":"ya to me this just read incorrectly.\n\nbut I get where your coming from regarding using plural for lists\n\nto me, this is the before-state and after-state\n\nso I chose to make it singular as i would personally not use plural here\neven without codespell.","commit_id":"4d5022ab94ce604cd362d9f50ea0ba7deb94d0f7"}]}
