refactor: merge cycle policy into semantic validation layer
Wire SemanticValidator into the production validator pipeline and consolidate cycle-policy types under core:validation. - Add SemanticValidator(CycleExitRule(requirePolicyForCycles=false)) to the prod ValidationPipeline (no-op default, preserves behavior) - Move CyclePolicy/Binding/Signature/Factory from core:transitions.policy to core:validation.policy (validation already owns ValidationContext) - Rename CyclePolicyBindingRule -> CycleExitRule (issue code unchanged) - Delete dead CyclePolicyResolver + PolicyValidation
This commit is contained in:
@@ -35,6 +35,8 @@ import com.correx.core.tools.registry.ToolRegistry
|
||||
import com.correx.core.transitions.resolution.DefaultTransitionResolver
|
||||
import com.correx.core.validation.artifact.ArtifactPayloadValidator
|
||||
import com.correx.core.validation.pipeline.ValidationPipeline
|
||||
import com.correx.core.validation.semantic.SemanticValidator
|
||||
import com.correx.core.validation.semantic.rules.CycleExitRule
|
||||
import com.correx.infrastructure.InfrastructureModule
|
||||
import com.correx.infrastructure.artifactscas.DefaultMaterializingArtifactWriter
|
||||
import com.correx.infrastructure.inference.DefaultProviderRegistry
|
||||
@@ -106,7 +108,16 @@ fun main() {
|
||||
transitionResolver = DefaultTransitionResolver { condition, ctx -> condition.evaluate(ctx) },
|
||||
contextPackBuilder = DefaultContextPackBuilder(DefaultContextCompressor()),
|
||||
inferenceRouter = inferenceRouter,
|
||||
validationPipeline = ValidationPipeline(validators = listOf(ArtifactPayloadValidator(artifactStore))),
|
||||
validationPipeline = ValidationPipeline(
|
||||
validators = listOf(
|
||||
ArtifactPayloadValidator(artifactStore),
|
||||
SemanticValidator(
|
||||
rules = listOf(
|
||||
CycleExitRule(requirePolicyForCycles = false),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
approvalEngine = approvalEngine,
|
||||
riskAssessor = DefaultRiskAssessor(),
|
||||
promptResolver = { path -> InfrastructureModule.createPromptLoader().load(path) },
|
||||
|
||||
Reference in New Issue
Block a user