From c73a48907537709b05a50fc454ebf69a2da70fdb Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Sat, 25 Apr 2026 21:54:32 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Pass=200b=20filter=20=E2=80=94=20skip=20?= =?UTF-8?q?obligations=20whose=20parent=20already=20has=20pass0b=20control?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- control-pipeline/services/decomposition_pass.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/control-pipeline/services/decomposition_pass.py b/control-pipeline/services/decomposition_pass.py index c2ab229..998c52b 100644 --- a/control-pipeline/services/decomposition_pass.py +++ b/control-pipeline/services/decomposition_pass.py @@ -3543,12 +3543,12 @@ class DecompositionPass: FROM obligation_candidates oc JOIN canonical_controls cc ON cc.id = oc.parent_control_uuid WHERE oc.release_state = 'validated' + AND oc.merged_into_id IS NULL AND NOT EXISTS ( SELECT 1 FROM canonical_controls ac WHERE ac.parent_control_uuid = oc.parent_control_uuid AND ac.decomposition_method = 'pass0b' - AND ac.release_state NOT IN ('deprecated', 'duplicate') - AND ac.title LIKE '%' || LEFT(oc.action, 20) || '%' + AND ac.release_state NOT IN ('deprecated') ) """ if limit > 0: