chore(todo): #25 方案 propose/approve + #32 fallback 登记

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013nMthbVEmQquxBRKb9Fj8u
This commit is contained in:
wangjia
2026-07-06 16:28:45 +08:00
parent f8e870fd6a
commit 5c647235aa
3 changed files with 56 additions and 7 deletions
+4
View File
@@ -0,0 +1,4 @@
{
"account_id": "e585821c881c4cd23bc2530986edea9e",
"project_name": "pangolin-site"
}
+34 -5
View File
@@ -253,12 +253,12 @@ ul.todo-list { list-style: none; margin: 0; padding: 0; }
<header> <header>
<div class="wrap"> <div class="wrap">
<h1>feature+windows — 项目 TODO</h1> <h1>feature+windows — 项目 TODO</h1>
<div class="header-meta">生成于 2026-06-30 · 真相源 todo/todo.json</div> <div class="header-meta">生成于 2026-07-01 · 真相源 todo/todo.json</div>
<div class="stats"> <div class="stats">
<div class="stat-pill"><strong>16</strong>全部</div> <div class="stat-pill"><strong>17</strong>全部</div>
<div class="stat-pill"><strong>8</strong>待开始</div> <div class="stat-pill"><strong>8</strong>待开始</div>
<div class="stat-pill"><strong>0</strong>开发中</div> <div class="stat-pill"><strong>0</strong>开发中</div>
<div class="stat-pill"><strong>0</strong>待验收</div> <div class="stat-pill"><strong>1</strong>待验收</div>
<div class="stat-pill"><strong>8</strong>已验收</div> <div class="stat-pill"><strong>8</strong>已验收</div>
</div> </div>
@@ -563,12 +563,41 @@ ul.todo-list { list-style: none; margin: 0; padding: 0; }
</div> </div>
<div class="section-block" id="section-done"> <div class="section-block" id="section-done">
<div class="section-title st-done" data-toggle="done"> <div class="section-title st-done" data-toggle="done">
🔍 待验收 <span class="s-count">0</span> 🔍 待验收 <span class="s-count">1</span>
<span class="s-arrow">▴ 收起</span> <span class="s-arrow">▴ 收起</span>
</div> </div>
<div class="section-list-wrap " id="list-wrap-done"> <div class="section-list-wrap " id="list-wrap-done">
<ul class="todo-list" id="list-done"> <ul class="todo-list" id="list-done">
<p class="empty-tip">暂无条目</p>
<li class="todo-card s-done"
data-id="18"
data-level="mid"
data-status="done"
data-tier="3"
data-tags="mac,前端">
<div class="card-header">
<span class="item-id">#18</span>
<span class="item-title">看门狗后台唤醒误判节点死→假重连</span>
<div class="card-badges">
<span class="tag status-badge s-done">待验收</span>
<span class="tag t-high">重要</span>
<span class="tag tier-3">三级</span>
<button class="reject-btn" data-id="18" data-title="看门狗后台唤醒误判节点死→假重连">拒绝验收</button>
</div>
</div>
<div class="item-desc">app/Mac 后台或睡眠一段时间再打开,连通看门狗路径A(urltest stale)用墙上时钟算陈旧度,_lastUrltestOk 在挂起期冻住→唤醒时误判&gt;45s→_onNodeUnhealthy 触发 disconnect+connect 假重连(智能模式还自动切节点),但隧道没掉。修:_onStats 记 _lastStatsAt,路径A 仅在 stats 仍在流但 urltest 停更时才判死;stats 整体停(挂起)则跳过。connection_provider.dart 一处。</div>
<div class="card-footer">
<div class="tag-row"><span class="tag t-tag" data-tag="mac">mac</span> <span class="tag t-tag" data-tag="前端">前端</span></div>
<div class="item-meta">
<span class="meta-date">🕐 2026-07-01</span>
</div>
</div>
</li>
</ul> </ul>
</div> </div>
</div> </div>
+18 -2
View File
@@ -1,9 +1,9 @@
{ {
"meta": { "meta": {
"title": "feature+windows — 项目 TODO", "title": "feature+windows — 项目 TODO",
"updated_at": "2026-06-30T14:47:39.344Z" "updated_at": "2026-06-30T23:10:43.458Z"
}, },
"seq": 17, "seq": 18,
"items": [ "items": [
{ {
"id": 1, "id": 1,
@@ -254,6 +254,22 @@
"done": false, "done": false,
"completed_at": null, "completed_at": null,
"version": null "version": null
},
{
"id": 18,
"title": "看门狗后台唤醒误判节点死→假重连",
"desc": "app/Mac 后台或睡眠一段时间再打开,连通看门狗路径A(urltest stale)用墙上时钟算陈旧度,_lastUrltestOk 在挂起期冻住→唤醒时误判>45s→_onNodeUnhealthy 触发 disconnect+connect 假重连(智能模式还自动切节点),但隧道没掉。修:_onStats 记 _lastStatsAt,路径A 仅在 stats 仍在流但 urltest 停更时才判死;stats 整体停(挂起)则跳过。connection_provider.dart 一处。",
"level": "mid",
"tier": 3,
"tags": [
"mac",
"前端"
],
"status": "done",
"created_at": "2026-06-30T23:00:25.193Z",
"done": false,
"completed_at": null,
"version": null
} }
] ]
} }