Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .aiox-core/core/orchestration/condition-evaluator.js
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,9 @@ class ConditionEvaluator {
return this._evaluateDotNotation(condition);
}

// Unknown condition - default to true (permissive)
// Unknown condition — fail-safe: deny rather than allow (fixes #472)
console.warn(`[ConditionEvaluator] Unknown condition: ${condition}`);
return true;
return false;
Comment on lines +148 to +150

Copilot AI Feb 23, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change from returning true to false for unknown conditions is a breaking change that will affect existing workflows. Several workflow files contain conditions that are not registered in the ConditionEvaluator's evaluators map (lines 69-100), such as:

  • based_on_classification (brownfield-fullstack.yaml:47)
  • major_enhancement_path (brownfield-fullstack.yaml:69)
  • documentation_inadequate (brownfield-fullstack.yaml:83)
  • user_wants_ai_generation (greenfield-fullstack.yaml:98)
  • architecture_suggests_prd_changes (multiple workflow files)
  • po_checklist_issues (multiple workflow files)
  • And many others

With this change, phases using these conditions will now be skipped instead of executing, which reverses the current behavior. Before merging, you should either:

  1. Add all these conditions to the evaluators map in the ConditionEvaluator class, OR
  2. Verify that these workflows are deprecated/unused, OR
  3. Update the workflows to remove or replace these conditions, OR
  4. Add a migration path that warns about these specific condition names

The legacy evaluator (_evaluateConditionLegacy in workflow-orchestrator.js:687) also returns true for unknown conditions, so this issue exists in both code paths.

Copilot uses AI. Check for mistakes.
}

/**
Expand Down
6 changes: 3 additions & 3 deletions .aiox-core/install-manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# - File types for categorization
#
version: 5.0.3
generated_at: "2026-03-11T15:04:09.395Z"
generated_at: "2026-03-13T00:46:09.319Z"
generator: scripts/generate-install-manifest.js
file_count: 1090
files:
Expand Down Expand Up @@ -829,9 +829,9 @@ files:
type: core
size: 19293
- path: core/orchestration/condition-evaluator.js
hash: sha256:8bf565cf56194340ff4e1d642647150775277bce649411d0338faa2c96106745
hash: sha256:2bdb64a11a5dcf08ced405e04239cac7339fad221739c8334435c7cae7199160
type: core
size: 10845
size: 10866
- path: core/orchestration/context-manager.js
hash: sha256:7bf273723a2c08cb84e670b9d4c55aacec51819b1fbd5f3b0c46c4ccfa2ec192
type: core
Expand Down
Loading
Loading