<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>文件規範 on Tarragon</title><link>https://tarrragon.github.io/blog/tags/%E6%96%87%E4%BB%B6%E8%A6%8F%E7%AF%84/</link><description>Recent content in 文件規範 on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Wed, 04 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/%E6%96%87%E4%BB%B6%E8%A6%8F%E7%AF%84/index.xml" rel="self" type="application/rss+xml"/><item><title>方法論文件撰寫方法論</title><link>https://tarrragon.github.io/blog/record/%E6%96%B9%E6%B3%95%E8%AB%96%E6%96%87%E4%BB%B6%E6%92%B0%E5%AF%AB%E6%96%B9%E6%B3%95%E8%AB%96/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/record/%E6%96%B9%E6%B3%95%E8%AB%96%E6%96%87%E4%BB%B6%E6%92%B0%E5%AF%AB%E6%96%B9%E6%B3%95%E8%AB%96/</guid><description>&lt;h2 id="一個根本性的誤解">一個根本性的誤解&lt;/h2>
&lt;p>我們花了很長時間，把方法論文件寫得越來越完整——完整的定義、詳細的範例、細緻的流程說明，直到有一天發現，這樣的文件根本沒有人在用。&lt;/p>
&lt;p>問題出在誤解了方法論的讀者是誰。&lt;/p></description><content:encoded><![CDATA[<h2 id="一個根本性的誤解">一個根本性的誤解</h2>
<p>我們花了很長時間，把方法論文件寫得越來越完整——完整的定義、詳細的範例、細緻的流程說明，直到有一天發現，這樣的文件根本沒有人在用。</p>
<p>問題出在誤解了方法論的讀者是誰。</p>
<p>方法論的讀者是專家。他們已經知道這些內容，只是需要時忘記了細節。他們不需要被教導，只需要一個快速的提醒，幫他們找回記憶。</p>
<h2 id="30-秒電梯理論">30 秒電梯理論</h2>
<p>我們現在用一個簡單標準評估方法論：能在 30 秒內讀完嗎？如果不能，就太長了。</p>
<p>讀者打開方法論通常是在任務中途，需要確認某個原則或步驟。超出 30 秒的內容搬移到獨立的 SKILL 文件，由方法論引用。</p>
<h2 id="方法論與-skill-的分工">方法論與 SKILL 的分工</h2>
<p>方法論是複習清單：告訴你「有哪些原則」「判斷方向是什麼」，讓你快速確認沒有遺漏重要考量。</p>
<p>SKILL 是實作指南：包含範例、錯誤處理、邊界情況，回答「具體怎麼做」。</p>
<p>過去把兩者混在一起，結果兩頭不討好——方法論太長難以快速查閱，又因試圖簡潔而省略了真正需要的操作細節。</p>
<h2 id="撰寫方法論的核查">撰寫方法論的核查</h2>
<p>每次撰寫或改寫方法論，問三個問題：</p>
<p>有完整的操作流程嗎？建立對應 SKILL，方法論只保留原則和引用。</p>
<p>有程式碼範例或錯誤處理細節嗎？屬於 SKILL，不屬於方法論。</p>
<p>精簡後會流失關鍵資訊嗎？如果是，那些資訊本來就不屬於方法論。</p>
<h2 id="消除歧義仍然是核心要求">消除歧義仍然是核心要求</h2>
<p>精簡不代表模糊。「應該」改為「必須」，「建議」改為「要求」，「適當時機」改為具體時間點。每個判斷只有兩種結果：接受或拒絕、必須或禁止。</p>
<p>簡短但模糊的方法論比詳細但模糊的更糟糕——它讓讀者覺得已經複習完了，卻什麼都沒想清楚。</p>]]></content:encoded></item><item><title>敏捷開發方法論</title><link>https://tarrragon.github.io/blog/record/%E6%95%8F%E6%8D%B7%E9%96%8B%E7%99%BC%E6%96%B9%E6%B3%95%E8%AB%96/</link><pubDate>Wed, 08 Oct 2025 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/record/%E6%95%8F%E6%8D%B7%E9%96%8B%E7%99%BC%E6%96%B9%E6%B3%95%E8%AB%96/</guid><description>&lt;h2 id="方法論概述">方法論概述&lt;/h2>
&lt;p>本方法論定義敏捷開發流程，採用主線程統籌分派、子代理人專責執行的協作模式，確保重構品質和進度控制。
但是在AI開發過程中，不會百分之百按照文件要求執行，所以需要配合hook機制在轉階段的時候檢查是否符合TDD流程，每一層的文件是否有確實填寫，指派任務給代理人之前，文件是否有提供完整的規格資料以及功能描述，不然執行上還是會有偏差，但是依照這套機制可以及早發現出錯的狀況及早糾正&lt;/p>
&lt;p>這篇方法論是延續之前敏捷重構方法論補充內容，但是因為內容更大更完整，所以獨立一篇文章而不是更新舊的敏捷重構方法論(實際專案中是取代舊的方法論)。&lt;/p>
&lt;h2 id="核心原則">核心原則&lt;/h2>
&lt;h3 id="1-主線程職責專一化">1. 主線程職責專一化&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>只負責任務分派和統籌管理&lt;/strong>，絕不親自執行具體重構工作&lt;/li>
&lt;li>依照工作日誌規劃分派任務給相應的子代理人&lt;/li>
&lt;li>維持敏捷開發的節奏和品質標準&lt;/li>
&lt;/ul>
&lt;h3 id="2-任務原子化拆分">2. 任務原子化拆分&lt;/h3>
&lt;ul>
&lt;li>每個小版本任務必須在 1-2 小時內完成&lt;/li>
&lt;li>任務影響檔案數量控制在 5 個以下&lt;/li>
&lt;li>每個任務都有明確的完成標準和驗收條件&lt;/li>
&lt;/ul>
&lt;h3 id="3-品質門檻強制執行">3. 品質門檻強制執行&lt;/h3>
&lt;ul>
&lt;li>每個任務完成後必須通過測試檢查&lt;/li>
&lt;li>重構代理人強制驗證程式碼品質&lt;/li>
&lt;li>100% 測試通過率是最低要求&lt;/li>
&lt;/ul>
&lt;h2 id="agent-角色定義">Agent 角色定義&lt;/h2>
&lt;h3 id="主線程-main-thread">主線程 (Main Thread)&lt;/h3>
&lt;p>&lt;strong>職責&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>依照主版本工作日誌分派任務&lt;/li>
&lt;li>維持敏捷開發節奏&lt;/li>
&lt;li>監控整體進度和品質&lt;/li>
&lt;li>處理升級請求和任務重新分派&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>禁止行為&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>親自閱讀或修改程式碼&lt;/li>
&lt;li>執行具體的重構工作&lt;/li>
&lt;li>繞過子代理人直接操作&lt;/li>
&lt;/ul>
&lt;h3 id="子代理人-sub-agents">子代理人 (Sub-Agents)&lt;/h3>
&lt;p>&lt;strong>職責&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>執行指派的具體重構任務&lt;/li>
&lt;li>回報任務完成狀態和結果&lt;/li>
&lt;li>發現任務規模過大時向上回報&lt;/li>
&lt;li>確保任務符合完成標準&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>專業分工&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>lavender-interface-designer&lt;/strong>: TDD Phase 1 功能設計&lt;/li>
&lt;li>&lt;strong>sage-test-architect&lt;/strong>: TDD Phase 2 測試設計&lt;/li>
&lt;li>&lt;strong>pepper-test-implementer&lt;/strong>: TDD Phase 3 實作規劃&lt;/li>
&lt;li>&lt;strong>cinnamon-refactor-owl&lt;/strong>: TDD Phase 4 重構執行&lt;/li>
&lt;li>&lt;strong>mint-format-specialist&lt;/strong>: 程式碼格式化和品質修正&lt;/li>
&lt;/ul>
&lt;h3 id="重構代理人-refactor-validator">重構代理人 (Refactor Validator)&lt;/h3>
&lt;p>&lt;strong>職責&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>檢查子代理人完成的重構工作&lt;/li>
&lt;li>驗證程式碼品質和功能正確性&lt;/li>
&lt;li>確認測試通過率和效能標準&lt;/li>
&lt;li>批准任務完成或要求修正&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>代理人&lt;/strong>: &lt;code>cinnamon-refactor-owl&lt;/code>&lt;/p>
&lt;h3 id="pm-代理人-project-manager">PM 代理人 (Project Manager)&lt;/h3>
&lt;p>&lt;strong>職責&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>任務規模過大時進行二次拆分&lt;/li>
&lt;li>更新小版本工作日誌&lt;/li>
&lt;li>重新規劃任務執行順序&lt;/li>
&lt;li>管理任務依賴關係&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>代理人&lt;/strong>: &lt;code>rosemary-project-manager&lt;/code>&lt;/p>
&lt;h3 id="文件代理人-documentation-agent">文件代理人 (Documentation Agent)&lt;/h3>
&lt;p>&lt;strong>職責&lt;/strong>：&lt;/p>
&lt;ul>
&lt;li>更新小版本工作日誌&lt;/li>
&lt;li>標記小版本完成狀態&lt;/li>
&lt;li>記錄任務執行結果&lt;/li>
&lt;li>同步文件狀態&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>代理人&lt;/strong>: &lt;code>memory-network-builder&lt;/code>&lt;/p>
&lt;h2 id="任務分派前強制檢查清單">任務分派前強制檢查清單&lt;/h2>
&lt;p>&lt;strong>重要&lt;/strong>: 在分派任何重構任務前，主線程必須先通過以下檢查清單。如果無法回答這些問題，必須優先建立準備文件。&lt;/p>
&lt;h3 id="準備度檢查問題">準備度檢查問題&lt;/h3>
&lt;h4 id="1-明確的文件規劃">1. 明確的文件規劃&lt;/h4>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>API 規格是否完整？&lt;/strong> 代理人知道要實作什麼樣的介面和行為嗎？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>設計文件是否具體？&lt;/strong> 有詳細的類別定義、方法簽名、使用範例嗎？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>架構圖是否清晰？&lt;/strong> 代理人知道新系統的整體架構和元件關係嗎？&lt;/li>
&lt;/ul>
&lt;h4 id="2-測試先行策略">2. 測試先行策略&lt;/h4>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>測試規格是否存在？&lt;/strong> 每個元件都有對應的測試規格和驗收標準嗎？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>TDD 流程是否明確？&lt;/strong> 代理人知道要先寫什麼測試再實作嗎？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>效能標準是否定義？&lt;/strong> 有明確的效能基準和測試方法嗎？&lt;/li>
&lt;/ul>
&lt;h4 id="3-實作目標明確性">3. 實作目標明確性&lt;/h4>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>完成標準是否可測量？&lt;/strong> 代理人知道什麼程度才算任務完成嗎？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>使用範例是否充足？&lt;/strong> 有具體的程式碼範例展示最終產品嗎？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>移轉策略是否清楚？&lt;/strong> 有舊系統到新系統的具體移轉指引嗎？&lt;/li>
&lt;/ul>
&lt;h4 id="4-風險評估與應對">4. 風險評估與應對&lt;/h4>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>潛在問題是否識別？&lt;/strong> 有預見可能的技術難點和解決方案嗎？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>回滾計畫是否準備？&lt;/strong> 出問題時有明確的回滾和修復策略嗎？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>依賴關係是否梳理？&lt;/strong> 知道任務間的依賴順序和影響範圍嗎？&lt;/li>
&lt;/ul>
&lt;h4 id="5-參考文件和影響範圍完整性強制">5. 參考文件和影響範圍完整性（強制）&lt;/h4>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>UseCase 參考是否明確？&lt;/strong> 工作日誌是否列出對應的 UseCase 和業務需求？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>流程圖 Event 是否具體？&lt;/strong> 是否指定要實作流程圖的哪些 Event 編號和對應類別/方法？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>架構規範是否引用？&lt;/strong> 是否明確列出適用的架構規範文件（Clean Architecture、DDD、錯誤處理等）？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>依賴類別是否列舉？&lt;/strong> 是否列出前置任務產出的依賴類別和版本號？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>測試設計是否參考？&lt;/strong> 是否明確測試檔案、測試數量和效能基準？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>影響檔案是否清單化？&lt;/strong> 是否完整列出需建立、修改、影響的檔案清單？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>影響範圍是否評估？&lt;/strong> 是否評估對上層模組和下層模組的影響？&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>違規處理&lt;/strong>: 缺少任何一項參考文件或影響範圍資訊，視為&lt;strong>任務規劃不合格&lt;/strong>，必須立即補充後才能分派給代理人執行。&lt;/p>
&lt;h4 id="6-設計面效能考量前後端通用">6. 設計面效能考量（前後端通用）&lt;/h4>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>效能瓶頸是否識別？&lt;/strong> 是否分析潛在的效能瓶頸（大量資料處理、複雜運算、API 等待、資料庫查詢）？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>優化策略是否規劃？&lt;/strong> 是否規劃對應的優化策略（異步處理、Isolate、快取機制、分頁載入、索引優化）？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>資源使用是否評估？&lt;/strong> 是否評估記憶體使用、網路請求數量、CPU 負載、儲存空間需求？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>UI 阻塞是否避免？&lt;/strong> (前端) 是否確保 UI 主執行緒不被阻塞（異步操作、Loading State、compute/Isolate）？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>回應時間是否設計？&lt;/strong> (後端) 是否設計 API 回應時間目標和逾時處理機制？&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> &lt;strong>效能基準是否設定？&lt;/strong> 是否定義具體的效能目標和測量方式（載入時間、渲染幀率、API 回應時間）？&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>適用範圍&lt;/strong>:&lt;/p></description><content:encoded><![CDATA[<h2 id="方法論概述">方法論概述</h2>
<p>本方法論定義敏捷開發流程，採用主線程統籌分派、子代理人專責執行的協作模式，確保重構品質和進度控制。
但是在AI開發過程中，不會百分之百按照文件要求執行，所以需要配合hook機制在轉階段的時候檢查是否符合TDD流程，每一層的文件是否有確實填寫，指派任務給代理人之前，文件是否有提供完整的規格資料以及功能描述，不然執行上還是會有偏差，但是依照這套機制可以及早發現出錯的狀況及早糾正</p>
<p>這篇方法論是延續之前敏捷重構方法論補充內容，但是因為內容更大更完整，所以獨立一篇文章而不是更新舊的敏捷重構方法論(實際專案中是取代舊的方法論)。</p>
<h2 id="核心原則">核心原則</h2>
<h3 id="1-主線程職責專一化">1. 主線程職責專一化</h3>
<ul>
<li><strong>只負責任務分派和統籌管理</strong>，絕不親自執行具體重構工作</li>
<li>依照工作日誌規劃分派任務給相應的子代理人</li>
<li>維持敏捷開發的節奏和品質標準</li>
</ul>
<h3 id="2-任務原子化拆分">2. 任務原子化拆分</h3>
<ul>
<li>每個小版本任務必須在 1-2 小時內完成</li>
<li>任務影響檔案數量控制在 5 個以下</li>
<li>每個任務都有明確的完成標準和驗收條件</li>
</ul>
<h3 id="3-品質門檻強制執行">3. 品質門檻強制執行</h3>
<ul>
<li>每個任務完成後必須通過測試檢查</li>
<li>重構代理人強制驗證程式碼品質</li>
<li>100% 測試通過率是最低要求</li>
</ul>
<h2 id="agent-角色定義">Agent 角色定義</h2>
<h3 id="主線程-main-thread">主線程 (Main Thread)</h3>
<p><strong>職責</strong>：</p>
<ul>
<li>依照主版本工作日誌分派任務</li>
<li>維持敏捷開發節奏</li>
<li>監控整體進度和品質</li>
<li>處理升級請求和任務重新分派</li>
</ul>
<p><strong>禁止行為</strong>：</p>
<ul>
<li>親自閱讀或修改程式碼</li>
<li>執行具體的重構工作</li>
<li>繞過子代理人直接操作</li>
</ul>
<h3 id="子代理人-sub-agents">子代理人 (Sub-Agents)</h3>
<p><strong>職責</strong>：</p>
<ul>
<li>執行指派的具體重構任務</li>
<li>回報任務完成狀態和結果</li>
<li>發現任務規模過大時向上回報</li>
<li>確保任務符合完成標準</li>
</ul>
<p><strong>專業分工</strong>：</p>
<ul>
<li><strong>lavender-interface-designer</strong>: TDD Phase 1 功能設計</li>
<li><strong>sage-test-architect</strong>: TDD Phase 2 測試設計</li>
<li><strong>pepper-test-implementer</strong>: TDD Phase 3 實作規劃</li>
<li><strong>cinnamon-refactor-owl</strong>: TDD Phase 4 重構執行</li>
<li><strong>mint-format-specialist</strong>: 程式碼格式化和品質修正</li>
</ul>
<h3 id="重構代理人-refactor-validator">重構代理人 (Refactor Validator)</h3>
<p><strong>職責</strong>：</p>
<ul>
<li>檢查子代理人完成的重構工作</li>
<li>驗證程式碼品質和功能正確性</li>
<li>確認測試通過率和效能標準</li>
<li>批准任務完成或要求修正</li>
</ul>
<p><strong>代理人</strong>: <code>cinnamon-refactor-owl</code></p>
<h3 id="pm-代理人-project-manager">PM 代理人 (Project Manager)</h3>
<p><strong>職責</strong>：</p>
<ul>
<li>任務規模過大時進行二次拆分</li>
<li>更新小版本工作日誌</li>
<li>重新規劃任務執行順序</li>
<li>管理任務依賴關係</li>
</ul>
<p><strong>代理人</strong>: <code>rosemary-project-manager</code></p>
<h3 id="文件代理人-documentation-agent">文件代理人 (Documentation Agent)</h3>
<p><strong>職責</strong>：</p>
<ul>
<li>更新小版本工作日誌</li>
<li>標記小版本完成狀態</li>
<li>記錄任務執行結果</li>
<li>同步文件狀態</li>
</ul>
<p><strong>代理人</strong>: <code>memory-network-builder</code></p>
<h2 id="任務分派前強制檢查清單">任務分派前強制檢查清單</h2>
<p><strong>重要</strong>: 在分派任何重構任務前，主線程必須先通過以下檢查清單。如果無法回答這些問題，必須優先建立準備文件。</p>
<h3 id="準備度檢查問題">準備度檢查問題</h3>
<h4 id="1-明確的文件規劃">1. 明確的文件規劃</h4>
<ul>
<li><input disabled="" type="checkbox"> <strong>API 規格是否完整？</strong> 代理人知道要實作什麼樣的介面和行為嗎？</li>
<li><input disabled="" type="checkbox"> <strong>設計文件是否具體？</strong> 有詳細的類別定義、方法簽名、使用範例嗎？</li>
<li><input disabled="" type="checkbox"> <strong>架構圖是否清晰？</strong> 代理人知道新系統的整體架構和元件關係嗎？</li>
</ul>
<h4 id="2-測試先行策略">2. 測試先行策略</h4>
<ul>
<li><input disabled="" type="checkbox"> <strong>測試規格是否存在？</strong> 每個元件都有對應的測試規格和驗收標準嗎？</li>
<li><input disabled="" type="checkbox"> <strong>TDD 流程是否明確？</strong> 代理人知道要先寫什麼測試再實作嗎？</li>
<li><input disabled="" type="checkbox"> <strong>效能標準是否定義？</strong> 有明確的效能基準和測試方法嗎？</li>
</ul>
<h4 id="3-實作目標明確性">3. 實作目標明確性</h4>
<ul>
<li><input disabled="" type="checkbox"> <strong>完成標準是否可測量？</strong> 代理人知道什麼程度才算任務完成嗎？</li>
<li><input disabled="" type="checkbox"> <strong>使用範例是否充足？</strong> 有具體的程式碼範例展示最終產品嗎？</li>
<li><input disabled="" type="checkbox"> <strong>移轉策略是否清楚？</strong> 有舊系統到新系統的具體移轉指引嗎？</li>
</ul>
<h4 id="4-風險評估與應對">4. 風險評估與應對</h4>
<ul>
<li><input disabled="" type="checkbox"> <strong>潛在問題是否識別？</strong> 有預見可能的技術難點和解決方案嗎？</li>
<li><input disabled="" type="checkbox"> <strong>回滾計畫是否準備？</strong> 出問題時有明確的回滾和修復策略嗎？</li>
<li><input disabled="" type="checkbox"> <strong>依賴關係是否梳理？</strong> 知道任務間的依賴順序和影響範圍嗎？</li>
</ul>
<h4 id="5-參考文件和影響範圍完整性強制">5. 參考文件和影響範圍完整性（強制）</h4>
<ul>
<li><input disabled="" type="checkbox"> <strong>UseCase 參考是否明確？</strong> 工作日誌是否列出對應的 UseCase 和業務需求？</li>
<li><input disabled="" type="checkbox"> <strong>流程圖 Event 是否具體？</strong> 是否指定要實作流程圖的哪些 Event 編號和對應類別/方法？</li>
<li><input disabled="" type="checkbox"> <strong>架構規範是否引用？</strong> 是否明確列出適用的架構規範文件（Clean Architecture、DDD、錯誤處理等）？</li>
<li><input disabled="" type="checkbox"> <strong>依賴類別是否列舉？</strong> 是否列出前置任務產出的依賴類別和版本號？</li>
<li><input disabled="" type="checkbox"> <strong>測試設計是否參考？</strong> 是否明確測試檔案、測試數量和效能基準？</li>
<li><input disabled="" type="checkbox"> <strong>影響檔案是否清單化？</strong> 是否完整列出需建立、修改、影響的檔案清單？</li>
<li><input disabled="" type="checkbox"> <strong>影響範圍是否評估？</strong> 是否評估對上層模組和下層模組的影響？</li>
</ul>
<p><strong>違規處理</strong>: 缺少任何一項參考文件或影響範圍資訊，視為<strong>任務規劃不合格</strong>，必須立即補充後才能分派給代理人執行。</p>
<h4 id="6-設計面效能考量前後端通用">6. 設計面效能考量（前後端通用）</h4>
<ul>
<li><input disabled="" type="checkbox"> <strong>效能瓶頸是否識別？</strong> 是否分析潛在的效能瓶頸（大量資料處理、複雜運算、API 等待、資料庫查詢）？</li>
<li><input disabled="" type="checkbox"> <strong>優化策略是否規劃？</strong> 是否規劃對應的優化策略（異步處理、Isolate、快取機制、分頁載入、索引優化）？</li>
<li><input disabled="" type="checkbox"> <strong>資源使用是否評估？</strong> 是否評估記憶體使用、網路請求數量、CPU 負載、儲存空間需求？</li>
<li><input disabled="" type="checkbox"> <strong>UI 阻塞是否避免？</strong> (前端) 是否確保 UI 主執行緒不被阻塞（異步操作、Loading State、compute/Isolate）？</li>
<li><input disabled="" type="checkbox"> <strong>回應時間是否設計？</strong> (後端) 是否設計 API 回應時間目標和逾時處理機制？</li>
<li><input disabled="" type="checkbox"> <strong>效能基準是否設定？</strong> 是否定義具體的效能目標和測量方式（載入時間、渲染幀率、API 回應時間）？</li>
</ul>
<p><strong>適用範圍</strong>:</p>
<ul>
<li>前端開發（UI 渲染、資料處理、狀態管理）</li>
<li>Backend API 開發（查詢優化、快取策略、並發處理）</li>
<li>資料處理邏輯（JSON 解析、大量計算、批次處理）</li>
<li>所有可能影響使用者體驗的功能</li>
</ul>
<p><strong>強制要求</strong>:</p>
<ul>
<li>Phase 1 設計規格必須包含「效能考量」章節</li>
<li>所有任務分派都需要評估效能影響</li>
<li>無論前後端開發，都要從設計面預防效能問題</li>
<li>效能問題在設計階段解決，而非依賴測試發現</li>
</ul>
<p><strong>參考文件</strong>:</p>
<ul>
<li>TDD 協作流程 - Phase 4-1 UI 效能檢查</li>
<li>測試金字塔設計 - 效能測試策略</li>
<li>Widget 測試指導原則 - 禁止效能測試</li>
</ul>
<p><strong>違規處理</strong>: 缺少效能考量分析，視為<strong>設計規劃不完整</strong>，必須補充效能分析後才能分派任務。</p>
<h3 id="準備度檢查失敗處理">準備度檢查失敗處理</h3>
<p><strong>如果任何檢查項目回答為「否」，必須執行以下優先動作</strong>：</p>
<h4 id="優先動作1-建立-api-規格文件">優先動作1: 建立 API 規格文件</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl">檔案: docs/[feature-name]-api-specification.md
</span></span><span class="line"><span class="ln">2</span><span class="cl">內容:
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="k">-</span> 完整的介面定義
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="k">-</span> 詳細的方法簽名
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="k">-</span> 具體的使用範例
</span></span><span class="line"><span class="ln">6</span><span class="cl">- 效能要求規格</span></span></code></pre></div><h4 id="優先動作2-建立-tdd-測試規格">優先動作2: 建立 TDD 測試規格</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl">檔案: docs/[feature-name]-test-specification.md
</span></span><span class="line"><span class="ln">2</span><span class="cl">內容:
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="k">-</span> 每個元件的測試案例
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="k">-</span> 驗收測試標準
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="k">-</span> 效能基準測試
</span></span><span class="line"><span class="ln">6</span><span class="cl">- 整合測試場景</span></span></code></pre></div><h4 id="優先動作3-建立移轉指引">優先動作3: 建立移轉指引</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl">檔案: docs/[feature-name]-migration-guide.md
</span></span><span class="line"><span class="ln">2</span><span class="cl">內容:
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="k">-</span> 舊系統→新系統對照表
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="k">-</span> 常見使用場景範例
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="k">-</span> 最佳實踐指引
</span></span><span class="line"><span class="ln">6</span><span class="cl">- 問題排除手冊</span></span></code></pre></div><h4 id="優先動作4-建立實作範例">優先動作4: 建立實作範例</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl">檔案: docs/[feature-name]-implementation-examples.md
</span></span><span class="line"><span class="ln">2</span><span class="cl">內容:
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="k">-</span> 完整的程式碼範例
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="k">-</span> 使用情境示範
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="k">-</span> 常見模式展示
</span></span><span class="line"><span class="ln">6</span><span class="cl">- 最佳實踐指引</span></span></code></pre></div><h3 id="準備文件建立流程">準備文件建立流程</h3>
<h4 id="文件建立責任分工">文件建立責任分工</h4>
<ul>
<li><strong>API 規格</strong>: lavender-interface-designer (功能設計專家)</li>
<li><strong>測試規格</strong>: sage-test-architect (測試設計專家)</li>
<li><strong>移轉指引</strong>: memory-network-builder (文件專家)</li>
<li><strong>實作範例</strong>: pepper-test-implementer (實作規劃專家)</li>
</ul>
<h4 id="文件品質標準">文件品質標準</h4>
<ul>
<li><strong>完整性</strong>: 涵蓋所有必要資訊，無遺漏</li>
<li><strong>具體性</strong>: 提供可執行的詳細指引，非概念性描述</li>
<li><strong>一致性</strong>: 與整體架構和設計原則保持一致</li>
<li><strong>可測試性</strong>: 所有規格都可以通過測試驗證</li>
</ul>
<h2 id="三重文件原則-triple-document-principle">三重文件原則 (Triple Document Principle)</h2>
<p>本方法論採用三重文件機制確保不同層級的資訊流動和代理人協調。</p>
<h3 id="文件層級定義">文件層級定義</h3>
<h4 id="1-changelogmd---版本功能變動記錄">1. CHANGELOG.md - 版本功能變動記錄</h4>
<p><strong>職責</strong>：</p>
<ul>
<li>面向用戶的版本功能描述</li>
<li>只記錄「做了什麼」，不記錄「怎麼做」</li>
<li>版本發布時的正式變更說明</li>
<li>符合 Keep a Changelog 規範</li>
</ul>
<p><strong>格式範例</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## v0.11.0 (2025-09-30)
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 新增功能
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">-</span> 統一書籍資訊查詢服務
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> 支援 Google Books API 整合
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu">### 改善
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu"></span><span class="k">-</span> 優化錯誤處理機制
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> 提升查詢效能
</span></span><span class="line"><span class="ln">10</span><span class="cl">
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gu">### 修復
</span></span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="gu"></span>- 修正 ISBN 驗證問題</span></span></code></pre></div><p><strong>更新時機</strong>：</p>
<ul>
<li>版本發布時由文件代理人更新</li>
<li>從 work-log 提取用戶可感知的功能變動</li>
<li>不記錄內部重構或技術細節</li>
</ul>
<h4 id="2-todolistmd---開發任務全景圖">2. todolist.md - 開發任務全景圖</h4>
<p><strong>職責</strong>：</p>
<ul>
<li>記錄整個開發過程所有待處理任務</li>
<li>任務狀態追蹤（待執行/進行中/已完成）</li>
<li>優先級排序和依賴關係管理</li>
<li>跨版本的任務規劃視圖</li>
</ul>
<p><strong>代理人使用場景</strong>：</p>
<ul>
<li><strong>PM 代理人</strong>：規劃任務優先序和依賴關係</li>
<li><strong>主線程</strong>：查看全局並分派下一個任務</li>
<li><strong>執行代理人</strong>：了解任務背景和依賴</li>
<li><strong>所有代理人</strong>：查看整體進度和下一步方向</li>
</ul>
<p><strong>內容結構</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gh"># TodoList
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">## v0.11.x 系列任務
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">- [x]</span> v0.11.0 統一書籍資訊查詢服務
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">  <span class="k">- [x]</span> Phase 1: 流程設計
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">  <span class="k">- [x]</span> Phase 2: 測試設計
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">  <span class="k">- [ ]</span> Phase 3: 實作執行
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">    <span class="k">- [x]</span> v0.11.3 Domain 輸入驗證
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">    <span class="k">- [x]</span> v0.11.4 核心查詢服務
</span></span><span class="line"><span class="ln">10</span><span class="cl">    <span class="k">- [ ]</span> v0.11.5 資料處理和快取
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">- [ ]</span> v0.11.15 測試修復完成
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gu">## v0.12.x 系列任務（規劃中）
</span></span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu"></span>- [ ] v0.12.0 外部 API 整合</span></span></code></pre></div><p><strong>更新責任</strong>：</p>
<ul>
<li>所有代理人在任務狀態變更時即時更新</li>
<li>PM 代理人負責新增和重組任務</li>
<li>主線程負責維護任務優先序</li>
</ul>
<h4 id="3-work-log---詳細實作記錄">3. work-log/ - 詳細實作記錄</h4>
<p><strong>職責</strong>：</p>
<ul>
<li>完整的技術實作細節和決策過程</li>
<li>TDD 四階段進度追蹤</li>
<li>代理人交接的完整上下文</li>
<li>問題發現和解決方案記錄</li>
</ul>
<p><strong>文件結構</strong>：</p>
<ul>
<li><strong>主版本日誌</strong> (<code>vX.Y.0-main.md</code>)：中版本總覽、任務分派清單</li>
<li><strong>小版本日誌</strong> (<code>vX.Y.Z-task.md</code>)：具體任務的詳細執行記錄</li>
</ul>
<p><strong>內容標準</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gh"># vX.Y.Z 任務名稱
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">## 任務資訊
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">-</span> 版本號、負責代理人、執行日期
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> 前置任務、後續任務
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu">## 任務目標
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu"></span><span class="k">-</span> 明確的技術目標
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gu">## 參考文件
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gu"></span><span class="k">-</span> UseCase、流程圖、架構規範
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">-</span> 依賴類別、測試設計
</span></span><span class="line"><span class="ln">13</span><span class="cl">
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu">## 執行過程
</span></span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="gu"></span><span class="k">-</span> Phase 1: 設計
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">-</span> Phase 2: 測試
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">-</span> Phase 3: 實作
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="k">-</span> Phase 4: 重構
</span></span><span class="line"><span class="ln">19</span><span class="cl">
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gu">## 完成標準
</span></span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="gu"></span><span class="k">-</span> 測試通過率 100%
</span></span><span class="line"><span class="ln">22</span><span class="cl">- 程式碼品質符合標準</span></span></code></pre></div><p><strong>更新責任</strong>：</p>
<ul>
<li>執行代理人負責記錄詳細過程</li>
<li>文件代理人負責標記完成狀態</li>
<li>PM 代理人負責維護主版本日誌</li>
</ul>
<h3 id="三重文件協調機制">三重文件協調機制</h3>
<h4 id="資訊流動方向">資訊流動方向</h4>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">graph TD
    A[work-log&lt;br/&gt;實作細節] --&gt;|提取功能變動| B[CHANGELOG&lt;br/&gt;版本說明]
    A --&gt;|完成任務| C[todolist&lt;br/&gt;狀態更新]
    C --&gt;|規劃下一步| D[主線程分派]
    D --&gt;|查看詳細| A
    B --&gt;|版本發布| E[用戶和團隊]

    style A fill:#e1f5ff
    style B fill:#fff4e1
    style C fill:#e8f5e9</code></pre><p><strong>流程說明</strong>：</p>
<ol>
<li>代理人在 <strong>work-log</strong> 記錄詳細實作過程</li>
<li>任務完成時更新 <strong>todolist</strong> 狀態</li>
<li>版本發布時從 <strong>work-log</strong> 提取變動到 <strong>CHANGELOG</strong></li>
<li>主線程基於 <strong>todolist</strong> 和 <strong>work-log</strong> 規劃下一步</li>
</ol>
<h4 id="代理人交接層級">代理人交接層級</h4>
<h5 id="主線程--pm-代理人">主線程 ↔ PM 代理人</h5>
<p><strong>主要參考</strong>：</p>
<ul>
<li><code>todolist.md</code> - 任務全局和優先序</li>
<li><code>vX.Y.0-main.md</code> - 版本進度和任務拆分</li>
</ul>
<p><strong>交接場景</strong>：</p>
<ul>
<li>任務規模過大需要拆分</li>
<li>規劃下一個版本系列</li>
<li>任務依賴關係調整</li>
</ul>
<h5 id="主線程--執行代理人">主線程 ↔ 執行代理人</h5>
<p><strong>主要參考</strong>：</p>
<ul>
<li><code>vX.Y.Z-task.md</code> - 具體任務詳細說明</li>
<li><code>todolist.md</code> - 任務依賴和背景</li>
</ul>
<p><strong>交接場景</strong>：</p>
<ul>
<li>分派新任務</li>
<li>接收完成回報</li>
<li>處理問題升級</li>
</ul>
<h5 id="執行代理人--執行代理人">執行代理人 ↔ 執行代理人</h5>
<p><strong>主要參考</strong>：</p>
<ul>
<li><code>vX.Y.Z-task.md</code> - 前置任務的產出和發現</li>
<li><code>vX.Y.0-main.md</code> - 重要決策和架構調整</li>
</ul>
<p><strong>交接場景</strong>：</p>
<ul>
<li>Phase 1 → Phase 2：設計交接測試</li>
<li>Phase 2 → Phase 3：測試交接實作</li>
<li>Phase 3 → Phase 4：實作交接重構</li>
<li>依賴任務間的產出交接</li>
</ul>
<h5 id="版本發布時">版本發布時</h5>
<p><strong>主要參考</strong>：</p>
<ul>
<li><code>work-log/</code> - 提取所有功能變動</li>
<li><code>todolist.md</code> - 確認完成項目</li>
</ul>
<p><strong>執行流程</strong>：</p>
<ol>
<li>文件代理人檢視所有已完成的 work-log</li>
<li>提取用戶可感知的功能變動</li>
<li>更新 CHANGELOG.md</li>
<li>確認 todolist.md 狀態一致</li>
</ol>
<h3 id="三重文件更新責任">三重文件更新責任</h3>
<table>
  <thead>
      <tr>
          <th>文件</th>
          <th>更新時機</th>
          <th>責任代理人</th>
          <th>更新內容</th>
          <th>更新頻率</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>work-log</strong></td>
          <td>任務執行中/完成</td>
          <td>執行代理人</td>
          <td>詳細實作過程、決策記錄</td>
          <td>即時</td>
      </tr>
      <tr>
          <td><strong>todolist</strong></td>
          <td>任務狀態變更</td>
          <td>所有代理人</td>
          <td>任務狀態、優先序</td>
          <td>即時</td>
      </tr>
      <tr>
          <td><strong>CHANGELOG</strong></td>
          <td>版本發布</td>
          <td>文件代理人</td>
          <td>功能變動摘要</td>
          <td>版本發布時</td>
      </tr>
  </tbody>
</table>
<h3 id="三重文件一致性檢查">三重文件一致性檢查</h3>
<h4 id="強制檢查項目">強制檢查項目</h4>
<p><strong>版本號一致性</strong>：</p>
<ul>
<li>CHANGELOG 版本號 = work-log 主版本號</li>
<li>todolist 版本系列 = work-log 版本系列</li>
</ul>
<p><strong>任務狀態一致性</strong>：</p>
<ul>
<li>todolist 標記完成 ⇒ work-log 必須有對應完成記錄</li>
<li>work-log 標記完成 ⇒ todolist 必須同步更新</li>
</ul>
<p><strong>功能描述一致性</strong>：</p>
<ul>
<li>CHANGELOG 功能描述 ⇒ 必須對應 work-log 實作內容</li>
<li>不可在 CHANGELOG 記錄未實作的功能</li>
</ul>
<h4 id="hook-系統整合">Hook 系統整合</h4>
<p><strong>Version Check Hook</strong>：</p>
<ul>
<li>檢查三重文件版本號一致性</li>
<li>建議版本推進策略</li>
</ul>
<p><strong>Document Sync Hook</strong>：</p>
<ul>
<li>提醒 work-log 完成時更新 todolist</li>
<li>提醒版本發布時更新 CHANGELOG</li>
</ul>
<p><strong>Work Log Check Hook</strong>：</p>
<ul>
<li>識別工作狀態（更新/新建/完成）</li>
<li>確保 work-log 記錄完整性</li>
</ul>
<h3 id="強制要求">強制要求</h3>
<h4 id="文件完整性要求">文件完整性要求</h4>
<ol>
<li>
<p><strong>work-log 必須完整</strong>：</p>
<ul>
<li>所有技術細節必須記錄</li>
<li>所有決策必須說明理由</li>
<li>所有問題發現必須記錄</li>
</ul>
</li>
<li>
<p><strong>todolist 必須即時</strong>：</p>
<ul>
<li>任務狀態即時更新，不得延遲</li>
<li>新任務必須立即加入</li>
<li>完成任務必須立即標記</li>
</ul>
</li>
<li>
<p><strong>CHANGELOG 必須準確</strong>：</p>
<ul>
<li>只記錄用戶可感知的變動</li>
<li>不記錄內部重構或技術債務</li>
<li>必須基於實際完成的 work-log</li>
</ul>
</li>
</ol>
<h4 id="代理人責任要求">代理人責任要求</h4>
<ol>
<li>
<p><strong>執行代理人</strong>：</p>
<ul>
<li>任務執行過程必須記錄到 work-log</li>
<li>任務完成時必須更新 todolist 狀態</li>
<li>發現問題必須記錄到 work-log</li>
</ul>
</li>
<li>
<p><strong>文件代理人</strong>：</p>
<ul>
<li>版本發布時必須更新 CHANGELOG</li>
<li>確保三重文件一致性</li>
<li>標記 work-log 完成狀態</li>
</ul>
</li>
<li>
<p><strong>PM 代理人</strong>：</p>
<ul>
<li>維護 todolist 任務結構</li>
<li>維護 vX.Y.0-main.md 任務分派</li>
<li>確保任務依賴關係正確</li>
</ul>
</li>
<li>
<p><strong>主線程</strong>：</p>
<ul>
<li>不得親自修改程式碼</li>
<li>基於 todolist 和 work-log 分派任務</li>
<li>監控三重文件一致性</li>
</ul>
</li>
</ol>
<h3 id="v0110-實戰範例">v0.11.0 實戰範例</h3>
<h4 id="三重文件協調實例">三重文件協調實例</h4>
<p><strong>work-log 記錄</strong>（v0.11.3-domain-input-validation.md）：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl"><span class="gu">## Phase 3 實作完成
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="gu"></span><span class="k">-</span> BookQueryInput Value Object 實作
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="k">-</span> InputValidator 驗證邏輯
</span></span><span class="line"><span class="ln">4</span><span class="cl">- 71 個測試 100% 通過</span></span></code></pre></div><p><strong>todolist 更新</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl">- [x] v0.11.3 Domain 輸入驗證</span></span></code></pre></div><p><strong>CHANGELOG 提取</strong>（版本發布時）：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl"><span class="gu">## v0.11.0 (2025-09-30)
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="gu">### 新增功能
</span></span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="gu"></span>- 統一書籍資訊查詢服務（支援 ISBN、標題、作者查詢）</span></span></code></pre></div><p><strong>協調流程</strong>：</p>
<ol>
<li>pepper-test-implementer 完成 v0.11.3 實作</li>
<li>記錄詳細過程到 work-log</li>
<li>更新 todolist 標記完成</li>
<li>主線程分派下一個任務 v0.11.4</li>
<li>版本發布時，文件代理人從所有 v0.11.x work-log 提取功能到 CHANGELOG</li>
</ol>
<h4 id="代理人交接實例">代理人交接實例</h4>
<p><strong>Phase 2 → Phase 3 交接</strong>：</p>
<p>sage-test-architect 完成測試設計後：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gh"># v0.11.2-tdd-phase2-test-design.md
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">## Phase 2 產出
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">-</span> 335 個測試用例設計
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> 33 個測試檔案規劃
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">-</span> 架構修正決策：BookEnrichmentData 遷移到 Domain 層
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu">## 傳遞給 Phase 3
</span></span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="gu"></span><span class="k">-</span> 依賴類別：BookEnrichmentData (已遷移)
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">-</span> 測試優先序：v0.11.3 → v0.11.4 → v0.11.5
</span></span><span class="line"><span class="ln">11</span><span class="cl">- 重要發現：Domain 服務層需從零建立</span></span></code></pre></div><p>pepper-test-implementer 接收後：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl"><span class="gh"># v0.11.3-domain-input-validation.md
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="gu">## 參考文件
</span></span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="gu"></span><span class="k">-</span> 測試設計：v0.11.2-tdd-phase2-test-design.md<span class="ni">#task</span>-20
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="k">-</span> 前置任務產出：無（首個任務）
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="k">-</span> 架構調整：BookEnrichmentData 已遷移到 Domain 層
</span></span><span class="line"><span class="ln">7</span><span class="cl">
</span></span><span class="line"><span class="ln">8</span><span class="cl"><span class="gu">## Phase 3 執行
</span></span></span><span class="line"><span class="ln">9</span><span class="cl"><span class="gu"></span>基於 Phase 2 測試設計，實作 BookQueryInput...</span></span></code></pre></div><p><strong>交接重點</strong>：</p>
<ul>
<li>Phase 2 的架構發現立即傳遞</li>
<li>Phase 3 明確參考 Phase 2 測試設計</li>
<li>work-log 完整記錄交接脈絡</li>
</ul>
<h2 id="敏捷重構流程">敏捷重構流程</h2>
<h3 id="增強版執行循環">增強版執行循環</h3>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">graph TD
    A[主線程開始任務分派] --&gt; B[執行準備度檢查清單]
    B --&gt; C{檢查是否全部通過?}
    C --&gt;|否| D[呼叫相應代理人建立準備文件]
    D --&gt; E[文件建立完成]
    E --&gt; B
    C --&gt;|是| F[檢查主版本工作日誌]
    F --&gt; G[分派下一個任務]
    G --&gt; H[子代理人執行任務]
    H --&gt; I{任務規模是否適當?}
    I --&gt;|過大| J[向上回報主線程]
    J --&gt; K[PM代理人拆分任務]
    K --&gt; L[建立小版本工作日誌]
    L --&gt; M[依小版本日誌分派]
    M --&gt; H
    I --&gt;|適當| N[完成任務回報]
    N --&gt; O[重構代理人檢查]
    O --&gt; P{品質是否通過?}
    P --&gt;|不通過| Q[要求修正]
    Q --&gt; H
    P --&gt;|通過| R[文件代理人更新日誌]
    R --&gt; S{小版本是否完成?}
    S --&gt;|是| T[回到主版本檢查下一任務]
    S --&gt;|否| U[檢查小版本下一任務]
    U --&gt; M
    T --&gt; F</code></pre><h3 id="標準執行循環">標準執行循環</h3>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">graph TD
    A[主線程檢查主版本工作日誌] --&gt; B[分派下一個任務]
    B --&gt; C[子代理人執行任務]
    C --&gt; D{任務規模是否適當?}
    D --&gt;|過大| E[向上回報主線程]
    E --&gt; F[PM代理人拆分任務]
    F --&gt; G[建立小版本工作日誌]
    G --&gt; H[依小版本日誌分派]
    H --&gt; C
    D --&gt;|適當| I[完成任務回報]
    I --&gt; J[重構代理人檢查]
    J --&gt; K{品質是否通過?}
    K --&gt;|不通過| L[要求修正]
    L --&gt; C
    K --&gt;|通過| M[文件代理人更新日誌]
    M --&gt; N{小版本是否完成?}
    N --&gt;|是| O[回到主版本檢查下一任務]
    N --&gt;|否| P[檢查小版本下一任務]
    P --&gt; H
    O --&gt; A</code></pre><h2 id="任務拆分實戰範例">任務拆分實戰範例</h2>
<h3 id="v0115-任務拆分情境">v0.11.5 任務拆分情境</h3>
<p><strong>原始任務</strong>：v0.11.5 - 批次 1.3 資料處理和快取</p>
<p><strong>任務描述</strong>（來自 v0.11.0-main.md）：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl"><span class="gu">#### v0.11.5 - 批次 1.3 資料處理和快取
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="gu"></span>**狀態**: 待執行
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="gs">**負責**</span>: pepper-test-implementer
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="gs">**實作內容**</span>:
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="k">-</span> BookEnrichmentProcessor
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="k">-</span> BookMetadata 實體
</span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="k">-</span> ApiCacheManager
</span></span><span class="line"><span class="ln">8</span><span class="cl">
</span></span><span class="line"><span class="ln">9</span><span class="cl"><span class="gs">**驗收**</span>: 資料處理鏈測試通過</span></span></code></pre></div><h3 id="代理人回報情境假設">代理人回報（情境假設）</h3>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 代理人回報 - v0.11.5
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**回報代理人**</span>: pepper-test-implementer
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**任務**</span>: v0.11.5 - 批次 1.3 資料處理和快取
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="gu">### 問題描述
</span></span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu"></span>經過 Phase 2 測試設計分析，發現此任務包含三個獨立且複雜的元件：
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">1.</span> BookEnrichmentProcessor - 資料處理邏輯（20+ 個測試用例）
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">2.</span> BookMetadata 實體 - Domain 層核心實體（15+ 個測試用例）
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">3.</span> ApiCacheManager - 快取管理機制（18+ 個測試用例）
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl">預估總工作量：4-5 小時，超過單一任務標準（1-2 小時）
</span></span><span class="line"><span class="ln">13</span><span class="cl">
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu">### 建議拆分方案
</span></span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="gu"></span>**方案 A**：依元件職責拆分為三個子任務
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">-</span> v0.11.5-a: BookEnrichmentProcessor（資料處理核心）
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">-</span> v0.11.5-b: BookMetadata（Domain 實體）
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="k">-</span> v0.11.5-c: ApiCacheManager（快取機制）
</span></span><span class="line"><span class="ln">19</span><span class="cl">
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gs">**方案 B**</span>：依依賴關係拆分
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="k">-</span> v0.11.5-a: BookMetadata + BookEnrichmentProcessor
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="k">-</span> v0.11.5-b: ApiCacheManager
</span></span><span class="line"><span class="ln">23</span><span class="cl">
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="gu">### 推薦方案
</span></span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="gu"></span>推薦方案 A，原因：
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="k">-</span> 每個元件職責單一，測試獨立
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="k">-</span> 符合 Clean Architecture 分層（Domain / Application）
</span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="k">-</span> 可並行開發（如有多代理人）
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="k">-</span> 風險隔離，單一元件問題不影響其他
</span></span><span class="line"><span class="ln">30</span><span class="cl">
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="gu">### 等待主線程決策
</span></span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="gu"></span>請確認拆分方案，並指示是否需要 PM 代理人建立子版本工作日誌。</span></span></code></pre></div><h3 id="主線程決策處理">主線程決策處理</h3>
<p><strong>決策過程</strong>：</p>
<ol>
<li>
<p><strong>檢視相關文件</strong>：</p>
<ul>
<li>Phase 2 測試設計：確認測試用例數量和複雜度</li>
<li>流程圖 Event 6-7：確認元件間依賴關係</li>
<li>架構規範：確認分層正確性</li>
</ul>
</li>
<li>
<p><strong>評估拆分方案</strong>：</p>
<ul>
<li>方案 A 職責更清晰，符合單一職責原則</li>
<li>每個子任務 1.5-2 小時，符合標準</li>
<li>BookMetadata 是 Domain 層核心，應獨立處理</li>
</ul>
</li>
<li>
<p><strong>做出決策</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 決策記錄 - v0.11.5 拆分
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**決策**</span>: 採用方案 A，拆分為三個子任務
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**理由**</span>:
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> 符合單一職責原則
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">-</span> BookMetadata 是 Domain 層核心實體，重要性高
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">-</span> 測試覆蓋率可逐步建立
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> 風險管理更精確
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gs">**執行**</span>:
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">1.</span> 呼叫 rosemary-project-manager 建立子版本工作日誌
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">2.</span> 更新 v0.11.0-main.md 任務清單
</span></span><span class="line"><span class="ln">13</span><span class="cl">3. 依序分派 v0.11.5-a → v0.11.5-b → v0.11.5-c</span></span></code></pre></div></li>
</ol>
<h3 id="pm-代理人建立子版本日誌">PM 代理人建立子版本日誌</h3>
<p><strong>rosemary-project-manager 執行</strong>：</p>
<h4 id="1-建立-v0115-a-工作日誌">1. 建立 v0.11.5-a 工作日誌</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gh"># v0.11.5-a 資料處理核心 - BookEnrichmentProcessor
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">## 任務資訊
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">-</span> **版本號**: v0.11.5-a
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> **父任務**: v0.11.5 批次 1.3 資料處理和快取
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">-</span> **負責代理人**: pepper-test-implementer
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">-</span> **執行日期**: 2025-09-30
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> **前置任務**: v0.11.4 (核心查詢服務)
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> **後續任務**: v0.11.5-b (BookMetadata)
</span></span><span class="line"><span class="ln">10</span><span class="cl">
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gu">## 任務目標
</span></span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="gu"></span>實作 BookEnrichmentProcessor 資料處理核心邏輯。
</span></span><span class="line"><span class="ln">13</span><span class="cl">
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu">## 參考文件（強制完整）
</span></span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="gu">### UseCase 參考
</span></span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="gu"></span><span class="k">-</span> [<span class="nt">UC-01 ISBN 精確查詢</span>](<span class="na">/app-use-cases.md#uc-01</span>)
</span></span><span class="line"><span class="ln">18</span><span class="cl">
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="gu">### 流程圖參考（具體到 Event）
</span></span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gu"></span><span class="k">-</span> [<span class="nt">主流程 Event 6</span>](<span class="na">/use-cases/unified-api/book-info-query-flow.md</span>)
</span></span><span class="line"><span class="ln">21</span><span class="cl">  <span class="k">-</span> Event 6: BookEnrichmentProcessor.process(rawData)
</span></span><span class="line"><span class="ln">22</span><span class="cl">  <span class="k">-</span> 輸入: GoogleBooksDto
</span></span><span class="line"><span class="ln">23</span><span class="cl">  <span class="k">-</span> 輸出: BookEnrichmentData
</span></span><span class="line"><span class="ln">24</span><span class="cl">
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="gu">### 架構規範
</span></span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="gu"></span><span class="k">-</span> [<span class="nt">Application 層設計</span>](<span class="na">/app-requirements-spec.md#application-layer</span>)
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="k">-</span> [<span class="nt">資料轉換規範</span>](<span class="na">/domain-transformation-layer-design.md</span>)
</span></span><span class="line"><span class="ln">28</span><span class="cl">
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="gu">### 依賴類別（前置任務產出）
</span></span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="gu"></span><span class="k">-</span> <span class="sb">`BookQueryInput`</span> (v0.11.3)
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="k">-</span> <span class="sb">`QueryType`</span> (v0.11.4)
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="k">-</span> <span class="sb">`GoogleBooksDto`</span> (Infrastructure 既有)
</span></span><span class="line"><span class="ln">33</span><span class="cl">
</span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="gu">### 測試設計參考
</span></span></span><span class="line"><span class="ln">35</span><span class="cl"><span class="gu"></span><span class="k">-</span> [<span class="nt">主流程測試設計</span>](<span class="na">/record/agile-programing-methodology/v0.11.2-tdd-phase2-test-design.md#task-22</span>)
</span></span><span class="line"><span class="ln">36</span><span class="cl"><span class="k">-</span> 測試檔案: <span class="sb">`book_enrichment_processor_test.dart`</span>
</span></span><span class="line"><span class="ln">37</span><span class="cl"><span class="k">-</span> 測試用例: 20 個
</span></span><span class="line"><span class="ln">38</span><span class="cl">
</span></span><span class="line"><span class="ln">39</span><span class="cl"><span class="gu">## 影響範圍
</span></span></span><span class="line"><span class="ln">40</span><span class="cl"><span class="gu"></span><span class="k">-</span> 新建: <span class="sb">`lib/application/book_info/processors/book_enrichment_processor.dart`</span>
</span></span><span class="line"><span class="ln">41</span><span class="cl"><span class="k">-</span> 新建: <span class="sb">`test/unit/application/book_info/processors/book_enrichment_processor_test.dart`</span>
</span></span><span class="line"><span class="ln">42</span><span class="cl">
</span></span><span class="line"><span class="ln">43</span><span class="cl"><span class="gu">## 完成標準
</span></span></span><span class="line"><span class="ln">44</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> BookEnrichmentProcessor 實作完成
</span></span><span class="line"><span class="ln">45</span><span class="cl"><span class="k">- [ ]</span> 20 個測試用例 100% 通過
</span></span><span class="line"><span class="ln">46</span><span class="cl"><span class="k">- [ ]</span> 符合 Application 層職責
</span></span><span class="line"><span class="ln">47</span><span class="cl"><span class="k">- [ ]</span> 錯誤處理遵循規範
</span></span><span class="line"><span class="ln">48</span><span class="cl">
</span></span><span class="line"><span class="ln">49</span><span class="cl"><span class="gu">## 回到父任務
</span></span></span><span class="line"><span class="ln">50</span><span class="cl"><span class="gu"></span>完成後更新 v0.11.0-main.md 標記 v0.11.5-a 完成。</span></span></code></pre></div><h4 id="2-建立-v0115-bv0115-c-工作日誌">2. 建立 v0.11.5-b、v0.11.5-c 工作日誌</h4>
<p>（類似格式，省略詳細內容）</p>
<h3 id="更新主版本工作日誌">更新主版本工作日誌</h3>
<p><strong>更新 v0.11.0-main.md</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">#### v0.11.5 - 批次 1.3 資料處理和快取（待執行）
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>**狀態**: 執行中（已拆分為子任務）
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**負責**</span>: pepper-test-implementer
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="gs">**子任務**</span>:
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">- [ ]</span> v0.11.5-a: BookEnrichmentProcessor ([<span class="nt">工作日誌</span>](<span class="na">/record/agile-programing-methodology/v0.11.5-a-enrichment-processor.md</span>))
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">- [ ]</span> v0.11.5-b: BookMetadata ([<span class="nt">工作日誌</span>](<span class="na">/record/agile-programing-methodology/v0.11.5-b-book-metadata.md</span>))
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">- [ ]</span> v0.11.5-c: ApiCacheManager ([<span class="nt">工作日誌</span>](<span class="na">/record/agile-programing-methodology/v0.11.5-c-cache-manager.md</span>))
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gs">**驗收**</span>: 三個子任務全部完成，資料處理鏈測試通過
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="gs">**拆分原因**</span>: 任務複雜度超出標準，依元件職責拆分為三個獨立任務
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gs">**拆分決策**</span>: [決策記錄連結]</span></span></code></pre></div><h3 id="任務拆分關鍵原則">任務拆分關鍵原則</h3>
<h4 id="何時拆分">何時拆分</h4>
<ul>
<li>預估工作時間 &gt; 3 小時</li>
<li>影響檔案數量 &gt; 5 個</li>
<li>測試用例數量 &gt; 30 個</li>
<li>包含多個獨立職責的元件</li>
<li>依賴關係複雜需要分階段驗證</li>
</ul>
<h4 id="拆分命名規則">拆分命名規則</h4>
<ul>
<li><strong>單層拆分</strong>: vX.Y.Z-a, vX.Y.Z-b, vX.Y.Z-c</li>
<li><strong>多層拆分</strong>: vX.Y.Z-a1, vX.Y.Z-a2（極少使用）</li>
<li><strong>命名語意</strong>: 清楚表達子任務核心職責</li>
</ul>
<h4 id="拆分後的依賴管理">拆分後的依賴管理</h4>
<ul>
<li><strong>串行依賴</strong>: 明確標註前置任務和後續任務</li>
<li><strong>並行任務</strong>: 標註可同時進行的子任務</li>
<li><strong>共享依賴</strong>: 在父任務層級說明共同依賴</li>
</ul>
<h2 id="動態文件更新機制">動態文件更新機制</h2>
<h3 id="核心原則-1">核心原則</h3>
<p><strong>敏捷開發的資訊流動本質</strong>：前置階段的發現必須立即傳遞並更新後續任務描述，確保所有代理人基於最新、最完整的資訊執行任務。</p>
<h3 id="phase-發現傳遞流程">Phase 發現傳遞流程</h3>
<h4 id="phase-1--phase-2--phase-3-資訊流">Phase 1 → Phase 2 → Phase 3 資訊流</h4>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">graph LR
    A[Phase 1 設計] --&gt;|架構決策| B[Phase 2 測試設計]
    B --&gt;|實作指引| C[Phase 3 實作]
    B --&gt;|問題識別| D[架構調整]
    D --&gt;|更新設計| A
    D --&gt;|更新任務| C</code></pre><h4 id="v011-實際案例phase-2-發現如何更新-phase-3-任務">v0.11 實際案例：Phase 2 發現如何更新 Phase 3 任務</h4>
<p><strong>Phase 2 發現</strong>（v0.11.2）：</p>
<ol>
<li><strong>架構問題</strong>：BookEnrichmentData 位於 Infrastructure 層（應在 Domain 層）</li>
<li><strong>命名不一致</strong>：4 個流程圖元件命名與程式碼不符</li>
<li><strong>缺失元件</strong>：Domain 服務層完全缺失，需要 20 個新類別</li>
<li><strong>時程調整</strong>：從 4-6 天調整為 6-7 天</li>
</ol>
<p><strong>立即執行的更新動作</strong>：</p>
<h5 id="1-架構修正阻塞性問題">1. 架構修正（阻塞性問題）</h5>
<p><strong>決策</strong>：立即停止 Phase 3 任務，優先修正架構問題</p>
<p><strong>執行</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 緊急任務插入 - v0.11.2-fix
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**任務**</span>: 遷移 BookEnrichmentData 到 Domain 層
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**優先級**</span>: 最高（阻塞後續開發）
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="gs">**執行**</span>: 主線程直接處理或指派給 mint-format-specialist
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gs">**完成後動作**</span>:
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> 更新所有相關任務的依賴類別參考
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> 更新流程圖中的層級標註
</span></span><span class="line"><span class="ln">10</span><span class="cl">- 通知所有相關代理人架構變更</span></span></code></pre></div><h5 id="2-更新待執行任務的參考文件">2. 更新待執行任務的參考文件</h5>
<p><strong>原始 v0.11.5 任務描述</strong>（Phase 2 前）：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl"><span class="gu">#### v0.11.5 - 批次 1.3 資料處理和快取
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="gu"></span>**實作內容**:
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="k">-</span> BookEnrichmentProcessor
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="k">-</span> BookMetadata 實體
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="k">-</span> ApiCacheManager
</span></span><span class="line"><span class="ln">6</span><span class="cl">
</span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="gs">**參考文件**</span>: （缺失）</span></span></code></pre></div><p><strong>更新後 v0.11.5 任務描述</strong>（Phase 2 後）：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">#### v0.11.5 - 批次 1.3 資料處理和快取
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>**實作內容**:
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="k">-</span> BookEnrichmentProcessor
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="k">-</span> BookMetadata 實體
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> ApiCacheManager
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gs">**參考文件**</span>（Phase 2 補充）:
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> [<span class="nt">主流程 Event 6-7</span>](<span class="na">/record/use-cases/unified-api/book-info-query-flow.md</span>)
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> [<span class="nt">測試設計</span>](<span class="na">/record/agile-programing-methodology/v0.11.2-tdd-phase2-test-design.md#task-22</span>)
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">-</span> 依賴類別: <span class="sb">`BookEnrichmentData`</span> (**已遷移到 Domain 層**)
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">-</span> 依賴類別: <span class="sb">`BookQueryInput`</span> (v0.11.3)
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">-</span> 依賴類別: <span class="sb">`QueryType`</span> (v0.11.4)
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">-</span> [<span class="nt">錯誤處理規範</span>](<span class="na">/record/app-error-handling-design.md</span>)
</span></span><span class="line"><span class="ln">14</span><span class="cl">
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="gs">**Phase 2 發現**</span>:
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">-</span> BookEnrichmentData 已從 Infrastructure 遷移到 Domain
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">-</span> 需要處理資料轉換和驗證邏輯
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="k">-</span> 快取策略需要配合速率控制（批次 2）
</span></span><span class="line"><span class="ln">19</span><span class="cl">
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gs">**驗收**</span>: 資料處理鏈測試通過，符合 Domain 層職責</span></span></code></pre></div><h5 id="3-更新主版本工作日誌持續性文件">3. 更新主版本工作日誌（持續性文件）</h5>
<p><strong>v0.11.0-main.md 動態更新區域</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## Phase 2 重要發現（持續更新）
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 架構調整
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">-</span> **BookEnrichmentData 層級修正**（2025-09-30）
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">  <span class="k">-</span> 原位置: <span class="sb">`lib/infrastructure/`</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">  <span class="k">-</span> 新位置: <span class="sb">`lib/domains/book_info/entities/`</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">  <span class="k">-</span> 影響任務: v0.11.5, v0.11.6
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">  <span class="k">-</span> Git commit: 58b1603
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gu">### 命名統一
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gu"></span><span class="k">-</span> **流程圖命名修正**（2025-09-30）
</span></span><span class="line"><span class="ln">12</span><span class="cl">  <span class="k">-</span> 修正 4 個元件命名不一致
</span></span><span class="line"><span class="ln">13</span><span class="cl">  <span class="k">-</span> 所有後續任務參考已更新
</span></span><span class="line"><span class="ln">14</span><span class="cl">
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="gu">### 實作發現
</span></span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="gu"></span><span class="k">-</span> **Domain 服務層新建**：v0.11.3-4 建立 BookQueryInput, QueryTypeResolver
</span></span><span class="line"><span class="ln">17</span><span class="cl">  <span class="k">-</span> 影響: 所有後續任務依賴這些基礎類別
</span></span><span class="line"><span class="ln">18</span><span class="cl">  <span class="k">-</span> 參考: 所有任務需 import package:book_overview_app/domains/book_info/
</span></span><span class="line"><span class="ln">19</span><span class="cl">
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gu">### 時程調整
</span></span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="gu"></span><span class="k">-</span> **原估時程**: 4-6 天
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="k">-</span> **調整時程**: 6-7 天（+1-2 天）
</span></span><span class="line"><span class="ln">23</span><span class="cl">- <span class="gs">**原因**</span>: 28 個 TDD 新建測試，Domain 層從零建立</span></span></code></pre></div><h3 id="動態更新觸發時機">動態更新觸發時機</h3>
<h4 id="1-架構變更時">1. 架構變更時</h4>
<p><strong>觸發條件</strong>：</p>
<ul>
<li>類別位置調整（跨層級遷移）</li>
<li>介面簽名變更</li>
<li>依賴關係變化</li>
</ul>
<p><strong>更新範圍</strong>：</p>
<ul>
<li>所有引用該類別的任務</li>
<li>相關的流程圖和設計文件</li>
<li>測試設計中的 Mock 設定</li>
</ul>
<h4 id="2-測試設計發現時">2. 測試設計發現時</h4>
<p><strong>觸發條件</strong>：</p>
<ul>
<li>識別出新的測試用例</li>
<li>發現缺失的邊界條件</li>
<li>複雜度評估變化</li>
</ul>
<p><strong>更新範圍</strong>：</p>
<ul>
<li>對應實作任務的驗收標準</li>
<li>相關任務的前置條件</li>
<li>時程估算調整</li>
</ul>
<h4 id="3-實作階段發現時">3. 實作階段發現時</h4>
<p><strong>觸發條件</strong>：</p>
<ul>
<li>技術方案調整</li>
<li>新增輔助類別</li>
<li>效能優化需求</li>
</ul>
<p><strong>更新範圍</strong>：</p>
<ul>
<li>後續相關任務的參考實作</li>
<li>測試設計補充</li>
<li>文件範例更新</li>
</ul>
<h3 id="動態更新執行標準">動態更新執行標準</h3>
<h4 id="主線程職責">主線程職責</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl"><span class="gu">## 主線程動態更新檢查清單
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">每次任務完成後：
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="k">- [ ]</span> 檢查是否有架構變更
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="k">- [ ]</span> 檢查是否有新的依賴類別
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="k">- [ ]</span> 檢查是否影響後續任務
</span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="k">- [ ]</span> 更新主版本工作日誌「重要發現」區域
</span></span><span class="line"><span class="ln">8</span><span class="cl"><span class="k">- [ ]</span> 更新所有受影響任務的參考文件
</span></span><span class="line"><span class="ln">9</span><span class="cl">- [ ] 通知相關代理人（如已分派）</span></span></code></pre></div><h4 id="代理人回報職責">代理人回報職責</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 代理人發現回報格式
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 發現類型
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 架構問題
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">- [ ]</span> 依賴變更
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">- [ ]</span> 新增元件
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">- [ ]</span> 技術債務
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="gu">### 影響評估
</span></span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gu"></span><span class="k">-</span> 影響範圍: [列出受影響的任務版本號]
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">-</span> 嚴重程度: 阻塞 / 重要 / 資訊性
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">-</span> 建議動作: [具體建議]
</span></span><span class="line"><span class="ln">13</span><span class="cl">
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu">### 需要更新的文件
</span></span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 主版本工作日誌
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">- [ ]</span> 相關任務參考文件
</span></span><span class="line"><span class="ln">17</span><span class="cl">- [ ] 流程圖或設計文件</span></span></code></pre></div><h2 id="代理人回報與討論流程">代理人回報與討論流程</h2>
<h3 id="回報時機與類型">回報時機與類型</h3>
<h4 id="1-架構衝突檢測">1. 架構衝突檢測</h4>
<p><strong>觸發情境</strong>：</p>
<ul>
<li>流程圖定義與實作需求衝突</li>
<li>類別職責與層級定位不符</li>
<li>依賴方向違反 Clean Architecture</li>
</ul>
<p><strong>v0.11 實際案例</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 架構衝突回報 - v0.11.2
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**回報代理人**</span>: sage-test-architect
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**檢測階段**</span>: Phase 2 測試設計
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="gu">### 衝突描述
</span></span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu"></span>發現 <span class="sb">`BookEnrichmentData`</span> 位於 <span class="sb">`lib/infrastructure/`</span> 目錄，
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">但其職責為 Domain 層實體（純資料結構，無外部依賴）。
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gu">### 架構分析
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gu"></span><span class="k">-</span> **當前位置**: <span class="sb">`lib/infrastructure/api/google_books/book_enrichment_data.dart`</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">-</span> **應該位置**: <span class="sb">`lib/domains/book_info/entities/book_enrichment_data.dart`</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">-</span> **衝突原因**: 違反 Clean Architecture 分層原則
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">-</span> **影響範圍**:
</span></span><span class="line"><span class="ln">15</span><span class="cl">  <span class="k">-</span> v0.11.5 (資料處理) 需要引用此類別
</span></span><span class="line"><span class="ln">16</span><span class="cl">  <span class="k">-</span> v0.11.6 (API 客戶端) 需要轉換到此類別
</span></span><span class="line"><span class="ln">17</span><span class="cl">  <span class="k">-</span> 所有測試需要更新 import 路徑
</span></span><span class="line"><span class="ln">18</span><span class="cl">
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="gu">### 建議方案
</span></span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gu"></span>**推薦**: 立即遷移到 Domain 層
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="gs">**理由**</span>:
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="k">1.</span> Domain 層應該定義核心資料模型
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="k">2.</span> Infrastructure 層應該依賴 Domain，而非反向
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="k">3.</span> 後續所有 Domain 服務都需要使用此類別
</span></span><span class="line"><span class="ln">25</span><span class="cl">
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="gu">### 需要決策
</span></span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 是否同意遷移到 Domain 層
</span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="k">- [ ]</span> 是否需要重新命名（EnrichmentData → BookEnrichmentData）
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="k">- [ ]</span> 是否需要更新所有流程圖標註
</span></span><span class="line"><span class="ln">30</span><span class="cl">
</span></span><span class="line"><span class="ln">31</span><span class="cl">#### 等待主線程確認後執行</span></span></code></pre></div><p><strong>主線程處理流程</strong>：</p>
<ol>
<li>
<p><strong>檢視相關規範</strong>：</p>
<ul>
<li>閱讀 Clean Architecture 設計文件</li>
<li>確認 Domain 層職責定義</li>
<li>檢查是否有其他類似問題</li>
</ul>
</li>
<li>
<p><strong>做出決策</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 決策 - BookEnrichmentData 遷移
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**決定**</span>: 同意遷移到 Domain 層
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**執行**</span>:
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">1.</span> 立即處理（阻塞後續任務）
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">2.</span> 遷移到 <span class="sb">`lib/domains/book_info/entities/`</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">3.</span> 更新所有 import 引用
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">4.</span> 更新流程圖層級標註
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gs">**指派**</span>: mint-format-specialist 執行檔案遷移和路徑更新
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gs">**時程**</span>: 0.5 小時，完成後繼續 v0.11.3</span></span></code></pre></div></li>
<li>
<p><strong>更新受影響任務</strong>：</p>
<ul>
<li>更新 v0.11.5, v0.11.6 參考文件</li>
<li>標註 BookEnrichmentData 新位置</li>
<li>更新所有測試的 import 路徑範例</li>
</ul>
</li>
</ol>
<h4 id="2-任務複雜度超標">2. 任務複雜度超標</h4>
<p><strong>觸發情境</strong>：</p>
<ul>
<li>預估工作時間 &gt; 3 小時</li>
<li>測試用例數量 &gt; 30 個</li>
<li>影響檔案數量 &gt; 5 個</li>
</ul>
<p>（參考「任務拆分實戰範例」章節）</p>
<h4 id="3-流程圖與需求不一致">3. 流程圖與需求不一致</h4>
<p><strong>觸發情境</strong>：</p>
<ul>
<li>Event 描述過於抽象</li>
<li>方法簽名未定義清楚</li>
<li>錯誤處理策略模糊</li>
</ul>
<p><strong>回報格式</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 流程圖釐清需求 - vX.Y.Z
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**回報代理人**</span>: [agent-name]
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**流程圖**</span>: [flow-diagram-name.md]
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="gs">**Event**</span>: Event X
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu">### 需要釐清的問題
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu"></span><span class="k">1.</span> <span class="gs">**Event X 描述**</span>: [原始描述]
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">   <span class="k">-</span> 疑問: [具體不清楚的地方]
</span></span><span class="line"><span class="ln">10</span><span class="cl">   <span class="k">-</span> 需要確認: [需要確認的技術細節]
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">2.</span> <span class="gs">**方法簽名缺失**</span>:
</span></span><span class="line"><span class="ln">13</span><span class="cl">   <span class="k">-</span> 當前: Event X 只說「處理資料」
</span></span><span class="line"><span class="ln">14</span><span class="cl">   <span class="k">-</span> 需要: 輸入參數類型、輸出返回類型、異常處理
</span></span><span class="line"><span class="ln">15</span><span class="cl">
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="gu">### 建議補充
</span></span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="gu"></span>```dart
</span></span><span class="line"><span class="ln">18</span><span class="cl">// 建議的方法簽名
</span></span><span class="line"><span class="ln">19</span><span class="cl">Future<span class="p">&lt;</span><span class="nt">BookEnrichmentData</span><span class="p">&gt;</span> processRawData(
</span></span><span class="line"><span class="ln">20</span><span class="cl">  GoogleBooksDto rawData,
</span></span><span class="line"><span class="ln">21</span><span class="cl">  QueryType queryType,
</span></span><span class="line"><span class="ln">22</span><span class="cl">) async {
</span></span><span class="line"><span class="ln">23</span><span class="cl">  // 實作邏輯
</span></span><span class="line"><span class="ln">24</span><span class="cl">}</span></span></code></pre></div><h3 id="需要主線程確認">需要主線程確認</h3>
<ul>
<li><input disabled="" type="checkbox"> 方法簽名是否正確</li>
<li><input disabled="" type="checkbox"> 是否需要更新流程圖</li>
<li><input disabled="" type="checkbox"> 錯誤處理策略（拋出異常 vs OperationResult）</li>
</ul>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln"> 1</span><span class="cl">
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">**主線程處理**：
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">1. 檢視 UseCase 定義
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">2. 確認技術方案
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">3. 更新流程圖或任務描述
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">4. 回覆代理人並記錄決策
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">#### 4. 技術方案需要確認
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">**觸發情境**：
</span></span><span class="line"><span class="ln">10</span><span class="cl">- 多種實作方案可行
</span></span><span class="line"><span class="ln">11</span><span class="cl">- 效能與可讀性取捨
</span></span><span class="line"><span class="ln">12</span><span class="cl">- 第三方套件選擇
</span></span><span class="line"><span class="ln">13</span><span class="cl">
</span></span><span class="line"><span class="ln">14</span><span class="cl">**回報格式**：
</span></span><span class="line"><span class="ln">15</span><span class="cl">```markdown
</span></span><span class="line"><span class="ln">16</span><span class="cl">## 技術方案確認 - vX.Y.Z
</span></span><span class="line"><span class="ln">17</span><span class="cl">
</span></span><span class="line"><span class="ln">18</span><span class="cl">**方案 A**: [描述]
</span></span><span class="line"><span class="ln">19</span><span class="cl">- 優點: [列舉]
</span></span><span class="line"><span class="ln">20</span><span class="cl">- 缺點: [列舉]
</span></span><span class="line"><span class="ln">21</span><span class="cl">- 適用場景: [說明]
</span></span><span class="line"><span class="ln">22</span><span class="cl">
</span></span><span class="line"><span class="ln">23</span><span class="cl">**方案 B**: [描述]
</span></span><span class="line"><span class="ln">24</span><span class="cl">- 優點: [列舉]
</span></span><span class="line"><span class="ln">25</span><span class="cl">- 缺點: [列舉]
</span></span><span class="line"><span class="ln">26</span><span class="cl">- 適用場景: [說明]
</span></span><span class="line"><span class="ln">27</span><span class="cl">
</span></span><span class="line"><span class="ln">28</span><span class="cl">### 推薦方案及理由
</span></span><span class="line"><span class="ln">29</span><span class="cl">[代理人的推薦與分析]
</span></span><span class="line"><span class="ln">30</span><span class="cl">
</span></span><span class="line"><span class="ln">31</span><span class="cl">### 等待主線程決策
</span></span><span class="line"><span class="ln">32</span><span class="cl">[需要確認的具體問題]</span></span></code></pre></div><h3 id="回報標準格式">回報標準格式</h3>
<h4 id="完整回報模板">完整回報模板</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 代理人回報 - vX.Y.Z
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**回報代理人**</span>: [agent-name]
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**任務**</span>: [task-name]
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="gs">**回報類型**</span>: 架構衝突 / 複雜度 / 流程圖釐清 / 技術方案
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="gs">**嚴重程度**</span>: 阻塞 / 重要 / 資訊性
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">---
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gu">### 問題描述
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gu"></span>[清楚描述發現的問題或疑問]
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gu">### 背景資訊
</span></span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu"></span><span class="k">-</span> **相關文件**: [列出相關的 UseCase、流程圖、架構文件]
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">-</span> **當前狀態**: [任務執行到什麼階段]
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">-</span> **發現時機**: [什麼時候發現這個問題]
</span></span><span class="line"><span class="ln">17</span><span class="cl">
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="gu">### 影響評估
</span></span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="gu"></span><span class="k">-</span> **影響任務**: [列出受影響的任務版本號]
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="k">-</span> **影響範圍**: [程式碼、測試、文件]
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="k">-</span> **風險等級**: [高/中/低]
</span></span><span class="line"><span class="ln">22</span><span class="cl">
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="gu">### 分析與建議
</span></span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="gu">#### 原因分析
</span></span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="gu"></span>[為什麼會發生這個問題]
</span></span><span class="line"><span class="ln">26</span><span class="cl">
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="gu">#### 建議方案
</span></span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="gu"></span>**方案 A**: [描述]
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="gs">**方案 B**</span>: [描述]
</span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="gs">**推薦**</span>: [哪個方案及理由]
</span></span><span class="line"><span class="ln">31</span><span class="cl">
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="gu">### 等待主線程決策
</span></span></span><span class="line"><span class="ln">33</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> [具體需要決策的問題 1]
</span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="k">- [ ]</span> [具體需要決策的問題 2]
</span></span><span class="line"><span class="ln">35</span><span class="cl"><span class="k">- [ ]</span> [需要更新的文件清單]
</span></span><span class="line"><span class="ln">36</span><span class="cl">
</span></span><span class="line"><span class="ln">37</span><span class="cl">---
</span></span><span class="line"><span class="ln">38</span><span class="cl">
</span></span><span class="line"><span class="ln">39</span><span class="cl"><span class="gs">**暫停執行**</span>: 是 / 可繼續其他任務 / 不影響當前工作</span></span></code></pre></div><h3 id="主線程討論與決策流程">主線程討論與決策流程</h3>
<h4 id="決策流程圖">決策流程圖</h4>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">graph TD
    A[代理人回報] --&gt; B[主線程接收]
    B --&gt; C{嚴重程度?}
    C --&gt;|阻塞| D[立即處理]
    C --&gt;|當日| E[當日處理]
    C --&gt;|資訊性| F[記錄並規劃]

    D --&gt; G[檢視相關文件]
    E --&gt; G
    F --&gt; G

    G --&gt; H[分析影響範圍]
    H --&gt; I{需要專家?}
    I --&gt;|是| J[呼叫 PM 或相關代理人]
    I --&gt;|否| K[主線程決策]

    J --&gt; K
    K --&gt; L[記錄決策理由]
    L --&gt; M[更新受影響任務]
    M --&gt; N[通知相關代理人]
    N --&gt; O[繼續執行]</code></pre><h4 id="決策記錄格式">決策記錄格式</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 決策記錄 - [問題簡述]
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**決策日期**</span>: YYYY-MM-DD
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**相關回報**</span>: [代理人回報連結]
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="gs">**決策者**</span>: 主線程 / PM代理人
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">---
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="gu">### 問題摘要
</span></span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gu"></span>[簡要描述問題]
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="gu">### 決策內容
</span></span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gu"></span>**決定**: [具體決策]
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gs">**理由**</span>:
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">1.</span> [理由 1]
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">2.</span> [理由 2]
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">3.</span> [理由 3]
</span></span><span class="line"><span class="ln">18</span><span class="cl">
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="gu">### 執行計畫
</span></span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> [動作 1]
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="k">- [ ]</span> [動作 2]
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="k">- [ ]</span> [動作 3]
</span></span><span class="line"><span class="ln">23</span><span class="cl">
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="gu">### 影響範圍
</span></span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="gu"></span><span class="k">-</span> **更新任務**: [列出需要更新的任務]
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="k">-</span> **更新文件**: [列出需要更新的文件]
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="k">-</span> **通知對象**: [列出需要通知的代理人]
</span></span><span class="line"><span class="ln">28</span><span class="cl">
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="gu">### 追蹤記錄
</span></span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="gu"></span><span class="k">-</span> YYYY-MM-DD: [執行狀態更新]
</span></span><span class="line"><span class="ln">31</span><span class="cl">- YYYY-MM-DD: [完成確認]</span></span></code></pre></div><h3 id="決策傳遞機制">決策傳遞機制</h3>
<h4 id="1-更新主版本工作日誌">1. 更新主版本工作日誌</h4>
<p>在 <code>vX.Y.0-main.md</code> 新增「決策記錄」區域：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln">1</span><span class="cl"><span class="gu">## 重要決策記錄
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="gu">### [決策 1 標題]
</span></span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="gu"></span><span class="k">-</span> **日期**: YYYY-MM-DD
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="k">-</span> **問題**: [簡述]
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="k">-</span> **決策**: [簡述]
</span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="k">-</span> **影響**: [列出受影響任務]
</span></span><span class="line"><span class="ln">8</span><span class="cl">- <span class="gs">**詳細**</span>: [連結到完整決策記錄]</span></span></code></pre></div><h4 id="2-更新受影響任務描述">2. 更新受影響任務描述</h4>
<p>所有受影響的任務都需要補充「決策影響」區域。</p>
<h4 id="3-通知相關代理人">3. 通知相關代理人</h4>
<p>如果任務已分派，需要明確通知代理人決策內容。</p>
<h3 id="溝通協作原則">溝通協作原則</h3>
<h4 id="代理人責任">代理人責任</h4>
<ul>
<li><strong>主動回報</strong>：發現問題立即回報，不自行假設</li>
<li><strong>完整資訊</strong>：提供足夠的背景資訊供決策</li>
<li><strong>建議方案</strong>：分析並提供具體建議</li>
<li><strong>等待確認</strong>：阻塞性問題必須等待主線程決策</li>
</ul>
<h4 id="主線程責任">主線程責任</h4>
<ul>
<li><strong>快速響應</strong>：阻塞問題當日處理完畢</li>
<li><strong>充分調研</strong>：檢視相關文件和規範</li>
<li><strong>清楚決策</strong>：明確說明決策理由</li>
<li><strong>完整傳遞</strong>：確保所有受影響方收到資訊</li>
</ul>
<h4 id="協作品質標準">協作品質標準</h4>
<ul>
<li><strong>響應時間</strong>: 阻塞問題 &lt; 2 小時，重要問題 &lt; 1 天</li>
<li><strong>決策品質</strong>: 必須基於專案規範和架構原則</li>
<li><strong>資訊完整</strong>: 所有決策必須文件化並傳遞</li>
<li><strong>追蹤閉環</strong>: 決策執行完成必須確認和記錄</li>
</ul>
<h3 id="任務分派規則">任務分派規則</h3>
<h4 id="1-任務優先序">1. 任務優先序</h4>
<ol>
<li><strong>架構核心任務</strong> - 影響多個模組的基礎架構變更</li>
<li><strong>高風險任務</strong> - 影響關鍵業務邏輯的重構</li>
<li><strong>中風險任務</strong> - 次要功能模組的重構</li>
<li><strong>低風險任務</strong> - 測試檔案和工具檔案的更新</li>
</ol>
<h4 id="2-任務大小控制">2. 任務大小控制</h4>
<p><strong>理想任務大小</strong>：</p>
<ul>
<li>執行時間：1-2 小時</li>
<li>影響檔案：1-5 個檔案</li>
<li>測試影響：單一測試套件</li>
<li>複雜度：單一職責變更</li>
</ul>
<p><strong>任務過大指標</strong>：</p>
<ul>
<li>影響檔案 &gt; 5 個</li>
<li>預估時間 &gt; 3 小時</li>
<li>涉及多個模組</li>
<li>需要連環修改</li>
</ul>
<h4 id="3-升級處理機制">3. 升級處理機制</h4>
<p><strong>何時觸發升級</strong>：</p>
<ul>
<li>子代理人回報任務規模過大</li>
<li>發現任務間複雜依賴關係</li>
<li>需要重新評估技術方案</li>
<li>遇到無法解決的技術問題</li>
</ul>
<p><strong>升級處理流程</strong>：</p>
<ol>
<li>子代理人向主線程回報問題</li>
<li>主線程呼叫 PM 代理人進行分析</li>
<li>PM 代理人拆分任務並建立小版本日誌</li>
<li>依新的小版本日誌重新分派任務</li>
</ol>
<h2 id="任務執行標準">任務執行標準</h2>
<h3 id="任務分派標準格式">任務分派標準格式</h3>
<p>每個任務分派必須包含：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 任務 vX.Y.Z - [任務名稱]
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 任務目標
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">-</span> 明確的完成目標描述
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> 具體的技術實現要求
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu">### 參考文件（強制完整填寫）
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="gu">#### UseCase 參考（必須）
</span></span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gu"></span><span class="k">-</span> [<span class="nt">UC-XX</span>](<span class="na">/record/app-use-cases.md#uc-xx</span>) - [Use Case 名稱]
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">-</span> [<span class="nt">UC-YY</span>](<span class="na">/record/app-use-cases.md#uc-yy</span>) - [相關 Use Case]
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gs">**說明**</span>: 明確指出此任務對應哪些 Use Case，確保實作符合業務需求。
</span></span><span class="line"><span class="ln">14</span><span class="cl">
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="gu">#### 流程圖參考（必須，具體到 Event）
</span></span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="gu"></span><span class="k">-</span> [<span class="nt">流程圖名稱 Event X-Y</span>](<span class="na">/record/use-cases/[feature]/[flow-name].md</span>)
</span></span><span class="line"><span class="ln">17</span><span class="cl">  <span class="k">-</span> Event X: [Event 描述] - [對應的類別/方法]
</span></span><span class="line"><span class="ln">18</span><span class="cl">  <span class="k">-</span> Event Y: [Event 描述] - [對應的類別/方法]
</span></span><span class="line"><span class="ln">19</span><span class="cl">
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gs">**範例**</span>（來自 v0.11.5）:
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="k">-</span> [<span class="nt">主流程 Event 6-7</span>](<span class="na">/record/use-cases/unified-api/book-info-query-flow.md</span>)
</span></span><span class="line"><span class="ln">22</span><span class="cl">  <span class="k">-</span> Event 6: BookEnrichmentProcessor.process(rawData) - 處理原始資料
</span></span><span class="line"><span class="ln">23</span><span class="cl">  <span class="k">-</span> Event 7: BookMetadata.create() - 建立 Domain 實體
</span></span><span class="line"><span class="ln">24</span><span class="cl">
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="gs">**說明**</span>: 具體到 Event 編號，讓代理人知道要實作流程圖的哪個部分。
</span></span><span class="line"><span class="ln">26</span><span class="cl">
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="gu">#### 架構規範（必須）
</span></span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="gu"></span><span class="k">-</span> [<span class="nt">Domain 層設計</span>](<span class="na">/record/app-requirements-spec.md#domain-layer</span>) - 層級職責定義
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="k">-</span> [<span class="nt">錯誤處理規範</span>](<span class="na">/record/app-error-handling-design.md</span>) - 異常處理標準
</span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="k">-</span> [<span class="nt">資料轉換規範</span>](<span class="na">/record/domain-transformation-layer-design.md</span>) - DTO 轉換規則
</span></span><span class="line"><span class="ln">31</span><span class="cl">
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="gs">**說明**</span>: 確保實作符合專案架構原則。
</span></span><span class="line"><span class="ln">33</span><span class="cl">
</span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="gu">#### 依賴類別（前置任務產出）
</span></span></span><span class="line"><span class="ln">35</span><span class="cl"><span class="gu"></span><span class="k">-</span> <span class="sb">`ClassName1`</span> (vX.Y.Z) - [簡短說明]
</span></span><span class="line"><span class="ln">36</span><span class="cl"><span class="k">-</span> <span class="sb">`ClassName2`</span> (vX.Y.Z) - [簡短說明]
</span></span><span class="line"><span class="ln">37</span><span class="cl">
</span></span><span class="line"><span class="ln">38</span><span class="cl"><span class="gs">**範例**</span>（來自 v0.11.5）:
</span></span><span class="line"><span class="ln">39</span><span class="cl"><span class="k">-</span> <span class="sb">`BookQueryInput`</span> (v0.11.3) - 查詢輸入參數 Value Object
</span></span><span class="line"><span class="ln">40</span><span class="cl"><span class="k">-</span> <span class="sb">`QueryType`</span> (v0.11.4) - 查詢類型枚舉
</span></span><span class="line"><span class="ln">41</span><span class="cl"><span class="k">-</span> <span class="sb">`BookEnrichmentData`</span> (Domain 層) - <span class="gs">**已從 Infrastructure 遷移**</span>
</span></span><span class="line"><span class="ln">42</span><span class="cl">
</span></span><span class="line"><span class="ln">43</span><span class="cl"><span class="gs">**說明**</span>: 列出此任務依賴的前置任務產出，包含版本號方便追溯。
</span></span><span class="line"><span class="ln">44</span><span class="cl">
</span></span><span class="line"><span class="ln">45</span><span class="cl"><span class="gu">#### 測試設計參考（TDD 必須）
</span></span></span><span class="line"><span class="ln">46</span><span class="cl"><span class="gu"></span><span class="k">-</span> [<span class="nt">測試設計文件</span>](<span class="na">/record/agile-programing-methodology/vX.Y.Z-test-design.md#section</span>)
</span></span><span class="line"><span class="ln">47</span><span class="cl"><span class="k">-</span> 測試檔案: <span class="sb">`test_file_name_test.dart`</span>
</span></span><span class="line"><span class="ln">48</span><span class="cl"><span class="k">-</span> 測試用例數: N 個
</span></span><span class="line"><span class="ln">49</span><span class="cl"><span class="k">-</span> 效能基準: [如有特殊要求]
</span></span><span class="line"><span class="ln">50</span><span class="cl">
</span></span><span class="line"><span class="ln">51</span><span class="cl"><span class="gs">**說明**</span>: TDD 開發必須先參考測試設計，瞭解驗收標準。
</span></span><span class="line"><span class="ln">52</span><span class="cl">
</span></span><span class="line"><span class="ln">53</span><span class="cl"><span class="gu">#### 實作範例（如有）
</span></span></span><span class="line"><span class="ln">54</span><span class="cl"><span class="gu"></span><span class="k">-</span> [<span class="nt">類似實作參考</span>](<span class="na">/record/agile-programing-methodology/vX.Y.Z-work-log.md#implementation</span>)
</span></span><span class="line"><span class="ln">55</span><span class="cl"><span class="k">-</span> [<span class="nt">程式碼範例</span>](<span class="na">/record/docs/implementation-examples.md</span>)
</span></span><span class="line"><span class="ln">56</span><span class="cl">
</span></span><span class="line"><span class="ln">57</span><span class="cl"><span class="gs">**說明**</span>: 提供參考範例幫助代理人理解預期實作方式。
</span></span><span class="line"><span class="ln">58</span><span class="cl">
</span></span><span class="line"><span class="ln">59</span><span class="cl"><span class="gu">### 影響範圍
</span></span></span><span class="line"><span class="ln">60</span><span class="cl"><span class="gu"></span><span class="k">-</span> 需要修改的檔案清單
</span></span><span class="line"><span class="ln">61</span><span class="cl"><span class="k">-</span> 預估影響的測試檔案
</span></span><span class="line"><span class="ln">62</span><span class="cl"><span class="k">-</span> 影響的依賴關係
</span></span><span class="line"><span class="ln">63</span><span class="cl">
</span></span><span class="line"><span class="ln">64</span><span class="cl"><span class="gu">### 依賴關係
</span></span></span><span class="line"><span class="ln">65</span><span class="cl"><span class="gu"></span><span class="k">-</span> 前置任務：[必須完成的前置任務清單]
</span></span><span class="line"><span class="ln">66</span><span class="cl"><span class="k">-</span> 後續任務：[依賴此任務的後續任務]
</span></span><span class="line"><span class="ln">67</span><span class="cl"><span class="k">-</span> 並行任務：[可同時進行的相關任務]
</span></span><span class="line"><span class="ln">68</span><span class="cl">
</span></span><span class="line"><span class="ln">69</span><span class="cl"><span class="gu">### 完成標準
</span></span></span><span class="line"><span class="ln">70</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 功能實現完成
</span></span><span class="line"><span class="ln">71</span><span class="cl"><span class="k">- [ ]</span> 測試通過率 100%
</span></span><span class="line"><span class="ln">72</span><span class="cl"><span class="k">- [ ]</span> 程式碼品質檢查通過
</span></span><span class="line"><span class="ln">73</span><span class="cl"><span class="k">- [ ]</span> 無新增警告或錯誤
</span></span><span class="line"><span class="ln">74</span><span class="cl"><span class="k">- [ ]</span> 參考文件更新 (如有需要)
</span></span><span class="line"><span class="ln">75</span><span class="cl">
</span></span><span class="line"><span class="ln">76</span><span class="cl"><span class="gu">### 風險評估
</span></span></span><span class="line"><span class="ln">77</span><span class="cl"><span class="gu"></span><span class="k">-</span> 技術風險等級：高/中/低
</span></span><span class="line"><span class="ln">78</span><span class="cl"><span class="k">-</span> 潛在影響評估
</span></span><span class="line"><span class="ln">79</span><span class="cl"><span class="k">-</span> 回滾策略
</span></span><span class="line"><span class="ln">80</span><span class="cl">
</span></span><span class="line"><span class="ln">81</span><span class="cl"><span class="gu">### 指派代理人
</span></span></span><span class="line"><span class="ln">82</span><span class="cl"><span class="gu"></span><span class="k">-</span> 主要執行代理人：[Agent Name]
</span></span><span class="line"><span class="ln">83</span><span class="cl"><span class="k">-</span> 檢查代理人：cinnamon-refactor-owl
</span></span><span class="line"><span class="ln">84</span><span class="cl">
</span></span><span class="line"><span class="ln">85</span><span class="cl"><span class="gu">### 後續更新責任 (準備階段特有)
</span></span></span><span class="line"><span class="ln">86</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 更新相關任務的參考文件欄位
</span></span><span class="line"><span class="ln">87</span><span class="cl"><span class="k">- [ ]</span> 補充依賴任務的詳細資訊
</span></span><span class="line"><span class="ln">88</span><span class="cl">- [ ] 建立文件間的關聯性</span></span></code></pre></div><h3 id="任務完成回報格式">任務完成回報格式</h3>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 任務完成回報 - vX.Y.Z
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 完成項目
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">- [x]</span> 目標1 完成
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">- [x]</span> 目標2 完成
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">- [x]</span> 測試驗證通過
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu">### 品質指標
</span></span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="gu"></span><span class="k">-</span> 測試通過率：100%
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">-</span> 程式碼覆蓋率：維持或提升
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">-</span> 效能影響：無負面影響
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gu">### 技術變更摘要
</span></span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu"></span><span class="k">-</span> 修改檔案數量：N 個
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">-</span> 新增程式碼行數：+N 行
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">-</span> 移除程式碼行數：-N 行
</span></span><span class="line"><span class="ln">17</span><span class="cl">
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="gu">### 發現問題
</span></span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="gu"></span><span class="k">-</span> 無問題 / 發現問題清單
</span></span><span class="line"><span class="ln">20</span><span class="cl">
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="gu">### 後續建議
</span></span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="gu"></span><span class="k">-</span> 下一個任務的建議
</span></span><span class="line"><span class="ln">23</span><span class="cl">- 潛在改善機會</span></span></code></pre></div><h2 id="品質控制機制">品質控制機制</h2>
<h3 id="強制檢查點">強制檢查點</h3>
<h4 id="任務執行前檢查">任務執行前檢查</h4>
<ul>
<li><input disabled="" type="checkbox"> 任務目標明確定義</li>
<li><input disabled="" type="checkbox"> 完成標準可測量</li>
<li><input disabled="" type="checkbox"> 指派代理人明確</li>
<li><input disabled="" type="checkbox"> 風險評估完成</li>
<li><input disabled="" type="checkbox"> <strong>參考文件完整性（強制）</strong> - UseCase、流程圖 Event、架構規範、依賴類別、測試設計全部填寫</li>
<li><input disabled="" type="checkbox"> <strong>影響範圍明確性（強制）</strong> - 需建立/修改/影響的檔案清單完整列出</li>
</ul>
<h4 id="任務執行中檢查">任務執行中檢查</h4>
<ul>
<li><input disabled="" type="checkbox"> 定期進度回報</li>
<li><input disabled="" type="checkbox"> 問題及時升級</li>
<li><input disabled="" type="checkbox"> 品質標準持續監控</li>
<li><input disabled="" type="checkbox"> 測試覆蓋率維持</li>
</ul>
<h4 id="任務完成後檢查">任務完成後檢查</h4>
<ul>
<li><input disabled="" type="checkbox"> 重構代理人驗證通過</li>
<li><input disabled="" type="checkbox"> 測試通過率 100%</li>
<li><input disabled="" type="checkbox"> 程式碼品質符合標準</li>
<li><input disabled="" type="checkbox"> 文件同步更新</li>
</ul>
<h3 id="階段完成驗證機制">階段完成驗證機制</h3>
<p><strong>重要</strong>: 基於實戰經驗學習，每個開發階段必須通過完整驗證才能標記為完成。</p>
<h4 id="階段完成檢查清單-stage-completion-checklist">階段完成檢查清單 (Stage Completion Checklist)</h4>
<h5 id="1-編譯完整性檢查-compilation-integrity">1. <strong>編譯完整性檢查 (Compilation Integrity)</strong></h5>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 強制執行的編譯檢查指令</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl">flutter analyze lib/ --no-fatal-warnings
</span></span><span class="line"><span class="ln">3</span><span class="cl">dart analyze lib/ --no-fatal-warnings
</span></span><span class="line"><span class="ln">4</span><span class="cl">
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="c1"># 檢查是否有 error 級別問題</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl">flutter analyze lib/ 2&gt;<span class="p">&amp;</span><span class="m">1</span> <span class="p">|</span> grep -E <span class="s2">&#34;error&#34;</span> <span class="o">||</span> <span class="nb">echo</span> <span class="s2">&#34;編譯檢查通過&#34;</span></span></span></code></pre></div><p><strong>通過標準</strong>:</p>
<ul>
<li><input disabled="" type="checkbox"> 0 個 error 級別問題</li>
<li><input disabled="" type="checkbox"> warning 和 info 級別問題可接受</li>
<li><input disabled="" type="checkbox"> 所有 import 語句正確解析</li>
</ul>
<h5 id="2-依賴路徑一致性檢查-dependency-path-consistency">2. <strong>依賴路徑一致性檢查 (Dependency Path Consistency)</strong></h5>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 檢查是否有引用不存在檔案的問題</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl">flutter analyze lib/ 2&gt;<span class="p">&amp;</span><span class="m">1</span> <span class="p">|</span> grep <span class="s2">&#34;Target of URI doesn&#39;t exist&#34;</span> <span class="o">||</span> <span class="nb">echo</span> <span class="s2">&#34;路徑檢查通過&#34;</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="c1"># 檢查是否符合 package 導入規範</span>
</span></span><span class="line"><span class="ln">5</span><span class="cl">grep -r <span class="s2">&#34;import &#39;\.\.&#34;</span> lib/ <span class="o">||</span> <span class="nb">echo</span> <span class="s2">&#34;無相對路徑導入&#34;</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl">
</span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="c1"># 檢查是否有重複或錯誤的路徑引用</span>
</span></span><span class="line"><span class="ln">8</span><span class="cl">find lib/ -name <span class="s2">&#34;*.dart&#34;</span> -exec grep -l <span class="s2">&#34;package:book_overview_app&#34;</span> <span class="o">{}</span> <span class="se">\;</span> <span class="p">|</span> sort</span></span></code></pre></div><p><strong>通過標準</strong>:</p>
<ul>
<li><input disabled="" type="checkbox"> 無「Target of URI doesn&rsquo;t exist」錯誤</li>
<li><input disabled="" type="checkbox"> 100% 使用 package 導入格式，0% 相對路徑</li>
<li><input disabled="" type="checkbox"> 所有路徑指向正確的檔案位置</li>
</ul>
<h5 id="3-測試通過率檢查-test-pass-rate">3. <strong>測試通過率檢查 (Test Pass Rate)</strong></h5>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 100% 測試通過率要求</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl">dart <span class="nb">test</span> --coverage
</span></span><span class="line"><span class="ln">3</span><span class="cl">flutter <span class="nb">test</span> --coverage
</span></span><span class="line"><span class="ln">4</span><span class="cl">
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="c1"># 確保所有測試套件都能執行</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl">dart <span class="nb">test</span> test/unit/ --reporter<span class="o">=</span>expanded
</span></span><span class="line"><span class="ln">7</span><span class="cl">flutter <span class="nb">test</span> test/widget/ --reporter<span class="o">=</span>expanded
</span></span><span class="line"><span class="ln">8</span><span class="cl">flutter <span class="nb">test</span> test/integration/ --reporter<span class="o">=</span>expanded</span></span></code></pre></div><p><strong>通過標準</strong>:</p>
<ul>
<li><input disabled="" type="checkbox"> 100% 測試通過率，無例外</li>
<li><input disabled="" type="checkbox"> 所有測試套件正常執行</li>
<li><input disabled="" type="checkbox"> 無測試環境錯誤</li>
<li><input disabled="" type="checkbox"> 測試覆蓋率不下降</li>
</ul>
<h5 id="4-重複實作檢查-duplicate-implementation-check">4. <strong>重複實作檢查 (Duplicate Implementation Check)</strong></h5>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># 檢查是否有重複的服務實作</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">find lib/ -name <span class="s2">&#34;*service*.dart&#34;</span> <span class="p">|</span> sort
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">find lib/ -name <span class="s2">&#34;*provider*.dart&#34;</span> <span class="p">|</span> sort
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1"># 檢查類似命名的類別</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">grep -r <span class="s2">&#34;class.*Service&#34;</span> lib/ --include<span class="o">=</span><span class="s2">&#34;*.dart&#34;</span> <span class="p">|</span> sort
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">grep -r <span class="s2">&#34;class.*Provider&#34;</span> lib/ --include<span class="o">=</span><span class="s2">&#34;*.dart&#34;</span> <span class="p">|</span> sort
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1"># 檢查是否有功能重疊的實作</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;手動檢查是否有功能重複的實作&#34;</span></span></span></code></pre></div><p><strong>通過標準</strong>:</p>
<ul>
<li><input disabled="" type="checkbox"> 無功能重複的服務實作</li>
<li><input disabled="" type="checkbox"> 類別命名符合單一職責原則</li>
<li><input disabled="" type="checkbox"> 無廢棄或未使用的實作</li>
<li><input disabled="" type="checkbox"> 依賴關係清晰無衝突</li>
</ul>
<h5 id="5-架構一致性檢查-architecture-consistency">5. <strong>架構一致性檢查 (Architecture Consistency)</strong></h5>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># 檢查檔案是否在正確的架構層級</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">ls -la lib/core/services/
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">ls -la lib/domains/*/services/
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">ls -la lib/presentation/*/services/
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="c1"># 驗證 Clean Architecture 分層</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;確認檔案位置符合 Clean Architecture 原則&#34;</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1"># 檢查導入路徑是否符合架構設計</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">grep -r <span class="s2">&#34;import.*lib/core&#34;</span> lib/presentation/ <span class="o">||</span> <span class="nb">echo</span> <span class="s2">&#34;無違反架構的導入&#34;</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl">grep -r <span class="s2">&#34;import.*lib/presentation&#34;</span> lib/core/ <span class="o">||</span> <span class="nb">echo</span> <span class="s2">&#34;無反向依賴&#34;</span></span></span></code></pre></div><p><strong>通過標準</strong>:</p>
<ul>
<li><input disabled="" type="checkbox"> 檔案位置符合 Clean Architecture 分層</li>
<li><input disabled="" type="checkbox"> 無跨層直接依賴違規</li>
<li><input disabled="" type="checkbox"> 依賴方向正確 (外層依賴內層)</li>
<li><input disabled="" type="checkbox"> 服務檔案位於正確的目錄結構</li>
</ul>
<h4 id="階段完成強制流程"><strong>階段完成強制流程</strong></h4>
<p>每個開發階段必須按以下順序執行：</p>
<ol>
<li><strong>完成階段開發工作</strong></li>
<li><strong>執行編譯檢查</strong> - 必須 0 error</li>
<li><strong>執行測試檢查</strong> - 必須 100% 通過</li>
<li><strong>檢查路徑一致性</strong> - 修正所有 import 問題</li>
<li><strong>檢查重複實作</strong> - 確保無功能重複</li>
<li><strong>驗證架構一致性</strong> - 檔案位置符合設計</li>
<li><strong>更新工作日誌</strong> - 記錄檢查結果</li>
<li><strong>標記階段完成</strong> - 更新 todolist 狀態</li>
</ol>
<h4 id="階段失敗處理原則"><strong>階段失敗處理原則</strong></h4>
<ul>
<li><strong>任何檢查項目失敗 = 階段未完成</strong></li>
<li><strong>必須修正所有問題後重新檢查</strong></li>
<li><strong>不允許「暫時跳過」或「之後處理」</strong></li>
<li><strong>問題修正優先於新功能開發</strong></li>
<li><strong>重複檢查直到所有項目通過</strong></li>
</ul>
<h4 id="檢查清單整合到工作日誌"><strong>檢查清單整合到工作日誌</strong></h4>
<h5 id="每個開發階段的工作日誌必須包含">每個開發階段的工作日誌必須包含</h5>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 階段完成檢查
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 編譯檢查
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> flutter analyze 無 error
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">- [ ]</span> dart analyze 無 error
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">- [ ]</span> 無「Target of URI doesn&#39;t exist」錯誤
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu">### 測試檢查
</span></span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> dart test 100% 通過
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">- [ ]</span> flutter test 100% 通過
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">- [ ]</span> 測試覆蓋率檢查完成
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gu">### 一致性檢查
</span></span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 無相對路徑 import
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">- [ ]</span> 無重複服務實作
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">- [ ]</span> 檔案位置符合架構設計
</span></span><span class="line"><span class="ln">17</span><span class="cl">
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="gu">### 最終確認
</span></span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 所有檢查項目通過
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="k">- [ ]</span> 工作日誌更新完成
</span></span><span class="line"><span class="ln">21</span><span class="cl">- [ ] 準備進入下一階段</span></span></code></pre></div><h4 id="hook-系統整合-1"><strong>Hook 系統整合</strong></h4>
<p>此階段完成驗證機制與現有 Hook 系統整合：</p>
<ul>
<li><strong>PostEdit Hook</strong> - 檔案修改後自動檢查編譯狀態</li>
<li><strong>Version Check Hook</strong> - 階段推進前強制執行完整檢查</li>
<li><strong>Code Smell Detection Hook</strong> - 即時偵測重複實作問題</li>
<li><strong>PM Trigger Hook</strong> - 檢查失敗時觸發專案管理介入</li>
</ul>
<h3 id="失敗處理機制">失敗處理機制</h3>
<h4 id="任務失敗類型">任務失敗類型</h4>
<ol>
<li><strong>技術失敗</strong> - 無法達成技術目標</li>
<li><strong>品質失敗</strong> - 無法通過品質檢查</li>
<li><strong>時程失敗</strong> - 超出預估完成時間</li>
<li><strong>範圍失敗</strong> - 任務範圍超出預期</li>
</ol>
<h4 id="失敗處理策略">失敗處理策略</h4>
<ol>
<li><strong>技術失敗</strong> → PM 代理人重新設計技術方案</li>
<li><strong>品質失敗</strong> → 重構代理人指導修正</li>
<li><strong>時程失敗</strong> → PM 代理人拆分任務</li>
<li><strong>範圍失敗</strong> → 主線程重新分派任務</li>
</ol>
<h2 id="進度追蹤機制">進度追蹤機制</h2>
<h3 id="三重文件原則整合">三重文件原則整合</h3>
<p>本方法論的進度追蹤完全基於「三重文件原則」（詳見前述章節）：</p>
<ol>
<li><strong>CHANGELOG.md</strong> - 版本功能變動（面向用戶）</li>
<li><strong>todolist.md</strong> - 任務全景圖（面向開發）</li>
<li><strong>work-log/</strong> - 實作細節（面向交接）</li>
</ol>
<h3 id="三層進度管理對應-work-log">三層進度管理（對應 work-log）</h3>
<p><strong>重要說明</strong>：三層進度管理主要對應到 work-log 文件系統，與 CHANGELOG 和 todolist 協同運作。</p>
<h4 id="1-大版本層級-vxyx---對應主版本工作日誌">1. 大版本層級 (vX.Y.x) - 對應主版本工作日誌</h4>
<ul>
<li><strong>追蹤文件</strong>: <code>docs/work-logs/vX.Y.0-main.md</code> (主版本總覽)</li>
<li><strong>對應三重文件</strong>:
<ul>
<li><strong>work-log</strong>: 詳細任務分派和執行記錄</li>
<li><strong>todolist</strong>: vX.Y.x 系列所有任務清單</li>
<li><strong>CHANGELOG</strong>: 版本發布時提取功能變動</li>
</ul>
</li>
<li><strong>更新頻率</strong>: 任務分派時、階段完成時</li>
<li><strong>責任代理</strong>: 主線程、PM 代理人</li>
</ul>
<h4 id="2-小版本層級-vxy1-vxy2----對應小版本工作日誌">2. 小版本層級 (vX.Y.1, vX.Y.2, &hellip;) - 對應小版本工作日誌</h4>
<ul>
<li><strong>追蹤文件</strong>: <code>docs/work-logs/vX.Y.Z-[specific-task].md</code> (具體任務)</li>
<li><strong>對應三重文件</strong>:
<ul>
<li><strong>work-log</strong>: 完整的實作細節和 TDD 階段記錄</li>
<li><strong>todolist</strong>: 單一任務狀態更新</li>
<li><strong>CHANGELOG</strong>: 任務完成後潛在的功能變動點</li>
</ul>
</li>
<li><strong>更新頻率</strong>: 任務執行中、任務完成時</li>
<li><strong>責任代理</strong>: 執行代理人、文件代理人</li>
</ul>
<h4 id="3-任務層級-todolist---對應-todolistmd">3. 任務層級 (TodoList) - 對應 todolist.md</h4>
<ul>
<li><strong>追蹤工具</strong>: TodoWrite 工具 + <code>docs/todolist.md</code></li>
<li><strong>對應三重文件</strong>:
<ul>
<li><strong>todolist</strong>: 任務狀態即時追蹤</li>
<li><strong>work-log</strong>: 任務詳細資訊來源</li>
<li><strong>CHANGELOG</strong>: 完成任務累積的功能變動</li>
</ul>
</li>
<li><strong>更新頻率</strong>: 即時更新</li>
<li><strong>責任代理</strong>: 所有代理人</li>
</ul>
<h3 id="三重文件同步機制">三重文件同步機制</h3>
<h4 id="任務執行流程中的文件更新">任務執行流程中的文件更新</h4>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">sequenceDiagram
    participant 主線程
    participant 執行代理人
    participant todolist
    participant work-log
    participant CHANGELOG

    主線程-&gt;&gt;todolist: 檢視下一個待執行任務
    主線程-&gt;&gt;work-log: 查看 vX.Y.0-main.md 分派清單
    主線程-&gt;&gt;執行代理人: 分派任務 vX.Y.Z

    執行代理人-&gt;&gt;work-log: 記錄執行過程到 vX.Y.Z.md
    執行代理人-&gt;&gt;todolist: 更新任務狀態為「進行中」

    執行代理人-&gt;&gt;work-log: 標記任務完成
    執行代理人-&gt;&gt;todolist: 更新任務狀態為「完成」

    Note over 主線程,CHANGELOG: 版本發布時
    主線程-&gt;&gt;work-log: 檢視所有已完成任務
    主線程-&gt;&gt;CHANGELOG: 提取功能變動
    主線程-&gt;&gt;todolist: 確認版本完成</code></pre><h4 id="版本發布時的三重文件協調">版本發布時的三重文件協調</h4>
<ol>
<li>
<p><strong>文件代理人檢查 work-log</strong>：</p>
<ul>
<li>讀取 <code>vX.Y.0-main.md</code> 所有已完成任務</li>
<li>讀取每個 <code>vX.Y.Z-task.md</code> 實作細節</li>
</ul>
</li>
<li>
<p><strong>提取功能變動到 CHANGELOG</strong>：</p>
<ul>
<li>只記錄用戶可感知的功能變動</li>
<li>忽略內部重構和技術細節</li>
<li>依照 Keep a Changelog 格式撰寫</li>
</ul>
</li>
<li>
<p><strong>驗證 todolist 一致性</strong>：</p>
<ul>
<li>確認 todolist 標記的完成任務與 work-log 一致</li>
<li>確認版本號對應正確</li>
</ul>
</li>
</ol>
<h3 id="關鍵指標監控">關鍵指標監控</h3>
<h4 id="效率指標">效率指標</h4>
<ul>
<li>任務完成速度 (任務數/天)</li>
<li>平均任務執行時間</li>
<li>升級請求頻率</li>
<li>重做次數</li>
</ul>
<h4 id="品質指標">品質指標</h4>
<ul>
<li>測試通過率趨勢</li>
<li>程式碼覆蓋率變化</li>
<li>新增錯誤/警告數量</li>
<li>效能回歸情況</li>
</ul>
<h4 id="協作指標">協作指標</h4>
<ul>
<li>代理人回應時間</li>
<li>任務交接效率</li>
<li>溝通品質評分</li>
<li>問題解決時間</li>
</ul>
<h2 id="成功標準">成功標準</h2>
<h3 id="方法論成功指標">方法論成功指標</h3>
<h4 id="效率成功標準">效率成功標準</h4>
<ul>
<li><input disabled="" type="checkbox"> 30-40 個小版本任務如期完成</li>
<li><input disabled="" type="checkbox"> 每個任務平均完成時間 &lt; 2 小時</li>
<li><input disabled="" type="checkbox"> 升級請求 &lt; 10% 總任務數</li>
<li><input disabled="" type="checkbox"> 重做次數 &lt; 5% 總任務數</li>
</ul>
<h4 id="品質成功標準">品質成功標準</h4>
<ul>
<li><input disabled="" type="checkbox"> 100% 測試通過率維持</li>
<li><input disabled="" type="checkbox"> 程式碼覆蓋率不下降</li>
<li><input disabled="" type="checkbox"> 0 個新增的錯誤或警告</li>
<li><input disabled="" type="checkbox"> 效能目標全部達成</li>
</ul>
<h4 id="協作成功標準">協作成功標準</h4>
<ul>
<li><input disabled="" type="checkbox"> 代理人角色職責清晰</li>
<li><input disabled="" type="checkbox"> 任務交接無遺漏</li>
<li><input disabled="" type="checkbox"> 問題升級機制有效</li>
<li><input disabled="" type="checkbox"> 文件同步及時準確</li>
</ul>
<h4 id="階段驗證成功標準">階段驗證成功標準</h4>
<ul>
<li><input disabled="" type="checkbox"> 每個階段 100% 通過編譯檢查</li>
<li><input disabled="" type="checkbox"> 每個階段 100% 通過測試檢查</li>
<li><input disabled="" type="checkbox"> 每個階段 100% 通過路徑一致性檢查</li>
<li><input disabled="" type="checkbox"> 每個階段 100% 通過重複實作檢查</li>
<li><input disabled="" type="checkbox"> 每個階段 100% 通過架構一致性檢查</li>
<li><input disabled="" type="checkbox"> 階段失敗率 &lt; 5%</li>
<li><input disabled="" type="checkbox"> 平均階段驗證時間 &lt; 30 分鐘</li>
</ul>
<h3 id="重構成功標準">重構成功標準</h3>
<h4 id="架構成功標準">架構成功標準</h4>
<ul>
<li><input disabled="" type="checkbox"> 完全符合設計文件 v2.0 規範</li>
<li><input disabled="" type="checkbox"> 原生 Exception 系統實作完成</li>
<li><input disabled="" type="checkbox"> 舊錯誤處理系統完全移除</li>
<li><input disabled="" type="checkbox"> 統一錯誤處理入口建立</li>
</ul>
<h4 id="效能成功標準">效能成功標準</h4>
<ul>
<li><input disabled="" type="checkbox"> 錯誤建立時間 &lt; 0.1ms</li>
<li><input disabled="" type="checkbox"> 記憶體占用 &lt; 200 bytes</li>
<li><input disabled="" type="checkbox"> 程式碼量減少 ~80%</li>
<li><input disabled="" type="checkbox"> 編譯時間改善</li>
</ul>
<h2 id="敏捷開發本質">敏捷開發本質</h2>
<h3 id="核心理念">核心理念</h3>
<h4 id="敏捷開發是持續發現快速調整資訊流動的動態過程">敏捷開發是持續發現、快速調整、資訊流動的動態過程</h4>
<h3 id="資訊流動機制">資訊流動機制</h3>
<h4 id="phase-間的資訊傳遞">Phase 間的資訊傳遞</h4>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">graph TD
    A[Phase 1 設計] --&gt;|架構決策| B[Phase 2 測試設計]
    B --&gt;|實作指引| C[Phase 3 實作]
    C --&gt;|重構發現| D[Phase 4 重構]

    B --&gt;|問題識別| E[架構調整]
    E --&gt;|更新設計| A
    E --&gt;|更新測試| B
    E --&gt;|更新實作| C

    C --&gt;|技術債務| F[文件補充]
    F --&gt;|參考資料| C
    F --&gt;|設計優化| A</code></pre><h4 id="v011-實際資訊流範例">v0.11 實際資訊流範例</h4>
<p><strong>Phase 1 → Phase 2 傳遞</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl">Phase 1 (v0.11.1) 產出:
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="k">-</span> 44 個 Event 流程設計
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="k">-</span> 3 個核心流程圖
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="k">-</span> 架構層級劃分
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">Phase 2 (v0.11.2) 接收並發現:
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">-</span> 流程圖定義清楚
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> 注意：BookEnrichmentData 位置錯誤
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> 4 個命名不一致
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">-</span> Domain 服務層缺失
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl">Phase 2 回饋 Phase 1:
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">-</span> 修正架構問題 → 立即執行
</span></span><span class="line"><span class="ln">14</span><span class="cl">- 更新流程圖命名 → 完成修正</span></span></code></pre></div><p><strong>Phase 2 → Phase 3 傳遞</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl">Phase 2 (v0.11.2) 產出:
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="k">-</span> 335 個測試用例設計
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="k">-</span> 33 個測試檔案規劃
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="k">-</span> 架構修正決策
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> 時程調整 (Plan B)
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">Phase 3 (v0.11.3-14) 接收並執行:
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> 測試先行 TDD 開發
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> 依賴 Phase 2 架構修正
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">-</span> 參考測試設計驗收標準
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">-</span> 遵循調整後時程
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl">Phase 3 動態更新 Phase 2 發現:
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">-</span> 補充任務參考文件
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">-</span> 更新依賴類別資訊
</span></span><span class="line"><span class="ln">16</span><span class="cl">- 調整實作優先序</span></span></code></pre></div><h3 id="靈活任務交接">靈活任務交接</h3>
<h4 id="交接不是單向傳遞">交接不是單向傳遞</h4>
<p><strong>傳統錯誤模式</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">Phase 1 完成 → 凍結
</span></span><span class="line"><span class="ln">2</span><span class="cl">Phase 2 開始 → 發現問題但不敢改 Phase 1
</span></span><span class="line"><span class="ln">3</span><span class="cl">Phase 3 繼續 → 基於錯誤的設計實作</span></span></code></pre></div><p><strong>敏捷正確模式</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">Phase 1 完成 → 基礎版本
</span></span><span class="line"><span class="ln">2</span><span class="cl">Phase 2 發現 → 立即回報並調整 Phase 1
</span></span><span class="line"><span class="ln">3</span><span class="cl">Phase 1 更新 → 同步更新 Phase 2 和 Phase 3 參考
</span></span><span class="line"><span class="ln">4</span><span class="cl">Phase 3 執行 → 基於最新、最正確的設計</span></span></code></pre></div><h4 id="任務交接檢查清單">任務交接檢查清單</h4>
<p><strong>前置任務完成時</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 任務交接檢查 - vX.Y.Z 完成
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 產出清單
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 程式碼檔案: [列出新建/修改檔案]
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">- [ ]</span> 測試檔案: [列出測試覆蓋]
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">- [ ]</span> 文件更新: [列出相關文件]
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu">### 後續任務更新
</span></span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 檢查哪些任務依賴此產出
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">- [ ]</span> 更新後續任務的「依賴類別」參考
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">- [ ]</span> 補充實作範例連結
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">- [ ]</span> 通知相關代理人（如已分派）
</span></span><span class="line"><span class="ln">13</span><span class="cl">
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu">### 發現問題記錄
</span></span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 是否有架構問題影響後續任務
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">- [ ]</span> 是否有命名需要統一
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">- [ ]</span> 是否有技術債務需要標註
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="k">- [ ]</span> 是否需要調整後續任務範圍
</span></span><span class="line"><span class="ln">19</span><span class="cl">
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gu">### 主版本日誌更新
</span></span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="gu"></span><span class="k">- [ ]</span> 標記任務完成
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="k">- [ ]</span> 補充「重要發現」區域
</span></span><span class="line"><span class="ln">23</span><span class="cl">- [ ] 更新進度統計</span></span></code></pre></div><h3 id="持續文件精煉">持續文件精煉</h3>
<h4 id="文件不是一次性產物">文件不是一次性產物</h4>
<p><strong>文件生命週期</strong>：</p>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">graph LR
    A[初始版本] --&gt; B[Phase 1 補充]
    B --&gt; C[Phase 2 修正]
    C --&gt; D[Phase 3 完善]
    D --&gt; E[Phase 4 定版]

    C --&gt;|發現問題| F[緊急更新]
    F --&gt; C

    D --&gt;|實作發現| G[補充範例]
    G --&gt; D</code></pre><h4 id="文件更新觸發點">文件更新觸發點</h4>
<h5 id="1-強制更新時機">1. 強制更新時機</h5>
<ul>
<li>架構變更 → 立即更新所有相關文件</li>
<li>介面簽名變更 → 更新流程圖和參考</li>
<li>依賴關係變化 → 更新任務依賴清單</li>
<li>命名修正 → 全專案統一更新</li>
</ul>
<h5 id="2-建議更新時機">2. 建議更新時機</h5>
<ul>
<li>發現更好的實作方式 → 補充範例</li>
<li>常見問題解決 → 補充 FAQ</li>
<li>效能優化技巧 → 補充最佳實踐</li>
<li>測試技巧發現 → 補充測試指引</li>
</ul>
<h5 id="3-v011-實際更新案例">3. v0.11 實際更新案例</h5>
<h6 id="案例-1架構修正觸發連鎖更新">案例 1：架構修正觸發連鎖更新</h6>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl">觸發: BookEnrichmentData 遷移到 Domain 層
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">更新文件清單:
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="k">1.</span> 流程圖 book-info-query-flow.md
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">   <span class="k">-</span> Event 6-7 層級標註
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">2.</span> 主版本日誌 v0.11.0-main.md
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">   <span class="k">-</span> 架構調整記錄
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">   <span class="k">-</span> v0.11.5, v0.11.6 依賴類別更新
</span></span><span class="line"><span class="ln">10</span><span class="cl">
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">3.</span> 測試設計 v0.11.2-tdd-phase2-test-design.md
</span></span><span class="line"><span class="ln">12</span><span class="cl">   <span class="k">-</span> Mock 設定路徑更新
</span></span><span class="line"><span class="ln">13</span><span class="cl">
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">4.</span> 所有後續任務描述
</span></span><span class="line"><span class="ln">15</span><span class="cl">   <span class="k">-</span> 參考文件補充
</span></span><span class="line"><span class="ln">16</span><span class="cl">   - import 路徑範例</span></span></code></pre></div><h6 id="案例-2phase-2-發現補充任務參考">案例 2：Phase 2 發現補充任務參考</h6>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl">觸發: Phase 2 完成測試設計
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">補充內容:
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="k">1.</span> v0.11.5-14 所有任務
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">   <span class="k">-</span> 新增「測試設計參考」欄位
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">   <span class="k">-</span> 具體到測試檔案名稱和用例數
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">2.</span> v0.11.0-main.md
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">   <span class="k">-</span> 補充「Phase 2 重要發現」區域
</span></span><span class="line"><span class="ln">10</span><span class="cl">   <span class="k">-</span> 記錄時程調整和原因
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">3.</span> 依賴類別參考
</span></span><span class="line"><span class="ln">13</span><span class="cl">   <span class="k">-</span> v0.11.3, v0.11.4 產出類別
</span></span><span class="line"><span class="ln">14</span><span class="cl">   - 列入所有相關任務參考</span></span></code></pre></div><h3 id="響應式規劃">響應式規劃</h3>
<h4 id="規劃不是固定藍圖">規劃不是固定藍圖</h4>
<p><strong>初始規劃基於</strong>：</p>
<ul>
<li>現有知識和經驗</li>
<li>需求分析結果</li>
<li>架構設計假設</li>
<li>風險初步評估</li>
</ul>
<p><strong>執行中調整基於</strong>：</p>
<ul>
<li>實際發現的問題</li>
<li>技術方案驗證結果</li>
<li>測試設計識別的複雜度</li>
<li>代理人的回報和建議</li>
</ul>
<h4 id="調整決策標準">調整決策標準</h4>
<h5 id="何時調整規劃">何時調整規劃？</h5>
<p><strong>立即調整（阻塞性）</strong>：</p>
<ul>
<li>架構設計根本性錯誤</li>
<li>依賴關係衝突無法解決</li>
<li>技術方案不可行</li>
<li>測試通過率無法達成</li>
</ul>
<p><strong>範例</strong>：BookEnrichmentData 位置錯誤 → 立即停止並修正</p>
<p><strong>計畫調整（重要性）</strong>：</p>
<ul>
<li>任務複雜度超出預期</li>
<li>需要額外的前置任務</li>
<li>測試用例數量大幅增加</li>
<li>發現缺失的功能模組</li>
</ul>
<p><strong>範例</strong>：Domain 服務層缺失 → 調整時程從 4-6 天到 6-7 天</p>
<p><strong>優化調整（改善性）</strong>：</p>
<ul>
<li>發現更好的實作方式</li>
<li>可以提前完成的任務</li>
<li>可以合併的重複工作</li>
<li>效能優化機會</li>
</ul>
<h5 id="調整必須文件化">調整必須文件化</h5>
<p><strong>調整決策記錄格式</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 規劃調整決策 - [調整標題]
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**調整日期**</span>: YYYY-MM-DD
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**觸發原因**</span>: [為什麼需要調整]
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="gs">**影響範圍**</span>: [哪些任務受影響]
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu">### 原始規劃
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu"></span><span class="k">-</span> 任務數量: N 個
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> 預估時程: X 天
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">-</span> 假設條件: [列出]
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="gu">### 調整後規劃
</span></span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gu"></span><span class="k">-</span> 任務數量: M 個
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">-</span> 預估時程: Y 天
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">-</span> 調整原因: [詳細說明]
</span></span><span class="line"><span class="ln">16</span><span class="cl">
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="gu">### 具體變更
</span></span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="gu"></span><span class="k">1.</span> [變更 1]
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="k">2.</span> [變更 2]
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="k">3.</span> [變更 3]
</span></span><span class="line"><span class="ln">21</span><span class="cl">
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="gu">### 風險評估
</span></span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="gu"></span><span class="k">-</span> 新風險: [識別出的新風險]
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="k">-</span> 緩解措施: [對應的處理方式]
</span></span><span class="line"><span class="ln">25</span><span class="cl">
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="gu">### 溝通記錄
</span></span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="gu"></span><span class="k">-</span> YYYY-MM-DD: [通知相關代理人]
</span></span><span class="line"><span class="ln">28</span><span class="cl">- YYYY-MM-DD: [更新主版本日誌]</span></span></code></pre></div><h4 id="v011-規劃調整實例">v0.11 規劃調整實例</h4>
<p><strong>Plan B 決策</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 規劃調整決策 - v0.11.0 採用 Plan B
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**調整日期**</span>: 2025-09-30
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**觸發原因**</span>: Phase 2 識別出 28 個 TDD 新建測試和 Domain 層缺失
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="gu">### 原始規劃
</span></span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu"></span><span class="k">-</span> 任務數量: 10-12 個小版本
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> 預估時程: 4-6 天
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> 假設: 60% 實作已完成，40% 補充測試
</span></span><span class="line"><span class="ln">10</span><span class="cl">
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gu">### 調整後規劃
</span></span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="gu"></span><span class="k">-</span> 任務數量: 14 個小版本
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">-</span> 預估時程: 6-7 天 (+1-2 天)
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">-</span> 原因: Domain 層需從零建立，測試覆蓋率需 100%
</span></span><span class="line"><span class="ln">15</span><span class="cl">
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="gu">### 具體變更
</span></span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="gu"></span><span class="k">1.</span> 新增 v0.11.3-4：Domain 輸入驗證和查詢服務
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="k">2.</span> 延後外部 API 整合到 v0.12.0
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="k">3.</span> 簡化速率控制，移除批次處理和斷路器
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="k">4.</span> 專注核心功能，確保品質優先
</span></span><span class="line"><span class="ln">21</span><span class="cl">
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="gu">### 風險評估
</span></span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="gu"></span><span class="k">-</span> 新風險: 時程延長 1-2 天
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="k">-</span> 緩解: 簡化外部 API 整合，移到下個版本
</span></span><span class="line"><span class="ln">25</span><span class="cl">- 好處: Domain 層基礎扎實，後續開發更順暢</span></span></code></pre></div><h3 id="敏捷成功關鍵">敏捷成功關鍵</h3>
<h4 id="1-資訊透明化">1. 資訊透明化</h4>
<ul>
<li>所有發現立即記錄</li>
<li>所有決策公開透明</li>
<li>所有變更同步通知</li>
</ul>
<h4 id="2-快速響應能力">2. 快速響應能力</h4>
<ul>
<li>問題當日解決</li>
<li>調整迅速執行</li>
<li>文件即時更新</li>
</ul>
<h4 id="3-持續改進循環">3. 持續改進循環</h4>
<ul>
<li>每個 Phase 總結學習</li>
<li>問題根因分析</li>
<li>流程持續優化</li>
</ul>
<h4 id="4-團隊協作文化">4. 團隊協作文化</h4>
<ul>
<li>鼓勵主動回報</li>
<li>容許計畫調整</li>
<li>品質高於速度</li>
</ul>
<h2 id="使用指引">使用指引</h2>
<h3 id="主線程使用方式">主線程使用方式</h3>
<ol>
<li><strong>檢查主版本工作日誌</strong>，找到下一個待執行任務</li>
<li><strong>分派任務</strong>給適當的子代理人，使用標準任務格式</li>
<li><strong>等待回報</strong>，不親自執行任何程式碼修改</li>
<li><strong>處理升級</strong>，必要時呼叫 PM 代理人</li>
<li><strong>確認完成</strong>，由重構代理人和文件代理人完成驗證</li>
</ol>
<h3 id="子代理人使用方式">子代理人使用方式</h3>
<ol>
<li><strong>接收任務</strong>，確認任務目標和完成標準</li>
<li><strong>評估規模</strong>，如發現過大立即向上回報</li>
<li><strong>執行任務</strong>，專注於指派的具體工作</li>
<li><strong>回報結果</strong>，使用標準回報格式</li>
<li><strong>配合檢查</strong>，與重構代理人協作完成驗證</li>
</ol>
<h3 id="緊急情況處理">緊急情況處理</h3>
<h4 id="代理人無法執行任務">代理人無法執行任務</h4>
<ol>
<li>立即向主線程回報</li>
<li>主線程評估替代方案</li>
<li>必要時調整任務或更換代理人</li>
</ol>
<h4 id="技術方案遇到阻礙">技術方案遇到阻礙</h4>
<ol>
<li>子代理人立即停止執行</li>
<li>向主線程詳細回報問題</li>
<li>主線程呼叫 PM 代理人重新設計</li>
</ol>
<h4 id="品質標準無法達成">品質標準無法達成</h4>
<ol>
<li>重構代理人拒絕通過</li>
<li>明確指出品質問題</li>
<li>要求修正或重新設計</li>
</ol>
<hr>
<h2 id="v0110-實戰案例集">v0.11.0 實戰案例集</h2>
<h3 id="案例總覽">案例總覽</h3>
<p>v0.11.0 統一書籍資訊查詢服務開發過程，完整展現了敏捷重構方法論的實際應用，包含任務拆分、動態調整、代理人協作等核心流程。</p>
<h3 id="案例-1phase-2-發現觸發-plan-b-調整">案例 1：Phase 2 發現觸發 Plan B 調整</h3>
<h4 id="背景">背景</h4>
<p><strong>初始規劃</strong>：</p>
<ul>
<li>預估時程：4-6 天</li>
<li>假設：60% 程式碼已完成，補充測試即可</li>
<li>任務數：10-12 個小版本</li>
</ul>
<h4 id="觸發事件">觸發事件</h4>
<p>sage-test-architect 完成 Phase 2 測試設計後回報：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 重大發現 - Phase 2 測試設計
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 實作狀態檢查結果
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">-</span> 已完成：GoogleBooksApiImplementation 已完整實作
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> 已完成：GoogleBooksDto 和轉換已實作
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">-</span> 缺失：Domain 服務層完全缺失（0% 完成度）
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">-</span> 待辦：需要 28 個 TDD 新建測試
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> 注意：BookEnrichmentData 位置錯誤
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gu">### 影響評估
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gu"></span><span class="k">-</span> 預估工作量：原估 2-3 天 → 實際需 4-5 天
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">-</span> 複雜度：低 → 高（需從零建立 Domain 層）
</span></span><span class="line"><span class="ln">13</span><span class="cl">- 風險：中 → 高（架構債務累積風險）</span></span></code></pre></div><h4 id="主線程決策過程">主線程決策過程</h4>
<ol>
<li>
<p><strong>檢視相關文件</strong>：</p>
<ul>
<li>閱讀 Clean Architecture 規範</li>
<li>確認 Domain 層職責定義</li>
<li>評估架構債務風險</li>
</ul>
</li>
<li>
<p><strong>召開決策會議</strong>（主線程 + PM代理人）：</p>
<ul>
<li>分析時程影響</li>
<li>評估功能範圍調整可能性</li>
<li>制定 Plan A、Plan B 方案</li>
</ul>
</li>
<li>
<p><strong>決策記錄</strong>：</p>
</li>
</ol>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 決策 - v0.11.0 採用 Plan B
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**決策日期**</span>: 2025-09-30
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**決策者**</span>: 主線程
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="gu">### 方案比較
</span></span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu"></span>**Plan A**: 維持原時程，降低測試覆蓋率
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> 優點：時程不變 (4-6 天)
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> 缺點：測試覆蓋率 <span class="p">&lt;</span> <span class="nt">80</span><span class="err">%</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">-</span> <span class="na">缺點</span><span class="err">：</span><span class="na">架構債務累積</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">-</span> <span class="na">缺點</span><span class="err">：</span><span class="na">違反品質標準</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gs">**Plan B**</span><span class="na">:</span> <span class="na">延長時程</span><span class="err">，</span><span class="na">確保品質</span><span class="err">（</span><span class="na">採用</span><span class="err">）</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">-</span> <span class="na">優點</span><span class="err">：</span><span class="na">測試覆蓋率</span> <span class="na">100</span><span class="err">%</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">-</span> <span class="na">優點</span><span class="err">：</span><span class="na">Domain</span> <span class="na">層基礎扎實</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">-</span> <span class="na">優點</span><span class="err">：</span><span class="na">架構符合規範</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="k">-</span> <span class="na">注意</span><span class="err">：</span><span class="na">時程延長</span> <span class="err">+</span><span class="na">1-2</span> <span class="na">天</span> <span class="err">(→</span> <span class="na">6-7</span> <span class="na">天</span><span class="err">)</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="gu">### 決定
</span></span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="gu"></span><span class="na">採用</span> <span class="na">Plan</span> <span class="na">B</span><span class="err">，</span><span class="na">理由</span><span class="err">：</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="k">1.</span> <span class="na">品質優於速度</span><span class="err">（</span><span class="na">專案鐵律</span><span class="err">）</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="k">2.</span> <span class="na">Domain</span> <span class="na">層是核心基礎</span><span class="err">，</span><span class="na">不能妥協</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="k">3.</span> <span class="na">延長</span> <span class="na">1-2</span> <span class="na">天可接受</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="k">4.</span> <span class="na">簡化外部</span> <span class="na">API</span> <span class="na">整合補償時程</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl">
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="gu">### 執行計畫
</span></span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="gu"></span><span class="k">1.</span> <span class="na">新增</span> <span class="na">v0</span><span class="err">.</span><span class="na">11</span><span class="err">.</span><span class="na">3-4</span><span class="err">：</span><span class="na">Domain</span> <span class="na">輸入驗證和查詢服務</span>
</span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="k">2.</span> <span class="na">延後外部</span> <span class="na">API</span> <span class="na">整合</span><span class="err">（</span><span class="na">Amazon</span><span class="err">、</span><span class="na">台灣出版品</span><span class="err">）</span><span class="na">到</span> <span class="na">v0</span><span class="err">.</span><span class="na">12</span><span class="err">.</span><span class="na">0</span>
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="k">3.</span> <span class="na">簡化速率控制</span><span class="err">，</span><span class="na">移除批次處理和斷路器</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="na">4</span><span class="err">.</span> <span class="na">更新所有後續任務參考文件</span></span></span></code></pre></div><h4 id="執行結果">執行結果</h4>
<ul>
<li>v0.11.3-4 成功完成（71 個測試 100% 通過）</li>
<li>優點：Domain 層基礎扎實</li>
<li>時程控制良好（實際 +1 天）</li>
<li>品質標準維持 100%</li>
</ul>
<h4 id="學習要點">學習要點</h4>
<ol>
<li><strong>測試設計階段至關重要</strong>：能提前識別實作狀態問題</li>
<li><strong>品質不妥協</strong>：短期時程延長換長期穩定發展</li>
<li><strong>靈活調整功能範圍</strong>：延後次要功能，專注核心價值</li>
<li><strong>決策必須文件化</strong>：清楚記錄原因和權衡</li>
</ol>
<h3 id="案例-2架構衝突檢測與立即修正">案例 2：架構衝突檢測與立即修正</h3>
<h4 id="背景-1">背景</h4>
<p>Phase 2 測試設計過程中，sage-test-architect 發現 <code>BookEnrichmentData</code> 位於錯誤層級。</p>
<h4 id="問題描述">問題描述</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 架構衝突 - BookEnrichmentData 位置錯誤
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 當前狀態
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">-</span> 位置: <span class="sb">`lib/infrastructure/api/google_books/book_enrichment_data.dart`</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> 職責: 純資料結構，封裝書籍豐富化資料
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu">### 問題分析
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu"></span><span class="k">-</span> BookEnrichmentData 無外部依賴，應屬於 Domain 層
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">-</span> Infrastructure 層不應定義 Domain 實體
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">-</span> 違反 Clean Architecture 依賴方向
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="gu">### 影響範圍
</span></span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gu"></span><span class="k">-</span> v0.11.5 (資料處理) 需要引用
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">-</span> v0.11.6 (API 客戶端) 需要轉換
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">-</span> 所有測試需要更新 import 路徑
</span></span><span class="line"><span class="ln">16</span><span class="cl">
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="gu">### 建議
</span></span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="gu"></span>立即遷移到 Domain 層，阻塞性問題。</span></span></code></pre></div><h4 id="主線程處理">主線程處理</h4>
<ol>
<li><strong>確認問題嚴重性</strong>：阻塞（影響後續所有任務）</li>
<li><strong>立即停止 Phase 3 啟動</strong>：等待架構修正完成</li>
<li><strong>指派緊急任務</strong>：</li>
</ol>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 緊急任務 - v0.11.2-fix BookEnrichmentData 遷移
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**優先級**</span>: 最高
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**執行人**</span>: mint-format-specialist
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="gs">**預估時間**</span>: 0.5 小時
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu">### 執行步驟
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="gu"></span><span class="k">1.</span> 遷移檔案到 <span class="sb">`lib/domains/book_info/entities/`</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">2.</span> 更新所有 import 引用
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="k">3.</span> 執行測試確認無錯誤
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">4.</span> 提交變更
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="gu">### 完成後動作
</span></span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="gu"></span><span class="k">1.</span> 更新流程圖層級標註
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">2.</span> 更新 v0.11.5-6 任務參考
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="k">3.</span> 通知所有相關代理人
</span></span><span class="line"><span class="ln">17</span><span class="cl">4. 繼續 v0.11.3 執行</span></span></code></pre></div><ol start="4">
<li><strong>執行和追蹤</strong>：
<ul>
<li>0.4 小時完成遷移</li>
<li>Git commit: 58b1603</li>
<li>更新相關文件</li>
<li>解除 Phase 3 阻塞</li>
</ul>
</li>
</ol>
<h4 id="執行結果-1">執行結果</h4>
<ul>
<li>架構問題立即解決</li>
<li>延遲影響最小化（&lt; 1 小時）</li>
<li>後續任務基於正確架構</li>
<li>無技術債務累積</li>
</ul>
<h4 id="學習要點-1">學習要點</h4>
<ol>
<li><strong>架構問題零容忍</strong>：立即停止並修正</li>
<li><strong>緊急任務機制</strong>：快速插入高優先級任務</li>
<li><strong>影響範圍評估</strong>：精確識別受影響任務並更新</li>
<li><strong>追蹤閉環</strong>：確認完成並解除阻塞</li>
</ol>
<h3 id="案例-3命名不一致的系統化修正">案例 3：命名不一致的系統化修正</h3>
<h4 id="背景-2">背景</h4>
<p>Phase 2 測試設計發現 4 個流程圖元件命名與程式碼不符。</p>
<h4 id="問題清單">問題清單</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 命名不一致清單
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="k">1.</span> 流程圖: QueryValidator
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">   程式碼: BookInputValidator
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">   影響: Event 1-2
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">2.</span> 流程圖: BookInfoService
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">   程式碼: UnifiedBookInfoService
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">   影響: Event 3-5
</span></span><span class="line"><span class="ln">10</span><span class="cl">
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="k">3.</span> 流程圖: DataProcessor
</span></span><span class="line"><span class="ln">12</span><span class="cl">   程式碼: BookEnrichmentProcessor
</span></span><span class="line"><span class="ln">13</span><span class="cl">   影響: Event 6-7
</span></span><span class="line"><span class="ln">14</span><span class="cl">
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">4.</span> 流程圖: CacheService
</span></span><span class="line"><span class="ln">16</span><span class="cl">   程式碼: ApiCacheManager
</span></span><span class="line"><span class="ln">17</span><span class="cl">   影響: Event 8-9</span></span></code></pre></div><h4 id="決策過程">決策過程</h4>
<p><strong>選項 A</strong>：更新流程圖命名</p>
<ul>
<li>流程圖是設計文件，應該貼近業務語意</li>
<li>程式碼已實作，更新成本高</li>
<li>捨棄：流程圖命名過於簡化</li>
</ul>
<p><strong>選項 B</strong>：更新程式碼命名</p>
<ul>
<li>程式碼命名更具體清楚</li>
<li>符合 Domain 層命名原則</li>
<li>採用：流程圖更新成本低</li>
</ul>
<h4 id="執行計畫">執行計畫</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 命名統一任務
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gs">**執行**</span>: memory-network-builder
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gs">**時程**</span>: 0.5 小時
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="gu">### 更新範圍
</span></span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="gu"></span><span class="k">1.</span> 更新 3 個流程圖文件
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">2.</span> 更新主版本工作日誌
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="k">3.</span> 更新所有任務參考
</span></span><span class="line"><span class="ln">10</span><span class="cl">4. Git commit 記錄變更</span></span></code></pre></div><h4 id="執行結果-2">執行結果</h4>
<ul>
<li>流程圖命名統一</li>
<li>Git commit: 79992cb</li>
<li>所有任務參考同步更新</li>
<li>代理人無歧義參考</li>
</ul>
<h4 id="學習要點-2">學習要點</h4>
<ol>
<li><strong>命名一致性至關重要</strong>：避免代理人困惑</li>
<li><strong>及早發現及早處理</strong>：Phase 2 發現是最佳時機</li>
<li><strong>全專案同步更新</strong>：確保所有引用一致</li>
<li><strong>決策權衡明確</strong>：記錄為什麼選擇特定方案</li>
</ol>
<h3 id="案例-4工作日誌架構重組">案例 4：工作日誌架構重組</h3>
<h4 id="背景-3">背景</h4>
<p>v0.11.0 初始建立了 6 個工作日誌文件，違反「一個主版本一個日誌」原則。</p>
<h4 id="問題描述-1">問題描述</h4>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="ln">1</span><span class="cl">初始狀態:
</span></span><span class="line"><span class="ln">2</span><span class="cl">- v0.11.0-unified-api-implementation.md (主日誌)
</span></span><span class="line"><span class="ln">3</span><span class="cl">- v0.11.0-unified-api-flow-design.md (Phase 1)
</span></span><span class="line"><span class="ln">4</span><span class="cl">- v0.11.0-implementation-status-report.md (Phase 2.1)
</span></span><span class="line"><span class="ln">5</span><span class="cl">- v0.11.0-test-design-main-flow.md (Phase 2.2)
</span></span><span class="line"><span class="ln">6</span><span class="cl">- v0.11.0-test-design-api-fallback.md (Phase 2.3)
</span></span><span class="line"><span class="ln">7</span><span class="cl">- v0.11.0-test-design-rate-limiting.md (Phase 2.4)
</span></span><span class="line"><span class="ln">8</span><span class="cl">
</span></span><span class="line"><span class="ln">9</span><span class="cl">問題: 6 個檔案都以 v0.11.0 開頭，不符合方法論規範</span></span></code></pre></div><h4 id="重組策略">重組策略</h4>
<p>參考 v0.9.0 成功模式，制定重組計畫：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="gu">## 重組計畫
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="gu"></span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="gu">### 新架構
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="gu"></span><span class="k">-</span> v0.11.0-main.md (主版本總覽)
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="k">-</span> v0.11.1-tdd-phase1-design.md (Phase 1)
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="k">-</span> v0.11.2-tdd-phase2-test-design.md (Phase 2 合併)
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="k">-</span> v0.11.3-domain-input-validation.md (批次 1.1)
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="k">-</span> v0.11.4-core-query-service.md (批次 1.2)
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="gu">### 執行步驟
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="gu"></span><span class="k">1.</span> 重命名主日誌
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="k">2.</span> Phase 1 重命名為 v0.11.1
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="k">3.</span> Phase 2 四個文件合併為 v0.11.2
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="k">4.</span> 批次實作提取為 v0.11.3-4
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="k">5.</span> 清理舊檔案
</span></span><span class="line"><span class="ln">16</span><span class="cl">6. Git 提交重組結果</span></span></code></pre></div><h4 id="執行結果-3">執行結果</h4>
<ul>
<li>10 個檔案變更（929 行新增，5910 行刪除）</li>
<li>Git commit: d86940a</li>
<li>符合方法論規範</li>
<li>清晰的版本架構</li>
</ul>
<h4 id="學習要點-3">學習要點</h4>
<ol>
<li><strong>方法論合規性檢查</strong>：定期審查是否符合標準</li>
<li><strong>參考成功案例</strong>：v0.9.0 模式可複用</li>
<li><strong>大膽重組</strong>：發現問題立即修正，不將就</li>
<li><strong>文件瘦身</strong>：主版本日誌簡潔，詳細內容在子版本</li>
</ol>
<h3 id="方法論改進建議基於實戰">方法論改進建議（基於實戰）</h3>
<h4 id="1-強化-phase-2-重要性">1. 強化 Phase 2 重要性</h4>
<p><strong>發現</strong>：Phase 2 測試設計階段能提前識別 80% 的實作問題
<strong>建議</strong>：增加 Phase 2 的檢查清單和回報機制</p>
<h4 id="2-任務參考文件標準化已強制執行">2. 任務參考文件標準化（已強制執行）</h4>
<p><strong>發現</strong>：初始任務描述參考文件不足，導致代理人需要詢問
<strong>原建議</strong>：強制要求 UseCase、流程圖 Event、依賴類別完整填寫
<strong>已實施</strong>：</p>
<ul>
<li>更新「準備度檢查問題」加入第 5 項強制檢查</li>
<li>更新「任務執行前檢查」加入參考文件和影響範圍強制項目</li>
<li>違規處理機制：缺少任何一項視為任務規劃不合格</li>
<li>實戰驗證：v0.12.1 已補充完整參考文件和影響範圍章節</li>
</ul>
<h4 id="3-動態更新機制制度化">3. 動態更新機制制度化</h4>
<p><strong>發現</strong>：Phase 發現需要立即傳遞給後續任務
<strong>建議</strong>：建立「重要發現」區域，強制每個 Phase 完成後更新</p>
<h4 id="4-緊急任務插入流程">4. 緊急任務插入流程</h4>
<p><strong>發現</strong>：架構問題需要立即處理
<strong>建議</strong>：定義緊急任務命名規則（vX.Y.Z-fix）和執行流程</p>
<h4 id="5-工作日誌結構模板">5. 工作日誌結構模板</h4>
<p><strong>發現</strong>：初期結構混亂，後期重組成本高
<strong>建議</strong>：提供標準模板，從一開始就符合規範</p>
<h2 id="方法論版本歷史">方法論版本歷史</h2>
<h3 id="v13-2025-10-07">v1.3 (2025-10-07)</h3>
<ul>
<li><strong>新增</strong>: 三重文件協調原則</li>
</ul>
<h3 id="v12-2025-09-30">v1.2 (2025-09-30)</h3>
<ul>
<li><strong>新增</strong>: 任務拆分實戰範例（基於 v0.11.5 情境）</li>
<li><strong>新增</strong>: 動態文件更新機制（Phase 發現傳遞流程）</li>
<li><strong>新增</strong>: 代理人回報與討論流程（4 種回報類型）</li>
<li><strong>新增</strong>: 敏捷開發本質說明（資訊流動、靈活交接、響應式規劃）</li>
<li><strong>新增</strong>: v0.11.0 實戰案例集（4 個完整案例）</li>
<li><strong>更新</strong>: 任務參考文件格式（強制完整填寫要求）</li>
<li><strong>更新</strong>: 基於 v0.11 實戰經驗完善所有流程</li>
</ul>
<h3 id="v11-2025-09-29">v1.1 (2025-09-29)</h3>
<ul>
<li><strong>新增</strong>: 階段完成驗證機制 (基於實戰經驗學習)</li>
<li><strong>新增</strong>: 5 項強制檢查項目 (編譯、測試、路徑、重複、架構)</li>
<li><strong>新增</strong>: 階段失敗處理原則</li>
<li><strong>新增</strong>: Hook 系統整合指引</li>
<li><strong>更新</strong>: 成功標準，加入階段驗證指標</li>
<li><strong>修正</strong>: 移除版本特定內容，改為通用流程</li>
</ul>
<h3 id="v10-2025-09-27">v1.0 (2025-09-27)</h3>
<ul>
<li><strong>建立</strong>: 基礎敏捷重構方法論</li>
<li><strong>定義</strong>: Agent 分工協作模式</li>
<li><strong>建立</strong>: 任務分派和品質控制機制</li>
</ul>
<hr>
<p><strong>當前版本</strong>: v1.2
<strong>適用範圍</strong>: 通用敏捷重構開發流程
<strong>最後更新</strong>: 2025-09-30
<strong>責任人</strong>: Claude Code AI Assistant
<strong>重大更新</strong>: 基於 v0.11.0 實戰經驗，新增任務拆分範例、動態更新機制、代理人回報流程、敏捷開發本質說明</p>
]]></content:encoded></item></channel></rss>