@@ -160,6 +160,41 @@ def evaluate(
160160 if not plan .requires_backfill :
161161 self .console .log_success ("Virtual Update executed successfully" )
162162
163+ model_kind_counts : t .Dict [str , int ] = {}
164+ audit_counts : t .Dict [str , int ] = {}
165+ for snapshot in snapshots .values ():
166+ if snapshot .name in all_names :
167+ if snapshot .is_audit :
168+ audit_counts ["standalone" ] = audit_counts .get ("standalone" , 0 ) + 1
169+ if (
170+ snapshot .is_model
171+ and snapshot .model_kind_name
172+ and snapshot .model .kind
173+ and not snapshot .model .kind .is_external
174+ and not snapshot .model .kind .is_embedded
175+ ):
176+ kind_name = snapshot .model_kind_name
177+ model_kind_counts [kind_name ] = model_kind_counts .get (kind_name , 0 ) + 1
178+ if snapshot .is_model and snapshot .model .audits :
179+ if snapshot .model .kind .is_external :
180+ audit_counts ["EXTERNAL model" ] = audit_counts .get (
181+ "EXTERNAL model" , 0
182+ ) + len (snapshot .model .audits )
183+ else :
184+ audit_counts ["model" ] = audit_counts .get ("model" , 0 ) + len (
185+ snapshot .model .audits
186+ )
187+
188+ summary_str = ", " .join (
189+ [f"{ v } { k } model{ 's' if v > 1 else '' } " for k , v in model_kind_counts .items ()]
190+ )
191+ for audit_type in ["EXTERNAL model" , "model" , "standalone" ]:
192+ if audit_type in audit_counts :
193+ count = audit_counts [audit_type ]
194+ summary_str += f", { count } { audit_type } audit{ 's' if count > 1 else '' } "
195+ if summary_str :
196+ self .console .log_status_update (f"Plan applied for { summary_str } " )
197+
163198 execute_environment_statements (
164199 adapter = self .snapshot_evaluator .adapter ,
165200 environment_statements = plan .environment_statements or [],
0 commit comments