1"use strict";(globalThis.webpackChunkrevelry_ai_docsite||=[]).push([[9778],{2380(e,n,i){i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>l,metadata:()=>s,toc:()=>c});const s=JSON.parse('{"id":"workflows/workflow-runs","title":"Workflow Runs","description":"Each time you trigger a workflow, it creates an Workflow Run that tracks the execution from start to finish.","source":"@site/docs/workflows/workflow-runs.md","sourceDirName":"workflows","slug":"/workflows/workflow-runs","permalink":"/docs/workflows/workflow-runs","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_label":"Workflow Runs","sidebar_position":3},"sidebar":"tutorialSidebar","previous":{"title":"Creating Workflows","permalink":"/docs/workflows/creating-workflows"},"next":{"title":"Overview","permalink":"/docs/knowledge/overview"}}');var r=i(4848),t=i(8453);const l={sidebar_label:"Workflow Runs",sidebar_position:3},a="Workflow Runs",o={},c=[{value:"What is a Workflow Run?",id:"what-is-a-workflow-run",level:2},{value:"Triggering a Workflow Run",id:"triggering-a-workflow-run",level:2},{value:"From the UI",id:"from-the-ui",level:3},{value:"Via API",id:"via-api",level:3},{value:"Run Information",id:"run-information",level:2},{value:"Basic Details",id:"basic-details",level:3}
1,{value:"Execution Details",id:"execution-details",level:3},{value:"Status Indicators",id:"status-indicators",level:3},{value:"Viewing Workflow Runs",id:"viewing-workflow-runs",level:2},{value:"Access Run History",id:"access-run-history",level:3},{value:"Run List View",id:"run-list-view",level:3},{value:"Run Details View",id:"run-details-view",level:3},{value:"Editable Run Names",id:"editable-run-names",level:3},{value:"Cancel Runs",id:"cancel-runs",level:3},{value:"Monitoring Runs",id:"monitoring-runs",level:2},{value:"Real-Time Monitoring",id:"real-time-monitoring",level:3},{value:"Post-Execution Review",id:"post-execution-review",level:3},{value:"Understanding Run Logs",id:"understanding-run-logs",level:2},{value:"Common Run Issues",id:"common-run-issues",level:2},{value:"Run Failed at Step",id:"run-failed-at-step",level:3},{value:"Run Timed Out",id:"run-timed-out",level:3},{value:"Artifacts Not Generated",id:"artifacts-not-generated",level:3},{value:"Run History and Retention",id:"run-history-and-retention",level:2},{value:"History Duration",id:"history-duration",level:3},{value:"Run Artifacts",id:"run-artifacts",level:3},{value:"Analyzing Run Performance",id:"analyzing-run-performance",level:2},{value:"Identify Bottlenecks",id:"identify-bottlenecks",level:3},{value:"Success Rates",id:"success-rates",level:3},{value:"Artifact Quality",id:"artifact-quality",level:3},{value:"Best Practices",id:"best-practices",level:2},{value:"Review Early Runs",id:"review-early-runs",level:3},{value:"Set Up Monitoring",id:"set-up-monitoring",level:3},{value:"Learn from Failures",id:"learn-from-failures",level:3},{value:"Track Improvements",id:"track-improvements",level:3},{value:"Next Steps",id:"next-steps",level:2}];function d(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.header,{children:(0,r.jsx)(n.h1,{id:"workflow-runs",children:"Workflow Runs"})}),"\n",(0,r.jsxs)(n.p,{children:["Each time you trigger a workflow, it creates an ",(0,r.jsx)(n.strong,{children:"Workflow Run"})," that tracks the execution from start to finish."]}),"\n",(0,r.jsx)(n.h2,{id:"what-is-a-workflow-run",children:"What is a Workflow Run?"}),"\n",(0,r.jsx)(n.p,{children:"A workflow run is a single execution of a workflow. It captures:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"When the run started and ended"}),"\n",(0,r.jsx)(n.li,{children:"Success or failure status"}),"\n",(0,r.jsx)(n.li,{children:"Step-by-step execution details"}),"\n",(0,r.jsx)(n.li,{children:"Generated artifacts"}),"\n",(0,r.jsx)(n.li,{children:"Any errors or warnings"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Think of it as a complete audit trail for one workflow execution."}),"\n",(0,r.jsx)(n.h2,{id:"triggering-a-workflow-run",children:"Triggering a Workflow Run"}),"\n",(0,r.jsx)(n.h3,{id:"from-the-ui",children:"From the UI"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Navigate to your workflow"}),"\n",(0,r.jsxs)(n.li,{children:["Click ",(0,r.jsx)(n.strong,{children:"Run Workflow"})]}),"\n",(0,r.jsx)(n.li,{children:"Provide required inputs (if any)"}),"\n",(0,r.jsxs)(n.li,{children:["Click ",(0,r.jsx)(n.strong,{children:"Start Run"})]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"The workflow will execute each step in sequence, and you'll see real-time progress."}),"\n",(0,r.jsx)(n.h3,{id:"via-api",children:"Via API"}),"\n",(0,r.jsx)(n.p,{children:"You can trigger workflow runs programmatically via the Workflows API for automated workflows."}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Learn more:"})," ",(0,r.jsx)(n.a,{href:"/docs/api/workflows-api",children:"Workflows API Documentation"})]}),"\n",(0,r.jsx)(n.h2,{id:"run-information",children:"Run Information"}),"\n",(0,r.jsx)(n.p,{children:"Each run displays the following information:"}),"\n",(0,r.jsx)(n.h3,{id:"basic-details",children:"Basic Details"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Start time"})," - When execution began"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"End time"})," - When execution completed (or current time if still running)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Status"})," - Success, failed, or in progress"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Duration"})," - Total time from start to end"]}),"\n"]}
1),"\n",(0,r.jsx)(n.h3,{id:"execution-details",children:"Execution Details"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Step-by-step log"})," - See what happened at each step"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Generated artifacts"})," - Links to created artifacts"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Input values"})," - The inputs provided for this run"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Processing time"})," - How long each step took"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"status-indicators",children:"Status Indicators"}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Status"}),(0,r.jsx)(n.th,{children:"Meaning"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Pending"})}),(0,r.jsx)(n.td,{children:"Run created, not yet started"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Executing"})}),(0,r.jsx)(n.td,{children:"Steps are being processed"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Completed"})}),(0,r.jsx)(n.td,{children:"All steps completed successfully, artifacts generated"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Failed"})}),(0,r.jsx)(n.td,{children:"One or more steps failed, see error details"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Cancelling"})}),(0,r.jsx)(n.td,{children:"Cancel has been requested"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"Cancelled"})}),(0,r.jsx)(n.td,{children:"Run was manually stopped"})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Note:"})," ",(0,r.jsx)(n.em,{children:"Awaiting User Input"})," is a ",(0,r.jsx)(n.strong,{children:"step"})," status, not a run status. While the overall run stays in ",(0,r.jsx)(n.strong,{children:"Executing"}),", an individual step can enter ",(0,r.jsx)(n.code,{children:"awaiting_user_input"})," when it needs input from you before it can continue."]}),"\n",(0,r.jsx)(n.h2,{id:"viewing-workflow-runs",children:"Viewing Workflow Runs"}),"\n",(0,r.jsx)(n.h3,{id:"access-run-history",children:"Access Run History"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Navigate to your workflow"}),"\n",(0,r.jsxs)(n.li,{children:["Click the ",(0,r.jsx)(n.strong,{children:"Runs"})," tab"]}),"\n",(0,r.jsx)(n.li,{children:"View list of all executions (most recent first)"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"run-list-view",children:"Run List View"}),"\n",(0,r.jsx)(n.p,{children:"The runs list shows:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Run name (editable \u2014 click to rename, auto-generated with timestamp by default)"}),"\n",(0,r.jsx)(n.li,{children:"Start time"}),"\n",(0,r.jsx)(n.li,{children:"Duration"}),"\n",(0,r.jsx)(n.li,{children:"Status"}),"\n",(0,r.jsx)(n.li,{children:"Generated artifacts count"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Click any run to view full details."}),"\n",(0,r.jsx)(n.h3,{id:"run-details-view",children:"Run Details View"}),"\n",(0,r.jsx)(n.p,{children:"Click on a specific run to see:"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Steps Sidebar:"}),"\nA sidebar shows all steps in the workflow with visual status indicators. Each step displays its current status (pending, executing, completed, failed, etc.) so you can track progress at a glance."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Step-Level Chat:"}),"\nEach step has its own persistent chat interface. You can interact with the AI at the step level to provide inputs, ask questions about the step's output, or refine results."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Collapsible Execution Log:"}),"\nDetailed execution logs are available in a collapsible panel. Expand to see the full log of what happened during each step, including MCP tool calls and timing."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Artifacts Generated:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Links to all artifacts created"}),"\n",(0,r.jsx)(n.li,{children:"Artifact types and names"}),"\n",(0,r.jsx)(n.li,{children:"Creation timestamps"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Error Information"})," (if failed):"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Which step failed"}),"\n",(0,r.jsx)(n.li,{children:"Error message"}),"\n",(0,r.jsx)(n.li,{children:"Stack trace (if applicable)"}),"\n",(0,r.jsx)(n.li,{children:"Suggested fixes"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"Input Values:"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"All workflow inputs provided"}),"\n",(0,r.jsx)(n.li,{children:"Values used for each step"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"editable-run-names",children:"Editable Run Names"}
1),"\n",(0,r.jsx)(n.p,{children:'Run names are auto-generated with timestamps (e.g., "Run 2025-01-15 14:30"). You can click on the run name to rename it to something more meaningful.'}),"\n",(0,r.jsx)(n.h3,{id:"cancel-runs",children:"Cancel Runs"}),"\n",(0,r.jsx)(n.p,{children:"You can cancel a run that is currently in progress:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Open the run details"}),"\n",(0,r.jsxs)(n.li,{children:["Click the ",(0,r.jsx)(n.strong,{children:"Cancel"})," button"]}),"\n",(0,r.jsxs)(n.li,{children:["The run transitions to ",(0,r.jsx)(n.strong,{children:"Cancelling"})," and then ",(0,r.jsx)(n.strong,{children:"Cancelled"})," status"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Cancelled runs preserve any artifacts that were already generated before cancellation."}),"\n",(0,r.jsx)(n.h2,{id:"monitoring-runs",children:"Monitoring Runs"}),"\n",(0,r.jsx)(n.h3,{id:"real-time-monitoring",children:"Real-Time Monitoring"}),"\n",(0,r.jsx)(n.p,{children:"When a run is in progress, you'll see:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Current step being executed"}),"\n",(0,r.jsx)(n.li,{children:"Progress indicator"}),"\n",(0,r.jsx)(n.li,{children:"MCP tool calls happening in real-time"}),"\n",(0,r.jsx)(n.li,{children:"Partial outputs (where available)"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"post-execution-review",children:"Post-Execution Review"}),"\n",(0,r.jsx)(n.p,{children:"After completion, review:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Success paths"})," - Verify quality of generated artifacts"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Timing"})," - Identify slow steps for optimization"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Tool usage"})," - See which MCP tools were called"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Output quality"})," - Check if results meet expectations"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"understanding-run-logs",children:"Understanding Run Logs"}),"\n",(0,r.jsx)(n.p,{children:"Each step in the run log shows:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"Step 1: Gather Requirements\n\u251c\u2500 Started: 2:30:15 PM\n\u251c\u2500 MCP Tools Called:\n\u2502 \u2514\u2500 query_documents (3 queries)\n\u251c\u2500 Duration: 12.3s\n\u251c\u2500 Output: requirements_list (1,247 characters)\n\u2514\u2500 Status: Success \u2713\n\nStep 2: Generate PRD\n\u251c\u2500 Started: 2:30:27 PM\n\u251c\u2500 Input: requirements_list from Step 1\n\u251c\u2500 Duration: 34.6s\n\u251c\u2500 Output: prd_draft (5,891 characters)\n\u2514\u2500 Status: Success \u2713\n\nStep 3: Quality Check\n\u251c\u2500 Started: 2:31:02 PM\n\u251c\u2500 Input: prd_draft from Step 2\n\u251c\u2500 Duration: 8.1s\n\u251c\u2500 Artifact Generated: artifact-789 (PRD)\n\u2514\u2500 Status: Success \u2713\n"})}),"\n",(0,r.jsx)(n.h2,{id:"common-run-issues",children:"Common Run Issues"}),"\n",(0,r.jsx)(n.h3,{id:"run-failed-at-step",children:"Run Failed at Step"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"What it means:"})," One step in the workflow encountered an error"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"What to do:"})}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Check the error message for the failed step"}),"\n",(0,r.jsx)(n.li,{children:"Verify the skill is valid"}),"\n",(0,r.jsx)(n.li,{children:"Check if inputs were provided correctly"}),"\n",(0,r.jsx)(n.li,{children:"Review MCP tool permissions (if tools were used)"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"run-timed-out",children:"Run Timed Out"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"What it means:"})," The run exceeded the maximum execution time"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"What to do:"})}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Check if any step is making too many MCP tool calls"}),"\n",(0,r.jsx)(n.li,{children:"Optimize prompts to be more efficient"}),"\n",(0,r.jsx)(n.li,{children:"Consider breaking long workflows into multiple workflows"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"artifacts-not-generated",children:"Artifacts Not Generated"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"What it means:"})," Run completed but no artifacts were created"]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.strong,{children:"What to do:"})}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsx)(n.li,{children:"Verify artifact type and category settings"}),"\n",(0,r.jsx)(n.li,{children:"Check project associations"}),"\n",(0,r.jsx)(n.li,{children:"Ensure final step is configured to output an artifact"}),"\n",(0,r.jsx)(n.li,{children:"Review step configurations"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"run-history-and-retention",children:"Run History and Retention"}),"\n",(0,r.jsx)(n.h3,{id:"history-duration",children:"History Duration"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"All runs are preserved indefinitely"}),"\n",(0,r.jsx)(n.li,{children:"Access complete execution history anytime"}),"\n",(0,r.jsx)(n.li,{children:"Export run data for analysis"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"run-artifacts",children:"Run Artifacts"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Generated artifacts persist even if run is deleted"}),"\n",(0,r.jsx)(n.li,{children:"Artifact links remain valid"}),"\n",(0,r.jsx)(n.li,{children:"Run history shows which run created each artifact"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"analyzing-run-performance",children:"Analyzing Run Performance"}),"\n",(0,r.jsx)(n.h3,{id:"identify-bottlenecks",children:"Identify Bottlenecks"}),"\n",(0,r.jsx)(n.p,{children:"Look for steps that take significantly longer:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Optimize prompts for those steps"}),"\n",(0,r.jsx)(n.li,{children:"Reduce MCP tool calls if excessive"}),"\n",(0,r.jsx)(n.li,{children:"Consider splitting complex steps"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"success-rates",children:"Success Rates"}),"\n",(0,r.jsx)(n.p,{children:"Monitor success vs. failure rates:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"High failure rate \u2192 Review prompt quality"}),"\n",(0,r.jsx)(n.li,{children:"Intermittent failures \u2192 Check input validation"}),"\n",(0,r.jsx)(n.li,{children:"Consistent failures \u2192 Verify configuration"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"artifact-quality",children:"Artifact Quality"}),"\n",(0,r.jsx)(n.p,{children:"Review generated artifacts from multiple runs:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Consistent quality \u2192 Good skills"}),"\n",(0,r.jsx)(n.li,{children:"Variable quality \u2192 Add more guardrails"}),"\n",(0,r.jsx)(n.li,{children:"Poor quality \u2192 Refine prompts and validation"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,r.jsx)(n.h3,{id:"review-early-runs",children:"Review Early Runs"}),"\n",(0,r.jsx)(n.p,{children:"When first deploying a workflow:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Monitor the first 5-10 runs closely"}),"\n",(0,r.jsx)(n.li,{children:"Check artifact quality"}),"\n",(0,r.jsx)(n.li,{children:"Verify timing is acceptable"}),"\n",(0,r.jsx)(n.li,{children:"Look for any errors or warnings"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"set-up-monitoring",children:"Set Up Monitoring"}),"\n",(0,r.jsx)(n.p,{children:"For production workflows:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Check runs regularly (daily or weekly)"}),"\n",(0,r.jsx)(n.li,{children:"Set up alerts for failed runs"}),"\n",(0,r.jsx)(n.li,{children:"Review artifact quality periodically"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"learn-from-failures",children:"Learn from Failures"}),"\n",(0,r.jsx)(n.p,{children:"When runs fail:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Read error messages carefully"}),"\n",(0,r.jsx)(n.li,{children:"Check what inputs were provided"}),"\n",(0,r.jsx)(n.li,{children:"Review the step that failed"}),"\n",(0,r.jsx)(n.li,{children:"Update prompts or configuration as needed"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"track-improvements",children:"Track Improvements"}),"\n",(0,r.jsx)(n.p,{children:"Keep notes on changes:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Document prompt updates"}),"\n",(0,r.jsx)(n.li,{children:"Record performance before/after changes"}),"\n",(0,r.jsx)(n.li,{children:"Track success rates over time"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"next-steps",children:"Next Steps"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Create a workflow:"})," ",(0,r.jsx)(n.a,{href:"/docs/workflows/creating-workflows",children:"Creating Workflows"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Trigger via API:"})," ",(0,r.jsx)(n.a,{href:"/docs/api/workflows-api",children:"Workflows API"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Learn about artifacts:"})," ",(0,r.jsx)(n.a,{href:"/docs/artifacts/",children:"Artifacts Overview"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453(e,n,i){i.d(n,{R:()=>l,x:()=>a});var s=i(6540);const r={},t=s.createContext(r);function l(e){const n=s.useContext(t);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]);
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.