<?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>TDD流程 on Tarragon</title><link>https://tarrragon.github.io/blog/tags/tdd%E6%B5%81%E7%A8%8B/</link><description>Recent content in TDD流程 on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Wed, 28 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/tdd%E6%B5%81%E7%A8%8B/index.xml" rel="self" type="application/rss+xml"/><item><title>二元決策樹系統</title><link>https://tarrragon.github.io/blog/record/%E4%BA%8C%E5%85%83%E6%B1%BA%E7%AD%96%E6%A8%B9%E7%B3%BB%E7%B5%B1/</link><pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/record/%E4%BA%8C%E5%85%83%E6%B1%BA%E7%AD%96%E6%A8%B9%E7%B3%BB%E7%B5%B1/</guid><description>&lt;h2 id="主線程決策樹">主線程決策樹&lt;/h2>
&lt;p>我之前做了很多規範去強迫或者限制AI執行的時候需要記住所有的判斷原則，但是實際執行狀況並不理想，生成式AI的問題就是每次生成的內容都是不穩定的，那後來我改變了想法，先使用 hook 禁止 主線程(我跟AI的對話視窗)編輯工作日誌以外的資料夾 ，然後要求主線程必須依照我設計的決策樹去分派任務，但是就算把規則這樣寫了，也不能保證AI真的都會依照決策樹執行，所以進一步再加入一個 hook ，我要求分派任務的時候一定要有 ticket ，否則代理人會拒絕執行，而 建立 ticket 的方式，是必須依照 ticket 範本去建立 ticket ，範本中有一個欄位強制需要填入決策樹的思考過程，所以能夠保證在生成 ticket 的時候，會做一輪決策樹的思考。&lt;/p>
&lt;h3 id="所以這個文件就是完整的決策樹設計內容文件末端有附上-完整流程圖">所以這個文件就是完整的決策樹設計內容，文件末端有附上 完整流程圖&lt;/h3>
&lt;hr>
&lt;h2 id="決策流程總覽二元樹結構">決策流程總覽（二元樹結構）&lt;/h2>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">接收訊息
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">[第零層] 明確性檢查
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl"> +-- 包含明確錯誤關鍵字? ─是→ [第六層] 事件回應流程
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl"> +─── 否 → 包含不確定性詞彙? ─是→ [確認機制]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl"> | └─否→ 複雜需求? ─是→ [確認機制]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl"> | |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl"> | └─否→ [第一層]&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&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;hr>
&lt;h2 id="第零層明確性檢查">第零層：明確性檢查&lt;/h2>
&lt;blockquote>
&lt;p>&lt;strong>核心原則&lt;/strong>：當定義不明確時，應該往上詢問確認，而非強行做出判斷。&lt;/p>&lt;/blockquote>
&lt;h3 id="觸發確認機制的情境">觸發確認機制的情境&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>情境&lt;/th>
 &lt;th>觸發條件&lt;/th>
 &lt;th>確認目標&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>不確定性詞彙&lt;/td>
 &lt;td>包含「好像」、「可能」、「似乎」等&lt;/td>
 &lt;td>確認問題性質&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>複雜需求&lt;/td>
 &lt;td>觸發 3+ 代理人&lt;/td>
 &lt;td>確認 use case 和優先級&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>模糊需求&lt;/td>
 &lt;td>無法用「動詞+目標」描述&lt;/td>
 &lt;td>確認具體需求&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>多解釋可能&lt;/td>
 &lt;td>可解釋為多種意圖&lt;/td>
 &lt;td>確認用戶意圖&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="不確定性詞彙清單">不確定性詞彙清單&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>類型&lt;/th>
 &lt;th>詞彙&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>推測&lt;/td>
 &lt;td>好像、似乎、可能、應該是、大概&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>疑問&lt;/td>
 &lt;td>是不是、會不會、有沒有&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>模糊&lt;/td>
 &lt;td>有點、有時候、偶爾&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="確認流程">確認流程&lt;/h3>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln"> 1&lt;/span>&lt;span class="cl">接收訊息
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 2&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 3&lt;/span>&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 4&lt;/span>&lt;span class="cl">[第零層] 明確性檢查
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 5&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 6&lt;/span>&lt;span class="cl"> +-- 包含明確錯誤關鍵字（test failed, crash, error）?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 7&lt;/span>&lt;span class="cl"> | +-- 是 --&amp;gt; 直接進入錯誤流程（不需確認）
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 8&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln"> 9&lt;/span>&lt;span class="cl"> +-- 包含不確定性詞彙?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">10&lt;/span>&lt;span class="cl"> | +-- 是 --&amp;gt; [確認機制] 向用戶確認問題性質
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">11&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">12&lt;/span>&lt;span class="cl"> +-- 複雜需求（觸發 3+ 代理人）?
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">13&lt;/span>&lt;span class="cl"> | +-- 是 --&amp;gt; [確認機制] 向用戶確認 use case
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">14&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">15&lt;/span>&lt;span class="cl"> +-- 明確 --&amp;gt; 繼續第一層判斷&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="確認問題模板">確認問題模板&lt;/h3>
&lt;p>&lt;strong>不確定性詞彙確認&lt;/strong>：&lt;/p>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">您提到「{問題描述}」，請確認：
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">1. 這是一個需要修復的錯誤嗎？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">2. 還是您想諮詢/了解如何處理？&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>複雜需求確認&lt;/strong>：&lt;/p>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">這個需求涉及多個面向（{面向列表}），請確認：
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl">1. 主要目標是什麼？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl">2. 有沒有優先級順序？
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">3. 是否有相關的 use case 或規格文件？&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;h2 id="第一層訊息類型判斷">第一層：訊息類型判斷&lt;/h2>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">[第零層完成]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">是問題? ─是→ [第二層] 問題處理流程
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> └─否→ [第三層] 命令處理流程&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="訊息類型判斷規則">訊息類型判斷規則&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>訊息類型&lt;/th>
 &lt;th>識別關鍵字&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>問題&lt;/td>
 &lt;td>&amp;ldquo;怎麼樣&amp;rdquo;、&amp;ldquo;進度&amp;rdquo;、&amp;ldquo;為什麼&amp;rdquo;、&amp;ldquo;如何&amp;rdquo;、&amp;ldquo;是什麼&amp;rdquo;、&amp;quot;?&amp;quot;&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>命令&lt;/td>
 &lt;td>&amp;ldquo;實作&amp;rdquo;、&amp;ldquo;建立&amp;rdquo;、&amp;ldquo;修復&amp;rdquo;、&amp;ldquo;處理&amp;rdquo;、&amp;ldquo;執行&amp;rdquo;、&amp;ldquo;開始&amp;rdquo;&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="第二層問題處理流程">第二層：問題處理流程&lt;/h2>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">是問題
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">是查詢類問題? ─是→ 執行查詢命令
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> └─否→ 派發對應諮詢代理人&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="查詢類問題判斷">查詢類問題判斷&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>問題類型&lt;/th>
 &lt;th>識別關鍵字&lt;/th>
 &lt;th>執行動作&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Ticket 進度總覽&lt;/td>
 &lt;td>&amp;ldquo;進度&amp;rdquo;、&amp;ldquo;狀態&amp;rdquo;、&amp;ldquo;完成了嗎&amp;rdquo;&lt;/td>
 &lt;td>&lt;code>/ticket-track summary&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>特定 Ticket 查詢&lt;/td>
 &lt;td>&amp;ldquo;Ticket {id}&amp;quot;、&amp;ldquo;查詢 {id}&amp;rdquo;&lt;/td>
 &lt;td>&lt;code>/ticket-track query {id}&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>版本進度查詢&lt;/td>
 &lt;td>&amp;ldquo;版本進度&amp;rdquo;、&amp;ldquo;v0.x.x 進度&amp;rdquo;&lt;/td>
 &lt;td>讀取 &lt;code>docs/work-logs/{version}/&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>待辦事項查詢&lt;/td>
 &lt;td>&amp;ldquo;待辦&amp;rdquo;、&amp;ldquo;還有什麼要做&amp;rdquo;&lt;/td>
 &lt;td>讀取 &lt;code>docs/todolist.md&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="諮詢類問題派發">諮詢類問題派發&lt;/h3>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>問題類型&lt;/th>
 &lt;th>識別關鍵字&lt;/th>
 &lt;th>派發代理人&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>系統架構問題&lt;/td>
 &lt;td>&amp;ldquo;架構&amp;rdquo;、&amp;ldquo;設計模式&amp;rdquo;、&amp;ldquo;系統結構&amp;rdquo;&lt;/td>
 &lt;td>→ system-analyst&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>UI/UX 設計問題&lt;/td>
 &lt;td>&amp;ldquo;畫面&amp;rdquo;、&amp;ldquo;介面&amp;rdquo;、&amp;ldquo;UI&amp;rdquo;、&amp;ldquo;操作流程&amp;rdquo;&lt;/td>
 &lt;td>→ system-designer&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>資料設計問題&lt;/td>
 &lt;td>&amp;ldquo;資料庫&amp;rdquo;、&amp;ldquo;資料結構&amp;rdquo;、&amp;ldquo;儲存&amp;rdquo;&lt;/td>
 &lt;td>→ data-administrator&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>環境配置問題&lt;/td>
 &lt;td>&amp;ldquo;環境&amp;rdquo;、&amp;ldquo;配置&amp;rdquo;、&amp;ldquo;安裝&amp;rdquo;、&amp;ldquo;設定&amp;rdquo;&lt;/td>
 &lt;td>→ system-engineer&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>安全問題&lt;/td>
 &lt;td>&amp;ldquo;安全&amp;rdquo;、&amp;ldquo;漏洞&amp;rdquo;、&amp;ldquo;認證&amp;rdquo;、&amp;ldquo;授權&amp;rdquo;&lt;/td>
 &lt;td>→ security-reviewer&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>效能問題&lt;/td>
 &lt;td>&amp;ldquo;效能&amp;rdquo;、&amp;ldquo;FPS&amp;rdquo;、&amp;ldquo;卡頓&amp;rdquo;、&amp;ldquo;延遲&amp;rdquo;、&amp;ldquo;慢&amp;rdquo;&lt;/td>
 &lt;td>→ ginger-performance-tuner&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="第三層命令處理流程">第三層：命令處理流程&lt;/h2>





&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="ln">1&lt;/span>&lt;span class="cl">是命令
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">2&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">3&lt;/span>&lt;span class="cl"> v
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">4&lt;/span>&lt;span class="cl">是開發/修改命令? ─是→ [Level 2] Hook 系統驗證 Ticket
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">5&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">6&lt;/span>&lt;span class="cl"> └─否→ 是除錯命令? ─是→ [強制] 派發 incident-responder
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">7&lt;/span>&lt;span class="cl"> |
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="ln">8&lt;/span>&lt;span class="cl"> └─否→ 其他命令類型 (ignore)&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="level-2-驗證ticket-存在檢查">Level 2 驗證：Ticket 存在檢查&lt;/h3>
&lt;p>&lt;strong>何時驗證&lt;/strong>：接收開發/修改命令後立即執行
&lt;strong>誰負責&lt;/strong>：Hook 系統（command-entrance-gate-hook.py）&lt;/p></description><content:encoded><![CDATA[<h2 id="主線程決策樹">主線程決策樹</h2>
<p>我之前做了很多規範去強迫或者限制AI執行的時候需要記住所有的判斷原則，但是實際執行狀況並不理想，生成式AI的問題就是每次生成的內容都是不穩定的，那後來我改變了想法，先使用 hook 禁止 主線程(我跟AI的對話視窗)編輯工作日誌以外的資料夾 ，然後要求主線程必須依照我設計的決策樹去分派任務，但是就算把規則這樣寫了，也不能保證AI真的都會依照決策樹執行，所以進一步再加入一個 hook ，我要求分派任務的時候一定要有 ticket ，否則代理人會拒絕執行，而 建立 ticket 的方式，是必須依照 ticket 範本去建立 ticket ，範本中有一個欄位強制需要填入決策樹的思考過程，所以能夠保證在生成 ticket 的時候，會做一輪決策樹的思考。</p>
<h3 id="所以這個文件就是完整的決策樹設計內容文件末端有附上-完整流程圖">所以這個文件就是完整的決策樹設計內容，文件末端有附上 完整流程圖</h3>
<hr>
<h2 id="決策流程總覽二元樹結構">決策流程總覽（二元樹結構）</h2>





<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">    v
</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></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></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></code></pre></div><p><strong>第零層後的流程</strong>：</p>
<ul>
<li>錯誤優先：直接進入第六層（事件回應流程）</li>
<li>不確定性詞彙：確認後進入第一層</li>
<li>複雜需求：確認後進入第一層</li>
<li>明確內容：進入第一層</li>
</ul>
<hr>
<h2 id="第零層明確性檢查">第零層：明確性檢查</h2>
<blockquote>
<p><strong>核心原則</strong>：當定義不明確時，應該往上詢問確認，而非強行做出判斷。</p></blockquote>
<h3 id="觸發確認機制的情境">觸發確認機制的情境</h3>
<table>
  <thead>
      <tr>
          <th>情境</th>
          <th>觸發條件</th>
          <th>確認目標</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>不確定性詞彙</td>
          <td>包含「好像」、「可能」、「似乎」等</td>
          <td>確認問題性質</td>
      </tr>
      <tr>
          <td>複雜需求</td>
          <td>觸發 3+ 代理人</td>
          <td>確認 use case 和優先級</td>
      </tr>
      <tr>
          <td>模糊需求</td>
          <td>無法用「動詞+目標」描述</td>
          <td>確認具體需求</td>
      </tr>
      <tr>
          <td>多解釋可能</td>
          <td>可解釋為多種意圖</td>
          <td>確認用戶意圖</td>
      </tr>
  </tbody>
</table>
<h3 id="不確定性詞彙清單">不確定性詞彙清單</h3>
<table>
  <thead>
      <tr>
          <th>類型</th>
          <th>詞彙</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>推測</td>
          <td>好像、似乎、可能、應該是、大概</td>
      </tr>
      <tr>
          <td>疑問</td>
          <td>是不是、會不會、有沒有</td>
      </tr>
      <tr>
          <td>模糊</td>
          <td>有點、有時候、偶爾</td>
      </tr>
  </tbody>
</table>
<h3 id="確認流程">確認流程</h3>





<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">    v
</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></span><span class="line"><span class="ln"> 6</span><span class="cl">    +-- 包含明確錯誤關鍵字（test failed, crash, error）?
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">    |   +-- 是 --&gt; 直接進入錯誤流程（不需確認）
</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">    |   +-- 是 --&gt; [確認機制] 向用戶確認問題性質
</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">    +-- 複雜需求（觸發 3+ 代理人）?
</span></span><span class="line"><span class="ln">13</span><span class="cl">    |   +-- 是 --&gt; [確認機制] 向用戶確認 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">    +-- 明確 --&gt; 繼續第一層判斷</span></span></code></pre></div><h3 id="確認問題模板">確認問題模板</h3>
<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">您提到「{問題描述}」，請確認：
</span></span><span class="line"><span class="ln">2</span><span class="cl">1. 這是一個需要修復的錯誤嗎？
</span></span><span class="line"><span class="ln">3</span><span class="cl">2. 還是您想諮詢/了解如何處理？</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">這個需求涉及多個面向（{面向列表}），請確認：
</span></span><span class="line"><span class="ln">2</span><span class="cl">1. 主要目標是什麼？
</span></span><span class="line"><span class="ln">3</span><span class="cl">2. 有沒有優先級順序？
</span></span><span class="line"><span class="ln">4</span><span class="cl">3. 是否有相關的 use case 或規格文件？</span></span></code></pre></div><hr>
<h2 id="第一層訊息類型判斷">第一層：訊息類型判斷</h2>





<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">    v
</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></span><span class="line"><span class="ln">6</span><span class="cl">       └─否→ [第三層] 命令處理流程</span></span></code></pre></div><h3 id="訊息類型判斷規則">訊息類型判斷規則</h3>
<table>
  <thead>
      <tr>
          <th>訊息類型</th>
          <th>識別關鍵字</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>問題</td>
          <td>&ldquo;怎麼樣&rdquo;、&ldquo;進度&rdquo;、&ldquo;為什麼&rdquo;、&ldquo;如何&rdquo;、&ldquo;是什麼&rdquo;、&quot;?&quot;</td>
      </tr>
      <tr>
          <td>命令</td>
          <td>&ldquo;實作&rdquo;、&ldquo;建立&rdquo;、&ldquo;修復&rdquo;、&ldquo;處理&rdquo;、&ldquo;執行&rdquo;、&ldquo;開始&rdquo;</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="第二層問題處理流程">第二層：問題處理流程</h2>





<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">    v
</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></span><span class="line"><span class="ln">6</span><span class="cl">             └─否→ 派發對應諮詢代理人</span></span></code></pre></div><h3 id="查詢類問題判斷">查詢類問題判斷</h3>
<table>
  <thead>
      <tr>
          <th>問題類型</th>
          <th>識別關鍵字</th>
          <th>執行動作</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Ticket 進度總覽</td>
          <td>&ldquo;進度&rdquo;、&ldquo;狀態&rdquo;、&ldquo;完成了嗎&rdquo;</td>
          <td><code>/ticket-track summary</code></td>
      </tr>
      <tr>
          <td>特定 Ticket 查詢</td>
          <td>&ldquo;Ticket {id}&quot;、&ldquo;查詢 {id}&rdquo;</td>
          <td><code>/ticket-track query {id}</code></td>
      </tr>
      <tr>
          <td>版本進度查詢</td>
          <td>&ldquo;版本進度&rdquo;、&ldquo;v0.x.x 進度&rdquo;</td>
          <td>讀取 <code>docs/work-logs/{version}/</code></td>
      </tr>
      <tr>
          <td>待辦事項查詢</td>
          <td>&ldquo;待辦&rdquo;、&ldquo;還有什麼要做&rdquo;</td>
          <td>讀取 <code>docs/todolist.md</code></td>
      </tr>
  </tbody>
</table>
<h3 id="諮詢類問題派發">諮詢類問題派發</h3>
<table>
  <thead>
      <tr>
          <th>問題類型</th>
          <th>識別關鍵字</th>
          <th>派發代理人</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>系統架構問題</td>
          <td>&ldquo;架構&rdquo;、&ldquo;設計模式&rdquo;、&ldquo;系統結構&rdquo;</td>
          <td>→ system-analyst</td>
      </tr>
      <tr>
          <td>UI/UX 設計問題</td>
          <td>&ldquo;畫面&rdquo;、&ldquo;介面&rdquo;、&ldquo;UI&rdquo;、&ldquo;操作流程&rdquo;</td>
          <td>→ system-designer</td>
      </tr>
      <tr>
          <td>資料設計問題</td>
          <td>&ldquo;資料庫&rdquo;、&ldquo;資料結構&rdquo;、&ldquo;儲存&rdquo;</td>
          <td>→ data-administrator</td>
      </tr>
      <tr>
          <td>環境配置問題</td>
          <td>&ldquo;環境&rdquo;、&ldquo;配置&rdquo;、&ldquo;安裝&rdquo;、&ldquo;設定&rdquo;</td>
          <td>→ system-engineer</td>
      </tr>
      <tr>
          <td>安全問題</td>
          <td>&ldquo;安全&rdquo;、&ldquo;漏洞&rdquo;、&ldquo;認證&rdquo;、&ldquo;授權&rdquo;</td>
          <td>→ security-reviewer</td>
      </tr>
      <tr>
          <td>效能問題</td>
          <td>&ldquo;效能&rdquo;、&ldquo;FPS&rdquo;、&ldquo;卡頓&rdquo;、&ldquo;延遲&rdquo;、&ldquo;慢&rdquo;</td>
          <td>→ ginger-performance-tuner</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="第三層命令處理流程">第三層：命令處理流程</h2>





<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">    v
</span></span><span class="line"><span class="ln">4</span><span class="cl">是開發/修改命令? ─是→ [Level 2] Hook 系統驗證 Ticket
</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">               └─否→ 是除錯命令? ─是→ [強制] 派發 incident-responder
</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">                                └─否→ 其他命令類型 (ignore)</span></span></code></pre></div><h3 id="level-2-驗證ticket-存在檢查">Level 2 驗證：Ticket 存在檢查</h3>
<p><strong>何時驗證</strong>：接收開發/修改命令後立即執行
<strong>誰負責</strong>：Hook 系統（command-entrance-gate-hook.py）</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="ln">1</span><span class="cl"><span class="err">是開發</span><span class="o">/</span><span class="err">修改命令</span><span class="w">
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="w">    </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="w">    </span><span class="n">v</span><span class="w">
</span></span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="w"></span><span class="err">有對應</span><span class="w"> </span><span class="n">Ticket</span><span class="o">?</span><span class="w"> </span><span class="err">─是→</span><span class="w"> </span><span class="n">Ticket</span><span class="w"> </span><span class="err">已認領</span><span class="o">?</span><span class="w"> </span><span class="err">─是→</span><span class="w"> </span><span class="err">涉及安全相關</span><span class="o">?</span><span class="w"> </span><span class="p">...</span><span class="w">
</span></span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="w">             </span><span class="o">|</span><span class="w">                    </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="w">             </span><span class="o">|</span><span class="w">                    </span><span class="err">└─否→</span><span class="w"> </span><span class="p">[</span><span class="n">Ticket</span><span class="w"> </span><span class="err">執行流程</span><span class="p">]</span><span class="w">
</span></span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="w">             </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="ln">8</span><span class="cl"><span class="w">             </span><span class="err">└─否→</span><span class="w"> </span><span class="p">[</span><span class="err">警告</span><span class="p">]</span><span class="w"> </span><span class="err">建議執行</span><span class="w"> </span><span class="o">/</span><span class="n">ticket</span><span class="o">-</span><span class="k">create</span><span class="w">
</span></span></span><span class="line"><span class="ln">9</span><span class="cl"><span class="w">                 </span><span class="p">(</span><span class="err">用戶決策：繼續或修正</span><span class="p">)</span></span></span></code></pre></div><table>
  <thead>
      <tr>
          <th>檢查點</th>
          <th>驗證內容</th>
          <th>成功時</th>
          <th>失敗時</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Ticket 存在檢查</td>
          <td>是否存在 pending/in_progress Ticket</td>
          <td>進入認領檢查</td>
          <td>輸出 <code>/ticket-create</code> 建議</td>
      </tr>
      <tr>
          <td>Ticket 認領檢查</td>
          <td>Ticket 是否已認領（status=in_progress）</td>
          <td>進入命令執行</td>
          <td>輸出 <code>/ticket-track claim</code> 建議</td>
      </tr>
  </tbody>
</table>
<h3 id="開發修改命令">開發/修改命令</h3>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="err">開發</span><span class="o">/</span><span class="err">修改命令（已通過</span><span class="w"> </span><span class="k">Level</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="err">驗證）</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="w">    </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="w">    </span><span class="o">+</span><span class="c1">-- 涉及安全相關?（認證/授權/API/敏感資料）
</span></span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="c1"></span><span class="w">    </span><span class="o">|</span><span class="w">   </span><span class="o">+</span><span class="c1">-- 是 --&gt; [強制] 派發 security-reviewer
</span></span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1"></span><span class="w">    </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="w">    </span><span class="o">+</span><span class="c1">-- 有對應 Ticket?
</span></span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="c1"></span><span class="w">    </span><span class="o">|</span><span class="w">   </span><span class="o">+</span><span class="c1">-- 是 --&gt; /ticket-track query {id}
</span></span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="c1"></span><span class="w">    </span><span class="o">|</span><span class="w">   </span><span class="o">|</span><span class="w">         </span><span class="c1">--&gt; 進入 [Ticket 執行流程]
</span></span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1"></span><span class="w">    </span><span class="o">|</span><span class="w">   </span><span class="o">|</span><span class="w">
</span></span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="w">    </span><span class="o">|</span><span class="w">   </span><span class="o">+</span><span class="c1">-- 否 --&gt; 是新功能需求?
</span></span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="c1"></span><span class="w">    </span><span class="o">|</span><span class="w">              </span><span class="o">+</span><span class="c1">-- 是 --&gt; /ticket-create → SA 前置審查
</span></span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c1"></span><span class="w">    </span><span class="o">|</span><span class="w">              </span><span class="o">+</span><span class="c1">-- 否（小型修改）--&gt; /ticket-create → TDD 流程</span></span></span></code></pre></div><p><strong>說明</strong>：</p>
<ul>
<li>Level 2 驗證是非阻塞式的警告機制（不會強制停止執行）</li>
<li>用戶可選擇忽略警告繼續執行，但應遵循建議操作</li>
<li>驗證檢查點詳見：command-entrance-gate-hook.py</li>
</ul>
<h3 id="安全相關命令強制規則">安全相關命令（強制規則）</h3>
<table>
  <thead>
      <tr>
          <th>安全類型</th>
          <th>識別關鍵字</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>認證相關</td>
          <td>&ldquo;authentication&rdquo;, &ldquo;login&rdquo;, &ldquo;password&rdquo;, &ldquo;token&rdquo;, &ldquo;session&rdquo;</td>
      </tr>
      <tr>
          <td>授權相關</td>
          <td>&ldquo;authorization&rdquo;, &ldquo;permission&rdquo;, &ldquo;role&rdquo;, &ldquo;access control&rdquo;</td>
      </tr>
      <tr>
          <td>輸入處理</td>
          <td>&ldquo;user input&rdquo;, &ldquo;form validation&rdquo;, &ldquo;request body&rdquo;</td>
      </tr>
      <tr>
          <td>敏感資料</td>
          <td>&ldquo;credential&rdquo;, &ldquo;secret&rdquo;, &ldquo;API key&rdquo;, &ldquo;private key&rdquo;</td>
      </tr>
  </tbody>
</table>
<h3 id="除錯命令強制規則">除錯命令（強制規則）</h3>
<table>
  <thead>
      <tr>
          <th>錯誤類型</th>
          <th>識別關鍵字</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>測試失敗</td>
          <td>&ldquo;test failed&rdquo;, &ldquo;測試失敗&rdquo;, &ldquo;X tests failed&rdquo;, &ldquo;FAILED&rdquo;</td>
      </tr>
      <tr>
          <td>編譯錯誤</td>
          <td>&ldquo;compile error&rdquo;, &ldquo;編譯錯誤&rdquo;, &ldquo;build failed&rdquo;</td>
      </tr>
      <tr>
          <td>執行時錯誤</td>
          <td>&ldquo;runtime error&rdquo;, &ldquo;exception&rdquo;, &ldquo;crash&rdquo;</td>
      </tr>
      <tr>
          <td>用戶回報問題</td>
          <td>&ldquo;bug&rdquo;, &ldquo;問題&rdquo;, &ldquo;不正常&rdquo;, &ldquo;出錯&rdquo;</td>
      </tr>
  </tbody>
</table>
<p><strong>強制動作</strong>：除錯命令 → [強制] 派發 incident-responder</p>
<h3 id="禁止行為與-level-2-驗證關係">禁止行為（與 Level 2 驗證關係）</h3>
<p><strong>禁止違反 Level 2 驗證結果</strong>：</p>
<table>
  <thead>
      <tr>
          <th>禁止行為</th>
          <th>正確做法</th>
          <th>違規等級</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>主線程直接修改程式碼（未建立 Ticket）</td>
          <td>按 Hook 建議執行 <code>/ticket-create</code></td>
          <td>嚴重</td>
      </tr>
      <tr>
          <td>主線程跳過 incident-responder</td>
          <td>必須派發 incident-responder</td>
          <td>嚴重</td>
      </tr>
      <tr>
          <td>忽視 Level 2 警告後直接修改</td>
          <td>應修正 Ticket 狀態後再繼續</td>
          <td>中等</td>
      </tr>
      <tr>
          <td>在未認領 Ticket 的情況下修改</td>
          <td>執行 <code>/ticket-track claim {id}</code> 先認領</td>
          <td>中等</td>
      </tr>
  </tbody>
</table>
<p><strong>警告類型（由 Hook 輸出）</strong>：</p>
<ul>
<li>「未找到待處理 Ticket」：建議執行 <code>/ticket-create</code></li>
<li>「Ticket 尚未認領」：建議執行 <code>/ticket-track claim {id}</code></li>
</ul>
<hr>
<h2 id="第四層ticket-執行流程">第四層：Ticket 執行流程</h2>





<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">[Ticket 驗證通過]
</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">    v
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">Ticket 是 pending? ─是→ 執行 /ticket-track claim {id}
</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></span><span class="line"><span class="ln"> 7</span><span class="cl">               └─否→ Ticket 是 in_progress? ─是→ 繼續執行 [階段判斷]
</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">                                          └─否→ Ticket 是 completed? ─是→ 詢問後續任務
</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">                                                                    └─否→ (blocked) 升級 PM</span></span></code></pre></div><h3 id="ticket-狀態對應動作">Ticket 狀態對應動作</h3>
<table>
  <thead>
      <tr>
          <th>Ticket 狀態</th>
          <th>動作</th>
          <th>下一步</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>pending</td>
          <td>執行 <code>/ticket-track claim {id}</code></td>
          <td>進入階段判斷</td>
      </tr>
      <tr>
          <td>in_progress</td>
          <td>繼續執行</td>
          <td>進入階段判斷</td>
      </tr>
      <tr>
          <td>completed</td>
          <td>詢問是否有後續任務</td>
          <td>根據回答決定</td>
      </tr>
      <tr>
          <td>blocked</td>
          <td>升級到 PM</td>
          <td>PM 處理阻塞</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="第四層半並行派發判斷">第四層半：並行派發判斷</h2>
<blockquote>
<p>詳細規則：parallel-dispatch</p></blockquote>
<h3 id="並行派發觸發條件">並行派發觸發條件</h3>
<table>
  <thead>
      <tr>
          <th>條件</th>
          <th>說明</th>
          <th>判斷方法</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>多任務</td>
          <td>有 2+ 個待處理任務</td>
          <td>同一 Wave 中有多個 pending Ticket</td>
      </tr>
      <tr>
          <td>無相互依賴</td>
          <td>任務之間無先後順序</td>
          <td>Ticket 間無 blockedBy 關係</td>
      </tr>
      <tr>
          <td>無檔案重疊</td>
          <td>修改的檔案集合無交集</td>
          <td>檢查 Ticket 的 target 目錄</td>
      </tr>
      <tr>
          <td>同類型任務</td>
          <td>屬於同一 TDD 階段</td>
          <td>都是 Phase 3b 或都是 Phase 1</td>
      </tr>
  </tbody>
</table>
<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="k">- [ ]</span> 檔案無重疊：各任務修改的檔案集合無交集
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="k">- [ ]</span> 測試無衝突：各任務的測試可獨立執行
</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></span></code></pre></div><hr>
<h2 id="第五層tdd-階段判斷">第五層：TDD 階段判斷</h2>





<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">[Ticket 認領並執行]
</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">    v
</span></span><span class="line"><span class="ln">4</span><span class="cl">需要 SA 前置審查? ─是→ [派發] system-analyst
</span></span><span class="line"><span class="ln">5</span><span class="cl">               |     └→ (SA 審查通過) [進入 Phase 1]
</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">               └─否→ [TDD 階段派發]</span></span></code></pre></div><h3 id="tdd-階段派發">TDD 階段派發</h3>
<table>
  <thead>
      <tr>
          <th>階段</th>
          <th>代理人</th>
          <th>進入條件</th>
          <th>完成後</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>SA 前置審查</td>
          <td>system-analyst</td>
          <td>新功能/架構變更</td>
          <td>Phase 1</td>
      </tr>
      <tr>
          <td>Phase 1</td>
          <td>lavender-interface-designer</td>
          <td>SA 通過</td>
          <td>Phase 2</td>
      </tr>
      <tr>
          <td>Phase 2</td>
          <td>sage-test-architect</td>
          <td>Phase 1 完成</td>
          <td>Phase 3a</td>
      </tr>
      <tr>
          <td>Phase 3a</td>
          <td>pepper-test-implementer</td>
          <td>Phase 2 完成</td>
          <td>Phase 3b</td>
      </tr>
      <tr>
          <td>Phase 3b</td>
          <td>parsley-flutter-developer</td>
          <td>Phase 3a 完成</td>
          <td>Phase 4</td>
      </tr>
      <tr>
          <td>Phase 4</td>
          <td>cinnamon-refactor-owl</td>
          <td>Phase 3b 完成</td>
          <td>[完成判斷]</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="第六層事件回應流程錯誤分類決策樹">第六層：事件回應流程（錯誤分類決策樹）</h2>
<blockquote>
<p>詳細流程：incident-response</p></blockquote>
<h3 id="二元化錯誤分類樹">二元化錯誤分類樹</h3>





<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">[錯誤發生] --&gt; /pre-fix-eval --&gt; 派發 incident-responder
</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">                v
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">           是編譯錯誤? ─是→ 依賴問題? ─是→ [Ticket] --&gt; system-engineer
</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">                     |              └─否→ [Ticket] --&gt; parsley-flutter-developer
</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">                     └─否→ 是測試失敗? ─是→ 測試本身問題? ─是→ [Ticket] --&gt; sage-test-architect
</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">                                   |                    └─否→ 設計邏輯錯誤? ─是→ [Ticket] --&gt; system-analyst
</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">                                   |                                       └─否→ [Ticket] --&gt; parsley-flutter-developer
</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">                                   └─否→ 是執行時錯誤? ─是→ 環境問題? ─是→ [Ticket] --&gt; system-engineer
</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">                                                      |              └─否→ 資料問題? ─是→ [Ticket] --&gt; data-administrator
</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">                                                      |                               └─否→ [Ticket] --&gt; parsley-flutter-developer
</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">                                                      └─否→ 是效能問題? ─是→ [Ticket] --&gt; ginger-performance-tuner
</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">                                                                       └─否→ [Ticket] --&gt; security-reviewer</span></span></code></pre></div><h3 id="錯誤類型派發表">錯誤類型派發表</h3>
<table>
  <thead>
      <tr>
          <th>錯誤分類</th>
          <th>子分類</th>
          <th>派發代理人</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>編譯錯誤</td>
          <td>依賴問題</td>
          <td>system-engineer</td>
      </tr>
      <tr>
          <td>編譯錯誤</td>
          <td>類型/語法錯誤</td>
          <td>parsley-flutter-developer</td>
      </tr>
      <tr>
          <td>測試失敗</td>
          <td>測試本身問題</td>
          <td>sage-test-architect</td>
      </tr>
      <tr>
          <td>測試失敗</td>
          <td>設計邏輯錯誤</td>
          <td>system-analyst</td>
      </tr>
      <tr>
          <td>測試失敗</td>
          <td>實作不符預期</td>
          <td>parsley-flutter-developer</td>
      </tr>
      <tr>
          <td>執行時錯誤</td>
          <td>環境問題</td>
          <td>system-engineer</td>
      </tr>
      <tr>
          <td>執行時錯誤</td>
          <td>資料問題</td>
          <td>data-administrator</td>
      </tr>
      <tr>
          <td>執行時錯誤</td>
          <td>程式錯誤</td>
          <td>parsley-flutter-developer</td>
      </tr>
      <tr>
          <td>效能問題</td>
          <td>-</td>
          <td>ginger-performance-tuner</td>
      </tr>
      <tr>
          <td>安全問題</td>
          <td>-</td>
          <td>security-reviewer</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="第七層完成判斷流程">第七層：完成判斷流程</h2>





<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">[階段/Ticket 完成]
</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">    v
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">有技術債務記錄? ─是→ 執行 /tech-debt-capture
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">             |     └→ 建立技術債務 Ticket
</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">             └─否→ 涉及規則變更? ─是→ 檢查 SKILL/方法論同步
</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">                              └─否→ 需記錄學習經驗? ─是→ [派發] memory-network-builder
</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">                                                  └─否→ 有後續階段? ─是→ 更新 worklog 進入下一個 Ticket
</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">                                                               └─否→ 版本所有 Ticket 完成? ─是→ /version-release check
</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">                                                                                       └─否→ 等待其他 Ticket 完成</span></span></code></pre></div><h3 id="完成判斷規則">完成判斷規則</h3>
<table>
  <thead>
      <tr>
          <th>判斷項目</th>
          <th>條件</th>
          <th>動作</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>技術債務</td>
          <td>發現可優化項目</td>
          <td><code>/tech-debt-capture</code> 建立 Ticket</td>
      </tr>
      <tr>
          <td>規則變更同步</td>
          <td>修改了 <code>.claude/rules/</code> 下的檔案</td>
          <td>檢查 SKILL 和方法論是否需要同步</td>
      </tr>
      <tr>
          <td>學習經驗</td>
          <td>重要決策或經驗</td>
          <td>派發 memory-network-builder 記錄</td>
      </tr>
      <tr>
          <td>後續階段</td>
          <td>有對應下一階段</td>
          <td>更新 worklog 進入下一個 Ticket</td>
      </tr>
      <tr>
          <td>版本完成</td>
          <td>所有 Ticket 完成</td>
          <td><code>/version-release check</code> 準備發布</td>
      </tr>
      <tr>
          <td>等待中</td>
          <td>其他 Ticket 未完成</td>
          <td></td>
      </tr>
  </tbody>
</table>
<h3 id="規則變更同步檢查">規則變更同步檢查</h3>
<p>當修改了 <code>.claude/rules/</code> 下的規則檔案時，必須檢查以下相關文件是否需要同步更新：</p>
<table>
  <thead>
      <tr>
          <th>檢查項目</th>
          <th>檔案位置</th>
          <th>說明</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>相關 SKILL</td>
          <td><code>.claude/skills/</code></td>
          <td>檢查是否有 SKILL 引用了變更的規則</td>
      </tr>
      <tr>
          <td>方法論</td>
          <td><code>.claude/methodologies/</code></td>
          <td>檢查是否有方法論引用了變更的規則</td>
      </tr>
      <tr>
          <td>代理人定義</td>
          <td><code>.claude/agents/</code></td>
          <td>檢查代理人定義是否需要更新</td>
      </tr>
      <tr>
          <td>範本</td>
          <td><code>.claude/templates/</code></td>
          <td>檢查範本是否需要同步</td>
      </tr>
  </tbody>
</table>
<p><strong>同步檢查命令</strong>：</p>





<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">grep -r <span class="s2">&#34;rules/{changed-file}&#34;</span> .claude/</span></span></code></pre></div><hr>
<h2 id="代理人觸發優先級">代理人觸發優先級</h2>
<blockquote>
<p>詳細定義：agents/overview</p></blockquote>
<h3 id="優先級順序">優先級順序</h3>
<p><strong>注意</strong>：以下優先級適用於代理人派發決策。此外還有 <strong>Level 2 驗證</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">Level 2: Hook 系統驗證 - 命令入口檢查點
</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">    +-- Ticket 存在？
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">    +-- Ticket 已認領？
</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">Level 1: incident-responder（錯誤/失敗最高優先）
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">Level 2 (代理人): system-analyst（架構審查）
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">Level 3: security-reviewer（安全審查）
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">Level 4: 其他專業代理人（DBA, SE, SD, ginger 等）
</span></span><span class="line"><span class="ln">10</span><span class="cl">Level 5: TDD 階段代理人（lavender, sage, pepper, parsley, cinnamon）</span></span></code></pre></div><p><strong>Level 2 驗證特性</strong>：</p>
<ul>
<li>觸發時機：接收開發命令後立即執行（比任何代理人派發都早）</li>
<li>驗證責任：Hook 系統完全自動化</li>
<li>特性：非阻塞式警告（不會強制停止）</li>
</ul>
<h3 id="多條件觸發處理規則">多條件觸發處理規則</h3>
<table>
  <thead>
      <tr>
          <th>觸發組合</th>
          <th>處理方式</th>
          <th>理由</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>錯誤 + 任何</td>
          <td>incident-responder 先處理</td>
          <td>錯誤必須優先排除</td>
      </tr>
      <tr>
          <td>SA + security</td>
          <td>SA 先審查架構</td>
          <td>安全審查依賴架構設計</td>
      </tr>
      <tr>
          <td>SA + 專業代理人</td>
          <td>SA 先分解需求</td>
          <td>需先確定範圍</td>
      </tr>
      <tr>
          <td>多個專業代理人</td>
          <td>SA 協調或按需求分解為多 Ticket</td>
          <td>避免職責混亂</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="任務拆分認知負擔檢查">任務拆分認知負擔檢查</h2>
<blockquote>
<p>詳細指南：task-splitting</p></blockquote>
<h3 id="拆分觸發條件">拆分觸發條件</h3>
<p><strong>任一條件符合即需拆分</strong>：</p>
<table>
  <thead>
      <tr>
          <th>條件</th>
          <th>閾值</th>
          <th>說明</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>變數狀態數</td>
          <td>&gt; 5 個</td>
          <td>單一任務需追蹤超過 5 個變數狀態</td>
      </tr>
      <tr>
          <td>架構層級數</td>
          <td>&gt; 2 層</td>
          <td>任務跨越 3+ 架構層</td>
      </tr>
      <tr>
          <td>依賴關係數</td>
          <td>&gt; 3 個</td>
          <td>任務依賴超過 3 個其他模組</td>
      </tr>
      <tr>
          <td>修改檔案數</td>
          <td>&gt; 5 個</td>
          <td>單一任務需修改超過 5 個檔案</td>
      </tr>
  </tbody>
</table>
<h3 id="複雜度快速評估">複雜度快速評估</h3>
<table>
  <thead>
      <tr>
          <th>總分</th>
          <th>複雜度</th>
          <th>建議</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>0-2</td>
          <td>低</td>
          <td>直接派發單一代理人</td>
      </tr>
      <tr>
          <td>3-5</td>
          <td>中</td>
          <td>謹慎評估，考慮拆分</td>
      </tr>
      <tr>
          <td>6-8</td>
          <td>高</td>
          <td>必須拆分後再派發</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="派發記錄要求">派發記錄要求</h2>
<h3 id="ticket-決策樹欄位必填">Ticket 決策樹欄位（必填）</h3>
<p>所有 Ticket 必須包含 <code>decision_tree_path</code> 欄位，記錄從進入決策樹到最終決策的完整路徑。</p>
<p><strong>欄位格式</strong>：</p>





<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="ln">1</span><span class="cl"><span class="nt">decision_tree_path</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="w">  </span><span class="nt">entry_point</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;{進入層級}&#34;</span><span class="w">           </span><span class="c"># 第零層~第七層</span><span class="w">
</span></span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="w">  </span><span class="nt">decision_nodes</span><span class="p">:</span><span class="w">                      </span><span class="c"># 經過的決策節點</span><span class="w">
</span></span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="w">    </span>- <span class="nt">layer</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;{層級}&#34;</span><span class="w">
</span></span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="w">      </span><span class="nt">question</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;{決策問題}&#34;</span><span class="w">
</span></span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="w">      </span><span class="nt">answer</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;{答案}&#34;</span><span class="w">
</span></span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="w">      </span><span class="nt">next_action</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;{下一步}&#34;</span><span class="w">
</span></span></span><span class="line"><span class="ln">8</span><span class="cl"><span class="w">  </span><span class="nt">final_decision</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;{最終決策}&#34;</span><span class="w">         </span><span class="c"># 派發的代理人或執行的動作</span><span class="w">
</span></span></span><span class="line"><span class="ln">9</span><span class="cl"><span class="w">  </span><span class="nt">rationale</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;{決策理由}&#34;</span><span class="w">              </span><span class="c"># 簡述決策原因</span></span></span></code></pre></div><h3 id="驗證機制">驗證機制</h3>
<ul>
<li><strong>建立時</strong>：Ticket 建立工具自動要求填寫</li>
<li><strong>派發時</strong>：Hook 系統驗證決策樹欄位存在</li>
<li><strong>無效 Ticket</strong>：缺少決策樹欄位的 Ticket 無法用於派發</li>
</ul>
<h3 id="為何需要決策樹欄位">為何需要決策樹欄位？</h3>
<table>
  <thead>
      <tr>
          <th>價值</th>
          <th>說明</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>釐清任務內容</td>
          <td>強制記錄決策過程，確保任務定義明確</td>
      </tr>
      <tr>
          <td>知識傳承</td>
          <td>決策路徑可作為後續類似任務的參考</td>
      </tr>
      <tr>
          <td>品質把關</td>
          <td>防止跳過必要的分析步驟</td>
      </tr>
      <tr>
          <td>模型優化</td>
          <td>模糊之處可提出討論，持續改進決策樹</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="命令快速參考">命令快速參考</h2>
<h3 id="ticket-管理命令">Ticket 管理命令</h3>
<table>
  <thead>
      <tr>
          <th>命令</th>
          <th>用途</th>
          <th>觸發時機</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>/ticket-create</code></td>
          <td>建立新 Ticket</td>
          <td>新任務、無對應 Ticket</td>
      </tr>
      <tr>
          <td><code>/ticket-track summary</code></td>
          <td>查詢所有 Ticket 進度</td>
          <td>用戶詢問進度</td>
      </tr>
      <tr>
          <td><code>/ticket-track query {id}</code></td>
          <td>查詢特定 Ticket</td>
          <td>需要詳細資訊</td>
      </tr>
      <tr>
          <td><code>/ticket-track claim {id}</code></td>
          <td>認領 Ticket</td>
          <td>開始執行時</td>
      </tr>
      <tr>
          <td><code>/ticket-track complete {id}</code></td>
          <td>完成 Ticket</td>
          <td>階段完成時</td>
      </tr>
      <tr>
          <td><code>/ticket-track release {id}</code></td>
          <td>釋放 Ticket</td>
          <td>無法繼續時</td>
      </tr>
  </tbody>
</table>
<h3 id="決策和評估命令">決策和評估命令</h3>
<table>
  <thead>
      <tr>
          <th>命令</th>
          <th>用途</th>
          <th>觸發時機</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>/5w1h-decision</code></td>
          <td>5W1H 決策框架</td>
          <td>需要決策時</td>
      </tr>
      <tr>
          <td><code>/pre-fix-eval</code></td>
          <td>修復前評估</td>
          <td>除錯命令入口（強制）</td>
      </tr>
      <tr>
          <td><code>/tech-debt-capture</code></td>
          <td>技術債務捕獲</td>
          <td>Phase 4 完成後（強制）</td>
      </tr>
  </tbody>
</table>
<h3 id="版本管理命令">版本管理命令</h3>
<table>
  <thead>
      <tr>
          <th>命令</th>
          <th>用途</th>
          <th>觸發時機</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>/version-release check</code></td>
          <td>檢查發布準備度</td>
          <td>版本完成時（強制）</td>
      </tr>
      <tr>
          <td><code>/version-release update-docs</code></td>
          <td>更新文件</td>
          <td>發布前</td>
      </tr>
      <tr>
          <td><code>/version-release release</code></td>
          <td>執行發布</td>
          <td>確認發布</td>
      </tr>
  </tbody>
</table>
<h3 id="其他常用命令">其他常用命令</h3>
<table>
  <thead>
      <tr>
          <th>命令</th>
          <th>用途</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><code>/commit-as-prompt</code></td>
          <td>提交流程</td>
      </tr>
      <tr>
          <td><code>/lsp-first</code></td>
          <td>LSP 使用指南</td>
      </tr>
      <tr>
          <td><code>/startup-check</code></td>
          <td>Session 開始檢查</td>
      </tr>
      <tr>
          <td><code>/cognitive-load</code></td>
          <td>認知負擔評估</td>
      </tr>
      <tr>
          <td><code>/decision-helper</code></td>
          <td>決策樹助手</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="強制執行命令">強制執行命令</h2>
<p>以下命令在特定情境下<strong>必須執行</strong>，不可跳過：</p>
<table>
  <thead>
      <tr>
          <th>情境</th>
          <th>強制命令</th>
          <th>理由</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>錯誤/失敗發生</td>
          <td><code>/pre-fix-eval</code></td>
          <td>防止衝動修復</td>
      </tr>
      <tr>
          <td>Phase 4 完成</td>
          <td><code>/tech-debt-capture</code></td>
          <td>捕獲技術債務</td>
      </tr>
      <tr>
          <td>版本發布前</td>
          <td><code>/version-release check</code></td>
          <td>確保發布品質</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="違規處理">違規處理</h2>
<h3 id="主線程違規行為">主線程違規行為</h3>
<table>
  <thead>
      <tr>
          <th>違規行為</th>
          <th>處理方式</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>跳過 incident-responder 直接修復</td>
          <td>停止，回滾修改，重新走流程</td>
      </tr>
      <tr>
          <td>未建立 Ticket 就開始實作</td>
          <td>停止，先建立 Ticket</td>
      </tr>
      <tr>
          <td>跳過 SA 前置審查（新功能）</td>
          <td>停止，派發 SA</td>
      </tr>
      <tr>
          <td>跳過 Phase 4</td>
          <td>強制執行 Phase 4</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="相關文件">相關文件</h2>
<h3 id="代理人定義">代理人定義</h3>
<ul>
<li>agents/overview - 代理人總覽</li>
</ul>
<h3 id="執行流程">執行流程</h3>
<ul>
<li>flows/tdd-flow - TDD 流程</li>
<li>flows/incident-response - 事件回應流程</li>
<li><a href="/blog/record/ticket-%E7%94%9F%E5%91%BD%E9%80%B1%E6%9C%9F%E6%B5%81%E7%A8%8B-ai-%E5%8D%94%E4%BD%9C%E9%96%8B%E7%99%BC%E7%9A%84%E4%BB%BB%E5%8B%99%E7%AE%A1%E7%90%86%E7%B3%BB%E7%B5%B1/" data-link-title="Ticket 生命週期流程 - AI 協作開發的任務管理系統" data-link-desc="定義 Ticket 從建立到完成的完整生命週期，包含狀態管理、驗收流程、任務鏈設計和與 TDD 流程的整合">flows/ticket-lifecycle</a> - Ticket 生命週期</li>
</ul>
<h3 id="操作指南">操作指南</h3>
<ul>
<li>guides/task-splitting - 任務拆分指南</li>
<li>guides/parallel-dispatch - 並行派發指南</li>
</ul>
<h3 id="hook-系統">Hook 系統</h3>
<ul>
<li>Hook 實作：<code>.claude/hooks/command-entrance-gate-hook.py</code> - Level 2 驗證檢查點實作</li>
<li>Hook 日誌：<code>.claude/hook-logs/command-entrance-gate/</code> - 驗證檢查日誌</li>
</ul>
<h3 id="禁止行為">禁止行為</h3>
<ul>
<li>forbidden/skip-gate - Skip-gate 防護</li>
</ul>
<hr>
<p><strong>Last Updated</strong>: 2026-01-28
<strong>Version</strong>: 3.1.0</p>
<p><strong>Change Log</strong>:</p>
<ul>
<li>v3.1.0 (2026-01-28): 新增規則變更同步檢查
<ul>
<li>第七層新增「規則變更同步」判斷節點</li>
<li>當修改 <code>.claude/rules/</code> 時，強制檢查 SKILL 和方法論是否需要同步</li>
<li>更新 Mermaid 圖表反映新判斷節點</li>
</ul>
</li>
<li>v3.0.0 (2026-01-28): 完整二元化決策樹結構
<ul>
<li>將所有決策節點改為嚴格的二元樹結構（只有是/否兩個分支）</li>
<li>重構第零層：3 個連續是/否判斷（錯誤關鍵字→不確定性詞彙→複雜需求）</li>
<li>重構第一層：單一判斷（是問題 vs 是命令）</li>
<li>重構第二層：單一判斷（查詢類 vs 諮詢類）</li>
<li>重構第三層：連續 2 個判斷（開發命令→除錯命令）</li>
<li>重構第四層：連續 3 個判斷（pending→in_progress→completed）</li>
<li>新增第五層：TDD 階段判斷（SA 前置審查 vs 直接進入 TDD）</li>
<li>重構第六層：完整二元化錯誤分類樹（編譯→測試→執行時→效能→安全）</li>
<li>重構第七層：連續 4 個判斷（技術債務→學習經驗→後續階段→版本完成）</li>
<li>移除所有多分支節點，實現純二元樹結構</li>
</ul>
</li>
<li>v2.2.0 (2026-01-27): 新增派發記錄要求章節，引入決策樹欄位強制紀錄</li>
<li>v2.1.0 (2026-01-23): 新增 Level 2 驗證檢查點明確化，填補缺口 3</li>
<li>v2.0.0 (2026-01-23): 重構為核心決策樹，合併 command-mapping</li>
</ul>
<hr>
<h2 id="附錄二元決策樹圖表">附錄：二元決策樹圖表</h2>
<h3 id="主流程圖第零層至第七層">主流程圖（第零層至第七層）</h3>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">flowchart TD
    START[接收訊息] --&gt; L0_ERR{包含錯誤關鍵字?}

    %% 第零層
    L0_ERR --&gt;|是| L6[第六層:事件回應]
    L0_ERR --&gt;|否| L0_UNC{包含不確定性詞彙?}
    L0_UNC --&gt;|是| CONFIRM[確認機制]
    L0_UNC --&gt;|否| L0_CMP{複雜需求?}
    L0_CMP --&gt;|是| CONFIRM
    L0_CMP --&gt;|否| L1
    CONFIRM --&gt; L1

    %% 第一層
    L1{是問題?}
    L1 --&gt;|是| L2[第二層:問題處理]
    L1 --&gt;|否| L3[第三層:命令處理]

    %% 第二層
    L2 --&gt; L2_Q{是查詢類?}
    L2_Q --&gt;|是| QUERY[執行查詢命令]
    L2_Q --&gt;|否| CONSULT[派發諮詢代理人]

    %% 第三層
    L3 --&gt; L3_DEV{是開發命令?}
    L3_DEV --&gt;|是| L3_TKT{有對應 Ticket?}
    L3_DEV --&gt;|否| L3_DBG{是除錯命令?}
    L3_DBG --&gt;|是| INCIDENT[派發 incident-responder]
    L3_DBG --&gt;|否| OTHER[其他命令]

    L3_TKT --&gt;|是| L3_CLAIM{已認領?}
    L3_TKT --&gt;|否| WARN1[&#34;警告: ticket-create&#34;]
    L3_CLAIM --&gt;|是| L4[第四層:Ticket執行]
    L3_CLAIM --&gt;|否| WARN2[&#34;警告: ticket-track claim&#34;]

    %% 第四層
    L4 --&gt; L4_P{pending?}
    L4_P --&gt;|是| CLAIM[claim 後執行]
    L4_P --&gt;|否| L4_IP{in_progress?}
    L4_IP --&gt;|是| L5[第五層:TDD階段]
    L4_IP --&gt;|否| L4_C{completed?}
    L4_C --&gt;|是| ASK[詢問後續]
    L4_C --&gt;|否| ESCALATE[blocked→升級PM]
    CLAIM --&gt; L5

    %% 第五層
    L5 --&gt; L5_SA{需SA審查?}
    L5_SA --&gt;|是| SA[system-analyst]
    L5_SA --&gt;|否| TDD[TDD階段派發]
    SA --&gt; TDD

    %% 第七層（完成判斷）
    TDD --&gt; L7[第七層:完成判斷]
    L7 --&gt; L7_TD{技術債務?}
    L7_TD --&gt;|是| TECHDEBT[&#34;tech-debt-capture&#34;]
    L7_TD --&gt;|否| L7_RULE{規則變更?}
    L7_RULE --&gt;|是| SYNC[檢查SKILL/方法論同步]
    L7_RULE --&gt;|否| L7_LEARN{學習經驗?}
    SYNC --&gt; L7_LEARN
    L7_LEARN --&gt;|是| MNB[memory-network-builder]
    L7_LEARN --&gt;|否| L7_NEXT{後續階段?}
    L7_NEXT --&gt;|是| NEXT[下一個Ticket]
    L7_NEXT --&gt;|否| L7_VER{版本完成?}
    L7_VER --&gt;|是| RELEASE[&#34;version-release&#34;]
    L7_VER --&gt;|否| WAIT[等待其他Ticket]</code></pre><h3 id="第六層錯誤分類決策樹">第六層：錯誤分類決策樹</h3>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">flowchart TD
    L6[錯誤發生] --&gt; PREFIX[&#34;pre-fix-eval&#34;]
    PREFIX --&gt; IR[incident-responder分析]

    IR --&gt; E1{編譯錯誤?}
    E1 --&gt;|是| E1A{依賴問題?}
    E1A --&gt;|是| SE1[system-engineer]
    E1A --&gt;|否| PARSLEY1[parsley-flutter-developer]

    E1 --&gt;|否| E2{測試失敗?}
    E2 --&gt;|是| E2A{測試本身問題?}
    E2A --&gt;|是| SAGE[sage-test-architect]
    E2A --&gt;|否| E2B{設計邏輯錯誤?}
    E2B --&gt;|是| SA[system-analyst]
    E2B --&gt;|否| PARSLEY2[parsley-flutter-developer]

    E2 --&gt;|否| E3{執行時錯誤?}
    E3 --&gt;|是| E3A{環境問題?}
    E3A --&gt;|是| SE2[system-engineer]
    E3A --&gt;|否| E3B{資料問題?}
    E3B --&gt;|是| DBA[data-administrator]
    E3B --&gt;|否| PARSLEY3[parsley-flutter-developer]

    E3 --&gt;|否| E4{效能問題?}
    E4 --&gt;|是| GINGER[ginger-performance-tuner]
    E4 --&gt;|否| SECURITY[security-reviewer]</code></pre><h3 id="tdd-階段流程">TDD 階段流程</h3>





<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">flowchart LR
    SA[SA審查] --&gt; P1[Phase 1&lt;br/&gt;lavender]
    P1 --&gt; P2[Phase 2&lt;br/&gt;sage]
    P2 --&gt; P3A[Phase 3a&lt;br/&gt;pepper]
    P3A --&gt; P3B[Phase 3b&lt;br/&gt;parsley]
    P3B --&gt; P4[Phase 4&lt;br/&gt;cinnamon]
    P4 --&gt; DONE[完成判斷]</code></pre>]]></content:encoded></item></channel></rss>