From 402c29066d692372c681ba231a7c7639df2dded9 Mon Sep 17 00:00:00 2001 From: Lennart Gulikers Date: Tue, 4 Aug 2026 12:04:45 +0200 Subject: [PATCH] fix(compose): resolve overlay-injected design_pattern from entry.spec when entry top-level is absent Signed-off-by: Lennart Gulikers --- ctl/src/mas/ctl/compose/pattern_registry.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ctl/src/mas/ctl/compose/pattern_registry.py b/ctl/src/mas/ctl/compose/pattern_registry.py index 095a3820..5e6a8186 100644 --- a/ctl/src/mas/ctl/compose/pattern_registry.py +++ b/ctl/src/mas/ctl/compose/pattern_registry.py @@ -51,8 +51,9 @@ def pattern_for_agent( name = entry.get("name", entry.get("id", "")) if name != agent_id: continue - if entry.get("design_pattern"): - return resolve_design_pattern_registry_id(entry["design_pattern"]) + dp = entry.get("design_pattern") or (entry.get("spec") or {}).get("design_pattern") + if dp: + return resolve_design_pattern_registry_id(dp) ref = entry.get("ref") or entry.get("manifest") if ref and mas_base_dir: agent_path = (mas_base_dir / ref).resolve()