BRE Validation Pipeline

34-step Business Rule Engine — profile-driven, type-scoped, fail-safe execution

Step 1
Profile Pipeline Lookup
Profile defines which steps run per action. Type-scoped: tries "start:bug" first, falls back to "start".
profile.pipelines["start:bug"]
  ?? profile.pipelines["start"]
Step 2
Registry Resolution
Each step name resolved via ValidationStepRegistry. Parameterized: "StatusTransition:IN_PROGRESS" splits into factory + param.
registry.create(
  "StatusTransition:IN_PROGRESS",
  deps)
Step 3
Pipeline Execution
Runs ALL steps regardless of failures. Each step wrapped in try/catch. Single failure doesn't stop others.
canProceed = no error-severity
              failures
Result
ValidationResult
Aggregated: canProceed, failedSteps[], warnedSteps[], executionTime, suggestions[].
{ canProceed: false,
  failedSteps: 1,
  details: [...] }
Source-Status Guards (3)
RefineFromBacklog ReadyFromRefinementOrBacklog StartFromReadyForDev
Generic Transition + Task-State Guards (7)
StatusTransition AlreadyCompleted AlreadyBlocked NotBlocked Blocked AlreadyDone BackwardTransition
Field Requirements (5)
BaseTaskFields AcceptanceCriteria EffortEstimation DependencyIdentification WaveAssignment
Quality Gates (3)
PRReview TestCoverage SecurityScan
Service-Injected (4)
EpicIntegrity Dependency ImplementationReadiness SubtaskCompletion
Constraints (4)
AISuitability RiskLevel FastTrack ApprovalRequirement
Profile-Driven Generic (7)
SourceStatus ContainerAssignment ContainerIntegrity ContainerSingularity CircuitBreaker SpecCompleteness ContextCompleteness
Multi-Agent (1)
TaskLock
Fail-safe execution: Every step runs regardless of prior failures. A dependency check failing doesn't skip the security scan. The full picture is always available — not just the first error.
Plugin-ready architecture: ValidationStepRegistry is already a plugin system. Register a factory by name, reference it in a profile pipeline. Adding "CodeRabbitReview" to the approve pipeline = zero engine changes.