1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6011],{23810:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>a});var r=s(73231),i=s(33919);let n=JSON.parse('{"JZ":[{"task_type":"daily_operational_report","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["daily","report","digest","output","write daily"],"expected_agents":["ceo","ops_director","portfolio_lead","service_ops"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"health_check","default_rigor_level":"quick","risk_min":1,"risk_max":2,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["health","connectivity","reachability","check","monitor"],"expected_agents":["service_ops"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"work_item_triage","default_rigor_level":"quick","risk_min":1,"risk_max":3,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["triage","prioritize","score","assign","backlog"],"expected_agents":["ops_director"],"unexpected_agent_action":"block","excludes":[]}},{"task_type":"work_item_execution","default_rigor_level":"quick","risk_min":1,"risk_max":5,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["work item","execute","assigned task"],"expected_agents":["ceo","ops_director","service_ops","portfolio_lead","compliance_monitor","market_intel","customer_experience","ops_suite_lead","gov_suite_lead","agent_resources"],"unexpected_agent_action":"warn_and_confirm","excludes":[]},"notes":"Governance determined by the work item own type. Fallback when item_type is not mapped."},{"task_type":"weekly_strategic_report","default_rigor_level":"quick","risk_min":2,"risk_max":1,"output_type":"STRATEGIC","value_class":"operational","match_hints":{"keywords":["weekly","report","portfolio health","board report","strategic"],"expected_agents":["ceo","portfolio_lead","ops_suite_lead","gov_suite_lead"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"competitive_scan","default_rigor_level":"standard","risk_min":1,"risk_max":3,"output_type":"COMPETITIVE","value_class":"governance","match_hints":{"keywords":["competitive","scan","competitor","market","threat","intelligence"],"excludes":["analyze whether","evaluate whether","is competitive","competitive and sustainable","should we","assess whether","battlecard","battle card"],"expected_agents":["market_intel"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"financial_analysis","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"FINANCIAL","value_class":"governance","match_hints":{"keywords":["revenue","margin","P&L","budget","financial","billing data","credit consumption","unit economics","burn rate analysis"],"excludes":["evaluate whether","should we","assess whether","determine if"],"expected_agents":["financial_analyst"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"suite_assessment","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["suite","product health","enhancement","gap analysis","pipeline"],"expected_agents":["ops_suite_lead","gov_suite_lead"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"distribution_analysis","default_rigor_level":"quick","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["distribution","channel","listing","discoverability","acquisition"],"expected_agents":["marketing_growth"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"dx_audit","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["DX","developer experience","onboarding","error message"],"expected_agents":["customer_experience"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"org_assessment","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["scorecard","trust level","capability gap","agent performance","organizational"],"expected_agents":["agent_resources"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"knowledge_curation","default_rigor_level":"standard","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["propagation","freshness","knowledge","ONBOARDING","Notion"],"expected_agents":["compliance_monitor"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"compliance_audit","default_rigor_level":"thorough","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["compliance","audit","retention","deletion","GDPR","CCPA","privacy","legal","terms of service","ToS","commercial redistribution","legal review","data dependency legal"],"expected_agents":["compliance_monitor"],"unexpected_agent_action":"block","excludes":[]},"min_rigor_for_high_risk":"standard"},{"task_type":"data_security_assessment","default_rigor_level":"thorough","risk_min":3,"risk_max":5,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["data security assessment","security audit","security posture","GDPR assessment","compliance assessment","data governance audit","security maturity","tenant isolation audit","data retention audit","API security review","data protection asse
1ssment"],"excludes":["code review","vulnerability scan","penetration test","implement","fix","deploy"],"expected_agents":["compliance_monitor","service_ops"],"unexpected_agent_action":"warn_and_confirm"},"min_rigor_for_high_risk":"standard"},{"task_type":"solution_design","default_rigor_level":"thorough","risk_min":3,"risk_max":5,"output_type":"DESIGN","value_class":"strategic","match_hints":{"keywords":["design","architecture","solution","spec","technical spec"],"excludes":["bug","fix","broken","error","incident","frontend","ADR","architecture decision record","onboarding","proposal","battlecard","battle card","job description","implementation plan"],"risk_indicators":["affects 3+ systems","new infrastructure","schema change"],"expected_agents":["product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"requirements_analysis","default_rigor_level":"standard","risk_min":4,"risk_max":5,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["requirements","brief","strategic decision","evaluation","alternatives"],"expected_agents":["product_architect","agent_resources"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"governance_change","default_rigor_level":"thorough","risk_min":4,"risk_max":5,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["governance","policy","protocol","framework","new agent","trust level","checkpoint","phase","gate","mandatory","governance-tier"],"expected_agents":["gov_suite_lead","agent_resources","compliance_monitor"],"unexpected_agent_action":"block","excludes":["policy document","policy creation","write policy","draft policy","create policy"]},"min_rigor_for_high_risk":"standard"},{"task_type":"kill_evaluation","default_rigor_level":"thorough","risk_min":4,"risk_max":5,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["kill","decommission","sunset","product viability","fitness review"],"expected_agents":["portfolio_lead"],"unexpected_agent_action":"block","excludes":[]},"min_rigor_for_high_risk":"standard"},{"task_type":"strategic_synthesis","default_rigor_level":"standard","risk_min":3,"risk_max":4,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["synthesis","cross-pillar","coordination","strategic priority","alignment"],"expected_agents":["ceo"],"unexpected_agent_action":"warn_and_confirm","excludes":[]}},{"task_type":"incident_response","default_rigor_level":"thorough","risk_min":2,"risk_max":5,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["respond to incident","restore service","mitigate","page on-call","incident playbook","execute response","incident response plan","incident response playbook","create incident response"],"excludes":["diagnose","investigate","analyze","investigate and fix","debug","create a protocol","design a protocol","establish a protocol","new protocol"],"expected_agents":["service_ops","ops_director"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"incident_resolution","default_rigor_level":"standard","risk_min":3,"risk_max":5,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["resolve incident","fix outage","restore service","incident fix","production fix","hotfix incident","emergency fix","resolve the incident","fix the outage"],"excludes":["create plan","create playbook","design response","prepare for","proactive"],"expected_agents":["service_ops","build_agent"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"code_implementation","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["implement","code","build","PR","branch","deploy","code implementation","implement code"],"excludes":["evaluate","assess","research","investigate","code review"],"expected_agents":["build_agent"],"unexpected_agent_action":"block"},"requires_upstream":["solution_design_output","implementation_prompts_output"]},{"task_type":"deployment_execution","default_rigor_level":"standard","risk_min":3,"risk_max":4,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["deploy","deployment","activate","decommission","wave"],"expected_agents":["ops_director"],"unexpected_agent_action":"block","excludes":[]},"requires_upstream":["code_output","testing_strategy_output","implementation_prompts_output"]},{"task_type":"bug_fix","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"TECHNICAL","value_class":"operational","match_hints":{"keywords":["fix the bug","fix this bug","broken","regression","patch","repair","resolve the bug","apply the fix","bug fix","fix bug"],"excludes":["debug","diagnose","investigate the bug","investigate why","analyze","outage","P1","P2","production down"],"expected_agents":["service_ops","build_agent"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"strategic_evaluation","default_rigor_level":"standard","risk_min":3,"risk_max":5,"output_type":"STRATEGIC","value_class":"governance","match_hints":{"keywords":["evaluate whether","should we","asse
1ss whether","determine if","pros and cons","build vs buy","tradeoff analysis","decision analysis"],"excludes":["kill","decommission","sunset","terms of service","ToS","legal review","commercial redistribution"],"expected_agents":["portfolio_lead","product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"research_task","default_rigor_level":"standard","risk_min":1,"risk_max":3,"output_type":"RESEARCH","value_class":"governance","match_hints":{"keywords":["research","investigate","survey","what exists","how do others","best practices","state of the art","landscape"],"excludes":["bug","fix","broken","implement","build","design"],"expected_agents":["market_intel","product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"documentation","default_rigor_level":"standard","risk_min":1,"risk_max":2,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["write documentation","update docs","API documentation","write guide","write spec","readme","document the"],"excludes":["audit","compliance"],"expected_agents":["compliance_monitor","customer_experience"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"performance_optimization","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["optimize","speed up","make X faster","improve performance","reduce latency","apply optimization","slow"],"excludes":["diagnose","profile","find bottleneck","analyze","outage","down","500 error"],"expected_agents":["service_ops","build_agent"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"implementation_prompt_generation","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"TECHNICAL","value_class":"operational","match_hints":{"keywords":["implementation prompt","claude code prompt","coding agent prompt","generate prompts","produce prompts","sequenced prompts"],"excludes":[],"risk_indicators":["multi-file","cascading"],"expected_agents":["product_architect"],"unexpected_agent_action":"warn_and_confirm"},"requires_upstream":["solution_design_output"]},{"task_type":"root_cause_analysis","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["root cause","why did this happen","why does this keep","recurring failure","incident review","after action review","blameless retrospective","investigate why","systemic issue","keeps failing","prevent recurrence","failure analysis"],"excludes":["fix the bug","deploy","implement","outage right now","production down","restore service","post-mortem","postmortem","post mortem","write a post-mortem"],"expected_agents":["service_ops","ops_director"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"code_review","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["code review","review code","security audit","vulnerability scan","audit codebase","review for vulnerabilities","security review","code audit","review pull request","PR review","code quality review"],"excludes":["implement","build","write code","fix the bug","deploy"],"expected_agents":["build_agent","service_ops"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"dct_triage","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["dormant capability","dormant feature","half-built","never evaluates","accepts but ignores","silent lie","stored but not used","accepted but not enforced","implement or remove","dead code triage"],"excludes":["prioritize","score","backlog","assign"],"expected_agents":["ops_director","service_ops"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"swot_analysis","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["SWOT","SWOT analysis","strengths weaknesses opportunities threats","strengths and weaknesses","opportunities and threats","internal strengths","strategic position asse
1ssment"],"excludes":["competitive landscape only","competitor list"],"expected_agents":["ceo","portfolio_lead","market_intel"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"codebase_reconciliation","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"TECHNICAL","value_class":"operational","match_hints":{"keywords":["reconcile","codebase reconciliation","verify design against code","validate assumptions","Pattern 179","design verification"],"expected_agents":["product_architect","build_agent"],"unexpected_agent_action":"warn_and_confirm","excludes":[]},"requires_upstream":["solution_design_output"]},{"task_type":"user_story_definition","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["user story","user stories","write stories","define stories","story definition","feature request to story","requirements to stories","backlog items","acceptance criteria","story mapping","product backlog"],"excludes":["requirements brief","solution design","architecture","implement","deploy"],"expected_agents":["product_architect","portfolio_lead"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"live_assumption_validation","framework":"LIVE-ASSUMPTION-VALIDATION","model_tier":"tier_3","conditional":true,"condition_description":"AV output contains â¥1 risky+breaking+unverified assumption","semantic_role":"prerequisite","dispatch_to":"self","notes":"Conditional step between ASSUMPTION-VERIFICATION and SOLUTION-DESIGN-FRAMEWORK. Generates validation commands and conservative design constraints. Phase 1 only â command execution deferred to B.548.","match_hints":{"keywords":[],"excludes":[],"expected_agents":[],"unexpected_agent_action":"warn_and_confirm"},"default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"OPERATIONAL","value_class":"operational"},{"task_type":"external_dependency_verification","framework":"EXTERNAL-DEPENDENCY-VERIFICATION","model_tier":"tier_2","conditional":true,"condition_description":"RA output contains externalDependencies[] with â¥1 entry","semantic_role":"prerequisite","dispatch_to":"self","notes":"Conditional step between REQUIREMENTS-ANALYSIS and SOLUTION-DESIGN-FRAMEWORK. Verifies external API contracts, MCP tool availability, and endpoint behavior before design proceeds. Prevents Pattern 200 failures. Phase 1 only â command execution deferred.","match_hints":{"keywords":[],"excludes":[],"expected_agents":[],"unexpected_agent_action":"warn_and_confirm"},"value_class":"operational","risk_max":4,"default_rigor_level":"standard","risk_min":2,"output_type":"OPERATIONAL"},{"task_type":"bug_diagnosis","default_rigor_level":"standard","risk_min":1,"risk_max":3,"output_type":"TECHNICAL","value_class":"operational","match_hints":{"keywords":["debug","diagnose the bug","analyze the bug","what\'s wrong with","investigate the bug","why is X failing","why does X not work","what\'s causing","diagnose"],"excludes":["fix the bug","apply the fix","implement","deploy","patch","repair","resolve"],"expected_agents":["service_ops","build_agent"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"incident_diagnosis","default_rigor_level":"thorough","risk_min":2,"risk_max":5,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["diagnose the incident","what caused the outage","why is the system down","investigate the incident","what\'s the root cause of","incident analysis"],"excludes":["respond","restore","mitigate","fix"],"expected_agents":["service_ops","ops_director"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"performance_diagnosis","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["diagnose slowness","find the bottleneck","why is X slow","profile","analyze performance","investigate performance"],"excludes":["optimize","speed up","make X faster","improve performance"],"expected_agents":["service_ops","build_agent"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"market_sizing","default_rigor_level":"standard","risk_min":1,"risk_max":3,"output_type":"RESEARCH","value_class":"strategic","match_hints":{"keywords":["market size","market sizing","TAM","SAM","SOM","total addressable market","serviceable addressable market","market opportunity","market share","market potential"],"excludes":["evaluate whether","should we","competitive scan","competitor"],"expected_agents":["market_intel","portfolio_lead"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"pricing_study","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["pricing study","price sensitivity","willingness to pay","pricing strategy","pricing analysis","price point","monetization strategy","price elasticity","competitive pricing"],"excludes":["billing data","credit consumption","revenue pipeline","unit economics","P&L","margin analysis"],"expected_agents":["financial_analyst","portfolio_lead","market_intel"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"user_research_synthesis","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"RESEARCH","value_class":"governance","match_hints":{"keywords":["user research","synthesis","interview synthesis","usability findings","research insights","user interviews","survey synthesis","qualitative analysis","research themes","user feedback synthesis","affinity mapping","thematic analysis"],"excludes":["competitive","market size","implement","build","fix"],"expected_agents":["product_ar
1chitect","market_intel"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"risk_register","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["risk register","risk assessment","identify risks","risk catalogue","risk inventory","risk matrix","likelihood impact","risk scoring","risk log","risk management"],"excludes":["compliance audit","security audit","code review"],"expected_agents":["portfolio_lead","product_architect","compliance_monitor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"vendor_evaluation","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["vendor evaluation","vendor selection","vendor comparison","tool evaluation","platform comparison","make vs buy","build vs buy","supplier evaluation","vendor assessment","evaluate vendors","compare vendors","vendor shortlist"],"excludes":["kill","decommission","sunset","competitive scan","market sizing"],"expected_agents":["portfolio_lead","product_architect","financial_analyst"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"launch_plan","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["launch plan","go-to-market","GTM","product launch","launch strategy","launch playbook","launch readiness","launch checklist","go to market","launch milestones","launch timeline"],"excludes":["evaluate whether","should we","competitive scan","market sizing"],"expected_agents":["portfolio_lead","marketing_growth","product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"gap_analysis","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["gap analysis","gap assessment","what\'s missing","coverage gaps","maturity assessment","current state vs target","delta analysis"],"excludes":["root cause","post-mortem","incident","debug","code review"],"expected_agents":["product_architect","org_analyst"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"content_strategy","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"STRATEGIC","value_class":"governance","match_hints":{"keywords":["content strategy","content plan","editorial calendar","content roadmap","content pillars","content framework","publishing strategy"],"excludes":["write content","blog post","social media post","copywriting","launch plan"],"expected_agents":["marketing_growth"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"brand_positioning","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["brand positioning","brand strategy","positioning statement","brand differentiation","value proposition","brand architecture","brand identity"],"excludes":["logo","visual design","competitive scan","market sizing"],"expected_agents":["marketing_growth"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"competitive_battlecard","default_rigor_level":"quick","risk_min":1,"risk_max":3,"output_type":"COMPETITIVE","value_class":"governance","match_hints":{"keywords":["battlecard","battle card","competitive cheat sheet","sales enablement card","competitor comparison card","win/loss card"],"excludes":["competitive scan","market analysis","vendor evaluation"],"expected_agents":["marketing_growth"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"proposal_outline","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["proposal outline","proposal structure","RFP response","project proposal","proposal draft","bid outline","consulting proposal"],"excludes":["business case","budget","pricing study"],"expected_agents":["product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"job_description","default_rigor_level":"quick","risk_min":1,"risk_max":2,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["job description","role profile","job posting","JD","hiring spec","job requirements","role requirements","position description"],"excludes":["onboarding","performance review","training"],"expected_agents":[],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"knowledge_base_article","default_rigor_level":"quick","risk_min":1,"risk_max":2,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["knowledge base","KB article","how-to guide","troubleshooting guide","help article","FAQ","support article","documentation guide"],"excludes":["API documentation","architecture","runbook"],"expected_agents":[],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"feature_prioritization","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["feature prioritization","RICE scoring","ICE scoring","prioritize features","backlog prioritization","feature ranking","priority matrix","feature scoring"],"excludes":["WSJF","work item triage","sprint planning","roadmap"],"expected_agents":["product_ar
1chitect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"compensation_benchmark","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"RESEARCH","value_class":"governance","match_hints":{"keywords":["compensation benchmark","salary benchmark","comp analysis","pay equity","compensation comparison","salary range","total compensation","comp structure"],"excludes":["job description","performance review","hiring"],"expected_agents":[],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"post_mortem","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["post-mortem","postmortem","retrospective","retro","lessons learned","after-action review","AAR","project debrief","sprint retrospective"],"excludes":["root cause analysis","incident response","debug","diagnose"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"executive_summary","default_rigor_level":"quick","risk_min":1,"risk_max":3,"output_type":"STRATEGIC","value_class":"governance","match_hints":{"keywords":["executive summary","executive brief","one-pager","brief for leadership","board summary","decision brief","management summary"],"excludes":["status report","progress report","full analysis"],"expected_agents":[],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"status_report","default_rigor_level":"quick","risk_min":1,"risk_max":2,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["status report","status update","progress report","weekly update","project update"],"excludes":["post-mortem","retrospective","gap analysis"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"technical_debt_assessment","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["technical debt","tech debt","code health","debt assessment","debt inventory","legacy code assessment","refactoring priority"],"excludes":["code review","bug","performance optimization"],"expected_agents":["product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"onboarding_plan","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["onboarding plan","onboarding checklist","new hire onboarding","customer onboarding","system onboarding","30-60-90","ramp-up plan"],"excludes":["training needs","performance review","job description"],"expected_agents":[],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"business_case","default_rigor_level":"standard","risk_min":3,"risk_max":5,"output_type":"STRATEGIC","value_class":"strategic","match_hints":{"keywords":["business case","ROI analysis","investment justification","cost-benefit analysis","CBA","payback period","NPV analysis","return on investment"],"excludes":["pricing study","market sizing","vendor evaluation","unit economics","budget planning"],"expected_agents":["financial_analyst"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"unit_economics","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"FINANCIAL","value_class":"strategic","match_hints":{"keywords":["unit economics","CAC","LTV","customer acquisition cost","lifetime value","contribution margin","payback period","cohort economics"],"excludes":["business case","pricing study","financial report","budget"],"expected_agents":["financial_analyst"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"implementation_plan","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["implementation plan","project plan","phased plan","project timeline","resource allocation","milestone schedule","task breakdown"],"excludes":["implementation prompt","claude code","coding prompt","launch plan","bug fix","bug fix plan"],"expected_agents":["product_ar
1chitect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"runbook","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["runbook","SOP","standard operating procedure","operational procedure","playbook","step-by-step procedure","operations manual"],"excludes":["incident response","implementation plan","architecture"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"change_management","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["change management","change plan","organizational change","transition plan","communication plan for change","change readiness"],"excludes":["governance change","policy change","code change"],"expected_agents":[],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"data_migration","default_rigor_level":"standard","risk_min":3,"risk_max":5,"output_type":"TECHNICAL","value_class":"governance","match_hints":{"keywords":["data migration","schema migration","data transfer","database migration","ETL plan","data cutover","migration strategy"],"excludes":["code migration","cloud migration","platform migration"],"expected_agents":["product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"architecture_decision_record","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"DESIGN","value_class":"governance","match_hints":{"keywords":["ADR","architecture decision record","architecture decision","design decision","technical decision record"],"excludes":["solution design","implementation plan","code review"],"expected_agents":["product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"api_design_review","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"TECHNICAL","value_class":"governance","requires_upstream":["solution_design_output"],"match_hints":{"keywords":["API design review","API review","endpoint review","API evaluation","REST API review","API consistency"],"excludes":["code review","security audit","performance"],"expected_agents":["product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"policy_creation","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"STRATEGIC","value_class":"governance","match_hints":{"keywords":["policy document","policy creation","write policy","governance policy","compliance policy","organizational policy","policy draft"],"excludes":["compliance audit","security assessment"],"expected_agents":[],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"frontend_implementation","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"TECHNICAL","value_class":"governance","requires_upstream":["codebase_reconciliation_output","research_output","design_reference"],"match_hints":{"keywords":["component","UI","CSS","Tailwind","React","frontend","layout","styling","responsive","Figma","design system","mockup","wireframe"],"excludes":["API route","database migration","SQL","cron","worker","backend"],"expected_agents":["build_agent"]},"sequence":[{"framework":"REQUIREMENTS-ANALYSIS","priority":"must"},{"framework":"DESIGN-REFERENCE-EXTRACTION","priority":"must"},{"framework":"API-SHAPE-VERIFICATION","priority":"must"},{"framework":"SOLUTION-DESIGN-FRAMEWORK","priority":"must"},{"framework":"CODEBASE-RECONCILIATION","priority":"should"},{"framework":"IMPLEMENTATION-PROMPT-PROTOCOL","priority":"must"},{"framework":"IMPLEMENTATION-VERIFICATION","priority":"must","note":"runs after EACH IPP prompt"},{"framework":"VISUAL-FIDELITY-VERIFICATION","priority":"must"},{"framework":"REVIEW-PROTOCOL","priority":"must"}]},{"task_type":"quick_research","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"FACTUAL","match_hints":{"keywords":[],"excludes":[]},"capability":{"summary":"A single factual lookup with no framework sequence behind it.","returns":"A short factual answer."}},{"task_type":"quick_classification","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["classify","categorize","category","which category","label this","tag this as","sort into categories","classification"],"excludes":["triage","backlog","task type"]},"capability":{"summary":"General-purpose classification when your labels are not a fixed vocabulary you reuse.","returns":"The chosen category."}},{"task_type":"quick_extraction","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["extract","extract the","pull out","parse out","identify the fields","extract data points","extraction"],"excludes":["design tokens","requirements","research how"]},"capability":{"summary":"General-purpose extraction when the fields change from call to call.","returns":"The extracted values, against the schema you declared."}},{"task_type":"quick_scoring","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["score this","rate this","rating","on a scale of","grade this","scoring","how
1well does"],"excludes":["backlog","work item","prioritize","vendor","feature prioritization"]},"capability":{"summary":"General-purpose rating against criteria you state in the request.","returns":"A score, with the reasoning when you ask for one."}},{"task_type":"process_definition","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["process definition","define process","document process","process documentation","SIPOC","process steps","process map","map our process","process boundary","standard operating procedure","SOP","process inventory","establish a process"],"excludes":["governance protocol","governance framework","code review process","design a new process","improve process","redesign process","operating model","org structure","org design"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"process_design","default_rigor_level":"standard","risk_min":3,"risk_max":5,"output_type":"OPERATIONAL","value_class":"strategic","match_hints":{"keywords":["process design","design process","redesign process","process improvement","process optimization","to-be process","swimlane","process reengineering","BPR","DMAIC","lean process","process efficiency","reduce cycle time","process bottleneck","waste analysis"],"excludes":["define process","document process","SIPOC","process inventory","operating model","org structure","org design","solution design","technical design","API design"],"expected_agents":["product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"operating_model_design","default_rigor_level":"thorough","risk_min":4,"risk_max":5,"output_type":"OPERATIONAL","value_class":"strategic","match_hints":{"keywords":["operating model","target operating model","TOM","org design","organizational design","capability map","decision rights","governance framework design","org structure design","delivery model","operating model canvas"],"excludes":["process definition","process design","swimlane","solution design","technical architecture","governance change","governance protocol"],"expected_agents":["product_architect"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"release_planning","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["release plan","release planning","go no go","release checklist","rollback plan","quality gate","release coordination","deployment plan"],"excludes":["marketing launch","go-to-market","product launch plan"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"okr_setting","default_rigor_level":"standard","risk_min":2,"risk_max":3,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["OKR","objectives and key results","set OKRs","define OKRs","quarterly goals","key results","goal setting framework"],"excludes":["KPI dashboard","performance review","metrics tracking"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"stakeholder_analysis","default_rigor_level":"standard","risk_min":2,"risk_max":4,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["stakeholder analysis","stakeholder mapping","power interest grid","stakeholder engagement","stakeholder register","identify stakeholders"],"excludes":["requirements analysis","user research"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"capacity_planning","default_rigor_level":"standard","risk_min":3,"risk_max":4,"output_type":"OPERATIONAL","value_class":"strategic","match_hints":{"keywords":["capacity planning","resource planning","staffing plan","headcount planning","workforce planning","FTE planning","capacity gap"],"excludes":["infrastructure capacity","server capacity","financial forecast"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"access_review","default_rigor_level":"standard","risk_min":3,"risk_max":5,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["access review","access audit","permission review","least privilege","access rights","entitlement review","access controls","audit access"],"excludes":["code review","design review","architecture review"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"audit_report","default_rigor_level":"standard","risk_min":3,"risk_max":5,"output_type":"OPERATIONAL","value_class":"governance","match_hints":{"keywords":["audit report","internal audit","audit findings","process audit","operational audit","control audit"],"excludes":["compliance checklist","SOC 2","ISO 27001","code review","access review"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"meeting_notes","default_rigor_level":"quick","risk_min":1,"risk_max":2,"output_type":"OPERATIONAL","value_class":"operational","match_hints":{"keywords":["meeting notes","meeting summary","meeting minutes","summarize meeting","action items from meeting","document meeting","action items from"],"excludes":["executive summary","status report","post-mortem"],"expected_agents":["ops_supervisor"],"unexpected_agent_action":"warn_and_confirm"}},{"task_type":"business_design","default_rigor_level":"standard","risk_min":3,"risk_max":5,"output_type":"DESIGN","value_class":"strategic","match_hints":{"keywords":["business design","operating model","go-to-market design","gtm design","business process design","org design","operating-model","commercial model","service design"],"excludes":["code","schema","API","endpoint","architecture","refactor","file","migration","database","frontend","bug","technical spec"],"risk_indicators":["affects multiple teams","organizational change","new business process"],"expected_agents":["business_architect"]}},{"task_type":"framework_development","default_rigor_level":"standard","risk_min":3,"risk_max":5,"output_type":"DESIGN","value_class":"strategic","match_hints":{"keywords":["framework","taxonomy","rubric","maturity model","competency model","scoring matrix","assessment model","evaluation framework","rating framework"],"excludes":["policy","protocol","governance document","process definition","system design","code","runbook","playbook"],"risk_indicators":[],"expected_agents":["business_architect"]}},{"task_type":"tag","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["article taxonomy","classify this article","article category","assign taxonomy","search vocabulary judgment","content taxonomy"],"excludes":["triage","backlog","task type","work item"]},"capability":{"summary":"Assign 1 label, or several, from a closed set you define.","returns":"The chosen label or labels."}},{"task_type":"extract_entities","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["extract tradingview symbol","extract polymarket","content entity extraction","extract retrieval hint","content discovery query","extract trading symbol","market entity extraction"],"excludes":["design tokens","requirements","research how"]},"capability":{"summary":"Pull named values out of unstructured text.","returns":"1 typed record per match, against the schema you declared."}},{"task_type":"score","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["relevancy score","context relevancy","
1judge relevancy","relevancy judge","rate relevancy"],"excludes":["work item","backlog","vendor evaluation"]},"capability":{"summary":"Judge relevance or quality on a scale you define.","returns":"A numeric score per item, with the reason when you ask for one."}},{"task_type":"rerank","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["rerank these candidates","reorder these results","rank these candidates against","put these passages in relevance order","sort these retrieved results by relevance","best first ordering of these candidates"],"excludes":["score each","rate each","work item","backlog","run this search","summarize the results"]},"capability":{"summary":"Reorder a list of candidates you supply, best first.","returns":"A permutation of your own candidate ids, checked for validity before return when you send the candidates as a JSON list."}},{"task_type":"compose","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["draft this to our style guide","write this against the supplied specification","compose an artefact to these rules","produce copy that follows our playbook","revise this draft against these findings","generate these items to the schema I declared"],"excludes":["score each","rate each","rerank","work item","backlog","research this","summarize the results","review this document"]},"capability":{"summary":"Write one artefact, or a bounded set, to a specification you supply.","returns":"Your declared fields, filled â validated against your own schema before return."}},{"task_type":"parse_query","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["search query parse","parse this search query","natural language search query","structured search parameters","search filters from this query","search intent classification"],"excludes":["run this search","summarize the results","work item","backlog"]},"capability":{"summary":"Turn a natural-language query into structured search parameters.","returns":"1 record of the query fields you declared."}},{"task_type":"cluster","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["event topic clustering","group articles by topic","cluster these articles","event clustering"],"excludes":["backlog","work item"]},"capability":{"summary":"Group items you supply into labelled groups, by a criterion you state.","returns":"Groups of your own item ids, plus the ids left in no group."}},{"task_type":"grade_set","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":[],"excludes":[]},"capability":{"summary":"Grade a set of items you supply as a whole, from the perspectives and against the rubric you declare.","returns":"Per perspective: a set score, a top-k score, rubric scores, the questions asked and which items answer them, the noise and the gaps; plus perspective weights and your diagnosis categories."}},{"task_type":"chart_vision_extraction","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["chart image","extract chart fields","chart vision extraction","chart to structured data","read this chart"],"excludes":["design tokens","requirements"]}},{"task_type":"prospect_onboarding_preview","value_class":"operational","default_rigor_level":"quick","risk_min":1,"risk_max":1,"output_type":"OPERATIONAL","match_hints":{"keywords":["prospect url","onboarding preview","themed preview channel","onboarding agent","prospect onboarding"],"excludes":["backlog","work item"]}}]}').JZ.filter(e=>e.capability).map(e=>({id:e.task_type,...e.capability})).sort((e,t)=>Number(e.id.startsWith("quick_"))-Number(t.id.startsWith("quick_")));function a(){let{t:e}=(0,i.B)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("style",{children:"\n.api-hero { padding: 72px 0 40px; }\n.api-hero .caption { font: 500 11px/1 var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-2); margin-bottom: 14px; }\n.api-hero h1 { font: 500 48px/1.06 var(--font-display); letter-spacing: -0.04em; margin: 0 0 16px; }\n.api-hero h1 em { color: var(--accent-2); font-style: italic; font-weight: 400; }\n.api-hero .sub { font: 400 17px/1.55 var(--font-body); color: var(--fg-2); max-width: 640px; margin: 0; }\n.api-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 48px; margin-top: 32px; padding-bottom: 80px; }\n.api-toc { position: sticky; top: 80px; align-self: start; }\n.api-toc h4 { font: 500 10.5px/1 var(--font-mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-3); margin: 16px 0 8px; }\n.api-toc h4:first-child { margin-top: 0; }\n.api-toc a { display: block; padding: 4px 8px; color: var(--fg-2); border-radius: 4px; font: 400 13px/1.4 var(--font-body); text-decoration: none; }\n.api-toc a:hover { color: var(--accent-2); background: var(--accent-2-soft); }\n@media (max-width: 720px) { .api-layout { grid-template-columns: 1fr; } .api-toc { display: none; } }
1\n.api-content h2 { font: 500 26px/1.15 var(--font-display); letter-spacing: -0.02em; color: var(--fg-1); margin: 48px 0 14px; padding-bottom: 10px; border-bottom: 1px solid var(--rule); scroll-margin-top: 80px; }\n.api-content h2:first-child { margin-top: 0; }\n.api-content h3 { font: 500 16px/1.3 var(--font-body); color: var(--fg-1); margin: 28px 0 8px; scroll-margin-top: 80px; }\n.api-content p { font: 400 14.5px/1.65 var(--font-body); color: var(--fg-2); margin: 0 0 14px; }\n.api-content ul { padding-left: 22px; margin: 0 0 16px; }\n.api-content ul li { font: 400 14px/1.6 var(--font-body); color: var(--fg-2); margin-bottom: 6px; }\n.api-content a { color: var(--accent-2); border-bottom: 1px dashed currentColor; }\n.endpoint { margin: 16px 0 28px; background: var(--surface-1); border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; }\n.endpoint-head { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: var(--surface-2); border-bottom: 1px solid var(--rule); }\n.ep-meta { font: 500 12px/1 var(--font-mono); color: var(--fg-3); margin-left: auto; }\n.method { font: 500 11px/1 var(--font-mono); padding: 5px 10px; border-radius: 4px; color: #fff; }\n.method-get { background: #2E5C84; }\n.method-post { background: #2F6B4E; }\n.method-patch { background: #7B5C2E; }\n.method-delete { background: #7B2E2E; }\n.endpoint-path { font: 500 14px/1.4 var(--font-mono); color: var(--fg-1); }\npre { margin: 0; padding: 16px 18px; font: 400 13px/1.55 var(--font-mono); color: var(--fg-1); background: var(--surface-2); overflow-x: auto; }\ncode { font-family: var(--font-mono); font-size: 13px; background: var(--surface-2); padding: 2px 6px; border-radius: 4px; color: var(--fg-1); }\n.api-table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font: 400 13.5px/1.5 var(--font-body); }\n.api-table th { font: 500 11px/1 var(--font-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--fg-3); padding: 8px 12px; text-align: left; border-bottom: 1px solid var(--rule); }\n.api-table td { padding: 9px 12px; color: var(--fg-2); border-bottom: 1px solid var(--rule); vertical-align: top; }\n.api-table td code { font-size: 12px; }\n.api-table tr:last-child td { border-bottom: none; }\n"}),(0,r.jsxs)("main",{children:[(0,r.jsx)("div",{className:"api-hero",children:(0,r.jsxs)("div",{className:"container",children:[(0,r.jsx)("p",{className:"caption",children:e("apiDocs.caption")}),(0,r.jsxs)("h1",{children:[e("apiDocs.title")," ",(0,r.jsx)("em",{children:e("apiDocs.titleItalic")})]}),(0,r.jsxs)("p",{className:"sub",children:[e("apiDocs.sub")," ","Base URL: ",(0,r.jsx)("code",{children:"https://plith.ai"})]})]})}),(0,r.jsx)("div",{className:"container",children:(0,r.jsxs)("div",{className:"api-layout",children:[(0,r.jsxs)("aside",{className:"api-toc",children:[(0,r.jsx)("h4",{children:e("apiDocs.toc.overview")}),(0,r.jsx)("a",{href:"#authentication",children:"Authentication"}),(0,r.jsx)("a",{href:"#quickstart",children:"Quick start"}),(0,r.jsx)("a",{href:"#credits",children:"Credits & billing"}),(0,r.jsx)("a",{href:"#rate-limits",children:"Rate limits"}),(0,r.jsx)("h4",{children:e("apiDocs.toc.rigorEndpoints")}),(0,r.jsx)("a",{href:"#plan",children:"POST /api/rigor/plan"}),(0,r.jsx)("a",{href:"#execute",children:"POST /api/rigor/execute"}),(0,r.jsxs)("a",{href:"#status",children:["GET /api/rigor/status/","{id}"]}),(0,r.jsx)("a",{href:"#approve",children:"POST /api/rigor/approve"}),(0,r.jsx)("a",{href:"#resume",children:"POST /api/rigor/resume"}),(0,r.jsx)("a",{href:"#step",children:"POST /api/rigor/step"}),(0,r.jsx)("a",{href:"#workflows",children:"GET /api/rigor/workflows"}),(0,r.jsx)("a",{href:"#workflows-actions",children:"POST /api/rigor/workflows/actions"}),(0,r.jsxs)("a",{href:"#lineage",children:["GET /api/rigor/lineage/","{id}"]}),(0,r.jsx)("a",{href:"#templates",children:"GET /api/rigor/templates"}),(0,r.jsx)("a",{href:"#enhance",children:"POST /api/rigor/enhance"}),(0,r.jsx)("a",{href:"#execution-modes",children:"Direct execution"}),(0,r.jsx)("a",{href:"#atomic-capabilities",children:"â capabilities"}),(0,r.jsx)("h4",{children:e("apiDocs.toc.mcpConnections")}),(0,r.jsx)("a",{href:"#connections-post",children:"POST /api/rigor/connections"}),(0,r.jsx)("a",{href:"#connections-get",children:"GET /api/rigor/connections"}
1),(0,r.jsxs)("a",{href:"#connections-patch",children:["PATCH /api/rigor/connections/","{id}"]}),(0,r.jsxs)("a",{href:"#connections-test",children:["POST â¦/","{id}","/test"]}),(0,r.jsxs)("a",{href:"#connections-delete",children:["DELETE â¦/","{id}"]}),(0,r.jsx)("a",{href:"#connection-security",children:"Connection security"}),(0,r.jsx)("h4",{children:e("apiDocs.toc.mcpTools")}),(0,r.jsx)("a",{href:"#mcp-tools",children:"Discoverable & hidden tools"}),(0,r.jsx)("h4",{children:e("apiDocs.toc.patterns")}),(0,r.jsx)("a",{href:"#pattern-plan-execute",children:"Plan-then-execute"}),(0,r.jsx)("a",{href:"#pattern-webhook",children:"Webhook delivery"}),(0,r.jsx)("a",{href:"#pattern-approval",children:"Approval gate"}),(0,r.jsx)("a",{href:"#pattern-interactive",children:"Interactive mode"}),(0,r.jsx)("a",{href:"#pattern-chaining",children:"Workflow chaining"}),(0,r.jsx)("a",{href:"#pattern-example",children:"Worked example"}),(0,r.jsx)("h4",{children:e("apiDocs.toc.reference")}),(0,r.jsx)("a",{href:"#errors",children:"Error reference"}),(0,r.jsx)("a",{href:"#conventions",children:"Response conventions"})]}),(0,r.jsxs)("div",{className:"api-content",children:[(0,r.jsx)("p",{children:"The Plith Rigor API classifies tasks across 60+ types, composes methodology sequences from 60+ proven frameworks, applies model-adaptive routing at each step, and returns quality-scored outputs with automated review and revision loops. REST API: JSON in, JSON or SSE out. Plan calls are free; execute calls consume credits at 1,000 credits per USD. API signups receive 5,000 credits (2,500 on key creation, 2,500 after email verification)."}),(0,r.jsx)("h2",{id:"authentication",children:"Authentication"}),(0,r.jsxs)("p",{children:["All API requests require an API key sent via the ",(0,r.jsx)("code",{children:"x-api-key"})," header. The ",(0,r.jsx)("code",{children:"Authorization"})," header is not read â requests without ",(0,r.jsx)("code",{children:"x-api-key"})," return ",(0,r.jsx)("code",{children:"401 missing_api_key"}),"."]}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("div",{className:"endpoint-head",children:(0,r.jsx)("span",{className:"endpoint-path",children:"x-api-key: plth_your_key_here"})})}),(0,r.jsxs)("p",{children:["Keys are created at signup or via ",(0,r.jsx)("code",{children:"POST /api/keys"}),". Your key identifies your organization â all workflows, billing, and data are scoped to it."]}),(0,r.jsx)("h3",{children:"Anonymous mode (MCP only)"}),(0,r.jsxs)("p",{children:["When connecting via MCP (Smithery, Claude Desktop, Cursor, etc.) without an API key,"," ",(0,r.jsx)("code",{children:"rigor_plan"})," is available for evaluation against a demo org. Anonymous calls are rate-limited to ",(0,r.jsx)("strong",{children:"30 requests / minute"})," and"," ",(0,r.jsx)("strong",{children:"500 requests / day"})," per IP."]}),(0,r.jsx)("h2",{id:"quickstart",children:"Quick start"}),(0,r.jsx)("h3",{children:"1 \xb7 Get a key"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/keys"})]}),(0,r.jsx)("pre",{children:'curl -X POST https://plith.ai/api/keys \\\n -H "Content-Type: application/json" \\\n -d \'{"email": "[email protected]", "name": "My Org"}\'\n\n// Response â store api_key immediately, it cannot be retrieved again\n{\n "org_id": "a1b2c3d4-...",\n "api_key": "plth_live_xxxxxxxxxxxx...",\n "workspace_id": "ws_...",\n "email_verified": false,\n "credits": 2500,\n "message": "Store this key securely â it will not be shown again. Verify your email to unlock 2,500 bonus credits."\n}'})]}),(0,r.jsx)("h3",{children:"2 \xb7 Plan a workflow (free)"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/plan"})]}),(0,r.jsx)("pre",{children:'curl -X POST https://plith.ai/api/rigor/plan \\\n -H "x-api-key: YOUR_KEY" \\\n -H "Content-Type: application/json" \\\n -d \'{"task_description": "Design a caching layer for our API gateway"}\''})]}),(0,r.jsxs)("p",{children:["Returns a ",(0,r.jsx)("code",{children:"workflow_id"})," and step sequence. No credits used."]}),(0,r.jsx)("h3",{children:"3 \xb7 Execute"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/execute"})]}),(0,r.jsx)("pre",{children:'curl -X POST https://plith.ai/api/rigor/execute \\\n -H "x-api-key: YOUR_KEY" \\\n -H "Content-Type: application/json" \\\n -d \'{"workflow_id": "wr_2a4b6c8d...", "delivery": {"method": "polling"}}\''})]}),(0,r.jsx)("h3",{children:"4 \xb7 Get results"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-get",children:"GET"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/status/wr_2a4b6c8d..."})]}),(0,r.jsx)("pre",{children:'curl https://plith.ai/api/rigor/status/wr_2a4b6c8d... \\\n -H "x-api-key: YOUR_KEY"'})]}),(0,r.jsx)("p",{children:"Returns progress during execution and the full deliverable when complete."}),(0,r.jsx)("h2",{id:"credits",children:"Credits & billing"}),(0,r.jsxs)("p",{children:["Plith is metered in credits at ",(0,r.jsx)("strong",{children:"1,000 credits per USD"}),". New organizations receive ",(0,r.jsx)("strong",{children:"2,500 free credits immediately"})," on signup. Verify your email to unlock ",(0,r.jsx)("strong",{children:"2,500 bonus credits"}
1)," (5,000 total). No monthly stipend â credits never expire."]}),(0,r.jsx)("h3",{children:"Credit packs"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Amount"}),(0,r.jsx)("th",{children:"Credits"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"$10"}),(0,r.jsx)("td",{children:"10,000"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"$25"}),(0,r.jsx)("td",{children:"25,000"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"$100"}),(0,r.jsx)("td",{children:"100,000"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"$250"}),(0,r.jsx)("td",{children:"250,000"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"Custom ($5â$10,000)"}),(0,r.jsx)("td",{children:"1,000 credits per dollar"})]})]})]}),(0,r.jsxs)("p",{children:["Purchase via ",(0,r.jsx)("code",{children:"POST /api/billing/checkout"}),". Credits are deducted after each successful call; the amount deducted is reported as ",(0,r.jsx)("code",{children:"credits_used"}),"; your new balance as ",(0,r.jsx)("code",{children:"credits_remaining"}),"."]}),(0,r.jsxs)("p",{children:["For Rigor workflows, credits accumulate server-side as steps execute. The pre-execution estimate appears in ",(0,r.jsx)("code",{children:"plan.cost"}),"; final usage is reported by"," ",(0,r.jsx)("code",{children:"GET /api/rigor/status"})," as ",(0,r.jsx)("code",{children:"credits_used"}),"."]}),(0,r.jsx)("h2",{id:"rate-limits",children:"Rate limits"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Scope"}),(0,r.jsx)("th",{children:"Limit"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"Rigor endpoints (per org, sliding window)"}),(0,r.jsx)("td",{children:"Free/Pro/Team: 120 req / min \xb7 Enterprise: 500 req / min"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"/api/rigor/execute"})," (per org, UTC day)"]}),(0,r.jsx)("td",{children:"Free/Pro/Team: 1,000 req / day \xb7 Enterprise: 100,000 req / day"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"Concurrent active workflows per org"}),(0,r.jsx)("td",{children:"Free: 1 \xb7 Pro: 3 \xb7 Team: 10 \xb7 Enterprise: unlimited"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"/api/rigor/workflows/actions"})}),(0,r.jsx)("td",{children:"120 req / min"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"Anonymous MCP (per IP)"}),(0,r.jsx)("td",{children:"30 req / min, 500 / day"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"POST /api/keys"})," (per IP)"]}),(0,r.jsx)("td",{children:"3 per 24 hours"})]})]})]}),(0,r.jsxs)("p",{children:["Active workflows (counting toward the concurrent limit): ",(0,r.jsx)("code",{children:"queued"}),","," ",(0,r.jsx)("code",{children:"executing"}),", ",(0,r.jsx)("code",{children:"step_executing"}),", ",(0,r.jsx)("code",{children:"resuming"}),","," ",(0,r.jsx)("code",{children:"quality_review"}),", ",(0,r.jsx)("code",{children:"interactive_waiting"}),","," ",(0,r.jsx)("code",{children:"pending_approval"}),", ",(0,r.jsx)("code",{children:"pending_human_review"}),". When a rate limit is exceeded, the response includes ",(0,r.jsx)("code",{children:"retry_after"})," (seconds) and a"," ",(0,r.jsx)("code",{children:"Retry-After"})," HTTP header."]}),(0,r.jsx)("h2",{id:"plan",children:"POST /api/rigor/plan"}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/plan"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Free"})]})}),(0,r.jsxs)("p",{children:["Classifies the task and builds a workflow plan without executing it. The plan is persisted so a subsequent ",(0,r.jsx)("code",{children:"/execute"})," call can pass the"," ",(0,r.jsx)("code",{children:"workflow_id"})," to skip re-classification."]}),(0,r.jsx)("h3",{children:"Request body"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Field"}),(0,r.jsx)("th",{children:"Type"}),(0,r.jsx)("th",{children:"Required"}),(0,r.jsx)("th",{children:"Description"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"task_description"})}),(0,r.jsx)("td",{children:"string (⥠2 words)"}),(0,r.jsx)("td",{children:"Yes"}),(0,r.jsx)("td",{children:"What you want produced. Be specific."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"task_type"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsx)("td",{children:"No"}),(0,r.jsx)("td",{children:"Hint to skip auto-classification."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"available_mcp_connections"})}),(0,r.jsx)("td",{children:"object[]"}),(0,r.jsx)("td",{children:"No"}),(0,r.jsxs)("td",{children:["Each: ",(0,r.jsx)("code",{children:"{ id, label, server_url, capabilities }"})]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"preferences"})}),(0,r.jsx)("td",{children:"object"}),(0,r.jsx)("td",{children:"No"}),(0,r.jsx)("td",{children:"See preferences fields below."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"context"})}),(0,r.jsx)("td",{children:"object"}),(0,r.jsx)("td",{children:"No"}),(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"{ additional_context: string }"})})]})]})]}),(0,r.jsx)("h3",{children:"preferences fields"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Field"}),(0,r.jsx)("th",{children:"Type"}),(0,r.jsx)("th",{children:"Description"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"rigor_level"})}),(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:'"quick" | "standard" | "thorough"'})}),(0,r.jsx)("td",{children:"Review depth. Default auto-detected."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"max_budget_usd"})}),(0,r.jsx)("td",{children:"number"}),(0,r.jsxs)("td",{children:["Budget ceiling; triggers ",(0,r.jsx)("code",{children:"budget_below_estimate"})," warning."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"skip_frameworks"})}),(0,r.jsx)("td",{children:"string[]"}
1),(0,r.jsx)("td",{children:"Framework display names to exclude."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"only_frameworks"})}),(0,r.jsx)("td",{children:"string[]"}),(0,r.jsx)("td",{children:"Restrict to these frameworks (mutex with skip)."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"add_frameworks"})}),(0,r.jsx)("td",{children:"(string | obj)[]"}),(0,r.jsxs)("td",{children:["Inject frameworks: ",(0,r.jsx)("code",{children:"{ name, before_step }"})]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"require_approval"})}),(0,r.jsx)("td",{children:"boolean"}),(0,r.jsxs)("td",{children:["Pause at ",(0,r.jsx)("code",{children:"pending_approval"})," before the final step."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"approval_before_step"})}),(0,r.jsx)("td",{children:"number[]"}),(0,r.jsxs)("td",{children:["Zero-based step indices for approval gates. Out-of-range indices return ",(0,r.jsx)("code",{children:"400 invalid_step_index"}),"."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"execution"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsxs)("td",{children:["Set to ",(0,r.jsx)("code",{children:"'direct'"})," to compose the plan's content frameworks into a single call and route cost-first. Research, process steps, and the quality review stay separate calls. See ",(0,r.jsx)("a",{href:"#execution-modes",children:"direct execution"}),"."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"output_contract"})}),(0,r.jsx)("td",{children:"object"}),(0,r.jsxs)("td",{children:["Only read when ",(0,r.jsx)("code",{children:"execution"})," is ",(0,r.jsx)("code",{children:"'direct'"}),". Declares the JSON shape you want back, so the answer is generated against your schema and validated before return. See ",(0,r.jsx)("a",{href:"#execution-modes",children:"direct execution"}),"."]})]})]})]}),(0,r.jsx)("h3",{children:"Response (200)"}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'{\n "ok": true,\n "plan": {\n "workflow_id": "wr_2a4b6c8d...",\n "classification": { "task_type": "solution_design", "value_class": "operational" },\n "sequence": [\n { "step": 1, "name": "Requirements Analysis", "estimated_credits": 80, "priority_class": "must" },\n { "step": 2, "name": "Solution Design", "estimated_credits": 240, "priority_class": "must" },\n { "step": 3, "name": "Assumption Verification","estimated_credits": 100, "priority_class": "should", "auto_added": true },\n { "step": 4, "name": "Multi-Perspective Review", "estimated_credits": 120, "priority_class": "must" }\n ],\n "cost": { "credits": 540, "usd": 0.54, "range": { "estimated_min": 400, "estimated_max": 680 } },\n "rigor_level": "standard",\n "allowed_modes": ["direct"],\n "execution_fallback": false,\n "warnings": [],\n "info": ["Review: Haiku + Sonnet"]\n }\n}'})}),(0,r.jsxs)("p",{children:["Review steps are named ",(0,r.jsx)("code",{children:'"Multi-Perspective Review"'}),". When a plan contains multiple review passes, each is qualified by tier:"," ",(0,r.jsx)("code",{children:'"Multi-Perspective Review (Lightweight)"'}),","," ",(0,r.jsx)("code",{children:'"Multi-Perspective Review (Standard)"'}),", or"," ",(0,r.jsx)("code",{children:'"Multi-Perspective Review (Full)"'}),". Model names are never included in step names."]}),(0,r.jsxs)("p",{children:["When ",(0,r.jsx)("code",{children:"preferences.execution: 'direct'"})," is requested and the workflow is eligible, the response includes ",(0,r.jsx)("code",{children:'"execution": "direct"'}),". If the request was overridden (tier, workflow size, or approval conflict), ",(0,r.jsx)("code",{children:"execution_fallback: true"})," appears instead. ",(0,r.jsx)("code",{children:"allowed_modes"})," is always present â it contains ",(0,r.jsx)("code",{children:'"direct"'})," when the org and workflow size qualify; empty array otherwise."]}),(0,r.jsxs)("p",{children:["The plan sequence always ends with a Synthesis step. This terminal step compiles outputs from all prior framework steps into a unified deliverable with structured findings and cited references. It carries ",(0,r.jsx)("code",{children:'priority_class: "must"'})," and its estimated cost is included in ",(0,r.jsx)("code",{children:"cost.credits"}),"."]}),(0,r.jsxs)("p",{children:["Errors: ",(0,r.jsx)("code",{children:"401 unauthorized"}
1)," \xb7 ",(0,r.jsx)("code",{children:"400 invalid_body"})," \xb7"," ",(0,r.jsx)("code",{children:"400 missing_field"})," \xb7 ",(0,r.jsx)("code",{children:"400 invalid_task_description"})," \xb7"," ",(0,r.jsx)("code",{children:"400 vague_task_description"})," \xb7 ",(0,r.jsx)("code",{children:"429 rate_limit_exceeded"})," \xb7"," ",(0,r.jsx)("code",{children:"504 plan_timeout"})," \xb7 ",(0,r.jsx)("code",{children:"500 plan_error"})]}),(0,r.jsx)("h2",{id:"execute",children:"POST /api/rigor/execute"}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/execute"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Variable"})]})}),(0,r.jsxs)("p",{children:["Executes a workflow end-to-end. Pass ",(0,r.jsx)("code",{children:"workflow_id"})," to re-use a stored plan, or pass ",(0,r.jsx)("code",{children:"task_description"})," to classify, plan, persist, and dispatch in a single call. Cost equals the plan's ",(0,r.jsx)("code",{children:"cost.credits"}),". First Rigor workflow per org is free."]}),(0,r.jsx)("h3",{children:"Delivery modes"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Mode"}),(0,r.jsx)("th",{children:"Set by"}),(0,r.jsx)("th",{children:"Returns"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"sse (default)"}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:'delivery.method: "sse"'})," + ",(0,r.jsx)("code",{children:"Accept: text/event-stream"})]}),(0,r.jsx)("td",{children:"Event stream until completion or 290 s timeout"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"polling"}),(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:'delivery.method: "polling"'})}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"workflow_id"})," + ",(0,r.jsx)("code",{children:"poll_url"})]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"webhook"}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:'delivery.method: "webhook"'})," + HTTPS ",(0,r.jsx)("code",{children:"delivery.webhook_url"})]}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"workflow_id"})," + ",(0,r.jsx)("code",{children:"webhook_secret"})," (32-byte hex HMAC)"]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"interactive"}),(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:'mode: "interactive"'})}),(0,r.jsxs)("td",{children:["Returns ",(0,r.jsx)("code",{children:"interactive_waiting"}),"; driven step-by-step via ",(0,r.jsx)("code",{children:"/step"})]})]})]})]}),(0,r.jsx)("h3",{children:"SSE events"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Event"}),(0,r.jsx)("th",{children:"When"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"workflow_started"})}),(0,r.jsx)("td",{children:"Workflow metadata + steps preview"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"step_started"})," \xb7 ",(0,r.jsx)("code",{children:"step_completed"})," \xb7 ",(0,r.jsx)("code",{children:"step_skipped"})]}),(0,r.jsx)("td",{children:"Per step"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"quality_review"})}),(0,r.jsx)("td",{children:"Score + summary after execution"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"workflow_completed"})," \xb7 ",(0,r.jsx)("code",{children:"workflow_pending_approval"})," \xb7 ",(0,r.jsx)("code",{children:"workflow_error"})]}),(0,r.jsx)("td",{children:"Terminal events"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"processing"})}),(0,r.jsx)("td",{children:"Heartbeat every 15 s while waiting"})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"stream_timeout"})}),(0,r.jsx)("td",{children:"Stream closes at 290 s; workflow continues â poll status"})]})]})]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"Reconnect:"})," each event carries an ",(0,r.jsx)("code",{children:"id:"})," field of the form"," ",(0,r.jsx)("code",{children:"workflow_id:step_or_marker"}),". To resume after a drop, resend the request with ",(0,r.jsx)("code",{children:"Last-Event-ID"})," set to the last received id â missed events will be replayed."]}),(0,r.jsxs)("h2",{id:"status",children:["GET /api/rigor/status/","{workflow_id}"]}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-get",children:"GET"}),(0,r.jsxs)("span",{className:"endpoint-path",children:["/api/rigor/status/","{workflow_id}"]}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Free"})]})}),(0,r.jsx)("p",{children:"Returns workflow state and results. Only the owning organization can read a workflow."}),(0,r.jsx)("h3",{children:"Status values"}),(0,r.jsxs)("p",{children:[(0,r.jsx)("code",{children:"pending"})," \xb7 ",(0,r.jsx)("code",{children:"planned"})," \xb7 ",(0,r.jsx)("code",{children:"queued"})," \xb7"," ",(0,r.jsx)("code",{children:"executing"})," \xb7 ",(0,r.jsx)("code",{children:"step_executing"})," \xb7 ",(0,r.jsx)("code",{children:"resuming"})," \xb7"," ",(0,r.jsx)("code",{children:"quality_review"})," \xb7 ",(0,r.jsx)("code",{children:"interactive_waiting"})," \xb7"," ",(0,r.jsx)("code",{children:"pending_approval"})," \xb7 ",(0,r.jsx)("code",{children:"pending_human_review"})," \xb7"," ",(0,r.jsx)("code",{children:"approved"})," \xb7 ",(0,r.jsx)("code",{children:"completed"})," \xb7 ",(0,r.jsx)("code",{children:"failed"})," \xb7"," ",(0,r.jsx)("code",{children:"cancelled"})," \xb7 ",(0,r.jsx)("code",{children:"timed_out"})," \xb7 ",(0,r.jsx)("code",{children:"blocked"})," \xb7 ",(0,r.jsx)("code",{children:"halted"})]}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'{\n "ok": true,\n "workflow": {\n "workflow_id": "wr_2a4b6c8d...",\n "status": "completed",\n "task_type": "solution_design",\n "current_step": 5,\n "total_steps": 5,\n "quality_score": 92,\n "quality_review": {\n "score": 92,\n "summary": "Strong design with clear trade-offs.",\n "path_to_100": ["Add p50/p95/p99 latency targets per cache tier."]\n },\n "deliverable": { "title": "...", "sections": [{ "heading": "...", "content": "..." }] },\n "credits_used": 530,\n "error": null\n }\n}'})}),(0,r.jsx)("h2",{id:"approve",children:"POST /api/rigor/approve"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/approve"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Free"})]}),(0,r.jsx)("pre",{children:'{\n "workflow_id": "wr_2a4b6c8d...",\n "decision": "approved",\n "notes": "O
1K to proceed",\n "agent_id": "my-review-bot"\n}'})]}),(0,r.jsxs)("p",{children:["Decision endpoint for workflows paused at ",(0,r.jsx)("code",{children:"pending_approval"}),". On approval, the workflow automatically resumes. On rejection, the workflow is marked"," ",(0,r.jsx)("code",{children:"failed"}),". Errors: ",(0,r.jsx)("code",{children:"404 not_found"})," \xb7"," ",(0,r.jsx)("code",{children:"409 invalid_status"})," \xb7 ",(0,r.jsx)("code",{children:"500 approve_failed"})]}),(0,r.jsx)("h2",{id:"resume",children:"POST /api/rigor/resume"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/resume"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Variable"})]}),(0,r.jsx)("pre",{children:'{\n "workflow_id": "wr_2a4b6c8d...",\n "revision_guidance": "Focus the rewrite on enterprise buyers; ignore SMB."\n}'})]}),(0,r.jsxs)("p",{children:["Resumes a workflow from the last completed step. Permitted source statuses:"," ",(0,r.jsx)("code",{children:"executing"}),", ",(0,r.jsx)("code",{children:"failed"}),", ",(0,r.jsx)("code",{children:"approved"}),","," ",(0,r.jsx)("code",{children:"blocked"}),", ",(0,r.jsx)("code",{children:"timed_out"}),", ",(0,r.jsx)("code",{children:"pending_approval"}),". Uses an optimistic lock â concurrent resume calls return ",(0,r.jsx)("code",{children:"resume_conflict"}),"."]}),(0,r.jsx)("h2",{id:"step",children:"POST /api/rigor/step"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/step"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Variable"})]}),(0,r.jsx)("pre",{children:'{\n "workflow_id": "wr_2a4b6c8d...",\n "action": "next",\n "feedback": "Focus on security implications."\n}'})]}),(0,r.jsxs)("p",{children:["Drives a workflow created with ",(0,r.jsx)("code",{children:'mode: "interactive"'}),"."," ",(0,r.jsx)("code",{children:"action"})," accepts ",(0,r.jsx)("code",{children:'"next" | "skip" | "abort"'}),". Sessions expire after 30 minutes of inactivity. Errors: ",(0,r.jsx)("code",{children:"409 invalid_status"})," \xb7"," ",(0,r.jsx)("code",{children:"410 session_expired"})," \xb7 ",(0,r.jsx)("code",{children:"409 concurrent_step"})]}),(0,r.jsx)("h2",{id:"workflows",children:"GET /api/rigor/workflows"}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-get",children:"GET"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/workflows"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Free"})]})}),(0,r.jsx)("p",{children:"Lists workflows for the authenticated org with filtering and cursor-based pagination. Also returns a real-time concurrent-usage summary against your plan's concurrent workflow limit."}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Param"}),(0,r.jsx)("th",{children:"Type"}),(0,r.jsx)("th",{children:"Description"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"status"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsxs)("td",{children:["Comma-separated (",(0,r.jsx)("code",{children:"executing,queued"}),")."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"task_type"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsx)("td",{children:"Filter by task type."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"created_after"})}),(0,r.jsx)("td",{children:"ISO 8601"}),(0,r.jsx)("td",{children:"After this time."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"created_before"})}),(0,r.jsx)("td",{children:"ISO 8601"}),(0,r.jsx)("td",{children:"Before this time."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"cursor"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsxs)("td",{children:["Opaque cursor from prior ",(0,r.jsx)("code",{children:"pagination.cursor"}),"."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"limit"})}),(0,r.jsx)("td",{children:"integer"}),(0,r.jsx)("td",{children:"1â100, default 20."})]})]})]}),(0,r.jsx)("h2",{id:"workflows-actions",children:"POST /api/rigor/workflows/actions"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/workflows/actions"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Free \xb7 120/min"})]}),(0,r.jsx)("pre",{children:'{\n "action": "cancel",\n "workflow_ids": ["wr_aaa...", "wr_bbb..."],\n "confirm": false,\n "force": false\n}'})]}),(0,r.jsxs)("p",{children:["Bulk workflow action endpoint. Currently supports ",(0,r.jsx)("code",{children:'action: "cancel"'}),". Two-phase:"," ",(0,r.jsx)("code",{children:"confirm: false"})," (default) shows a preview, ",(0,r.jsx)("code",{children:"confirm: true"})," executes. Max 20 workflow IDs per call."]}),(0,r.jsxs)("h2",{id:"lineage",children:["GET /api/rigor/lineage/","{workflowId}"]}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-get",children:"GET"}),(0,r.jsxs)("span",{className:"endpoint-path",children:["/api/rigor/lineage/","{workflowId}"]}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: viewer \xb7 Cost: Free"})]})}),(0,r.jsxs)("p",{children:["Walks the ",(0,r.jsx)("code",{children:"prior_workflow_id"})," chain backward and returns the full lineage, ordered oldest-first. Capped at 10 hops. Errors: ",(0,r.jsx)("code",{children:"404 not_found"})," \xb7"," ",(0,r.jsx)("code",{children:"422 chain_depth_exceeded"})]}),(0,r.jsx)("h2",{id:"templates",children:"GET /api/rigor/templates"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-get",children:"GET"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/templates"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: Public \xb7 Cost: Free"})]}),(0,r.jsx)("pre",{children:'{\n "templates": [{\n "id": "uuid",\n "task_type": "solution_design",\n "template_name": "Solution Design",\n "template_prompt": "...",\n "placeholder_fields": ["system_name", "constraints"],\n "description": "Architecture and design document for a technical system.",\n "display_order": 1,\n "version": 1,\n "category": "Engineering"\n }]\n}'})]}),(0,r.jsxs)("p",{children:["Returns deliverable templates â 43 types across 8 categories. No auth required. Query: ",(0,r.jsx)("code",{children:"?task_type="})," and/or ",(0,r.jsx)("code",{children:"?category="}),"."]}),(0,r.jsx)("h2",{id:"enhance",children:"POST /api/rigor/enhance"}),(0,r.jsxs)("div",{className:"endpoint",children:[(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/enhance"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: Tier-conditional \xb7 Cost: Free / 270c"})]}),(0,r.jsx)("pre",{children:'{ "task_description": "Design a caching layer", "tier": "llm" }'})]}),(0,r.jsxs)("p",{children:["Scores and optionally enhances a task description. ",(0,r.jsx)("code",{children:'tier: "deterministic"'})," ","(default) is free, rule-based, no auth. ",(0,r.jsx)("code",{children:'tier: "llm"'}
1)," uses an LLM for richer suggestions â 270 credits, requires ",(0,r.jsx)("code",{children:"x-api-key"}),". Response includes"," ",(0,r.jsx)("code",{children:"score"})," (0â100), ",(0,r.jsx)("code",{children:"suggestions[]"}),", and (for ",(0,r.jsx)("code",{children:"llm"})," ","tier) ",(0,r.jsx)("code",{children:"enhanced_prompt"})," â a rewritten task. Errors:"," ",(0,r.jsx)("code",{children:"400 input_too_long"})," (10,000 char max) \xb7 ",(0,r.jsx)("code",{children:"500 enhance_error"})]}),(0,r.jsx)("h2",{id:"execution-modes",children:"Direct execution"}),(0,r.jsxs)("p",{children:["Rigor runs a plan 1 of 2 ways, controlled by the optional"," ",(0,r.jsx)("code",{children:"preferences.execution"})," field. By default each framework step runs as a separate LLM call, and intermediate outputs are available in real time via SSE events and ",(0,r.jsx)("code",{children:"GET /api/rigor/status"}),". Set"," ",(0,r.jsx)("code",{children:"execution: 'direct'"})," and the plan's ",(0,r.jsx)("strong",{children:"content"})," ","frameworks are composed into a single call, routed cost-first against a per-task-type model floor that moves when a cheaper model earns the work."]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"It is not a one-call-per-workflow guarantee."})," Research steps, process steps (",(0,r.jsx)("code",{children:"CLASSIFICATION-VERIFY"}),", ",(0,r.jsx)("code",{children:"REVIEW-PROTOCOL"}),","," ",(0,r.jsx)("code",{children:"SYNTHESIS"}),") and the quality review each remain their own call. An atomic task type has a single content framework, so there is nothing to compose â measured across every atomic workflow to date, direct and standard execution both issue 2 logged step calls. ",(0,r.jsx)("strong",{children:"On atomic work the saving is the model, not the call count."})," Declaring an ",(0,r.jsx)("code",{children:"output_contract"})," replaces the quality-review call with deterministic validation, which is 1 fewer call and the only one."]}),(0,r.jsxs)("p",{children:["It is ",(0,r.jsx)("strong",{children:"not"})," faster in wall-clock terms for a large plan. Available at every tier â it is a cost optimization, not a paid perk."]}),(0,r.jsx)("h3",{children:"When it is selected"}),(0,r.jsxs)("p",{children:["Either you ask for it, or Rigor selects it for atomic task types â ",(0,r.jsx)("code",{children:"tag"}),","," ",(0,r.jsx)("code",{children:"score"}),", ",(0,r.jsx)("code",{children:"rerank"}),", ",(0,r.jsx)("code",{children:"extract_entities"}),","," ",(0,r.jsx)("code",{children:"parse_query"}),", and the ",(0,r.jsx)("code",{children:"quick_*"})," types â when you express no execution preference and request no approval gate. An explicit choice is never overridden, in either direction. ",(0,r.jsx)("code",{children:"GET /api/rigor/task-types"})," returns each type's ",(0,r.jsx)("code",{children:"shape"}),", so you can tell which types these are."]}),(0,r.jsxs)("p",{children:["When ",(0,r.jsx)("code",{children:"allowed_modes"})," in the plan response does not contain"," ",(0,r.jsx)("code",{children:'"direct"'}),", the plan is not eligible regardless of the"," ",(0,r.jsx)("code",{children:"preferences.execution"})," field."]}),(0,r.jsx)("h3",{id:"atomic-capabilities",children:"Capabilities"}),(0,r.jsxs)("p",{children:["Each task type below is a single-content-framework primitive. Pass the"," ",(0,r.jsx)("code",{children:"id"})," as ",(0,r.jsx)("code",{children:"task_type"}),", declare an ",(0,r.jsx)("code",{children:"output_contract"})," ","for the shape you want back, and Rigor routes to the cheapest model that holds it. This list is generated from the same vocabulary the API routes â"," ",(0,r.jsx)("code",{children:"GET /api/rigor/task-types"})," returns it with each type's"," ",(0,r.jsx)("code",{children:"shape"})," and ",(0,r.jsx)("code",{children:"capability"}),", so you can read it at runtime rather than from this page."]}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Task type"}),(0,r.jsx)("th",{children:"What it does"}),(0,r.jsx)("th",{children:"What you get back"})]})}),(0,r.jsx)("tbody",{children:n.map(e=>(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:e.id})}),(0,r.jsx)("td",{children:e.summary}),(0,r.jsx)("td",{children:e.returns})]},e.id))})]}),(0,r.jsx)("h3",{children:"What it supports"}),(0,r.jsxs)("p",{children:["These behave the same as standard execution: ",(0,r.jsx)("code",{children:"delivery.method"})," (SSE, polling, and webhook â all 3), ",(0,r.jsx)("code",{children:"rigor_level"})," (all 3),"," ",(0,r.jsx)("code",{children:"skip_frameworks"})," / ",(0,r.jsx)("code",{children:"only_frameworks"})," /"," ",(0,r.jsx)("code",{children:"add_frameworks"})," / ",(0,r.jsx)("code",{children:"max_budget_usd"}),", ",(0,r.jsx)("code",{children:"language"}),", MCP connections, the bounded review-protocol loop, independent quality review and"," ",(0,r.jsx)("code",{children:"rigor_qualval_score"}),", references and citations, step-output transparency, workspace LLM policy, credits and workspace budgets, idempotency, and refund plus partial-result salvage on failure."]}),(0,r.jsx)("h3",{children:"What falls back to standard execution"}),(0,r.jsxs)("p",{children:[(0,r.jsx)("code",{children:"require_approval: true"})," and ",(0,r.jsx)("code",{children:'mode: "interactive"'})," are structurally incompatible â direct execution has no intermediate steps to pause between â and a plan above the composition size limit is too large to compose. In all 3 cases the workflow still runs; only the execution shape changes."]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("code",{children:"execution_fallback: true"})," appears ",(0,r.jsx)("strong",{children:"only when you explicitly asked"})," for direct execution and it could not be honored. When Rigor auto-selected direct execution and fell back, the flag is not set â you did not ask, so nothing was promised."]}),(0,r.jsx)("h3",{children:"What is not eligible"}),(0,r.jsxs)("p",{children:["The standard executor applies these; direct execution has no code path for either. Rather than run and drop them, a request carrying either is"," ",(0,r.jsx)("strong",{children:"excluded from direct-mode eligibility"})," and runs as standard execution, so the context is applied:"]}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Request"}),(0,r.jsx)("th",{children:"What happens"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"Attachments and saved artifacts"}),(0,r.jsx)("td",{children:"The workflow runs as standard execution, which builds the attachment manifest."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"prior_workflow_id"})," chaining"]}),(0,r.jsxs)("td",{children:["The workflow runs as standard execution, which reads ",(0,r.jsx)("code",{children:"inherited_context"}),"."]})]})]})]}),(0,r.jsxs)("p",{children:["You are told which applied: the response carries a"," ",(0,r.jsx)("code",{children:"direct_execution_not_eligible"})," warning per reason, and"," ",(0,r.jsx)("code",{children:"execution_fallback: true"})," if you asked for direct execution explicitly. No action is needed â the context reached the model."]}),(0,r.jsx)("h3",{id:"output-contract",children:(0,r.jsx)("code",{children:"output_contract"})}),(0,r.jsxs)("p",{children:["Direct execution's default answer is a prose document. If your consumer is a program rather than a person, declare the shape you want. Rigor asks the vendor for it at generation time â Anthropic forced tool-use, or an OpenAI-compatible"," ",(0,r.jsx)("code",{children:"json_schema"})," response format â then validates whatever comes back against your declaration before returning it. Supply it under"," ",(0,r.jsx)("code",{children:"preferences"})," together with ",(0,r.jsx)("code",{children:"execution: 'direct'"}),"; it persists with the plan, so a later execute against the stored ",(0,r.jsx)("code",{children:"workflow_id"}
1)," ","inherits it."]}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Field"}),(0,r.jsx)("th",{children:"Type"}),(0,r.jsx)("th",{children:"Required"}),(0,r.jsx)("th",{children:"Description"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"task_type"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsx)("td",{children:"Yes"}),(0,r.jsx)("td",{children:"Your own label for the work. Echoed into telemetry; not read as a framework name and does not change routing."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"shape"})}),(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:'"object" | "array"'})}),(0,r.jsx)("td",{children:"Yes"}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:'"object"'})," for 1 record, ",(0,r.jsx)("code",{children:'"array"'})," for 1 entry per input item."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"fields"})}),(0,r.jsx)("td",{children:"object[]"}),(0,r.jsx)("td",{children:"Yes"}),(0,r.jsxs)("td",{children:["The schema for 1 record: ",(0,r.jsx)("code",{children:"name"}),", ",(0,r.jsx)("code",{children:"type"}),", and optionally ",(0,r.jsx)("code",{children:"required"}),", ",(0,r.jsx)("code",{children:"enum"}),", ",(0,r.jsx)("code",{children:"minimum"}),", ",(0,r.jsx)("code",{children:"maximum"}),", ",(0,r.jsx)("code",{children:"items"}),", ",(0,r.jsx)("code",{children:"properties"}),", ",(0,r.jsx)("code",{children:"description"}),"."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"count"})}),(0,r.jsx)("td",{children:"object"}),(0,r.jsx)("td",{children:"No"}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"{ min, max }"})," bounds on the number of entries. Only read when ",(0,r.jsx)("code",{children:"shape"})," is ",(0,r.jsx)("code",{children:'"array"'}),"."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"selection"})}),(0,r.jsx)("td",{children:"object"}),(0,r.jsx)("td",{children:"No"}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"{ scoreField, minScore, minCount, maxCount }"})," â over-generate candidates, then sort, threshold, and cap before the count bounds are checked."]})]})]})]}),(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"The schema is closed."})," A record carrying a key you did not declare is rejected exactly as a record missing a required key is. Declare every field you want, marking optional ones ",(0,r.jsx)("code",{children:"required: false"}),". A conforming run costs 1 LLM call rather than 2, because the contract is the quality gate and the separate review call is skipped. A run that fails validation is reported as a failed step, not returned as though it had succeeded â the step's"," ",(0,r.jsx)("code",{children:"extras.output_validation_status"})," carries the outcome and"," ",(0,r.jsx)("code",{children:"output_validation_violations"})," lists every violation by field path."]}),(0,r.jsxs)("p",{children:[(0,r.jsxs)("strong",{children:["Send ",(0,r.jsx)("code",{children:"task_type"})," alongside it."]})," A caller supplying"," ",(0,r.jsx)("code",{children:"output_contract"})," already knows its task type â the contract names it. Passing it explicitly skips the embedding and LLM-fallback classification tiers, which are a real part of the time-to-first-byte on a direct call."]}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'POST /api/rigor/plan\n{\n "task_description": "Extract the header fields from each supplied invoice.",\n "task_type": "quick_extraction",\n "preferences": {\n "execution": "direct",\n "output_contract": {\n "task_type": "invoice_header",\n "shape": "array",\n "count": { "min": 1, "max": 50 },\n "fields": [\n { "name": "invoiceNumber", "type": "string" },\n { "name": "issueDate", "type": "string", "description": "ISO 8601 date" },\n { "name": "totalAmount", "type": "number", "minimum": 0 },\n { "name": "currency", "type": "string", "enum": ["EUR", "GBP", "USD"] },\n { "name": "purchaseOrder", "type": "string", "required": false }\n ]\n }\n }\n}\n\n// Plan response when eligible â allowed_modes is the only execution field\n// /plan returns. Verified against production 2026-08-20.\n// "allowed_modes": ["direct"]\n\n// Plan response when not eligible (approval requested, or plan too large):\n// "allowed_modes": []\n\n// "execution" and "execution_fallback" appear on the /execute response, not\n// on /plan. "execution_fallback" is set only when you asked for direct\n// execution explicitly and it could not be honoured.'})}),(0,r.jsx)("h2",{id:"connections-post",children:"POST /api/rigor/connections"}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/connections"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Free"})]})}),(0,r.jsxs)("p",{children:["Registers a new MCP server connection. Server URL is validated for SSRF safety at registration time. Credentials are encrypted at rest immediately and never returned. Returns ",(0,r.jsx)("code",{children:"201"})," with ",(0,r.jsx)("code",{children:'connection.status: "pending"'}),". Call"," ",(0,r.jsx)("code",{children:"/test"})," to promote to ",(0,r.jsx)("code",{children:"active"}),"."]}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Field"}),(0,r.jsx)("th",{children:"Type"}),(0,r.jsx)("th",{children:"Required"}),(0,r.jsx)("th",{children:"Description"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"label"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsx)("td",{children:"Yes"}),(0,r.jsx)("td",{children:"Human-readable name."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"server_url"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsx)("td",{children:"Yes"}),(0,r.jsx)("td",{children:"HTTPS URL."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"auth_type"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsx)("td",{children:"Yes"}),(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"bearer_token | api_key | oauth | none"})})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"transport"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsx)("td",{children:"No"}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"streamable-http"})," (default) or ",(0,r.jsx)("code",{children:"sse"})]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"auth_credential"})}),(0,r.jsx)("td",{children:"object"}),(0,r.jsx)("td",{children:"Conditional"}),(0,r.jsxs)("td",{children:["Required when ",(0,r.jsx)("code",{children:"auth_type"})," is not ",(0,r.jsx)("code",{children:"none"}),"."]})]})]})]}),(0,r.jsx)("h2",{id:"connections-get",children:"GET /api/rigor/connections"}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-get",children:"GET"}),(0,r.jsx)("span",{className:"endpoint-path",children:"/api/rigor/connections"}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Free"})]})}),(0,r.jsxs)("p",{children:["Returns all connections registered for your organization. Credentials are never included. Status values: ",(0,r.jsx)("code",{children:"pending"}),", ",(0,r.jsx)("code",{children:"active"}),","," ",(0,r.jsx)("code",{children:"error"}),", ",(0,r.jsx)("code",{children:"revoked"}),". ",(0,r.jsx)("code",{children:"capabilities"})," is"," ",(0,r.jsx)("code",{children:"null"}
1)," until a connection test completes."]}),(0,r.jsxs)("h2",{id:"connections-patch",children:["PATCH /api/rigor/connections/","{id}"]}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-patch",children:"PATCH"}),(0,r.jsxs)("span",{className:"endpoint-path",children:["/api/rigor/connections/","{id}"]}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: admin \xb7 Cost: Free"})]})}),(0,r.jsx)("p",{children:"Updates a registered connection. All fields optional."}),(0,r.jsxs)("h2",{id:"connections-test",children:["POST /api/rigor/connections/","{id}","/test"]}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-post",children:"POST"}),(0,r.jsxs)("span",{className:"endpoint-path",children:["/api/rigor/connections/","{id}","/test"]}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Free"})]})}),(0,r.jsxs)("p",{children:["Tests connectivity. Performs DNS-level SSRF check. On success,"," ",(0,r.jsx)("code",{children:"status"})," â ",(0,r.jsx)("code",{children:"active"}),", ",(0,r.jsx)("code",{children:"last_tested_at"})," recorded. On SSRF failure, ",(0,r.jsx)("code",{children:"status"})," â ",(0,r.jsx)("code",{children:"error"})," and the response is"," ",(0,r.jsx)("code",{children:"400"}),"."]}),(0,r.jsxs)("h2",{id:"connections-delete",children:["DELETE /api/rigor/connections/","{id}"]}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsxs)("div",{className:"endpoint-head",children:[(0,r.jsx)("span",{className:"method method-delete",children:"DELETE"}),(0,r.jsxs)("span",{className:"endpoint-path",children:["/api/rigor/connections/","{id}"]}),(0,r.jsx)("span",{className:"ep-meta",children:"Auth: x-api-key \xb7 Cost: Free"})]})}),(0,r.jsxs)("p",{children:["Soft delete. Record retained for audit, ",(0,r.jsx)("code",{children:"status"})," set to"," ",(0,r.jsx)("code",{children:"revoked"}),", credentials cleared. Revoked connections cannot be used in workflow execution."]}),(0,r.jsx)("h2",{id:"connection-security",children:"Connection security"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Control"}),(0,r.jsx)("th",{children:"What it does"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"Credential encryption"}),(0,r.jsx)("td",{children:"AES-256-GCM at rest. Never returned in any response."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"SSRF â registration"}),(0,r.jsx)("td",{children:"HTTPS only, no private IPs, no cloud metadata endpoints, no internal hostnames."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"SSRF â test"}),(0,r.jsx)("td",{children:"DNS resolved at test time; all A/AAAA records checked against blocklist."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"Read-only enforcement"}),(0,r.jsxs)("td",{children:["Only ",(0,r.jsx)("code",{children:"resources/read"})," and ",(0,r.jsx)("code",{children:"resources/list"})," are executed. ",(0,r.jsx)("code",{children:"tools/call"}),", ",(0,r.jsx)("code",{children:"prompts/*"}),", ",(0,r.jsx)("code",{children:"sampling/*"}),", all writes are blocked regardless of server capabilities."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"Org isolation"}),(0,r.jsx)("td",{children:"Every request filtered by your org ID, derived from your API key."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:"Content sanitization"}),(0,r.jsx)("td",{children:"External MCP content wrapped in containment framing, scanned for prompt-injection patterns."})]})]})]}),(0,r.jsxs)("p",{children:["Limits: max 10 connections per org \xb7 duplicate ",(0,r.jsx)("code",{children:"server_url"})," rejected with ",(0,r.jsx)("code",{children:"409"})," \xb7 HTTPS only."]}),(0,r.jsx)("h2",{id:"mcp-tools",children:"MCP tools"}),(0,r.jsxs)("p",{children:["Connect to Plith via MCP at"," ",(0,r.jsx)("code",{children:"https://plith.ai/api/mcp/rigor"}),". Compatible with Claude Desktop, Cursor, Windsurf, Smithery, and any MCP-compatible client. Authenticate via the"," ",(0,r.jsx)("code",{children:"x-api-key"})," header, or use anonymous mode (rate-limited: 30 req/min, 500 req/day per IP) for evaluation."]}),(0,r.jsx)("h3",{children:"Discoverable tools"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Tool"}),(0,r.jsx)("th",{children:"Description"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"rigor_plan"})}),(0,r.jsx)("td",{children:"Plan a workflow without executing it (free). Available anonymously for evaluation."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"rigor_execute"})}),(0,r.jsx)("td",{children:"Execute a planned or fresh workflow."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"rigor_status"})}),(0,r.jsx)("td",{children:"Get workflow progress and results."})]})]})]}),(0,r.jsx)("h3",{children:"Hidden tools"}),(0,r.jsxs)("p",{children:["Callable but do not appear in ",(0,r.jsx)("code",{children:"tools/list"}),":"]}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Tool"}),(0,r.jsx)("th",{children:"Description"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"rigor_resume"})}),(0,r.jsx)("td",{children:"Resume a stalled or failed workflow."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"rigor_approve"})}),(0,r.jsx)("td",{children:"Approve or reject a workflow pending human review."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"rigor_step"})}),(0,r.jsx)("td",{children:"Drive a single step of an interactive workflow."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"rigor_connections"})}),(0,r.jsx)("td",{children:"Manage MCP connections."})]})]})]}),(0,r.jsx)("h2",{id:"pattern-plan-execute",children:"Plan-then-execute (recommended)"}),(0,r.jsx)("p",{children:"Plan first to see the step sequence and cost estimate. Execute only when satisfied."}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'# Step 1: Plan (free)\nPOST /api/rigor/plan\n { "task_description": "...", "preferences": { "rigor_level": "standard" } }\n â { plan: { workflow_id: "wr_...", sequence: [...], cost: { credits: 540 } } }\n\n# Step 2: Execute with polling delivery\nPOST /api/rigor/execute\n { "workflow_id": "wr_...", "delivery": { "method": "polling" } }\n â { workflow_id: "wr_...", status: "queued", poll_url: "/api/rigor/status/wr_..." }\n\n# Step 3: Poll until "completed"\nGET /api/rigor/status/wr_...\n â { workflow: { status: "completed", deliverable: { ... } } }'})}),(0,r.jsx)("h2",{id:"pattern-webhook",children:"Webhook delivery"}),(0,r.jsxs)("p",{children:["Receive results pushed to your endpoint instead of polling. Store ",(0,r.jsx)("code",{children:"webhook_secret"})," and verify incoming payloads via HMAC-SHA256."]}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'POST /api/rigor/execute\n {\n "workflow_id": "wr_...",\n "delivery": {\n "method": "webhook",\n "webhook_url": "https://your-server.example.com/rigor-webhook"\n }\n }\n â { webhook_url: "...", webhook_status: "registered", webhook_secret: "..." }'})}),(0,r.jsx)("h2",{id:"pattern-approval",children:"Approval gate"}),(0,r.jsx)("p",{children:"Request a human decision before final steps execute."}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'# Plan with approval gate\nPOST /api/rigor/plan\n { "task_description": "...", "preferences": { "require_approval": true } }\n\n# Execute â workflow will pause at pending_approval\nPOST /api/rigor/execute\n { "workflow_id": "wr_...", "delivery": { "method": "polling" } }\n\n# Poll until status === "pending_approval", then approve\nPOST /api/rigor/approve\n { "workflow_id": "wr_...", "decision": "approved", "notes": "Looks good" }\n # workflow automatically resumes after approval'})}),(0,r.jsxs)("p",{children:[(0,r.jsx)("code",{children:"require_approval"}
1)," is incompatible with"," ",(0,r.jsx)("code",{children:"preferences.execution: 'direct'"}),". If both are set, the system honors the approval preference and falls back to default multi-call execution."," ",(0,r.jsx)("code",{children:"execution_fallback: true"})," will appear in the plan response."]}),(0,r.jsx)("h2",{id:"pattern-interactive",children:"Interactive mode"}),(0,r.jsx)("p",{children:"Drive execution one step at a time. Sessions expire after 30 minutes of inactivity."}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'POST /api/rigor/execute\n { "task_description": "...", "mode": "interactive" }\n â { status: "interactive_waiting", sequence: [...] }\n\nPOST /api/rigor/step\n { "workflow_id": "wr_...", "action": "next" }\n â { status: "step_executing", poll_url: "..." }'})}),(0,r.jsx)("h2",{id:"pattern-chaining",children:"Workflow chaining"}),(0,r.jsx)("p",{children:"Inherit context from a completed workflow into a new one. Chain depth limit: 10 links."}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'POST /api/rigor/execute\n {\n "task_description": "Implement the solution from the prior design",\n "prior_workflow_id": "wr_parent...",\n "context_fields": ["deliverable", "quality_review"]\n }'})}),(0,r.jsx)("h2",{id:"pattern-example",children:"Worked example"}),(0,r.jsx)("p",{children:"A complete plan â execute â poll cycle for a Solution Design."}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'curl -X POST https://plith.ai/api/rigor/plan \\\n -H "x-api-key: YOUR_KEY" \\\n -H "Content-Type: application/json" \\\n -d \'{"task_description": "Design a caching layer for our API"}\'\n\n# â plan.cost.credits = 560 \xb7 estimated cost shown before committing\n\ncurl -X POST https://plith.ai/api/rigor/execute \\\n -H "x-api-key: YOUR_KEY" \\\n -d \'{"workflow_id": "wr_...", "delivery": {"method": "polling"}}\'\n\n# â status: queued \xb7 poll_url returned\n\ncurl https://plith.ai/api/rigor/status/wr_... \\\n -H "x-api-key: YOUR_KEY"\n\n# â status: completed \xb7 quality_score: 92 \xb7 credits_used: 545'})}),(0,r.jsx)("h2",{id:"errors",children:"Error reference"}),(0,r.jsx)("p",{children:"All endpoints return errors in this envelope:"}),(0,r.jsx)("div",{className:"endpoint",children:(0,r.jsx)("pre",{children:'{\n "error": {\n "code": "missing_field",\n "message": "workflow_id is required.",\n "request_id": "req_abc123def456...",\n "fix": "POST /api/rigor/plan with your task_description",\n "docs": "https://plith.ai/docs/errors#missing_field",\n "details": { "field": "workflow_id" }\n }\n}'})}),(0,r.jsxs)("p",{children:[(0,r.jsx)("code",{children:"fix"}),", ",(0,r.jsx)("code",{children:"docs"}),", and ",(0,r.jsx)("code",{children:"details"})," are included only when available. ",(0,r.jsx)("code",{children:"request_id"})," is always present."]}),(0,r.jsx)("h3",{children:"Auth"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Code"}),(0,r.jsx)("th",{children:"HTTP"}),(0,r.jsx)("th",{children:"Summary"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"missing_api_key"})}),(0,r.jsx)("td",{children:"401"}),(0,r.jsxs)("td",{children:["Provide ",(0,r.jsx)("code",{children:"x-api-key"})," header."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"invalid_api_key"})}),(0,r.jsx)("td",{children:"401"}),(0,r.jsx)("td",{children:"Key not found or revoked."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"forbidden"})}),(0,r.jsx)("td",{children:"403"}),(0,r.jsx)("td",{children:"Resource belongs to a different org."})]})]})]}),(0,r.jsx)("h3",{children:"Validation"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Code"}),(0,r.jsx)("th",{children:"HTTP"}),(0,r.jsx)("th",{children:"Summary"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"invalid_body"})}),(0,r.jsx)("td",{children:"400"}),(0,r.jsx)("td",{children:"Body must be valid JSON."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"missing_field"})}),(0,r.jsx)("td",{children:"400"}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"<field>"})," required."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"invalid_task_description"})}),(0,r.jsx)("td",{children:"400"}),(0,r.jsx)("td",{children:"Must contain at least 2 words."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"vague_task_description"})}),(0,r.jsx)("td",{children:"400"}),(0,r.jsx)("td",{children:"Classifier confidence too low."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"input_too_long"})}),(0,r.jsx)("td",{children:"400"}),(0,r.jsx)("td",{children:"Input exceeds maximum length."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"invalid_step_index"})}),(0,r.jsx)("td",{children:"400"}),(0,r.jsxs)("td",{children:[(0,r.jsx)("code",{children:"approval_before_step"})," index out of range."]})]})]})]}),(0,r.jsx)("h3",{children:"Rate limiting"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Code"}),(0,r.jsx)("th",{children:"HTTP"}),(0,r.jsx)("th",{children:"Summary"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"rate_limit_exceeded"})}),(0,r.jsx)("td",{children:"429"}),(0,r.jsxs)("td",{children:["Wait per ",(0,r.jsx)("code",{children:"Retry-After"})," header."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"concurrent_limit_exceeded"})}),(0,r.jsx)("td",{children:"429"}),(0,r.jsx)("td",{children:"Plan's concurrent workflow limit reached (Free: 1, Pro: 3, Team: 10)."})]})]})]}),(0,r.jsx)("h3",{children:"Workflow state"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Code"}),(0,r.jsx)("th",{children:"HTTP"}),(0,r.jsx)("th",{children:"Summary"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"not_found"})}),(0,r.jsx)("td",{children:"404"}),(0,r.jsx)("td",{children:"Workflow not found."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"no_plan"})}),(0,r.jsx)("td",{children:"400"}),(0,r.jsx)("td",{children:"Workflow has no plan."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"insufficient_credits"})}),(0,r.jsx)("td",{children:"402"}),(0,r.jsxs)("td",{children:["Top up via ",(0,r.jsx)("code",{children:"/api/billing/checkout"}),"."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"workspace_budget_exceeded"})}),(0,r.jsx)("td",{children:"402"}),(0,r.jsx)("td",{children:"Adjust budget or reduce plan."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"workflow_has_progress"})}),(0,r.jsx)("td",{children:"409"}),(0,r.jsxs)("td",{children:["Use ",(0,r.jsx)("code",{children:"/resume"}),"."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"invalid_status"})}),(0,r.jsx)("td",{children:"409"}),(0,r.jsx)("td",{children:"Action not allowed in current state."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"duplicate_task"})}),(0,r.jsx)("td",{children:"409"}),(0,r.jsx)("td",{children:"Identical task in last 5 min."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"already_complete"})}),(0,r.jsx)("td",{children:"409"}),(0,r.jsx)("td",{children:"Nothing to resume."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"resume_conflict"})}),(0,r.jsx)("td",{children:"409"}),(0,r.jsx)("td",{children:"Another resume in progress."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"pending_human_review"})}),(0,r.jsx)("td",{children:"409"}),(0,r.jsxs)("td",{children:["Use ",(0,r.jsx)("code",{children:"/approve"}),"."]})]})]})]}),(0,r.jsx)("h3",{children:"Chaining & connections"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Code"}),(0,r.jsx)("th",{children:"HTTP"}),(0,r.jsx)("th",{children:"Summary"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"prior_not_found"})}),(0,r.jsx)("td",{children:"404"}),(0,r.jsx)("td",{children:"Prior workflow not found."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"prior_not_terminal"})}),(0,r.jsx)("td",{children:"409"}),(0,r.jsx)("td",{children:"Wait for prior to complete."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"chain_depth_exceeded"})}),(0,r.jsx)("td",{children:"422"}),(0,r.jsx)("td",{children:"Max 10 hops."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"context_too_large"})}),(0,r.jsx)("td",{children:"422"}),(0,r.jsxs)("td",{children:["Use ",(0,r.jsx)("code",{children:"context_fields"})," to restrict."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"feature_not_enabled"})}),(0,r.jsx)("td",{children:"501"}),(0,r.jsx)("td",{children:"MCP gateway disabled."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"session_expired"})}),(0,r.jsx)("td",{children:"410"}),(0,r.jsxs)("td",{children:["30-min TTL â use ",(0,r.jsx)("code",{children:"/resume"}),"."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"plan_timeout"})}),(0,r.jsx)("td",{children:"504"}),(0,r.jsx)("td",{children:"Simplify or split the task."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"provider_exh
1austed"})}),(0,r.jsx)("td",{children:"503"}),(0,r.jsx)("td",{children:"All providers failed â retry."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"internal_error"})}),(0,r.jsx)("td",{children:"500"}),(0,r.jsxs)("td",{children:["Retry; include ",(0,r.jsx)("code",{children:"request_id"}),"."]})]})]})]}),(0,r.jsx)("h2",{id:"conventions",children:"Response conventions"}),(0,r.jsx)("p",{children:"Every successful response includes:"}),(0,r.jsxs)("table",{className:"api-table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Field"}),(0,r.jsx)("th",{children:"Type"}),(0,r.jsx)("th",{children:"Description"})]})}),(0,r.jsxs)("tbody",{children:[(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"request_id"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsxs)("td",{children:["Always ",(0,r.jsx)("code",{children:"req_"})," + 24 hex chars. Include when contacting support."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"credits_used"})}),(0,r.jsx)("td",{children:"number"}),(0,r.jsxs)("td",{children:["Credits deducted by this request. ",(0,r.jsx)("code",{children:"0"})," for free endpoints."]})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"credits_remaining"})}),(0,r.jsx)("td",{children:"number"}),(0,r.jsx)("td",{children:"Org balance after this request."})]}),(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:"fallback_behavior"})}),(0,r.jsx)("td",{children:"string"}),(0,r.jsxs)("td",{children:["What the system did when upstream was degraded â ",(0,r.jsx)("code",{children:'"none"'})," when normal."]})]})]})]}),(0,r.jsxs)("p",{children:["Rigor workflow endpoints (",(0,r.jsx)("code",{children:"/plan"}),", ",(0,r.jsx)("code",{children:"/execute"}),","," ",(0,r.jsx)("code",{children:"/status"}),", ",(0,r.jsx)("code",{children:"/approve"}),", ",(0,r.jsx)("code",{children:"/resume"}),","," ",(0,r.jsx)("code",{children:"/step"}),") use product-specific response shapes and do not include"," ",(0,r.jsx)("code",{children:"credits_used"})," / ",(0,r.jsx)("code",{children:"credits_remaining"})," at the top level. Credit usage for workflows is reported via the status endpoint as"," ",(0,r.jsx)("code",{children:"workflow.credits_used"}),"."]})]})]})})]})]})}},27601:(e,t,s)=>{Promise.resolve().then(s.bind(s,23810))}},e=>{e.O(0,[3919,4490,551,7358],()=>e(e.s=27601)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.