Files
Claude-Code-Workflow/ccw/docs-site/build/assets/js/a6c3df16.7cfa0c0a.js
catlog22 c6093ef741 feat: add CLI Command Node and Prompt Node components for orchestrator
- Implemented CliCommandNode component for executing CLI tools with AI models.
- Implemented PromptNode component for constructing AI prompts with context.
- Added styling for mode and tool badges in both components.
- Enhanced user experience with command and argument previews, execution status, and error handling.

test: add comprehensive tests for ask_question tool

- Created direct test for ask_question tool execution.
- Developed end-to-end tests to validate ask_question tool integration with WebSocket and A2UI surfaces.
- Implemented simple and integrated WebSocket tests to ensure proper message handling and surface reception.
- Added tool registration test to verify ask_question tool is correctly registered.

chore: add WebSocket listener and simulation tests

- Added WebSocket listener for A2UI surfaces to facilitate testing.
- Implemented frontend simulation test to validate complete flow from backend to frontend.
- Created various test scripts to ensure robust testing of ask_question tool functionality.
2026-02-03 23:10:36 +08:00

1 line
18 KiB
JavaScript

"use strict";(globalThis.webpackChunkccw_docs=globalThis.webpackChunkccw_docs||[]).push([[991],{1184(e,s,n){n.d(s,{R:()=>t,x:()=>a});var i=n(3696);const r={},l=i.createContext(r);function t(e){const s=i.useContext(l);return i.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),i.createElement(l.Provider,{value:s},e.children)}},8715(e,s,n){n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>t,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"commands/issue/issue-plan","title":"issue:plan","description":"Plan issue solutions with exploration and task breakdown","source":"@site/docs/commands/issue/issue-plan.md","sourceDirName":"commands/issue","slug":"/commands/issue/issue-plan","permalink":"/docs/docs/commands/issue/issue-plan","draft":false,"unlisted":false,"editUrl":"https://github.com/ccw/docs/tree/main/docs/commands/issue/issue-plan.md","tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"title":"issue:plan","sidebar_label":"issue:plan","sidebar_position":3,"description":"Plan issue solutions with exploration and task breakdown"},"sidebar":"docs","previous":{"title":"issue:discover","permalink":"/docs/docs/commands/issue/issue-discover"},"next":{"title":"issue:queue","permalink":"/docs/docs/commands/issue/issue-queue"}}');var r=n(2540),l=n(1184);const t={title:"issue:plan",sidebar_label:"issue:plan",sidebar_position:3,description:"Plan issue solutions with exploration and task breakdown"},a="issue",c={},d=[{value:"Description",id:"description",level:2},{value:"Key Features",id:"key-features",level:3},{value:"Usage",id:"usage",level:2},{value:"Arguments",id:"arguments",level:3},{value:"Examples",id:"examples",level:2},{value:"Plan All Pending Issues",id:"plan-all-pending-issues",level:3},{value:"Plan with Failure Retry",id:"plan-with-failure-retry",level:3},{value:"Multiple Solutions Selection",id:"multiple-solutions-selection",level:3},{value:"Issue Lifecycle Flow",id:"issue-lifecycle-flow",level:2},{value:"Planning Workflow",id:"planning-workflow",level:2},{value:"Phase 1: Issue Loading",id:"phase-1-issue-loading",level:3},{value:"Phase 2: Agent Exploration (Parallel)",id:"phase-2-agent-exploration-parallel",level:3},{value:"Phase 3: Solution Selection",id:"phase-3-solution-selection",level:3},{value:"Phase 4: Summary",id:"phase-4-summary",level:3},{value:"Failure-Aware Planning",id:"failure-aware-planning",level:2},{value:"Feedback Schema",id:"feedback-schema",level:3},{value:"Failure Analysis Rules",id:"failure-analysis-rules",level:3},{value:"CLI Endpoints",id:"cli-endpoints",level:2},{value:"Issue Operations",id:"issue-operations",level:3},{value:"Solution Schema",id:"solution-schema",level:3},{value:"Related Commands",id:"related-commands",level:2},{value:"Best Practices",id:"best-practices",level:2},{value:"Troubleshooting",id:"troubleshooting",level:2}];function o(e){const s={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",mermaid:"mermaid",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsxs)(s.h1,{id:"issue",children:["issue",":plan"]})}),"\n",(0,r.jsx)(s.p,{children:"Batch plan issue resolution using intelligent agent-driven exploration and planning with failure-aware retry logic."}),"\n",(0,r.jsx)(s.h2,{id:"description",children:"Description"}),"\n",(0,r.jsxs)(s.p,{children:["The ",(0,r.jsx)(s.code,{children:"issue:plan"})," command uses the issue-plan-agent to combine exploration and planning into a single closed-loop workflow. It generates executable solutions with task breakdowns, handles previous failure analysis, and supports batch processing of up to 3 issues per agent."]}),"\n",(0,r.jsx)(s.h3,{id:"key-features",children:"Key Features"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Explore + Plan"}),": Combined workflow for faster planning"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Failure-aware"}),": Analyzes previous failures to avoid repeats"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Batch processing"}),": Groups semantically similar issues"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Auto-binding"}),": Single solutions automatically bound"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Conflict detection"}),": Identifies cross-issue file conflicts"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"GitHub integration"}),": Adds GitHub comment tasks when applicable"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"usage",children:"Usage"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"# Plan all pending issues (default)\r\n/issue:plan\r\n\r\n# Plan specific issues\r\n/issue:plan GH-123,GH-124,GH-125\r\n\r\n# Plan single issue\r\n/issue:plan ISS-20251229-001\r\n\r\n# Explicit all-pending\r\n/issue:plan --all-pending\r\n\r\n# Custom batch size\r\n/issue:plan --batch-size 5\n"})}),"\n",(0,r.jsx)(s.h3,{id:"arguments",children:"Arguments"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Argument"}),(0,r.jsx)(s.th,{children:"Required"}),(0,r.jsx)(s.th,{children:"Description"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"issue-ids"})}),(0,r.jsx)(s.td,{children:"No"}),(0,r.jsx)(s.td,{children:"Comma-separated issue IDs (default: all pending)"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"--all-pending"})}),(0,r.jsx)(s.td,{children:"No"}),(0,r.jsx)(s.td,{children:"Explicit flag for all pending issues"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"--batch-size <n>"})}),(0,r.jsx)(s.td,{children:"No"}),(0,r.jsx)(s.td,{children:"Max issues per batch (default: 3)"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:(0,r.jsx)(s.code,{children:"-y, --yes"})}),(0,r.jsx)(s.td,{children:"No"}),(0,r.jsx)(s.td,{children:"Auto-bind without confirmation"})]})]})]}),"\n",(0,r.jsx)(s.h2,{id:"examples",children:"Examples"}),"\n",(0,r.jsx)(s.h3,{id:"plan-all-pending-issues",children:"Plan All Pending Issues"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"/issue:plan\r\n# Output:\r\n# Found 5 pending issues\r\n# Processing 5 issues in 2 batch(es)\r\n# [Batch 1/2] Planning GH-123, GH-124, GH-125...\r\n# \u2713 GH-123: SOL-GH-123-a7x9 (3 tasks)\r\n# \u2713 GH-124: SOL-GH-124-b3m2 (4 tasks)\r\n# \u2713 GH-125: SOL-GH-125-c8k1 (2 tasks)\n"})}),"\n",(0,r.jsx)(s.h3,{id:"plan-with-failure-retry",children:"Plan with Failure Retry"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"/issue:plan ISS-20251229-001\r\n# Agent analyzes previous failure from issue.feedback\r\n# Avoids same approach that failed before\r\n# Creates alternative solution with verification steps\n"})}),"\n",(0,r.jsx)(s.h3,{id:"multiple-solutions-selection",children:"Multiple Solutions Selection"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"/issue:plan GH-999\r\n# Agent generates 2 alternative solutions\r\n# Interactive prompt:\r\n# Issue GH-999: which solution to bind?\r\n# [1] SOL-GH-999-a1b2 (4 tasks) - Refactor approach\r\n# [2] SOL-GH-999-c3d4 (6 tasks) - Rewrite approach\n"})}),"\n",(0,r.jsx)(s.h2,{id:"issue-lifecycle-flow",children:"Issue Lifecycle Flow"}),"\n",(0,r.jsx)(s.mermaid,{value:"graph TB\r\n A[Issues to Plan] --\x3e B[Load Issue Metadata]\r\n B --\x3e C[Intelligent Grouping]\r\n C --\x3e D[Launch Agents Parallel]\r\n D --\x3e E1[Agent Batch 1]\r\n D --\x3e E2[Agent Batch 2]\r\n E1{Analyze\r\nFailures?}\r\n E2{Analyze\r\nFailures?}\r\n E1 --\x3e|Yes| F1[Extract Failure Patterns]\r\n E1 --\x3e|No| G1[Explore Codebase]\r\n E2 --\x3e|Yes| F2[Extract Failure Patterns]\r\n E2 --\x3e|No| G2[Explore Codebase]\r\n F1 --\x3e G1\r\n F2 --\x3e G2\r\n G1 --\x3e H1[Generate Solution]\r\n G2 --\x3e H2[Generate Solution]\r\n H1 --\x3e I{Single\r\nSolution?}\r\n H2 --\x3e I\r\n I --\x3e|Yes| J[Auto-Bind]\r\n I --\x3e|No| K[User Selection]\r\n K --\x3e L[Bind Selected]\r\n J --\x3e M[Status: Planned]\r\n L --\x3e M"}),"\n",(0,r.jsx)(s.h2,{id:"planning-workflow",children:"Planning Workflow"}),"\n",(0,r.jsx)(s.h3,{id:"phase-1-issue-loading",children:"Phase 1: Issue Loading"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"# Brief metadata only (to avoid context overflow)\r\nccw issue list --status pending,registered --json\n"})}),"\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"Returns"}),": Array of ",(0,r.jsx)(s.code,{children:"{id, title, tags}"})]}),"\n",(0,r.jsx)(s.h3,{id:"phase-2-agent-exploration-parallel",children:"Phase 2: Agent Exploration (Parallel)"}),"\n",(0,r.jsx)(s.p,{children:"Each agent performs:"}),"\n",(0,r.jsxs)(s.ol,{children:["\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"Fetch full issue details"})}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"ccw issue status <id> --json\n"})}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"Analyze failure history"})," (if exists)"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Extract ",(0,r.jsx)(s.code,{children:"issue.feedback"})," where ",(0,r.jsx)(s.code,{children:"type='failure'"}),", ",(0,r.jsx)(s.code,{children:"stage='execute'"})]}),"\n",(0,r.jsx)(s.li,{children:"Parse error_type, message, task_id, solution_id"}),"\n",(0,r.jsx)(s.li,{children:"Identify repeated patterns and root causes"}),"\n",(0,r.jsx)(s.li,{children:"Design alternative approach"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"Load project context"})}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:".workflow/project-tech.json"})," (technology stack)"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.code,{children:".workflow/project-guidelines.json"})," (constraints)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"Explore codebase"})," (ACE semantic search)"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsxs)(s.p,{children:[(0,r.jsx)(s.strong,{children:"Generate solution"})," (following solution-schema.json)"]}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsx)(s.li,{children:"Tasks with quantified acceptance criteria"}),"\n",(0,r.jsx)(s.li,{children:"Verification steps to prevent same failure"}),"\n",(0,r.jsx)(s.li,{children:"Reference to previous failures in approach"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(s.li,{children:["\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.strong,{children:"Write and bind"})}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:["Write to ",(0,r.jsx)(s.code,{children:"solutions/{issue-id}.jsonl"})]}),"\n",(0,r.jsxs)(s.li,{children:["Execute ",(0,r.jsx)(s.code,{children:"ccw issue bind <issue-id> <solution-id>"})," if single solution"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"phase-3-solution-selection",children:"Phase 3: Solution Selection"}),"\n",(0,r.jsx)(s.p,{children:"Multiple solutions \u2192 User selects via AskUserQuestion"}),"\n",(0,r.jsx)(s.h3,{id:"phase-4-summary",children:"Phase 4: Summary"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"## Done: 5 issues \u2192 5 planned\r\n\r\nBound Solutions:\r\n- GH-123: SOL-GH-123-a7x9 (3 tasks)\r\n- GH-124: SOL-GH-124-b3m2 (4 tasks)\r\n- ISS-20251229-001: SOL-ISS-20251229-001-c8k1 (2 tasks)\r\n\r\nNext: /issue:queue\n"})}),"\n",(0,r.jsx)(s.h2,{id:"failure-aware-planning",children:"Failure-Aware Planning"}),"\n",(0,r.jsx)(s.h3,{id:"feedback-schema",children:"Feedback Schema"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-typescript",children:"interface FailureFeedback {\r\n type: 'failure';\r\n stage: 'execute';\r\n content: {\r\n task_id: string;\r\n solution_id: string;\r\n error_type: 'test_failure' | 'compilation' | 'timeout' | 'runtime_error';\r\n message: string;\r\n timestamp: string;\r\n };\r\n created_at: string;\r\n}\n"})}),"\n",(0,r.jsx)(s.h3,{id:"failure-analysis-rules",children:"Failure Analysis Rules"}),"\n",(0,r.jsxs)(s.ol,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Extract patterns"}),": Repeated errors indicate systemic issues"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Identify root cause"}),": Test failure vs. compilation vs. timeout"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Design alternative"}),": Change approach, not just implementation"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Add prevention"}),": Explicit verification steps for same error"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Document lessons"}),": Reference failures in solution.approach"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"cli-endpoints",children:"CLI Endpoints"}),"\n",(0,r.jsx)(s.h3,{id:"issue-operations",children:"Issue Operations"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-bash",children:"# List pending issues (brief)\r\nccw issue list --status pending --brief\r\n\r\n# Get full issue details (agent use)\r\nccw issue status <id> --json\r\n\r\n# Bind solution to issue\r\nccw issue bind <issue-id> <solution-id>\r\n\r\n# List with bound solutions\r\nccw issue solutions --status planned --brief\n"})}),"\n",(0,r.jsx)(s.h3,{id:"solution-schema",children:"Solution Schema"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-typescript",children:"interface Solution {\r\n id: string; // SOL-{issue-id}-{4-char-uid}\r\n description: string;\r\n approach: string;\r\n tasks: Task[];\r\n exploration_context: {\r\n relevant_files: string[];\r\n dependencies: string[];\r\n patterns: string[];\r\n };\r\n failure_analysis?: {\r\n previous_failures: string[];\r\n alternative_approach: string;\r\n prevention_steps: string[];\r\n };\r\n is_bound: boolean;\r\n created_at: string;\r\n bound_at?: string;\r\n}\r\n\r\ninterface Task {\r\n id: string; // T1, T2, T3...\r\n title: string;\r\n scope: string;\r\n action: string;\r\n implementation: string[];\r\n acceptance: {\r\n criteria: string[];\r\n verification: string[];\r\n };\r\n test?: {\r\n unit?: string[];\r\n integration?: string[];\r\n commands?: string[];\r\n };\r\n}\n"})}),"\n",(0,r.jsx)(s.h2,{id:"related-commands",children:"Related Commands"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:(0,r.jsxs)(s.a,{href:"/docs/docs/commands/issue/issue-new",children:["issue",":new"]})})," - Create issues before planning"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:(0,r.jsxs)(s.a,{href:"/docs/docs/commands/issue/issue-queue",children:["issue",":queue"]})})," - Form execution queue from planned issues"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:(0,r.jsxs)(s.a,{href:"/docs/docs/commands/issue/issue-execute",children:["issue",":execute"]})})," - Execute planned solutions"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:(0,r.jsxs)(s.a,{href:"/docs/docs/commands/issue/issue-from-brainstorm",children:["issue",":from-brainstorm"]})})," - Convert brainstorm to planned issue"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:(0,r.jsxs)(s.a,{href:"/docs/docs/commands/issue/issue-convert-to-plan",children:["issue",":convert-to-plan"]})})," - Convert existing plans to issues"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,r.jsxs)(s.ol,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Plan in batches"}),": Default 3 issues per batch for optimal performance"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Review failures"}),": Check issue feedback before replanning"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Verify conflicts"}),": Agent reports file conflicts across issues"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"GitHub issues"}),": Agent adds final task to comment on GitHub issue"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Acceptance criteria"}),": Ensure tasks have quantified success metrics"]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Test coverage"}),": Each task should include verification steps"]}),"\n"]}),"\n",(0,r.jsx)(s.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,r.jsxs)(s.table,{children:[(0,r.jsx)(s.thead,{children:(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.th,{children:"Error"}),(0,r.jsx)(s.th,{children:"Cause"}),(0,r.jsx)(s.th,{children:"Resolution"})]})}),(0,r.jsxs)(s.tbody,{children:[(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"No pending issues"}),(0,r.jsx)(s.td,{children:"All issues already planned"}),(0,r.jsx)(s.td,{children:"Create new issues or use --all-pending flag"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Agent timeout"}),(0,r.jsx)(s.td,{children:"Large codebase exploration"}),(0,r.jsx)(s.td,{children:"Reduce batch size or limit scope"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"No solutions generated"}),(0,r.jsx)(s.td,{children:"Insufficient context"}),(0,r.jsx)(s.td,{children:"Provide more detailed issue description"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Solution conflicts"}),(0,r.jsx)(s.td,{children:"Multiple issues touch same files"}),(0,r.jsx)(s.td,{children:"Agent reports conflicts, resolve manually"})]}),(0,r.jsxs)(s.tr,{children:[(0,r.jsx)(s.td,{children:"Bind failure"}),(0,r.jsx)(s.td,{children:"Solution file write error"}),(0,r.jsx)(s.td,{children:"Check permissions, retry"})]})]})]})]})}function u(e={}){const{wrapper:s}={...(0,l.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(o,{...e})}):o(e)}}}]);