From 96b8f2574719f2c81fa11633a2de156d03991e02 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Sun, 26 Apr 2026 20:32:58 +0200 Subject: [PATCH] fix(pipeline): use action_type-derived phase order in ontology generator LLM merge_key phases (e.g. "submission") don't always match PHASE_ORDER keys. Derive phase order from action_type via get_phase_order() instead. Co-Authored-By: Claude Opus 4.6 (1M context) --- control-pipeline/services/dependency_generator.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/control-pipeline/services/dependency_generator.py b/control-pipeline/services/dependency_generator.py index b25cbe9..82aa761 100644 --- a/control-pipeline/services/dependency_generator.py +++ b/control-pipeline/services/dependency_generator.py @@ -26,7 +26,7 @@ logger = logging.getLogger(__name__) # PHASE ORDERING (imported from ontology) # ============================================================================ -from services.control_ontology import PHASE_ORDER +from services.control_ontology import PHASE_ORDER, get_phase, get_phase_order # ============================================================================ @@ -142,7 +142,8 @@ def generate_ontology_dependencies(controls: list[dict]) -> list[Dependency]: obj = parsed["normalized_object"] if obj: ctrl["_parsed_mk"] = parsed - ctrl["_phase_order"] = PHASE_ORDER.get(parsed["phase"], 6) + # Use action_type to derive phase order (more reliable than LLM phase name) + ctrl["_phase_order"] = get_phase_order(parsed["action_type"]) groups[obj].append(ctrl) dependencies: list[Dependency] = []