<?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>Review-Timing on Tarragon</title><link>https://tarrragon.github.io/blog/tags/review-timing/</link><description>Recent content in Review-Timing on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Mon, 18 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/review-timing/index.xml" rel="self" type="application/rss+xml"/><item><title>Emergence-class 違規規則化不了、要 stage 0 變體規劃 + stage 內抽樣兩層</title><link>https://tarrragon.github.io/blog/report/emergence-violations-need-in-stream-sampling/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/report/emergence-violations-need-in-stream-sampling/</guid><description>&lt;h2 id="結論">結論&lt;/h2>
&lt;p>違規類型決定 enforcement &lt;em>時機 + 機制&lt;/em>。把所有違規都丟給 batch 完成後的 reviewer 是錯的；同樣錯的是 &lt;em>只靠生成中抽樣&lt;/em>、沒有 stage 0 的主動變體規劃。Emergence 違規需要 &lt;em>兩層防護&lt;/em>：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Stage 0 主動設計層&lt;/strong>：寫批量前列 N 種 framing variant、分配給對應主題；這層決定 &lt;em>cadence 是否錯開的根因&lt;/em>&lt;/li>
&lt;li>&lt;strong>Stage 內被動監測層&lt;/strong>：生成中抽樣 audit、發現 collapse 立即修方向；這層 &lt;em>偵測&lt;/em> 而不是 &lt;em>設計&lt;/em>&lt;/li>
&lt;/ul>
&lt;p>兩層缺一不可：跳過 stage 0、被動抽樣不會自動發現 &lt;em>主題語意 attractor&lt;/em>（相似主題天然引出的 framing collapse、見 &lt;a href="../cadence-homogenization-in-batch-writing/">#122 cadence 同質化&lt;/a> Update 段定義；migration playbook 3/5 collapse 即此實證、見本卡「Update: 被動寫作下&amp;hellip;」段）；跳過 stage 內抽樣、stage 0 設計可能在中途 drift 沒被 catch。&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>違規類型&lt;/th>
 &lt;th>識別形式&lt;/th>
 &lt;th>Enforcement 時機&lt;/th>
 &lt;th>工具&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>字面違規&lt;/td>
 &lt;td>單檔可 regex 偵測（emoji、裸 URL、粗體當標題）&lt;/td>
 &lt;td>Pre-commit / pre-push&lt;/td>
 &lt;td>mdtools / regex hook&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>結構違規&lt;/td>
 &lt;td>單檔可機制偵測（章節缺失、frontmatter 必填、broken link）&lt;/td>
 &lt;td>Linter / build&lt;/td>
 &lt;td>mdtools lint&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Emergence 違規&lt;/td>
 &lt;td>跨檔比對才偵測（cadence 同質化、語氣漂移、frame 重複）&lt;/td>
 &lt;td>&lt;strong>Stage 0 設計 + Stage 內監測 兩層&lt;/strong>&lt;/td>
 &lt;td>Stage 0 variant 規劃 + 寫作流程內 checkpoint、不是 hook&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>backend/07 案例對照：51 個 vendor 字面違規 0、結構違規 0、emergence 違規（cadence 同質化）51/51；後者三個 reviewer 中只有一個 footnote 提到、是因為 reviewer 一次審 51 檔、emergence 訊號夠強才看出 — &lt;em>如果只審 5 檔、emergence 訊號還不夠強、會被漏掉&lt;/em>。&lt;/p>
&lt;hr>
&lt;h2 id="為什麼-emergence-class-違規規則化不了">為什麼 emergence-class 違規規則化不了&lt;/h2>
&lt;p>字面違規可以寫成 regex（&lt;code>rg &amp;quot;✅|❌&amp;quot;&lt;/code>）、結構違規可以寫成 grammar 規則（章節必須有 N 個 H2）。Emergence 違規的特徵：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>跨檔才能偵測&lt;/strong>：單檔 cadence 沒問題、N 檔 cadence 對齊才是違規&lt;/li>
&lt;li>&lt;strong>規則化會 over-fit&lt;/strong>：寫「段末不可用『四件事任一缺失』」會把這句正常用法也擋掉；寫「段首句句型分佈要 ≥ 3 種」需要先語法剖析、複雜度爆炸&lt;/li>
&lt;li>&lt;strong>訊號隨樣本數變化&lt;/strong>：5 檔比對訊號弱、50 檔比對訊號強；linter 沒有「批次」概念、只看單檔&lt;/li>
&lt;li>&lt;strong>跟風格邊界模糊&lt;/strong>：cadence 一致 vs cadence 同質、之間是漸層、threshold 因領域而異&lt;/li>
&lt;/ol>
&lt;p>結論：emergence 違規不能靠 hook / linter / 字面規則攔、只能靠 &lt;em>流程設計&lt;/em> 在生成中 trigger 抽樣 review。&lt;/p>
&lt;hr>
&lt;h2 id="stage-內抽樣的設計">Stage 內抽樣的設計&lt;/h2>
&lt;p>對 &lt;a href="https://tarrragon.github.io/blog/posts/case-first--agent-team-review%E6%95%99%E5%AD%B8%E5%85%A7%E5%AE%B9%E7%9A%84%E7%94%9F%E7%94%A2%E6%B5%81%E7%A8%8B/" data-link-title="Case-First &amp;#43; Agent Team Review：教學內容的生產流程" data-link-desc="Case-first &amp;#43; agent team review 的教學內容生產流程：讀案例庫抽 findings、專責 reviewer 平行審查、polish pass 收系統性殘留。防止通用 best practice 被誤包裝成案例揭露。">case-first-module-workflow&lt;/a> 補強：stage 2（內容生成）內部加入 cadence checkpoint、不要等 stage 3 reviewer 才發現。&lt;/p></description><content:encoded><![CDATA[<h2 id="結論">結論</h2>
<p>違規類型決定 enforcement <em>時機 + 機制</em>。把所有違規都丟給 batch 完成後的 reviewer 是錯的；同樣錯的是 <em>只靠生成中抽樣</em>、沒有 stage 0 的主動變體規劃。Emergence 違規需要 <em>兩層防護</em>：</p>
<ul>
<li><strong>Stage 0 主動設計層</strong>：寫批量前列 N 種 framing variant、分配給對應主題；這層決定 <em>cadence 是否錯開的根因</em></li>
<li><strong>Stage 內被動監測層</strong>：生成中抽樣 audit、發現 collapse 立即修方向；這層 <em>偵測</em> 而不是 <em>設計</em></li>
</ul>
<p>兩層缺一不可：跳過 stage 0、被動抽樣不會自動發現 <em>主題語意 attractor</em>（相似主題天然引出的 framing collapse、見 <a href="../cadence-homogenization-in-batch-writing/">#122 cadence 同質化</a> Update 段定義；migration playbook 3/5 collapse 即此實證、見本卡「Update: 被動寫作下&hellip;」段）；跳過 stage 內抽樣、stage 0 設計可能在中途 drift 沒被 catch。</p>
<table>
  <thead>
      <tr>
          <th>違規類型</th>
          <th>識別形式</th>
          <th>Enforcement 時機</th>
          <th>工具</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>字面違規</td>
          <td>單檔可 regex 偵測（emoji、裸 URL、粗體當標題）</td>
          <td>Pre-commit / pre-push</td>
          <td>mdtools / regex hook</td>
      </tr>
      <tr>
          <td>結構違規</td>
          <td>單檔可機制偵測（章節缺失、frontmatter 必填、broken link）</td>
          <td>Linter / build</td>
          <td>mdtools lint</td>
      </tr>
      <tr>
          <td>Emergence 違規</td>
          <td>跨檔比對才偵測（cadence 同質化、語氣漂移、frame 重複）</td>
          <td><strong>Stage 0 設計 + Stage 內監測 兩層</strong></td>
          <td>Stage 0 variant 規劃 + 寫作流程內 checkpoint、不是 hook</td>
      </tr>
  </tbody>
</table>
<p>backend/07 案例對照：51 個 vendor 字面違規 0、結構違規 0、emergence 違規（cadence 同質化）51/51；後者三個 reviewer 中只有一個 footnote 提到、是因為 reviewer 一次審 51 檔、emergence 訊號夠強才看出 — <em>如果只審 5 檔、emergence 訊號還不夠強、會被漏掉</em>。</p>
<hr>
<h2 id="為什麼-emergence-class-違規規則化不了">為什麼 emergence-class 違規規則化不了</h2>
<p>字面違規可以寫成 regex（<code>rg &quot;✅|❌&quot;</code>）、結構違規可以寫成 grammar 規則（章節必須有 N 個 H2）。Emergence 違規的特徵：</p>
<ol>
<li><strong>跨檔才能偵測</strong>：單檔 cadence 沒問題、N 檔 cadence 對齊才是違規</li>
<li><strong>規則化會 over-fit</strong>：寫「段末不可用『四件事任一缺失』」會把這句正常用法也擋掉；寫「段首句句型分佈要 ≥ 3 種」需要先語法剖析、複雜度爆炸</li>
<li><strong>訊號隨樣本數變化</strong>：5 檔比對訊號弱、50 檔比對訊號強；linter 沒有「批次」概念、只看單檔</li>
<li><strong>跟風格邊界模糊</strong>：cadence 一致 vs cadence 同質、之間是漸層、threshold 因領域而異</li>
</ol>
<p>結論：emergence 違規不能靠 hook / linter / 字面規則攔、只能靠 <em>流程設計</em> 在生成中 trigger 抽樣 review。</p>
<hr>
<h2 id="stage-內抽樣的設計">Stage 內抽樣的設計</h2>
<p>對 <a href="/blog/posts/case-first--agent-team-review%E6%95%99%E5%AD%B8%E5%85%A7%E5%AE%B9%E7%9A%84%E7%94%9F%E7%94%A2%E6%B5%81%E7%A8%8B/" data-link-title="Case-First &#43; Agent Team Review：教學內容的生產流程" data-link-desc="Case-first &#43; agent team review 的教學內容生產流程：讀案例庫抽 findings、專責 reviewer 平行審查、polish pass 收系統性殘留。防止通用 best practice 被誤包裝成案例揭露。">case-first-module-workflow</a> 補強：stage 2（內容生成）內部加入 cadence checkpoint、不要等 stage 3 reviewer 才發現。</p>
<table>
  <thead>
      <tr>
          <th>寫作進度</th>
          <th>Checkpoint 動作</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>第 1-3 篇</td>
          <td>刻意產出 3 種不同 framing 變體（pilot phase）、人類 / Claude 自審「這 3 篇 cadence 是否真不同」</td>
      </tr>
      <tr>
          <td>第 5 篇</td>
          <td>抽 5 個段首句並列、確認 framing 變體仍在輪替、沒有 collapse 到 dominant</td>
      </tr>
      <tr>
          <td>第 10 篇</td>
          <td>抽 10 個段末收尾語並列、確認收尾語句型分佈 ≥ 3 種</td>
      </tr>
      <tr>
          <td>每 + 10 篇</td>
          <td>重複上述抽樣、發現 collapse 立即回頭加變體、不要繼續寫</td>
      </tr>
      <tr>
          <td>Batch 結束前</td>
          <td>全 batch 跨檔 cadence audit、確認 framing 分佈</td>
      </tr>
  </tbody>
</table>
<p>關鍵：抽樣不是「Reviewer 在 batch 完成後跑」、是「寫作者在生成中跑」。寫第 5 篇之前先回頭看前 5 篇、發現問題就在第 5 篇修方向、不是寫完 50 篇才回頭改 50 個。</p>
<h3 id="dogfood-evidence-2026-05-18n4-sub-threshold-驗證">Dogfood evidence (2026-05-18、N=4 sub-threshold 驗證)</h3>
<p>本卡浮現後立即跑 4 篇 deep article 小批量 dogfood、用 <em>寫作中抽樣 + pilot phase variant</em> 取代 batch 後 reviewer：</p>
<table>
  <thead>
      <tr>
          <th>Checkpoint 位置</th>
          <th>動作</th>
          <th>結果</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>第 1 篇寫完</td>
          <td>確認自然 framing（標準問題情境）</td>
          <td>OK、為第 2 篇 variant 比對 baseline</td>
      </tr>
      <tr>
          <td>第 2 篇寫前</td>
          <td>主動換 variant（痛點宣告 case-led）</td>
          <td>段首句骨架明顯異於第 1 篇</td>
      </tr>
      <tr>
          <td>第 3 篇寫前</td>
          <td>第三種 variant（概念反向定義）</td>
          <td>三種骨架完全錯開</td>
      </tr>
      <tr>
          <td>第 4 篇寫前</td>
          <td>第四種 variant（對照表驅動）+ 抽前 3 篇章節 1 entry sample audit</td>
          <td>四種骨架完全錯開、過渡詞密度 0、cadence 「任一缺失」族 0 hits</td>
      </tr>
  </tbody>
</table>
<p>對照前批 backend/07 51 vendor（無寫作中 checkpoint）：</p>
<table>
  <thead>
      <tr>
          <th>維度</th>
          <th>backend/07 51 vendor（batch 後才 review）</th>
          <th>deep article 4 篇（生成中抽樣）</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>修正成本</td>
          <td>~30-60 分鐘 polish 51 處</td>
          <td>~5 分鐘 / 篇前規劃 + 0 polish</td>
      </tr>
      <tr>
          <td>Cadence collapse 比例</td>
          <td>51/51 (100%)</td>
          <td>0/4 (0%)</td>
      </tr>
      <tr>
          <td>發現 collapse 時的 sample 數</td>
          <td>51（已寫完才發現）</td>
          <td>1-3（生成中即時調方向）</td>
      </tr>
  </tbody>
</table>
<p>兩個驗證：</p>
<ol>
<li><strong>Stage 內抽樣在 sub-threshold N=4 仍有效</strong>：原本 checkpoint 表格寫第 5 / 10 篇抽樣、預設批量 ≥ 5；實測 <em>寫每篇前都做一次 entry framing variant check</em> 在 N=4 也能完全錯開 cadence</li>
<li><strong>生成中抽樣的邊際成本 &laquo; batch 後 polish 成本</strong>：每篇前 ~1-2 分鐘 cadence check vs batch 後修 51 處 ~30-60 分鐘 — 比例 ~10-15 倍。本卡論斷「修正成本 N 倍」獲實證</li>
</ol>
<h3 id="update-n5-full-threshold-checkpoint-排程驗證">Update: N=5 full-threshold checkpoint 排程驗證</h3>
<p>第一次 N=4 後立即跑 N=5 full-threshold batch（5 篇 PostgreSQL sub-tool）、驗證 checkpoint 排程在 ≥ 5 真實閾值的表現：</p>
<table>
  <thead>
      <tr>
          <th>Checkpoint 位置</th>
          <th>N=4 batch 動作</th>
          <th>N=5 batch 動作</th>
          <th>結果</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>第 1 篇寫完（20%）</td>
          <td>確認 baseline framing</td>
          <td>確認 baseline framing（lifecycle）</td>
          <td>OK、N=5 抽樣訊號比 N=4 略強</td>
      </tr>
      <tr>
          <td>第 2 篇寫前（20%）</td>
          <td>主動換 variant</td>
          <td>主動換 variant（pain-driven）</td>
          <td>兩種 framing 對照成立</td>
      </tr>
      <tr>
          <td>第 3 篇寫前（40-60%）</td>
          <td>第三種 variant</td>
          <td>第三種 variant（concept-reversed）</td>
          <td>三種對照、cadence drift 機率變大</td>
      </tr>
      <tr>
          <td>第 4 篇寫前（60-80%）</td>
          <td>第四種 variant + 抽前 3 篇 audit</td>
          <td>第四種 variant（table-driven）+ 抽前 3 篇 entry sample audit</td>
          <td>四種對照、確認 framing 不耗盡</td>
      </tr>
      <tr>
          <td>第 5 篇寫前（80%）</td>
          <td>-</td>
          <td>第五種 variant（standard 6-section）+ 抽前 4 篇 audit</td>
          <td>五種對照、進度 80% audit 信號最強</td>
      </tr>
      <tr>
          <td>批次完成（100%）</td>
          <td>全 batch 跨檔 cadence audit</td>
          <td>全 batch 跨檔 cadence audit</td>
          <td>N=5 audit 樣本大、訊號更強</td>
      </tr>
  </tbody>
</table>
<p>兩批對照：</p>
<table>
  <thead>
      <tr>
          <th>維度</th>
          <th>N=4 batch（跨 vendor）</th>
          <th>N=5 batch（同 vendor sub-tool 系列）</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>修正成本 / 篇前規劃</td>
          <td>~5 分鐘 / 篇</td>
          <td>~5 分鐘 / 篇（不變）</td>
      </tr>
      <tr>
          <td>Cadence collapse 比例</td>
          <td>0/4 (0%)</td>
          <td>0/5 (0%)</td>
      </tr>
      <tr>
          <td>進度 20% (1 篇後) 抽樣可發現性</td>
          <td>訊號弱（1 樣本）</td>
          <td>訊號弱（仍 1 樣本）</td>
      </tr>
      <tr>
          <td>進度 80% (4 篇後) 抽樣可發現性</td>
          <td>訊號強（4 對照）</td>
          <td>訊號更強（4 對照 + 進入第 5 篇）</td>
      </tr>
      <tr>
          <td>同 vendor 共同 context 影響</td>
          <td>較低（4 篇跨 vendor）</td>
          <td>高（5 篇同 vendor、collapse 風險最高）</td>
      </tr>
  </tbody>
</table>
<p>額外驗證：</p>
<ol start="3">
<li><strong>進度 10-20% 抽樣訊號偏弱、80% 抽樣最強</strong>：N=5 batch 確認 <em>進度 80% audit</em> 是 emergence 訊號最強位置；原 principle 寫「進度 10-20% 抽樣」是過早、實際 <em>寫前 variant 規劃 + 進度 60-80% audit</em> 組合更穩</li>
<li><strong>同 vendor 同 type 是 collapse 最高風險、checkpoint 仍 cover</strong>：N=5 batch 共同 context 比 N=4 多（同 vendor / 同 audience / 同 article type）、本卡論斷 emergence 風險 = 共同 context × N 成立；checkpoint 設計能 cover 是因為 <em>variant 規劃在 stage 0</em>、不靠 sample size 補</li>
</ol>
<h3 id="update-被動寫作下-stage-internal-checkpoint-仍失效">Update: 被動寫作下 stage-internal checkpoint 仍失效</h3>
<p>第三輪 5 篇 migration playbook 中 <em>前 3 篇被動寫作</em>（沒主動規劃 variant）— stage-internal checkpoint 雖然按時 fired、但因為 <em>沒 variant 預先準備</em>、checkpoint 看到的「不同主題」誤以為 framing 會自然錯開、實際 collapse 到「為什麼遷：X/Y/Z driver」格式：</p>
<table>
  <thead>
      <tr>
          <th>進度</th>
          <th>Checkpoint 觸發</th>
          <th>看到的訊號</th>
          <th>行動</th>
          <th>結果</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>第 1 篇</td>
          <td>baseline 確認</td>
          <td>「為什麼遷：cost / multi-vendor / cloud-native」</td>
          <td>沒設變體規劃</td>
          <td>第 2 篇預設複製 framing</td>
      </tr>
      <tr>
          <td>第 2 篇</td>
          <td>應該抽樣 audit</td>
          <td>跟第 1 篇都「為什麼遷 X/Y/Z」</td>
          <td><strong>被動接受、認為主題不同就 OK</strong></td>
          <td>第 3 篇也複製</td>
      </tr>
      <tr>
          <td>第 3 篇</td>
          <td>應該抽樣 audit</td>
          <td>連續 3 篇相同 framing</td>
          <td><strong>發現問題、決定後 2 篇換 variant</strong></td>
          <td>後 2 篇主動 variant、cadence 部分挽救</td>
      </tr>
      <tr>
          <td>第 4 篇</td>
          <td>active variant</td>
          <td>cost-driven entry、跟前 3 篇骨架不同</td>
          <td>持續 variant</td>
          <td>OK</td>
      </tr>
      <tr>
          <td>第 5 篇</td>
          <td>active variant</td>
          <td>paradigm contrast entry</td>
          <td>全 batch audit</td>
          <td>3/5 collapse、2/5 不同</td>
      </tr>
  </tbody>
</table>
<p>兩個關鍵 finding：</p>
<ol start="5">
<li><strong>Checkpoint 不夠、變體規劃才是 root</strong>：stage-internal checkpoint 確實 fire、但 <em>沒準備 variant</em> 時 checkpoint 變被動驗證、不是主動防護；本卡原論斷「checkpoint 取代 batch 後 reviewer」需修正為「checkpoint + 預先 variant 規劃 兩層」</li>
<li><strong>主題語意 attractor 是新失效源</strong>：N=5 batch 中前 3 篇都圍繞「為什麼換 vendor」、entry 自然 collapse 到 driver list；這個 attractor 比結構 constraint 更強、未來寫作要 <em>預先列 framing 變體</em> 而不是 <em>依賴 checkpoint 提醒換</em></li>
</ol>
<p>修正後的 Stage 內 checkpoint 排程（補 stage 0 變體規劃）：</p>
<table>
  <thead>
      <tr>
          <th>寫作進度</th>
          <th>Checkpoint 動作</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Stage 0（寫前）</strong></td>
          <td><strong>列 N 種 framing 變體 + 對應 N 篇主題分配</strong>（新增、原本缺失）</td>
      </tr>
      <tr>
          <td>第 1-3 篇（pilot phase）</td>
          <td>按 stage 0 分配執行、人類 / Claude 自審「實際 entry framing 跟 stage 0 規劃對齊嗎」</td>
      </tr>
      <tr>
          <td>第 5 篇</td>
          <td>抽 5 個段首句並列、確認 framing 變體仍在輪替</td>
      </tr>
      <tr>
          <td>第 10 篇</td>
          <td>抽 10 個段末收尾語並列、確認句型分佈 ≥ 3 種</td>
      </tr>
      <tr>
          <td>每 + 10 篇</td>
          <td>重複抽樣、發現 collapse 立即回頭加變體</td>
      </tr>
  </tbody>
</table>
<p>關鍵：<em>Stage 0 變體規劃是必要 step</em>、不能跳；checkpoint 是 <em>監測</em> 工具、不是 <em>設計</em> 工具。</p>
<p>詳細 SOP 跟 5 種 type 的具體應用見 <a href="/blog/posts/migration-playbook-%E6%96%B9%E6%B3%95%E8%AB%96%E7%9A%84%E6%BC%94%E5%8C%96%E7%B4%80%E9%8C%84stage-0-variant-%E8%A6%8F%E5%8A%83%E6%8A%8A-collapse-%E7%8E%87%E5%BE%9E-60-%E9%99%8D%E5%88%B0-0/" data-link-title="Migration Playbook 方法論的演化紀錄：Stage 0 variant 規劃把 collapse 率從 60% 降到 0%" data-link-desc="跨 vendor migration playbook 需要獨立寫作方法論的依據，以及這套方法論從三輪 batch dogfood 中演化出來的驗證證據。">Migration playbook methodology</a> — 該 methodology 從 5 篇 migration playbook batch 抽出 stage 0 variant 規劃流程、本卡的「checkpoint 不夠」訊號是該流程的觸發實證。</p>
<h3 id="update2026-05-19第二輪-migration-batch-全主動-variant-驗證">Update（2026-05-19）：第二輪 migration batch 全主動 variant 驗證</h3>
<p>第二輪 migration batch（5 篇）寫前主動列 5 種 entry framing variant、cadence audit 結果 0/5 collapse；跟第一輪 3/5 collapse 對照、唯一差異是 <em>variant 規劃完整度</em>：</p>
<table>
  <thead>
      <tr>
          <th>批次</th>
          <th>Sample</th>
          <th>Variant 規劃</th>
          <th>Stage-internal checkpoint 結果</th>
          <th>Collapse rate</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>第一輪（混合）</td>
          <td>N=5</td>
          <td>前 3 篇被動、後 2 篇主動</td>
          <td>被動段 checkpoint 失效</td>
          <td>3/5 (60%)</td>
      </tr>
      <tr>
          <td>第二輪（全主動）</td>
          <td>N=5</td>
          <td>寫前列 5 種 variant、執行對應</td>
          <td>Checkpoint 監測通過</td>
          <td>0/5 (0%)</td>
      </tr>
  </tbody>
</table>
<p>第二輪確認本卡核心論斷：</p>
<ol start="5">
<li><strong>Checkpoint + Stage 0 兩層在全主動下成功</strong>：第二輪 5 篇 stage 0 全列 variant、checkpoint 監測無 collapse alarm、最終 audit 0/5；證實兩層防護在 <em>都執行</em> 下達成 principle 目標</li>
<li><strong>Stage 0 規劃的標準動作</strong>：第二輪 stage 0 動作為「列 5 種 distinct entry framing 候選、對應 5 篇主題分配」— 不是「想到才換」、是 <em>寫第一篇前就完成</em> 的設計步驟</li>
<li><strong>主題相似性不會自動解決 cadence</strong>：第二輪 5 篇都是 migration playbook、主題相似性跟第一輪一樣高；唯一差異是 stage 0 是否做、結果差 60% collapse vs 0% — 確認本卡論斷「checkpoint 不夠變體規劃才是 root」在 <em>主題相似性高</em> 場景下仍成立</li>
</ol>
<hr>
<h2 id="batch-完成後-reviewer-為什麼太晚">Batch 完成後 reviewer 為什麼太晚</h2>
<p>三個成本問題：</p>
<ol>
<li><strong>修正成本 N 倍</strong>：51 篇都同質化、修正要動 51 篇；如果第 5 篇就 catch、只動 5 篇</li>
<li><strong>Cadence 已內化成「正確答案」</strong>：寫完 50 篇後 Claude 已經把 dominant framing 視為「合規最佳解」、要打破比第 5 篇難</li>
<li><strong>Reviewer 訊號要求高樣本</strong>：5 檔不夠 emergence、50 檔才強訊號；但 50 檔出來時修正成本已經爆</li>
</ol>
<p>最佳時機：<em>Sample size 剛夠看出 emergence、且修正成本還可控</em> — 通常是 batch 內 10-20% 進度的位置（51 批量 → 第 5-10 篇）。</p>
<hr>
<h2 id="跟字面--結構違規的時機對照">跟字面 / 結構違規的時機對照</h2>
<p>字面違規（emoji）的 enforcement 鏈：</p>
<ul>
<li>寫作中：Claude 預設不寫 emoji（pre-trained behavior + system prompt）</li>
<li>Pre-commit：mdtools / regex hook 攔</li>
<li>CI：full lint sweep</li>
</ul>
<p>三層防護、字面違規幾乎不可能漏網。</p>
<p>結構違規（章節缺失）的 enforcement 鏈：</p>
<ul>
<li>寫作中：模板 / skeleton 提示</li>
<li>Pre-commit：lint 章節結構</li>
<li>Review：人類 / agent 看章節列表</li>
</ul>
<p>兩層機制、結構違規會被攔。</p>
<p>Emergence 違規目前的 enforcement：</p>
<ul>
<li>寫作中：<strong>無</strong>（cadence 沒提示）</li>
<li>Pre-commit：<strong>無</strong>（regex 攔不到）</li>
<li>Review：Stage 3 reviewer 可能漏（單 reviewer 視野有限）</li>
</ul>
<p>只有 stage 3 reviewer 這一層、且不可靠。本卡的修法是在「寫作中」這層加 stage 內抽樣。</p>
<hr>
<h2 id="不只是寫作emergence-違規的其他例子">不只是寫作：emergence 違規的其他例子</h2>
<table>
  <thead>
      <tr>
          <th>任務類型</th>
          <th>字面違規例</th>
          <th>結構違規例</th>
          <th>Emergence 違規例</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>寫作</td>
          <td>emoji / 裸 URL</td>
          <td>章節缺失 / frontmatter</td>
          <td>Cadence 同質化、語氣漂移、frame 重複</td>
      </tr>
      <tr>
          <td>Code review</td>
          <td>console.log / typo</td>
          <td>缺型別 / 缺 test</td>
          <td>抽象層級不一致、命名漂移、相似函式散落</td>
      </tr>
      <tr>
          <td>Schema 設計</td>
          <td>缺 NOT NULL / 缺 index</td>
          <td>缺 FK / 缺 unique</td>
          <td>命名慣例分裂、欄位順序不一致、表間關係風格不齊</td>
      </tr>
      <tr>
          <td>API doc</td>
          <td>拼字 / broken link</td>
          <td>缺參數說明 / 缺範例</td>
          <td>例子風格不一、術語使用漂移、章節長短差異懸殊</td>
      </tr>
  </tbody>
</table>
<p>三類違規對應三層 enforcement、不能混用工具。</p>
<hr>
<h2 id="反模式">反模式</h2>
<table>
  <thead>
      <tr>
          <th>反模式</th>
          <th>後果</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>把 emergence 違規丟給 hook 解決</td>
          <td>Hook 抓不到、false confidence</td>
      </tr>
      <tr>
          <td>把 emergence 違規丟給 batch 完成後 reviewer</td>
          <td>修正成本 N 倍、cadence 已內化</td>
      </tr>
      <tr>
          <td>寫 batch 不在中段抽樣</td>
          <td>Emergence collapse 後才發現、無法即時修方向</td>
      </tr>
      <tr>
          <td>Reviewer prompt 不明示跨檔比對</td>
          <td>Reviewer 用單檔 frame 審 N 檔、emergence 漏抓</td>
      </tr>
      <tr>
          <td>把 cadence 抽樣只列在「Batch 結束前」</td>
          <td>太晚、跟「Reviewer batch 後跑」沒差</td>
      </tr>
      <tr>
          <td>規範裡寫「不可 cadence 同質化」但不提抽樣機制</td>
          <td>規範文字成立、執行落空</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="跟其他抽象層原則的關係">跟其他抽象層原則的關係</h2>
<table>
  <thead>
      <tr>
          <th>原則</th>
          <th>關係</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="../literal-interception-vs-behavioral-refinement/">#82 字面攔截 vs 行為精煉</a></td>
          <td>本卡是 #82 的時機軸延伸 — #82 分字面 / 行為兩類、本卡分字面 / 結構 / emergence 三類並對應 enforcement 時機</td>
      </tr>
      <tr>
          <td><a href="../cadence-homogenization-in-batch-writing/">#122 Cadence 同質化是模板的隱形維度</a></td>
          <td>配對 — #122 定義違規類型、本卡解 enforcement 時機；兩張一起解 cadence 問題</td>
      </tr>
      <tr>
          <td><a href="../compliance-optimum-converges-cadence/">#123 多重硬規範同時生效會把 cadence 推向便利解</a></td>
          <td>配對 — #123 解釋成因（constraint 收斂）、本卡解 enforcement（時機 + 抽樣）</td>
      </tr>
      <tr>
          <td><a href="../verification-timeline-checkpoints/">#68 驗收的時間軸：四個 checkpoint</a></td>
          <td>同骨 pattern — #68 把驗收切「寫之前 / 開發中 / ship 前 / ship 後」、本卡把寫作 review 切時機；都是 enforcement 時機軸</td>
      </tr>
      <tr>
          <td><a href="../multi-pass-scope-must-cover-risk-zone/">#95 Multi-pass review 的 scope 要蓋同類風險區</a></td>
          <td>補 timing 軸 — #95 是 scope（橫向）、本卡是 timing（縱向）；兩軸都要對齊才完整</td>
      </tr>
      <tr>
          <td><a href="../writing-multi-pass-review/">#83 Writing multi-pass review</a></td>
          <td>補一條時機 — #83 把 multi-pass 描述成「N 輪 frame」、本卡點出「N 輪要分散在生成時間軸」、不是全集中 batch 後</td>
      </tr>
  </tbody>
</table>
<hr>
<h2 id="判讀徵兆">判讀徵兆</h2>
<table>
  <thead>
      <tr>
          <th>訊號</th>
          <th>該做的事</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Hook / linter 全綠但批量讀完感覺品質下滑</td>
          <td>Emergence 違規、改 stage 內抽樣機制</td>
      </tr>
      <tr>
          <td>Reviewer 報告抓到大量同類問題且都集中在 batch 末段</td>
          <td>Review 時機太晚、移到生成中</td>
      </tr>
      <tr>
          <td>想加新 lint rule 解決 cadence 問題</td>
          <td>警訊 — regex 攔不到、改 stage 內抽樣</td>
      </tr>
      <tr>
          <td>同 batch 修正 PR 改動 ≥ 20% 檔</td>
          <td>Stage 3 才發現 emergence、預設下一批要加 stage 2 抽樣</td>
      </tr>
      <tr>
          <td>「寫完 N 篇後抽樣」的 N 跟 batch size 同數量級</td>
          <td>抽樣等於 batch 後 review、N 應該 ≤ batch size × 20%</td>
      </tr>
      <tr>
          <td>寫作流程沒有「checkpoint」概念</td>
          <td>Enforcement 缺生成中這層、emergence 違規會持續產生</td>
      </tr>
      <tr>
          <td>Reviewer 只跑單檔 frame</td>
          <td>跨檔 emergence 看不到、補 reviewer prompt 要求跨檔比對</td>
      </tr>
  </tbody>
</table>
<p><strong>核心</strong>：違規分字面 / 結構 / emergence 三類、enforcement 時機要對應類型。Emergence 違規規則化不了、不能丟給 hook 或 batch 後 reviewer、要在生成中（batch 進度 10-20% 時）抽樣 catch；最佳時機是 emergence 訊號剛夠強、且修正成本還可控的位置。</p>
]]></content:encoded></item></channel></rss>