)]}'
{"watcher/tests/fixtures/nova_api_emulator.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4c6c0584cc44385652785ef34c88759b3e6a10c2","unresolved":false,"context_lines":[{"line_number":342,"context_line":""},{"line_number":343,"context_line":"    # ── Helper methods ───────────────────────────────────────────"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    def _get_servers_on_host(self, hostname):"},{"line_number":346,"context_line":"        return [s for s in self.servers.values()"},{"line_number":347,"context_line":"                if s[\u0027OS-EXT-SRV-ATTR:host\u0027] \u003d\u003d hostname]"},{"line_number":348,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"33346ed9_dad971e2","line":345,"updated":"2026-06-15 13:25:05.000000000","message":"pep8: N321: jsonutils.load must be used instead of json.load","commit_id":"6b5c909ef91652a8045f90697f079e534f132a38"}],"watcher/tests/fixtures/placement_api_emulator.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4c6c0584cc44385652785ef34c88759b3e6a10c2","unresolved":false,"context_lines":[{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    def _register_routes(self):"},{"line_number":206,"context_line":"        app \u003d self.app"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        @app.route(\u0027/resource_providers\u0027, methods\u003d[\u0027GET\u0027])"},{"line_number":209,"context_line":"        def list_resource_providers():"},{"line_number":210,"context_line":"            name \u003d request.args.get(\u0027name\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"2e8a0fb2_15fd657e","line":207,"updated":"2026-06-15 13:25:05.000000000","message":"pep8: N321: jsonutils.load must be used instead of json.load","commit_id":"6b5c909ef91652a8045f90697f079e534f132a38"}],"watcher/tests/functional/test_host_maintenance_scoped.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4c6c0584cc44385652785ef34c88759b3e6a10c2","unresolved":false,"context_lines":[{"line_number":375,"context_line":"        )"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"    # ── Negative: maintenance_node is excluded ──────────────────"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    def test_scope_maintenance_node_excluded(self):"},{"line_number":380,"context_line":"        \"\"\"maintenance_node in exclude list causes audit FAILED."},{"line_number":381,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"441e1a0a_de960a4c","line":378,"updated":"2026-06-15 13:25:05.000000000","message":"pep8: H101: Use TODO(NAME)","commit_id":"6b5c909ef91652a8045f90697f079e534f132a38"}]}
