Skip to main content
Glama

rigor_plan

Read-onlyIdempotent

Before executing a complex task, get a structured workflow plan with per-step cost estimates. Classifies your task, selects the optimal framework sequence, and returns the full plan without executing anything. The response's allowed_modes tells you whether this plan is eligible for direct execution. Free — no credits charged.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
task_typeNoOptional 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, compose, 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.
preferencesNoOptional workflow preferences.
context_fieldsNoOptional, with prior_workflow_id: the fields to carry over. Pass ["full_step_results"] for every step output in full.
task_descriptionYesNatural language description of the task, at most 4,000 characters. Be specific — include what you want produced, constraints, and context. Example: 'Design a caching layer for our API gateway with Redis integration.'
prior_workflow_idNoOptional: the workflow_id (wr_…) of a finished workflow in your workspace to build on. Its results are passed to this run as context. It is charged as a new run at the normal quote.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNo
planNo
generated_titleNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / context_fields
      Added value: +{
      +  "description": "Optional, with prior_workflow_id: the fields to carry over. Pass [\"full_step_results\"] for every step output in full.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / preferences / properties / execution / description
      Previous value: -"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."New value: +"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. With attachments or prior_workflow_id, the workflow runs as standard execution instead, so the attachments and the earlier results are applied."
    • addedInput schema / properties / prior_workflow_id
      Added value: +{
      +  "description": "Optional: the workflow_id (wr_…) of a finished workflow in your workspace to build on. Its results are passed to this run as context. It is charged as a new run at the normal quote.",
      +  "type": "string"
      +}
  2. Changed3 schema fields changed
    • changedInput schema / properties / preferences / properties / only_frameworks / description
      Previous value: -"Restrict plan to only these frameworks (mutex with skip_frameworks)."New value: +"Restrict the plan to these frameworks (display name or ID). Applied before skip_frameworks; unknown names are reported in warnings."
    • changedInput schema / properties / preferences / properties / skip_frameworks / description
      Previous value: -"Framework names to exclude from the plan."New value: +"Frameworks to exclude, by the display name the plan shows or by ID, any case. Unknown names are reported in warnings."
    • changedInput schema / properties / task_description / description
      Previous value: -"Natural language description of the task. Be specific — include what you want produced, constraints, and context. Example: 'Design a caching layer for our API gateway with Redis integration.'"New value: +"Natural language description of the task, at most 4,000 characters. Be specific — include what you want produced, constraints, and context. Example: 'Design a caching layer for our API gateway with Redis integration.'"
  3. Changed1 schema field changed
    • changedInput schema / properties / preferences / properties / max_budget_usd / description
      Previous value: -"Budget ceiling in USD. Triggers warning if plan exceeds this."New value: +"Spending ceiling in USD. If the plan's quote is still above it after Rigor fits the plan (cheaper models, optional steps dropped), rigor_plan returns a max_budget_exceeded warning and rigor_execute refuses with 402 max_budget_exceeded before anything runs or is charged."
  4. Changed1 schema field changed
    • changedInput schema / properties / task_type / description
      Previous 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."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, compose, 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."
  5. Changed4 schema fields changed
    • 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 / plan / properties / allowed_modes
      Added value: +{
      +  "description": "Execution modes available for this plan beyond the standard multi-call default. Contains 'direct' when the plan is eligible for direct execution; empty array when it is not.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  6. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "generated_title": {
      +      "type": "string"
      +    },
      +    "ok": {
      +      "type": "boolean"
      +    },
      +    "plan": {
      +      "properties": {
      +        "alternatives": {
      +          "type": "object"
      +        },
      +        "classification": {
      +          "properties": {
      +            "task_type": {
      +              "type": "string"
      +            },
      +            "value_class": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "cost": {
      +          "properties": {
      +            "credits": {
      +              "type": "number"
      +            },
      +            "range": {
      +              "type": "object"
      +            },
      +            "usd": {
      +              "type": "number"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "info": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "rigor_level": {
      +          "type": "string"
      +        },
      +        "sequence": {
      +          "items": {
      +            "properties": {
      +              "estimated_credits": {
      +                "type": "number"
      +              },
      +              "name": {
      +                "type": "string"
      +              },
      +              "step": {
      +                "type": "number"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "warnings": {
      +          "items": {
      +            "properties": {
      +              "code": {
      +                "type": "string"
      +              },
      +              "message": {
      +                "type": "string"
      +              },
      +              "suggestion": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "workflow_id": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  7. Changed8 schema fields changed
    • addedInput schema / properties / preferences / properties / add_frameworks
      Added value: +{
      +  "description": "Inject additional frameworks into the plan.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / preferences / properties / approval_before_step
      Added value: +{
      +  "description": "Zero-based step indices where approval gates are inserted.",
      +  "items": {
      +    "type": "number"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / preferences / properties / max_budget_usd / description
      Previous value: -"Maximum budget in USD. Plan will warn if estimated cost exceeds this."New value: +"Budget ceiling in USD. Triggers warning if plan exceeds this."
    • addedInput schema / properties / preferences / properties / only_frameworks
      Added value: +{
      +  "description": "Restrict plan to only these frameworks (mutex with skip_frameworks).",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / preferences / properties / require_approval
      Added value: +{
      +  "description": "Pause at pending_approval before the final step.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / preferences / properties / rigor_level / description
      Previous value: -"Depth of analysis: quick (fast, lower cost), standard (default, balanced), thorough (deep review, higher cost)."New value: +"Review depth. Default auto-detected from task complexity."
    • addedInput schema / properties / preferences / properties / rigor_level / enum
      Added value: +[
      +  "quick",
      +  "standard",
      +  "thorough"
      +]
    • addedInput schema / properties / preferences / properties / skip_frameworks
      Added value: +{
      +  "description": "Framework names to exclude from the plan.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  8. Changed4 schema fields changed
    • removedInput schema / properties / preferences / properties / quality_level
      Removed value: -{
      -  "description": "minimum | standard | maximum. Default: standard.",
      -  "type": "string"
      -}
    • addedInput schema / properties / preferences / properties / rigor_level
      Added value: +{
      +  "description": "Depth of analysis: quick (fast, lower cost), standard (default, balanced), thorough (deep review, higher cost).",
      +  "type": "string"
      +}
    • removedInput schema / properties / preferences / properties / tool_scope
      Removed value: -{
      -  "description": "mandatory | recommended | all. Default: recommended.",
      -  "type": "string"
      -}
    • changedInput schema / properties / task_type / description
      Previous value: -"Optional hint to bypass automatic classification. Values: solution_design, governance_change, requirements_analysis, incident_response, code_implementation, competitive_scan, financial_analysis, deployment_execution."New 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."
  9. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources