)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"4bd6fa1d10347375768a319815548fdec59a4a72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"c4c00052_b26d93bd","updated":"2026-09-02 13:57:55.000000000","message":"the change looks correct to me","commit_id":"d3f45068bcb5d4369faf8716c30d1aaa0851f2f2"}],"watcher/decision_engine/goal/efficacy/pipeline.py":[{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"67addfd017bdf758c4b3a3cc6bbace0d1fbf0b4a","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    name\u003d\u0027pipeline_instance_migrations_count\u0027,"},{"line_number":105,"context_line":"    description\u003d\u0027Total instance migrations across all pipeline stages\u0027,"},{"line_number":106,"context_line":"    unit\u003d\u0027\u0027,"},{"line_number":107,"context_line":"    source_names\u003d["},{"line_number":108,"context_line":"        \u0027instance_migrations_count\u0027,"},{"line_number":109,"context_line":"        \u0027planned_live_migrate_instance_count\u0027,"},{"line_number":110,"context_line":"        \u0027planned_cold_migrate_instance_count\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6e708d68_b20dd53c","line":107,"updated":"2026-08-14 21:54:11.000000000","message":"INSTANCE_MIGRATIONS_GROUP sums both the candidate counters (live_migrate_instance_count) and the planned-action counters (planned_live_migrate_instance_count) for the same strategy, so a zone_migration stage contributes roughly double the actual migration count.\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Risk**: Action plans from pipelines containing zone_migration stages persist inflated EfficacyIndicator values, giving operators wrong efficacy data for the new pipeline feature.\n\n**Priority**: Before merge\n**Why This Matters**: Action plans from pipelines containing zone_migration stages persist inflated EfficacyIndicator values, giving operators wrong efficacy data for the new pipeline feature.\n\n**Recommendation**:\nFor zone_migration stages use only the planned_* variants (planned_live_migrate_instance_count, planned_cold_migrate_instance_count), and keep instance_migrations_count for the consolidation/workload strategies. Verify counts against the actual emitted migrate actions for each contributing strategy.","commit_id":"8938fd5e83a33c14a6cbb4adbced472be29bf2a6"},{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2249375c4888bd60554fe021a0713ce87bc89431","unresolved":false,"context_lines":[{"line_number":20,"context_line":"the same concept is often measured with different indicator names across"},{"line_number":21,"context_line":"stages.  For example:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"- ``zone_migration`` reports ``live_migrate_instance_count`` and"},{"line_number":24,"context_line":"  ``cold_migrate_instance_count`` separately."},{"line_number":25,"context_line":"- ``workload_stabilization`` and consolidation strategies report a single"},{"line_number":26,"context_line":"  ``instance_migrations_count`` for all migration types."}],"source_content_type":"text/x-python","patch_set":3,"id":"3213ecc5_7236d664","line":23,"updated":"2026-08-18 14:40:07.000000000","message":"The module docstring explains the naming divergence it solves by saying zone_migration reports ``live_migrate_instance_count`` and ``cold_migrate_instance_count`` separately, but the INSTANCE_MIGRATIONS_GROUP at line 107 sums ``instance_migrations_count``, ``planned_live_migrate_instance_count`` and ``planned_cold_migrate_instance_count``. zone_migration actually sets both total and planned variants (watcher/decision_engine/strategy/strategies/zone_migration.py:329-335), and only the planned_* variants feed the group. The names the docstring cites are never aggregated.\n\n**Severity**: SUGGESTION | **Confidence**: 0.95\n\n**Impact**: A developer extending the aggregation groups or debugging indicator values from the docstring example would target the total-count names, silently summing the wrong indicators (totals include instances considered but not planned). Low runtime impact, but it misleads maintainers of new code.\n\n**Recommendation**:\nUpdate the docstring example (and/or the group comment) to name the aggregated variants explicitly: zone_migration reports ``planned_live_migrate_instance_count`` and ``planned_cold_migrate_instance_count`` (plus non-aggregated total counts), while consolidation/workload_stabilization strategies report ``instance_migrations_count``.","commit_id":"148c156c3a2cc0fc404b3b147f1bf85a961ea338"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"f4f605d945aec841dd24aa35726afba9e30b3fe5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"the same concept is often measured with different indicator names across"},{"line_number":21,"context_line":"stages.  For example:"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"- ``zone_migration`` reports ``live_migrate_instance_count`` and"},{"line_number":24,"context_line":"  ``cold_migrate_instance_count`` separately."},{"line_number":25,"context_line":"- ``workload_stabilization`` and consolidation strategies report a single"},{"line_number":26,"context_line":"  ``instance_migrations_count`` for all migration types."}],"source_content_type":"text/x-python","patch_set":3,"id":"af22bfc2_44c7548d","line":23,"in_reply_to":"3213ecc5_7236d664","updated":"2026-08-19 20:13:16.000000000","message":"ack","commit_id":"148c156c3a2cc0fc404b3b147f1bf85a961ea338"},{"author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"0d5a4fb9068d13755de4fb60b0c11f991d4b50fa","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            ready to be persisted as"},{"line_number":157,"context_line":"            :class:`~watcher.objects.EfficacyIndicator` rows."},{"line_number":158,"context_line":"        \"\"\""},{"line_number":159,"context_line":"        return ["},{"line_number":160,"context_line":"            g.compute(all_stage_indicators)"},{"line_number":161,"context_line":"            for g in self.groups"},{"line_number":162,"context_line":"            if g.matches(all_stage_indicators)"}],"source_content_type":"text/x-python","patch_set":13,"id":"d0a09024_9d021cc6","line":159,"updated":"2026-09-03 00:13:54.000000000","message":"PipelinePlanner.schedule() replaces the stage solutions\u0027 efficacy indicators with only the indicators produced by PipelineEfficacyAggregator.aggregate(). The aggregator emits one combined Indicator per registered group whose source names match, so any stage indicator whose name is not in INSTANCE_MIGRATIONS_GROUP, RELEASED_COMPUTE_NODES_GROUP, or VOLUME_MIGRATIONS_GROUP is discarded and never persisted as an EfficacyIndicator row. watcher\u0027s goal specs (watcher/decision_engine/goal/efficacy/specs.py) register indicators such as planned_volume_update_count, volume_update_count, live_migrate_instance_count, cold_migrate_instance_count, volume_migrate_count, compute_nodes_count, instances_count, standard_deviation_after_audit and standard_deviation_before_audit, none of which are covered by any group. zone_migration strategies genuinely set planned_volume_update_count (zone_migration.py post_execute), so a pipeline stage performing volume-update actions contributes zero efficacy rows to the merged action plan even though its actions are scheduled.\n\n**Severity**: WARNING | **Confidence**: 0.85\n\n**Impact**: Pipeline action plans expose incomplete efficacy through the ActionPlan/EfficacyIndicator API: work categories not in the three groups (notably planned volume updates from zone_migration stages, plus denominator/context indicators) are silently invisible, so operators and API consumers cannot see the full planned impact of a pipeline and can be misled that no such work was planned.\n\n**Suggestion**:\nEither persist unmatched stage indicators as-is alongside the combined pipeline indicators in schedule() (smallest safe fix, mirroring WeightPlanner\u0027s per-indicator persistence), or extend the default groups to cover the remaining additive planned-action indicators (at minimum planned_volume_update_count). If dropping is intentional, log at minimum INFO/WARNING listing dropped indicator names so the loss is observable.","commit_id":"5c2d475dda94bdbd7bf2049bf0eee92f5e9a3c23"}]}
