Class: RosettAi::Workflow::SchemaValidator
- Inherits:
-
Object
- Object
- RosettAi::Workflow::SchemaValidator
- Defined in:
- lib/rosett_ai/workflow/schema_validator.rb
Overview
Validates workflow YAML files against the workflow JSON Schema.
Additionally enforces security constraints: shell steps must use array-form commands, prompt steps must not contain secret literals.
Constant Summary collapse
- MAX_STEPS =
50- SCHEMA_PATH =
File.('../../../conf/schemas/workflow_schema.json', __dir__)
Instance Method Summary collapse
- #valid?(data) ⇒ Boolean
-
#validate(data) ⇒ Array<String>
Validation errors (empty if valid).
Instance Method Details
#valid?(data) ⇒ Boolean
31 32 33 |
# File 'lib/rosett_ai/workflow/schema_validator.rb', line 31 def valid?(data) validate(data).empty? end |
#validate(data) ⇒ Array<String>
Returns validation errors (empty if valid).
23 24 25 26 27 |
# File 'lib/rosett_ai/workflow/schema_validator.rb', line 23 def validate(data) errors = schema_errors(data) errors += security_errors(data) if errors.empty? errors end |