prizmkit 1.0.112 → 1.0.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundled/VERSION.json
CHANGED
|
@@ -341,17 +341,9 @@ def action_get_next(feature_list_data, state_dir, feature_filter=None):
|
|
|
341
341
|
print("PIPELINE_COMPLETE")
|
|
342
342
|
return
|
|
343
343
|
|
|
344
|
-
#
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
f for f in features
|
|
348
|
-
if isinstance(f, dict) and f.get("id") in feature_filter
|
|
349
|
-
]
|
|
350
|
-
if not features:
|
|
351
|
-
print("PIPELINE_COMPLETE")
|
|
352
|
-
return
|
|
353
|
-
|
|
354
|
-
# Build a map of feature statuses from state dir
|
|
344
|
+
# Build status map from ALL features (for dependency checking).
|
|
345
|
+
# This must happen BEFORE the feature filter is applied, because
|
|
346
|
+
# filtered features may depend on features outside the filter.
|
|
355
347
|
status_map = {} # feature_id -> status string
|
|
356
348
|
status_data_map = {} # feature_id -> full status data
|
|
357
349
|
for feature in features:
|
|
@@ -364,6 +356,17 @@ def action_get_next(feature_list_data, state_dir, feature_filter=None):
|
|
|
364
356
|
status_map[fid] = fs.get("status", "pending")
|
|
365
357
|
status_data_map[fid] = fs
|
|
366
358
|
|
|
359
|
+
# Apply feature filter: only consider these features as candidates
|
|
360
|
+
# for execution, but dependency checking still uses the full status_map
|
|
361
|
+
if feature_filter is not None:
|
|
362
|
+
features = [
|
|
363
|
+
f for f in features
|
|
364
|
+
if isinstance(f, dict) and f.get("id") in feature_filter
|
|
365
|
+
]
|
|
366
|
+
if not features:
|
|
367
|
+
print("PIPELINE_COMPLETE")
|
|
368
|
+
return
|
|
369
|
+
|
|
367
370
|
# Check if all features are in terminal state
|
|
368
371
|
non_terminal = [
|
|
369
372
|
f for f in features
|