|
<!doctype html> |
|
<html lang="zh-Hant"> |
|
<head> |
|
<meta charset="utf-8"> |
|
<meta name="viewport" content="width=device-width, initial-scale=1"> |
|
<title>PLS Capability Repair Dispatch Console</title> |
|
<style> |
|
:root { color-scheme: light; --ink:#18212f; --muted:#647084; --line:#d9e0ea; --bg:#f7f9fc; --panel:#ffffff; --ok:#0f7b45; --warn:#aa5a00; --bad:#b42318; --blue:#1f5fbf; } |
|
body { margin:0; font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--bg); } |
|
header { padding:28px 32px 18px; background:var(--panel); border-bottom:1px solid var(--line); } |
|
h1 { margin:0 0 6px; font-size:26px; letter-spacing:0; } |
|
h2 { margin:0 0 12px; font-size:17px; } |
|
main { max-width:1180px; margin:0 auto; padding:24px 20px 40px; display:grid; gap:16px; } |
|
section { background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:18px; } |
|
.grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; } |
|
.card { border:1px solid var(--line); border-radius:8px; padding:14px; min-height:96px; } |
|
.label { color:var(--muted); font-size:12px; text-transform:uppercase; } |
|
.value { font-size:20px; font-weight:700; margin-top:4px; } |
|
.ok { color:var(--ok); } .warn { color:var(--warn); } .bad { color:var(--bad); } .blue { color:var(--blue); } |
|
table { width:100%; border-collapse:collapse; } |
|
th,td { text-align:left; vertical-align:top; border-bottom:1px solid var(--line); padding:10px 8px; } |
|
th { color:var(--muted); font-size:12px; } |
|
code { background:#eef2f7; padding:1px 5px; border-radius:4px; } |
|
.flow { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; } |
|
.step { border:1px solid var(--line); border-radius:8px; padding:12px; background:#fbfcff; } |
|
.small { color:var(--muted); font-size:12px; } |
|
@media (max-width:900px){ .grid,.flow{grid-template-columns:1fr;} header{padding:22px 18px;} } |
|
</style> |
|
</head> |
|
<body> |
|
<header> |
|
<h1>AI 預測驗證模組:Capability Repair Dispatch Console</h1> |
|
<div class="small">Job 3bc391bc-a6cd-459b-ad29-ccb2afdeb6b1 · deliverable 7308e028-d7e2-4912-b666-5839e9dba97d · owner Louis · due 2026-05-25</div> |
|
</header> |
|
<main> |
|
<section> |
|
<h2>本輪判斷</h2> |
|
<div class="grid"> |
|
<div class="card"><div class="label">目前狀態</div><div class="value warn">派工卡住</div><div class="small">PLS 仍以 project_runner 反覆要求 static production pack。</div></div> |
|
<div class="card"><div class="label">下一個有效 lane</div><div class="value blue">repo_change / github_pr</div><div class="small">需要 target_repo_url 或 repo path。</div></div> |
|
<div class="card"><div class="label">禁止完成假象</div><div class="value bad">No fake PR</div><div class="small">沒有 repo 就不得聲稱 GitHub PR 或部署成功。</div></div> |
|
<div class="card"><div class="label">E2E 目標</div><div class="value ok">Dispatch breaker</div><div class="small">讓下一輪真正修改 PLS 後台派工條件。</div></div> |
|
</div> |
|
</section> |
|
<section> |
|
<h2>D1 / D7 / D14 / D30 路徑</h2> |
|
<div class="flow"> |
|
<div class="step"><b>D1</b><br>停止同專案 project_runner static loop;補上 <code>target_repo_url</code>、owner、驗收。</div> |
|
<div class="step"><b>D7</b><br>repo_change worker 實作 dispatch guard:重複完成 2 次後改派 repo_change/github_pr。</div> |
|
<div class="step"><b>D14</b><br>建立 staging PR,驗證 signals/action_items/reviews 預測命中資料鏈。</div> |
|
<div class="step"><b>D30</b><br>週節奏上線:每週產生 prediction scorecard,低命中自動開 correction action。</div> |
|
<div class="step"><b>採用</b><br>Louis 拍板 repo;zihrou/iron 驗證採用訊號;PLS 回寫 weekly scorecard。</div> |
|
</div> |
|
</section> |
|
<section> |
|
<h2>目的到目的 E2E</h2> |
|
<table> |
|
<tr><th>層</th><th>內容</th><th>可測證據</th></tr> |
|
<tr><td>原始目的</td><td>AI 自己驗證上次 review 的預測是否命中。</td><td>review_predictions 與 evidence_signals 可 join。</td></tr> |
|
<tr><td>產出物</td><td>repo dispatch spec、資料模型、驗收測試、決策紀錄。</td><td>本 Gist + PLS uploaded files。</td></tr> |
|
<tr><td>人採用</td><td>Louis 指定 repo;PLS 改派 repo_change;zihrou/iron 用 scorecard 判斷 AI 工具選擇。</td><td>next job type = repo_change/github_pr,且含 target_repo_url。</td></tr> |
|
<tr><td>指標改善</td><td>減少重複 static pack、提高 PR/部署產出率、降低 fake success 風險。</td><td>7 天內同 loop 不再新增 project_runner generic job。</td></tr> |
|
</table> |
|
</section> |
|
<section> |
|
<h2>Dispatch Guard 規格</h2> |
|
<table> |
|
<tr><th>欄位/規則</th><th>值</th></tr> |
|
<tr><td>trigger</td><td><code>ai_native_project_id=a8befe83-b818-482a-a6bb-3df58f50c3a2</code> 且同 lane 已有 durable artifact ≥ 2</td></tr> |
|
<tr><td>block</td><td>拒絕再派 <code>project_runner</code> static pack,要求 capability repair 或 repo target。</td></tr> |
|
<tr><td>route</td><td>若 <code>target_repo_url</code> 存在,派 <code>repo_change</code>;若 PR needed,派 <code>github_pr</code>。</td></tr> |
|
<tr><td>audit</td><td>記錄上一輪 artifact URL、decision-record、未完成原因與下一步 owner/due。</td></tr> |
|
</table> |
|
</section> |
|
</main> |
|
</body> |
|
</html> |