)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"7abd62410b78d97e681560884ac30264ae5bc61e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2d1e20a9_0505b799","updated":"2026-03-24 15:02:28.000000000","message":"Thanks, lgtm","commit_id":"c66dceb7054416a4038e4f426576cad9cf4e3463"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"8354059b5c5cfce40db71394ccc9712889cd8c87","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a7dbdd78_6c27aecd","updated":"2026-03-23 09:06:07.000000000","message":"lgtm","commit_id":"c66dceb7054416a4038e4f426576cad9cf4e3463"}],"pyproject.toml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"025f4e1f917c70e04e85fee56f2ee4ef00ec6a92","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    \"S106\","},{"line_number":23,"context_line":"    # S110 `try`-`except`-`pass` detected, consider logging the exception"},{"line_number":24,"context_line":"    \"S110\","},{"line_number":25,"context_line":"    # UP031 % format — defer f-string migration to a later pass"},{"line_number":26,"context_line":"    \"UP031\","},{"line_number":27,"context_line":"    # UP032 f-string — defer migration to a later pass"},{"line_number":28,"context_line":"    \"UP032\","},{"line_number":29,"context_line":"]"},{"line_number":30,"context_line":"[tool.ruff.lint.per-file-ignores]"},{"line_number":31,"context_line":"\"watcher/tests/*\" \u003d [\"S\"]"}],"source_content_type":"text/x-toml","patch_set":1,"id":"d778d671_4e7df3b8","line":28,"range":{"start_line":25,"start_character":1,"end_line":28,"end_character":12},"updated":"2026-03-20 20:16:24.000000000","message":"i was alittle agressive with thse previously the  \"LOG\" checks disallow fstings in logs so i have resotred this exclude.\n\nwe nolonger translate logs which si why we used to not use fstrign but we do translate exctpion so this is kind fo a compormise btween teh two.","commit_id":"779d3094f3d87eb4cc8711e053ee26056e9dc269"}],"watcher/api/app.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"025f4e1f917c70e04e85fee56f2ee4ef00ec6a92","unresolved":true,"context_lines":[{"line_number":20,"context_line":"from oslo_middleware import request_id"},{"line_number":21,"context_line":"import pecan"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from watcher.api import acl"},{"line_number":24,"context_line":"from watcher.api import config as api_config"},{"line_number":25,"context_line":"from watcher.api.middleware import parsable_error"},{"line_number":26,"context_line":"from watcher import conf"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d conf.CONF"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"19f96ef0_cdb8c97f","side":"PARENT","line":26,"range":{"start_line":23,"start_character":0,"end_line":26,"end_character":24},"updated":"2026-03-20 20:16:24.000000000","message":"this alwasy confused me with hacking \n\ni alwasy exepcted the from and improt part to be sorted sepreatly which si what isort does.","commit_id":"13fb52e50841cc883e372e5847409e7cc3c349b2"}],"watcher/common/executor.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"025f4e1f917c70e04e85fee56f2ee4ef00ec6a92","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    stats: futurist.ExecutorStatistics \u003d executor.statistics"},{"line_number":52,"context_line":"    try:"},{"line_number":53,"context_line":"        if isinstance(executor, futurist.ThreadPoolExecutor):"},{"line_number":54,"context_line":"            LOG.debug("},{"line_number":55,"context_line":"                \"State of %s ThreadPoolExecutor when submitting a new \""},{"line_number":56,"context_line":"                \"task: max_workers: %d, workers: %d, idle workers: %d, \""},{"line_number":57,"context_line":"                \"queued work: %d, stats: %s\","},{"line_number":58,"context_line":"                name, executor._max_workers, len(executor._workers),"},{"line_number":59,"context_line":"                len([w for w in executor._workers if w.idle]),"},{"line_number":60,"context_line":"                executor._work_queue.qsize(), stats)"},{"line_number":61,"context_line":"        elif isinstance(executor, futurist.GreenThreadPoolExecutor):"},{"line_number":62,"context_line":"            LOG.debug("},{"line_number":63,"context_line":"                \"State of %s GreenThreadPoolExecutor when submitting a \""}],"source_content_type":"text/x-python","patch_set":1,"id":"9b00449a_4ec03894","line":60,"range":{"start_line":54,"start_character":9,"end_line":60,"end_character":52},"updated":"2026-03-20 20:16:24.000000000","message":"this is reuired for the LOG rules\n\nthis change is also what broke the unit tests in v1 but that is now fixed in v2","commit_id":"779d3094f3d87eb4cc8711e053ee26056e9dc269"}],"watcher/tests/unit/api/v1/test_types.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"025f4e1f917c70e04e85fee56f2ee4ef00ec6a92","unresolved":true,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from http import HTTPStatus"},{"line_number":17,"context_line":"from unittest import mock"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import webtest"}],"source_content_type":"text/x-python","patch_set":2,"id":"53d24361_7bf961fa","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":27},"updated":"2026-03-20 20:16:24.000000000","message":"this isnt really the write way to import this by the way but its the prexisting behavior so im not fixing that here","commit_id":"47226fc3b2c4221f8bb7e5884175a13bb8f6ab95"}],"watcher/tests/unit/common/test_executor.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"025f4e1f917c70e04e85fee56f2ee4ef00ec6a92","unresolved":true,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        executor.log_executor_stats(pool_executor,"},{"line_number":51,"context_line":"                                    name\u003d\"test-threadpool-eventlet\")"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        m_log_debug.assert_called_once_with("},{"line_number":54,"context_line":"            \"State of %s GreenThreadPoolExecutor when submitting a \""},{"line_number":55,"context_line":"            \"new task: workers: %d, max_workers: %d, \""},{"line_number":56,"context_line":"            \"work queued length: %d, stats: %s\","},{"line_number":57,"context_line":"            \"test-threadpool-eventlet\","},{"line_number":58,"context_line":"            len(pool_executor._pool.coroutines_running),"},{"line_number":59,"context_line":"            workers,"},{"line_number":60,"context_line":"            pool_executor._delayed_work.unfinished_tasks,"},{"line_number":61,"context_line":"            pool_executor.statistics)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    @mock.patch.object(executor.LOG, \u0027debug\u0027)"},{"line_number":64,"context_line":"    def test_log_executor_stats_threading(self, m_log_debug):"},{"line_number":65,"context_line":"        workers \u003d 3"}],"source_content_type":"text/x-python","patch_set":2,"id":"ce555a22_ef5e13df","line":62,"range":{"start_line":52,"start_character":1,"end_line":62,"end_character":1},"updated":"2026-03-20 20:16:24.000000000","message":"this is hte test fix for the delayed log interpolation","commit_id":"47226fc3b2c4221f8bb7e5884175a13bb8f6ab95"}]}
