128 lines
5.0 KiB
HTML
128 lines
5.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>ln-312-task-replanner - Universal Replanner</title>
|
|
<script src="https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js"></script>
|
|
<link rel="stylesheet" href="../shared/css/diagram.css">
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<h1>ln-312-task-replanner</h1>
|
|
<p class="subtitle">Universal Replanner - Worker v1.0.0</p>
|
|
</header>
|
|
<div class="info-box">
|
|
<h2>Overview</h2>
|
|
<ul>
|
|
<li><strong>Purpose:</strong> Universal replanner worker for updating existing tasks when Story requirements change</li>
|
|
<li><strong>Pattern:</strong> Worker v1.0.0 - Invoked by orchestrator (x-task-manager) via Skill tool with taskType parameter</li>
|
|
<li><strong>Templates:</strong>
|
|
<ul>
|
|
<li><code>implementation</code> → task_template_implementation.md (7 sections)</li>
|
|
<li><code>refactoring</code> → refactoring_task_template.md (7 sections)</li>
|
|
<li><code>test</code> → test_task_template.md (11 sections)</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>Comparison Logic:</strong> Match tasks by goal/purpose, categorize changes</li>
|
|
<li><strong>Input:</strong> IDEAL plan + existing task IDs from orchestrator</li>
|
|
<li><strong>Output:</strong> Operations summary + diffs + URLs → return to orchestrator</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="info-box">
|
|
<h2>Operation Categories</h2>
|
|
|
|
<div class="operation-box">
|
|
<h3>🟢 KEEP</h3>
|
|
<p>Goals match, no changes needed → Task unchanged</p>
|
|
</div>
|
|
|
|
<div class="operation-box">
|
|
<h3>🟡 UPDATE</h3>
|
|
<p>Goals match, but AC/approach changed → Modify description with type-specific validation</p>
|
|
</div>
|
|
|
|
<div class="operation-box">
|
|
<h3>🔴 OBSOLETE</h3>
|
|
<p>No match in IDEAL (feature removed) → Cancel task in Linear + add comment</p>
|
|
</div>
|
|
|
|
<div class="operation-box">
|
|
<h3>🔵 CREATE</h3>
|
|
<p>In IDEAL but no existing match → New task needed with type-specific validation</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="diagram-container">
|
|
<div class="mermaid">
|
|
graph TD
|
|
Start([Invoked by orchestrator<br/>taskType parameter]) --> SelectTemplate{Select Template<br/>by taskType}
|
|
|
|
SelectTemplate -->|implementation| T1[task_template_implementation.md<br/>7 sections]
|
|
SelectTemplate -->|refactoring| T2[refactoring_task_template.md<br/>7 sections]
|
|
SelectTemplate -->|test| T3[test_task_template.md<br/>11 sections]
|
|
|
|
T1 --> Phase1
|
|
T2 --> Phase1
|
|
T3 --> Phase1
|
|
|
|
Phase1[Phase 1: Load Existing Tasks<br/>Full descriptions from Linear<br/>Parse sections by template]
|
|
|
|
Phase1 --> Phase2[Phase 2: Compare IDEAL vs Existing<br/>Match by goal<br/>Categorize operations]
|
|
|
|
Phase2 --> Categorize{Determine operations}
|
|
Categorize -->|Goals match<br/>No changes| KEEP[KEEP:<br/>Task unchanged]
|
|
Categorize -->|Goals match<br/>AC/approach changed| UPDATE[UPDATE:<br/>Modify description]
|
|
Categorize -->|No match in IDEAL<br/>Feature removed| OBSOLETE[OBSOLETE:<br/>Cancel task]
|
|
Categorize -->|In IDEAL<br/>No existing match| CREATE[CREATE:<br/>New task needed]
|
|
|
|
KEEP --> Phase3[Phase 3: Show Operations Summary<br/>+ Diffs for UPDATE<br/>+ Warnings for edge cases]
|
|
UPDATE --> Phase3
|
|
OBSOLETE --> Phase3
|
|
CREATE --> Phase3
|
|
|
|
Phase3 --> Phase4{Phase 4: User Confirmation}
|
|
Phase4 -->|"confirm"| Phase5[Phase 5: Execute Operations]
|
|
Phase4 -->|Other input| Abort([Abort: Return to orchestrator])
|
|
|
|
Phase5 --> Step1[Step 1: UPDATE tasks<br/>Type-specific validation]
|
|
Step1 --> Step2[Step 2: OBSOLETE tasks<br/>Cancel in Linear<br/>Add comments]
|
|
Step2 --> Step3[Step 3: CREATE tasks<br/>Generate + create<br/>Type-specific validation]
|
|
Step3 --> Step4[Step 4: Update kanban_board.md<br/>Remove canceled<br/>Add new tasks]
|
|
Step4 --> Success([SUCCESS<br/>Return operations summary<br/>+ URLs + warnings])
|
|
|
|
style Start fill:#e1f5fe
|
|
style Success fill:#c8e6c9
|
|
style Abort fill:#fff9c4
|
|
style SelectTemplate fill:#e1bee7
|
|
style T1 fill:#c8e6c9
|
|
style T2 fill:#fff3e0
|
|
style T3 fill:#ffcdd2
|
|
style KEEP fill:#c8e6c9
|
|
style UPDATE fill:#fff3e0
|
|
style OBSOLETE fill:#ffcdd2
|
|
style CREATE fill:#e1bee7
|
|
style Categorize fill:#fff3e0
|
|
style Phase4 fill:#fff3e0
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
<p>ln-312-task-replanner v1.0.0 | Universal Replanner Pattern | Mermaid.js</p>
|
|
</footer>
|
|
</div>
|
|
<script>
|
|
mermaid.initialize({
|
|
startOnLoad: true,
|
|
theme: 'default',
|
|
flowchart: {
|
|
useMaxWidth: true,
|
|
htmlLabels: true,
|
|
curve: 'basis'
|
|
}
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|