)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":14482,"name":"Ian Y. Choi","email":"ianyrchoi@gmail.com","username":"ianychoi"},"change_message_id":"b93b04962a7524b0b9696eb2210e3edea0b7ab02","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2167ad49_4524f142","updated":"2026-08-18 21:23:11.000000000","message":"Looks good to me - thank you","commit_id":"d116401c397f79fff682236740cb50d44a131222"}],"openstack_election/owners.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    # If this owner is in the blacklist of Ids"},{"line_number":89,"context_line":"    # to skip, then move on to the next change"},{"line_number":90,"context_line":"    if owner in ignore:"},{"line_number":91,"context_line":"        continue"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    # Seen this owner already?"},{"line_number":94,"context_line":"    new_owner \u003d owner"}],"source_content_type":"text/x-python","patch_set":1,"id":"42cc8854_9db4fecb","line":91,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F702 \u0027continue\u0027 not properly in loop","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    if new:"},{"line_number":105,"context_line":"        # Get the E-mail address preferred in"},{"line_number":106,"context_line":"        # Gerrit for this owner\u0027s account"},{"line_number":107,"context_line":"        email \u003d change[\u0027owner\u0027].get(\u0027email\u0027)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # If the owner has no preferred address, use the"},{"line_number":110,"context_line":"        # committer address for the first revision"}],"source_content_type":"text/x-python","patch_set":1,"id":"a7d38749_a7922941","line":107,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027change\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                % owner,"},{"line_number":115,"context_line":"                file\u003dsys.stderr)"},{"line_number":116,"context_line":"            full \u003d utils.query_gerrit(\u0027changes/\u0027, params\u003d{"},{"line_number":117,"context_line":"                \u0027q\u0027: change[\u0027_number\u0027],"},{"line_number":118,"context_line":"                \u0027o\u0027: ["},{"line_number":119,"context_line":"                    \u0027ALL_COMMITS\u0027,"},{"line_number":120,"context_line":"                    \u0027ALL_REVISIONS\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"0a02e710_600c2b16","line":117,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027change\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":120,"context_line":"                    \u0027ALL_REVISIONS\u0027,"},{"line_number":121,"context_line":"                    \u0027DETAILED_ACCOUNTS\u0027,"},{"line_number":122,"context_line":"                    ],"},{"line_number":123,"context_line":"                }, verbose\u003doptions.verbose)[0]"},{"line_number":124,"context_line":"            for rev in full[\u0027revisions\u0027].values():"},{"line_number":125,"context_line":"                if rev[\u0027_number\u0027] \u003d\u003d 1:"},{"line_number":126,"context_line":"                    email \u003d rev["}],"source_content_type":"text/x-python","patch_set":1,"id":"c8b4b2f5_ef8b4cbd","line":123,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027options\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            print("},{"line_number":134,"context_line":"                \u0027ACCOUNT PREFERRED EMAIL IS NONE: %s\u0027"},{"line_number":135,"context_line":"                % owner, file\u003dsys.stderr)"},{"line_number":136,"context_line":"            continue"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        # Find duplicate addresses and merge"},{"line_number":139,"context_line":"        # accounts when that happens"}],"source_content_type":"text/x-python","patch_set":1,"id":"f7ab11ae_2cf6f8fe","line":136,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F702 \u0027continue\u0027 not properly in loop","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":144,"context_line":"            print("},{"line_number":145,"context_line":"                \u0027MERGING DUPLICATE ACCOUNT: %s into %s\u0027"},{"line_number":146,"context_line":"                % (new_owner, owner), file\u003dsys.stderr)"},{"line_number":147,"context_line":"            continue"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    # For newly found non-duplicate owners,"},{"line_number":150,"context_line":"    # initialize the global change count,"}],"source_content_type":"text/x-python","patch_set":1,"id":"0ac8f736_433ddb82","line":147,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F702 \u0027continue\u0027 not properly in loop","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        owners[owner] \u003d {"},{"line_number":159,"context_line":"            \u0027count\u0027: 1,"},{"line_number":160,"context_line":"            \u0027extra\u0027: [],"},{"line_number":161,"context_line":"            \u0027name\u0027: change[\u0027owner\u0027].get(\u0027name\u0027),"},{"line_number":162,"context_line":"            \u0027newest\u0027: merged,"},{"line_number":163,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":164,"context_line":"            \u0027oldest\u0027: merged,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fe2a52ed_384488b3","line":161,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027change\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            \u0027count\u0027: 1,"},{"line_number":160,"context_line":"            \u0027extra\u0027: [],"},{"line_number":161,"context_line":"            \u0027name\u0027: change[\u0027owner\u0027].get(\u0027name\u0027),"},{"line_number":162,"context_line":"            \u0027newest\u0027: merged,"},{"line_number":163,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":164,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":165,"context_line":"            \u0027oldest_id\u0027: number,"}],"source_content_type":"text/x-python","patch_set":1,"id":"0a49d1db_b1db1864","line":162,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            \u0027extra\u0027: [],"},{"line_number":161,"context_line":"            \u0027name\u0027: change[\u0027owner\u0027].get(\u0027name\u0027),"},{"line_number":162,"context_line":"            \u0027newest\u0027: merged,"},{"line_number":163,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":164,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":165,"context_line":"            \u0027oldest_id\u0027: number,"},{"line_number":166,"context_line":"            \u0027revisions\u0027: revisions,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ed7d2715_f31bdfc7","line":163,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027number\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            \u0027name\u0027: change[\u0027owner\u0027].get(\u0027name\u0027),"},{"line_number":162,"context_line":"            \u0027newest\u0027: merged,"},{"line_number":163,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":164,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":165,"context_line":"            \u0027oldest_id\u0027: number,"},{"line_number":166,"context_line":"            \u0027revisions\u0027: revisions,"},{"line_number":167,"context_line":"            \u0027username\u0027: change[\u0027owner\u0027].get(\u0027username\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"e7fefddf_b6de3cf6","line":164,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            \u0027newest\u0027: merged,"},{"line_number":163,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":164,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":165,"context_line":"            \u0027oldest_id\u0027: number,"},{"line_number":166,"context_line":"            \u0027revisions\u0027: revisions,"},{"line_number":167,"context_line":"            \u0027username\u0027: change[\u0027owner\u0027].get(\u0027username\u0027),"},{"line_number":168,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"759c126b_e372f6fb","line":165,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027number\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":163,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":164,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":165,"context_line":"            \u0027oldest_id\u0027: number,"},{"line_number":166,"context_line":"            \u0027revisions\u0027: revisions,"},{"line_number":167,"context_line":"            \u0027username\u0027: change[\u0027owner\u0027].get(\u0027username\u0027),"},{"line_number":168,"context_line":"        }"},{"line_number":169,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"07374347_b0c13429","line":166,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027revisions\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":164,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":165,"context_line":"            \u0027oldest_id\u0027: number,"},{"line_number":166,"context_line":"            \u0027revisions\u0027: revisions,"},{"line_number":167,"context_line":"            \u0027username\u0027: change[\u0027owner\u0027].get(\u0027username\u0027),"},{"line_number":168,"context_line":"        }"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    # If we\u0027ve seen this owner on another change"}],"source_content_type":"text/x-python","patch_set":1,"id":"49cf272a_f99d1006","line":167,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027change\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    # dates"},{"line_number":174,"context_line":"    else:"},{"line_number":175,"context_line":"        owners[owner][\u0027count\u0027] +\u003d 1"},{"line_number":176,"context_line":"        owners[owner][\u0027revisions\u0027] +\u003d revisions"},{"line_number":177,"context_line":"        if merged \u003e owners[owner][\u0027newest\u0027]:"},{"line_number":178,"context_line":"            owners[owner][\u0027newest\u0027] \u003d merged"},{"line_number":179,"context_line":"            owners[owner][\u0027newest_id\u0027] \u003d number"}],"source_content_type":"text/x-python","patch_set":1,"id":"e06ed9c2_5aa40431","line":176,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027revisions\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":174,"context_line":"    else:"},{"line_number":175,"context_line":"        owners[owner][\u0027count\u0027] +\u003d 1"},{"line_number":176,"context_line":"        owners[owner][\u0027revisions\u0027] +\u003d revisions"},{"line_number":177,"context_line":"        if merged \u003e owners[owner][\u0027newest\u0027]:"},{"line_number":178,"context_line":"            owners[owner][\u0027newest\u0027] \u003d merged"},{"line_number":179,"context_line":"            owners[owner][\u0027newest_id\u0027] \u003d number"},{"line_number":180,"context_line":"        elif merged \u003c owners[owner][\u0027oldest\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"8f9e4c07_798a8ef9","line":177,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        owners[owner][\u0027count\u0027] +\u003d 1"},{"line_number":176,"context_line":"        owners[owner][\u0027revisions\u0027] +\u003d revisions"},{"line_number":177,"context_line":"        if merged \u003e owners[owner][\u0027newest\u0027]:"},{"line_number":178,"context_line":"            owners[owner][\u0027newest\u0027] \u003d merged"},{"line_number":179,"context_line":"            owners[owner][\u0027newest_id\u0027] \u003d number"},{"line_number":180,"context_line":"        elif merged \u003c owners[owner][\u0027oldest\u0027]:"},{"line_number":181,"context_line":"            owners[owner][\u0027oldest\u0027] \u003d merged"}],"source_content_type":"text/x-python","patch_set":1,"id":"f53c8e9e_519d3d16","line":178,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        owners[owner][\u0027revisions\u0027] +\u003d revisions"},{"line_number":177,"context_line":"        if merged \u003e owners[owner][\u0027newest\u0027]:"},{"line_number":178,"context_line":"            owners[owner][\u0027newest\u0027] \u003d merged"},{"line_number":179,"context_line":"            owners[owner][\u0027newest_id\u0027] \u003d number"},{"line_number":180,"context_line":"        elif merged \u003c owners[owner][\u0027oldest\u0027]:"},{"line_number":181,"context_line":"            owners[owner][\u0027oldest\u0027] \u003d merged"},{"line_number":182,"context_line":"            owners[owner][\u0027oldest_id\u0027] \u003d number"}],"source_content_type":"text/x-python","patch_set":1,"id":"b755a4fb_92f9fbbf","line":179,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027number\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        if merged \u003e owners[owner][\u0027newest\u0027]:"},{"line_number":178,"context_line":"            owners[owner][\u0027newest\u0027] \u003d merged"},{"line_number":179,"context_line":"            owners[owner][\u0027newest_id\u0027] \u003d number"},{"line_number":180,"context_line":"        elif merged \u003c owners[owner][\u0027oldest\u0027]:"},{"line_number":181,"context_line":"            owners[owner][\u0027oldest\u0027] \u003d merged"},{"line_number":182,"context_line":"            owners[owner][\u0027oldest_id\u0027] \u003d number"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"b286797e_2085a7e0","line":180,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            owners[owner][\u0027newest\u0027] \u003d merged"},{"line_number":179,"context_line":"            owners[owner][\u0027newest_id\u0027] \u003d number"},{"line_number":180,"context_line":"        elif merged \u003c owners[owner][\u0027oldest\u0027]:"},{"line_number":181,"context_line":"            owners[owner][\u0027oldest\u0027] \u003d merged"},{"line_number":182,"context_line":"            owners[owner][\u0027oldest_id\u0027] \u003d number"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    # We only want to add addresses if this is a"}],"source_content_type":"text/x-python","patch_set":1,"id":"f263f671_7471e220","line":181,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            owners[owner][\u0027newest_id\u0027] \u003d number"},{"line_number":180,"context_line":"        elif merged \u003c owners[owner][\u0027oldest\u0027]:"},{"line_number":181,"context_line":"            owners[owner][\u0027oldest\u0027] \u003d merged"},{"line_number":182,"context_line":"            owners[owner][\u0027oldest_id\u0027] \u003d number"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    # We only want to add addresses if this is a"},{"line_number":185,"context_line":"    # new owner or a new duplicate"}],"source_content_type":"text/x-python","patch_set":1,"id":"5ffdbedc_ee9cf0cf","line":182,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027number\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":225,"context_line":"    # update newest/oldest dates"},{"line_number":226,"context_line":"    if owner in projects[project]:"},{"line_number":227,"context_line":"        projects[project][owner][\u0027count\u0027] +\u003d 1"},{"line_number":228,"context_line":"        projects[project][owner][\u0027revisions\u0027] +\u003d revisions"},{"line_number":229,"context_line":"        if merged \u003e projects[project][owner][\u0027newest\u0027]:"},{"line_number":230,"context_line":"            projects[project][owner][\u0027newest\u0027] \u003d merged"},{"line_number":231,"context_line":"            projects[project][owner][\u0027newest_id\u0027] \u003d number"}],"source_content_type":"text/x-python","patch_set":1,"id":"c66e004d_3d829a98","line":228,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027revisions\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":226,"context_line":"    if owner in projects[project]:"},{"line_number":227,"context_line":"        projects[project][owner][\u0027count\u0027] +\u003d 1"},{"line_number":228,"context_line":"        projects[project][owner][\u0027revisions\u0027] +\u003d revisions"},{"line_number":229,"context_line":"        if merged \u003e projects[project][owner][\u0027newest\u0027]:"},{"line_number":230,"context_line":"            projects[project][owner][\u0027newest\u0027] \u003d merged"},{"line_number":231,"context_line":"            projects[project][owner][\u0027newest_id\u0027] \u003d number"},{"line_number":232,"context_line":"        elif merged \u003c projects[project][owner][\u0027oldest\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"fcf6f4ba_48206cfc","line":229,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":227,"context_line":"        projects[project][owner][\u0027count\u0027] +\u003d 1"},{"line_number":228,"context_line":"        projects[project][owner][\u0027revisions\u0027] +\u003d revisions"},{"line_number":229,"context_line":"        if merged \u003e projects[project][owner][\u0027newest\u0027]:"},{"line_number":230,"context_line":"            projects[project][owner][\u0027newest\u0027] \u003d merged"},{"line_number":231,"context_line":"            projects[project][owner][\u0027newest_id\u0027] \u003d number"},{"line_number":232,"context_line":"        elif merged \u003c projects[project][owner][\u0027oldest\u0027]:"},{"line_number":233,"context_line":"            projects[project][owner][\u0027oldest\u0027] \u003d merged"}],"source_content_type":"text/x-python","patch_set":1,"id":"dd046600_7416f3fe","line":230,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        projects[project][owner][\u0027revisions\u0027] +\u003d revisions"},{"line_number":229,"context_line":"        if merged \u003e projects[project][owner][\u0027newest\u0027]:"},{"line_number":230,"context_line":"            projects[project][owner][\u0027newest\u0027] \u003d merged"},{"line_number":231,"context_line":"            projects[project][owner][\u0027newest_id\u0027] \u003d number"},{"line_number":232,"context_line":"        elif merged \u003c projects[project][owner][\u0027oldest\u0027]:"},{"line_number":233,"context_line":"            projects[project][owner][\u0027oldest\u0027] \u003d merged"},{"line_number":234,"context_line":"            projects[project][owner][\u0027oldest_id\u0027] \u003d number"}],"source_content_type":"text/x-python","patch_set":1,"id":"e42f09e0_75de009d","line":231,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027number\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        if merged \u003e projects[project][owner][\u0027newest\u0027]:"},{"line_number":230,"context_line":"            projects[project][owner][\u0027newest\u0027] \u003d merged"},{"line_number":231,"context_line":"            projects[project][owner][\u0027newest_id\u0027] \u003d number"},{"line_number":232,"context_line":"        elif merged \u003c projects[project][owner][\u0027oldest\u0027]:"},{"line_number":233,"context_line":"            projects[project][owner][\u0027oldest\u0027] \u003d merged"},{"line_number":234,"context_line":"            projects[project][owner][\u0027oldest_id\u0027] \u003d number"},{"line_number":235,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a582845_ab549a2c","line":232,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":230,"context_line":"            projects[project][owner][\u0027newest\u0027] \u003d merged"},{"line_number":231,"context_line":"            projects[project][owner][\u0027newest_id\u0027] \u003d number"},{"line_number":232,"context_line":"        elif merged \u003c projects[project][owner][\u0027oldest\u0027]:"},{"line_number":233,"context_line":"            projects[project][owner][\u0027oldest\u0027] \u003d merged"},{"line_number":234,"context_line":"            projects[project][owner][\u0027oldest_id\u0027] \u003d number"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    # ...otherwise initialize this as their"}],"source_content_type":"text/x-python","patch_set":1,"id":"2e8d3c66_782da17e","line":233,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":231,"context_line":"            projects[project][owner][\u0027newest_id\u0027] \u003d number"},{"line_number":232,"context_line":"        elif merged \u003c projects[project][owner][\u0027oldest\u0027]:"},{"line_number":233,"context_line":"            projects[project][owner][\u0027oldest\u0027] \u003d merged"},{"line_number":234,"context_line":"            projects[project][owner][\u0027oldest_id\u0027] \u003d number"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    # ...otherwise initialize this as their"},{"line_number":237,"context_line":"    # first"}],"source_content_type":"text/x-python","patch_set":1,"id":"c1945de3_9f496c00","line":234,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027number\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        # TODO(fungi): another potential struct"},{"line_number":240,"context_line":"        projects[project][owner] \u003d {"},{"line_number":241,"context_line":"            \u0027count\u0027: 1,"},{"line_number":242,"context_line":"            \u0027newest\u0027: merged,"},{"line_number":243,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":244,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":245,"context_line":"            \u0027oldest_id\u0027: number,"}],"source_content_type":"text/x-python","patch_set":1,"id":"d80da205_3dd188b2","line":242,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        projects[project][owner] \u003d {"},{"line_number":241,"context_line":"            \u0027count\u0027: 1,"},{"line_number":242,"context_line":"            \u0027newest\u0027: merged,"},{"line_number":243,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":244,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":245,"context_line":"            \u0027oldest_id\u0027: number,"},{"line_number":246,"context_line":"            \u0027revisions\u0027: revisions,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bd0ccaba_9d0b964f","line":243,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027number\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":241,"context_line":"            \u0027count\u0027: 1,"},{"line_number":242,"context_line":"            \u0027newest\u0027: merged,"},{"line_number":243,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":244,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":245,"context_line":"            \u0027oldest_id\u0027: number,"},{"line_number":246,"context_line":"            \u0027revisions\u0027: revisions,"},{"line_number":247,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"f25380cf_6c3eb0b0","line":244,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027merged\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            \u0027newest\u0027: merged,"},{"line_number":243,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":244,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":245,"context_line":"            \u0027oldest_id\u0027: number,"},{"line_number":246,"context_line":"            \u0027revisions\u0027: revisions,"},{"line_number":247,"context_line":"        }"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"638a5ba7_40a131f2","line":245,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027number\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":243,"context_line":"            \u0027newest_id\u0027: number,"},{"line_number":244,"context_line":"            \u0027oldest\u0027: merged,"},{"line_number":245,"context_line":"            \u0027oldest_id\u0027: number,"},{"line_number":246,"context_line":"            \u0027revisions\u0027: revisions,"},{"line_number":247,"context_line":"        }"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"37301c6d_d5cc29ff","line":246,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F821 undefined name \u0027revisions\u0027","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                            continue"},{"line_number":515,"context_line":""},{"line_number":516,"context_line":"                        # The change number, for ease of tracking"},{"line_number":517,"context_line":"                        number \u003d change[\u0027_number\u0027]"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"                        # How many revisions this change had before merging"},{"line_number":520,"context_line":"                        revisions \u003d list("}],"source_content_type":"text/x-python","patch_set":1,"id":"f16fdb33_d62285e3","line":517,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F841 local variable \u0027number\u0027 is assigned to but never used","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b37b60768b5385dbd19ebe309f5d0fe9e7ebbc65","unresolved":false,"context_lines":[{"line_number":517,"context_line":"                        number \u003d change[\u0027_number\u0027]"},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"                        # How many revisions this change had before merging"},{"line_number":520,"context_line":"                        revisions \u003d list("},{"line_number":521,"context_line":"                            change[\u0027revisions\u0027].values())[0][\u0027_number\u0027]"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"                        # We index owners by their unique Gerrit"}],"source_content_type":"text/x-python","patch_set":1,"id":"51bcce82_bb2aede8","line":520,"updated":"2026-08-14 18:03:08.000000000","message":"linters: F841 local variable \u0027revisions\u0027 is assigned to but never used","commit_id":"d2ac778c66592c687fcbc9c51ecb7cae53ee2a99"}]}
