addedInput schema / properties / preferences / properties / execution
Added value: +{
+ "description": "Set to 'direct' to compose the plan's content frameworks into a single LLM call and route cost-first, using a per-task-type model floor that moves when a cheaper model earns the work. Research steps, process steps (classification-verify, review protocol, synthesis) and the quality review each remain separate calls, so this is not a one-call-per-workflow guarantee: for atomic task types, which have a single content framework, the call count matches standard execution and the saving is the model. Supplying output_contract replaces the quality-review call with deterministic validation, which is one fewer call. No intermediate outputs. Available at every tier. Auto-selected for atomic task types when no execution preference is given. Falls back to standard execution when combined with require_approval or interactive mode, or when the plan exceeds the composition size limit. Attachments and prior_workflow_id chaining are NOT applied — use standard execution for those.",
+ "enum": [
+ "direct"
+ ],
+ "type": "string"
+}
addedInput schema / properties / preferences / properties / output_contract
Added value: +{
+ "description": "Only read when execution is \"direct\". Declares the JSON shape you want back, so the answer is generated against your schema and validated against it before return, instead of returned as prose you have to parse. A conforming run also skips the quality-review call, costing 1 LLM call rather than 2. The schema is closed: a record carrying an undeclared key is rejected exactly like one missing a required key.",
+ "properties": {
+ "count": {
+ "description": "Bounds on the number of entries. Only read when shape is \"array\".",
+ "properties": {
+ "max": {
+ "type": "number"
+ },
+ "min": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "fields": {
+ "description": "The schema for 1 record.",
+ "items": {
+ "properties": {
+ "description": {
+ "description": "Passed to the model as the field's description.",
+ "type": "string"
+ },
+ "enum": {
+ "description": "Restricts a string field to a fixed set of values.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "maximum": {
+ "description": "Upper bound for a numeric field.",
+ "type": "number"
+ },
+ "minimum": {
+ "description": "Lower bound for a numeric field.",
+ "type": "number"
+ },
+ "name": {
+ "description": "The JSON key.",
+ "type": "string"
+ },
+ "required": {
+ "description": "Defaults to true. Set false for a field that may be absent.",
+ "type": "boolean"
+ },
+ "type": {
+ "description": "The value's type.",
+ "enum": [
+ "string",
+ "number",
+ "integer",
+ "boolean",
+ "array",
+ "object"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "selection": {
+ "description": "Use when you want the model to over-generate candidates and Rigor to sort, threshold, and cap them before the count bounds are checked.",
+ "properties": {
+ "maxCount": {
+ "type": "number"
+ },
+ "minCount": {
+ "type": "number"
+ },
+ "minScore": {
+ "type": "number"
+ },
+ "scoreField": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "shape": {
+ "description": "\"object\" for 1 record, \"array\" for 1 entry per input item.",
+ "enum": [
+ "object",
+ "array"
+ ],
+ "type": "string"
+ },
+ "task_type": {
+ "description": "Your own label for the work. Echoed into telemetry. Not read as a framework name and does not change routing.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "task_type",
+ "shape",
+ "fields"
+ ],
+ "type": "object"
+}
changedInput schema / properties / task_type / description
Previous value: -"Optional hint to bypass automatic classification. Values: solution_design, requirements_analysis, code_implementation, code_review, bug_fix, root_cause_analysis, incident_response, deployment_execution, competitive_scan, financial_analysis, research_task, documentation, governance_change, compliance_audit, data_security_assessment, performance_optimization, user_story_definition, implementation_prompt_generation."New value: +"Optional hint to bypass automatic classification. Passing it also removes the slowest classification tiers from the critical path, so send it whenever you know the shape. Multi-step deliverable types: solution_design, requirements_analysis, code_implementation, code_review, bug_fix, root_cause_analysis, incident_response, deployment_execution, competitive_scan, financial_analysis, research_task, documentation, governance_change, compliance_audit, data_security_assessment, performance_optimization, user_story_definition, implementation_prompt_generation. Atomic single-call types, which auto-select direct execution: tag, score, rerank, extract_entities, parse_query, quick_research, quick_classification, quick_extraction, quick_scoring. Call GET /api/rigor/task-types for the full vocabulary with each type's shape."
addedOutput schema / properties / execution
Added value: +{
+ "description": "Present with value 'direct' when direct execution ran. Absent for standard multi-call execution.",
+ "type": "string"
+}
addedOutput schema / properties / execution_fallback
Added value: +{
+ "description": "True when you explicitly requested direct execution and it could not be honoured — the workflow ran as standard multi-call instead. Never set for an auto-selected attempt, since you did not ask.",
+ "type": "boolean"
+}