)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"721dcfa01359c14ccfa2bf11671acf428f0ea9a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7f8c085c_c68e947d","updated":"2026-10-26 18:53:16.000000000","message":"Hold this one while im still testing","commit_id":"ad297a8c931613cc9f2294b79456d5e5b50a2f52"}],"watcher/db/purge.py":[{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"6cfc4a00b55695d4274d79f22a5d4affb43bfe85","unresolved":true,"context_lines":[{"line_number":335,"context_line":"            related_objs.strategies \u003d self._find_strategies(filters)"},{"line_number":336,"context_line":"            related_objs.audit_templates \u003d self._find_audit_templates(filters)"},{"line_number":337,"context_line":"            related_objs.audits \u003d self._find_audits(filters)"},{"line_number":338,"context_line":"            # Stages are not soft-deletable; filter only by goal_id"},{"line_number":339,"context_line":"            stages \u003d self._find_audit_pipeline_stages(dict(goal_id\u003dgoal.id))"},{"line_number":340,"context_line":"            pipeline_ids \u003d {s.audit_pipeline_id for s in stages}"},{"line_number":341,"context_line":"            if pipeline_ids:"},{"line_number":342,"context_line":"                pipelines \u003d self._find_audit_pipelines(base_filters)"},{"line_number":343,"context_line":"                related_objs.audit_pipelines \u003d ["},{"line_number":344,"context_line":"                    p for p in pipelines if p.id in pipeline_ids"},{"line_number":345,"context_line":"                ]"},{"line_number":346,"context_line":"            objects_map +\u003d related_objs"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"        for strategy in objects_map.strategies:"}],"source_content_type":"text/x-python","patch_set":1,"id":"840190d1_b95bfb4c","line":345,"range":{"start_line":338,"start_character":0,"end_line":345,"end_character":17},"updated":"2026-10-27 08:40:01.000000000","message":"nit. this could be a method with the filter as parameter as it\u0027s reused below.","commit_id":"ad297a8c931613cc9f2294b79456d5e5b50a2f52"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"6cfc4a00b55695d4274d79f22a5d4affb43bfe85","unresolved":true,"context_lines":[{"line_number":475,"context_line":"            ]"},{"line_number":476,"context_line":"            aggregate.append(related_objs)"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        for pipeline in self._objects_map.audit_pipelines:"},{"line_number":479,"context_line":"            related_objs \u003d WatcherObjectsMap()"},{"line_number":480,"context_line":"            related_objs.audit_pipelines \u003d [pipeline]"},{"line_number":481,"context_line":"            related_objs.action_plans \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"42e02e68_70f73b2b","line":478,"range":{"start_line":478,"start_character":0,"end_line":478,"end_character":2},"updated":"2026-10-27 08:40:01.000000000","message":"iiuc, the point of this _aggregate_objects is to aggregate all objects to be deleted by goal id so that, when deleting objects with max_number it ensure that it deletes all or nothing related to a goal. this is aggregating objects by pipeline instead, i think this logic should be in the \"for goal in self._objects_map.goals\" loop.","commit_id":"ad297a8c931613cc9f2294b79456d5e5b50a2f52"}]}
