Skip to content

Commit 976b094

Browse files
committed
docs(archive): archive 2026-08-21
1 parent 564dfc5 commit 976b094

3 files changed

Lines changed: 51 additions & 31 deletions

File tree

‎docs/archive/2026-08-21/README.md‎

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,43 @@
1-
# 归档索引:2026-08-21(v0.8.0 M1~M4 代码建设 + 新增代码审查批次)
1+
# 归档索引:2026-08-21(v0.8.0 M1~M4 + AI 精修非功能扩展 F0~F3 + 新增代码审查批次 ×2)
22

33
> 归档判定见 [archive README](../README.md)。本日归档夹为技术债滚动快照(唯一权威清单)。
44
55
## 归档清单
66

7-
**本日归档 0 份**(无生命终态文档——全部产出为实施中/活跃态):
7+
**本日归档 1 份**(首轮 0 份 + 二轮 1 份):
8+
9+
| 源路径 → 归档路径 | 归档原因/状态 |
10+
|------|-----------|
11+
| `docs/archive/2026-08-21/brainstorming-ai-refine-nonfunctional-rebuild.md`(创建即入归档夹,提交 919b544) | **[ ] 已归档**——AI 精修非功能扩展设计文档:P0 契约断裂实证 + P1 修复 + 任务中心/协议 v2/评测框架;F0~F3 全部实施完成(提交 1845462~b75db82,1294 单测全绿),生命周期终结 |
12+
13+
**不归档候选**(持续活跃,规则明确排除):
814

915
| 候选文档 | 不归档原因 |
1016
|------|-----------|
11-
| `docs/adr/ADR-016-ai-credentials-dpapi.md` | 当前生效 ADR(规则明确不归档——密钥凭据存储决策持续引用) |
12-
| `docs/versions/v0.8.0.md` | versions/ 内容(规则明确不归档——M0 验收总清/M5 契约测试未完成,规划与实施记录持续活跃) |
13-
| `docs/product/requirements-pool.md`(v0.8.0 区块) | 活跃需求池(REQ-138~147 已排期/实施状态持续更新) |
17+
| `docs/adr/ADR-016-ai-credentials-dpapi.md` | 当前生效 ADR(规则明确不归档) |
18+
| `docs/versions/v0.8.0.md` | versions/ 内容(M0/M5 未完成,规划与实施记录持续活跃) |
19+
| `docs/product/requirements-pool.md`(v0.8.0 区块) | 活跃需求池(REQ-138~147 持续更新) |
1420
| `CHANGELOG.md` / `docs/standards/line-limit-exemptions.md` | 持续活跃(规则明确不归档) |
15-
| `docs/Foresight/long-term-optimization-checklist.md` | **未被 git 跟踪**(会话开始前已存在、非本次产出)——按前置条件排除本次归档,不补充提交 |
21+
| `docs/Foresight/long-term-optimization-checklist.md` | **未被 git 跟踪**(非本次产出)——按前置条件排除,不补充提交 |
1622

17-
## 本批工作摘要(v0.8.0 M1~M4 + 新增代码审查)
23+
## 本批工作摘要(二轮:AI 精修全链路 F0~F3 + 新增代码审查)
1824

19-
- **v0.8.0 代码建设四里程碑交付**(提交 7818e90/12c5a13/fcd09c4/b4e7e79/4c44297):M1 AI 使能层(密钥 DPAPI/余额/授权审计/共享 client)· M2 AI 精修(双模式/diff/异步任务/成本确认基础版)· M3 知识补充(九子项/混合落位/B6 无链接)· M4 版本管理+成本完整(快照链/回滚/时间线/note_ai_usage)
20-
- **新增代码七维审查即修 6 项**(提交 354dd3d):C1 URL 丢失 /v1 404(高,波及既有复核)· C2 前端轮询泄漏 · C3 双跑分析 · C4 过期 dead_code 豁免 · C5 trim_tasks 边界 · C6 动态 import 不一致;审查确认无问题项:接入性/安全性/牵连性回归(1265 单测全绿 + clippy 新代码清零 + 前端构建通过)
21-
- 验证:1265 单测全绿 + 前端构建通过
25+
- **AI 精修全链路代码建设四里程碑交付**(提交 1845462/897ee96/ba9e618/b6ad051/f06fd7f/6e72c5d/afca35f/7f575cd/790f964/b75db82,1294 单测全绿):
26+
- F0 契约断裂修复(P0 根因实证:AiTaskState serde camelCase 与前端 PascalCase 失配 → 调用有记录但结果永不使用)——契约对齐 + 快照单测
27+
- F1 修复补齐:丢图(配图行缺括号 bug + 本地合并降级)、模型→单价映射 + 预估含输出、审计补齐、配额接入 + 任务去重
28+
- F2 任务中心:ai_tasks SQLite 表/启动恢复/全局任务面板/完成通知/切片并发 2-3 + 单片重试 + 部分成功
29+
- F3 协议 v2(image 块防丢图/片间上下文防结构错乱/schema_version 向后兼容)+ 成本硬拦截 + golden 结构回归评测(内置样本集 mock 全链路)
30+
- **新增代码七维审查即修 9 项**(提交 564dfc5):P0×2(去重粒度/拦截顺序)· P1×5(采纳幂等/落库成本模型感知/补充单片重试/任务表运行期裁剪/any 类型+契约同步)· P2×2(toast timer 清理/部分成功前端提示);审查确认无问题项:接入性/性能/冗余/规范/安全(1294 单测全绿 + clippy 新代码清零 + 前端 tsc/build 通过)
31+
- 验证:1294 单测全绿(基线 1271 + 新增 23)+ 前端构建通过
2232

2333
## 技术债摘要
2434

25-
- **未偿 4 笔**(全部 carried,核验保持):TD-040(deliberate)+ TD-2026-08-19-D/F/G
26-
- **今日已偿 6 笔**:审查 C1~C6(提交 354dd3d)
27-
- **新登记 open 1 笔**:TD-2026-08-21-A(存量 clippy 告警 9 个——未改动文件、clippy 版本漂移)+ 观察项 3 条新增(B6 宽松匹配/事件 deps/apply 两步落库)+ 昨日观察 8 条继承
35+
- **未偿 5 笔**(全部 carried,核验保持):TD-040(deliberate)+ TD-2026-08-19-D/F/G + TD-2026-08-21-A(存量 clippy 9 个)
36+
- **今日已偿 15 笔**:首轮审查 C1~C6(354dd3d)+ 二轮审查 9 项(564dfc5:去重粒度/拦截顺序/采纳幂等/成本模型感知/补充重试/运行期裁剪/any 类型/toast timer/部分成功提示)
37+
- **新登记 open 0 笔**:二轮审查无遗留;观察项 3 条保持(B6 宽松匹配/事件 deps/apply 两步落库)+ 昨日观察 8 条继承
2838

2939
## 关联
3040

3141
- 版本与需求:[v0.8.0 版本文档](../../versions/v0.8.0.md) · [需求池 REQ-138~147](../../product/requirements-pool.md)
42+
- 设计文档:[AI 精修非功能扩展设计([ ] 已归档)](./brainstorming-ai-refine-nonfunctional-rebuild.md)
3243
- 技术债:[tech-debt.md](./tech-debt.md)(唯一权威清单)

‎docs/archive/2026-08-21/brainstorming-ai-refine-nonfunctional-rebuild.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# 头脑风暴记录:AI 精修非功能扩展 + 全链路问题修复(v0.8.0 补强)
22

3+
> **状态**:[ ] 已归档(2026-08-21 二轮归档)——F0~F3 全部实施完成,设计生命周期终结;实施细节见文末里程碑状态表。
4+
35
## 基本信息
46

57
| 字段 | 内容 |
Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
# 技术债清单(权威:2026-08-21 归档滚动——v0.8.0 M1~M4 代码建设 + 新增代码审查批次后)
1+
# 技术债清单(权威:2026-08-21 二轮归档滚动——AI 精修全链路建设 F0~F3 + 新增代码审查批次后)
22

33
> 本清单为当前唯一权威债务清单,归档日滚动更新;旧归档清单仅历史追溯。
4-
> 来源:2026-08-20 清单滚动 + 本次会话 v0.8.0 M1~M4 代码建设
5-
> (提交 7818e90/12c5a13/fcd09c4/b4e7e79/4c44297,1264 单测全绿)
6-
> + 新增代码七维审查即修批次(提交 354dd3d,1265 单测全绿)。
4+
> 来源:2026-08-21 首轮清单滚动 + 本次会话 AI 精修全链路代码建设
5+
> (F0 契约修复 `1845462` · F1-A2 丢图 `897ee96` · F1-A3 成本 `ba9e618` · F1-A4/A5 审计配额 `b6ad051`
6+
> · F2-B1/B2 任务中心 `f06fd7f` · F2-B3 面板 `6e72c5d` · F2-B4 并发 `afca35f`
7+
> · F3-C 协议 v2 `7f575cd` · F3-D 硬拦截 `790f964` · F3-E golden `b75db82`,1294 单测全绿)
8+
> + 新增代码七维审查即修批次(提交 `564dfc5`,1294 单测全绿 + 前端 tsc/build 通过)。
79
810
## 未偿债务(逐笔核验;carried 仅留 ID + 一行摘要)
911

@@ -13,35 +15,40 @@
1315
| TD-2026-08-19-D | image_stream_store 已交付未接线(REQ-110/123/088);本次未涉及,保持 |
1416
| TD-2026-08-19-F | detect_pause_icon 暗底+中央亮内容可能误报暂停;本次未涉及,保持 |
1517
| TD-2026-08-19-G | db_ocr_search 500 会话静默截断 + 图路径不校验存在性;本次未涉及,保持 |
18+
| TD-2026-08-21-A | 存量 clippy 告警 9 个(live_session_persist ×8 + series_detect ×1)——本次未改动文件,环境版本漂移所致;本次新增代码 clippy 已清零(审查确认),保持 |
1619

17-
## 今日已偿(v0.8.0 M1~M4 新增代码审查即修,可经代码/提交验证)
20+
## 今日已偿(本次新增代码七维审查即修,可经代码/提交验证;提交 `564dfc5`)
1821

1922
| ID | 摘要 | 偿还方式 |
2023
|----|------|----------|
21-
| (审查 C1) | ai_client/ai_balance URL 拼接 `trim_end_matches("/v1")` 把默认端点 `https://api.siliconflow.cn/v1` 的 /v1 一并删掉 → 请求打到缺 /v1 的路径 404——测试连接/余额/复核/精修/补充全部网络调用失败,且波及既有 REQ-085 复核(重构后走共享 client) | 只修剪尾斜杠(与 ai_text_filter 原实现一致)+ 提取 chat_completions_url 纯函数 + 防回归单测(chat_url_preserves_v1_segment);提交 354dd3d |
22-
| (审查 C2) | AiRefineCard/EnrichPanel 任务轮询 setInterval 无组件卸载 cleanup——切会话/关面板后 interval 持续 invoke 并对已卸载组件 setState(泄漏) | 两组件加卸载 cleanup(clearInterval + 置空);提交 354dd3d |
23-
| (审查 C3) | run_refine_task 双跑全量 analyze_session_opt(build_rule_draft 结构渲染一次 + 任务取章节/术语又一次)——千段长会话重复 CPU | build_rule_draft_with_analysis 提取(装载+分析一次完成并返回 analysis),apply_note_structure_with_analysis 复用外部分析;提交 354dd3d |
24-
| (审查 C4) | 过期 `#[allow(dead_code)]` 标注:chat_json/parse_json_object(已被 M2/M3 适配器使用)、content_gate(已被命令使用)——豁免过期误导审查 | 移除过期豁免 + 注释更新;enabled_gate 真预留保留;提交 354dd3d |
25-
| (审查 C5) | trim_tasks 容量守卫:终态任务数 < excess 时删不完(并行 Running 占满时 len 持续 > CAP) | 改 while 循环逐删最旧终态,无终态可删即停;提交 354dd3d |
26-
| (审查 C6) | EnrichPanel 动态 import @tauri-apps/api/event(与 AiRefineCard 静态 import 不一致 + 异步竞态窗口) | 改顶部静态 import(与 AiRefineCard 一致);提交 354dd3d |
24+
| (审查 P0-1) | 任务去重粒度过粗:`tasks.values().any(进行中)` 全表检查——会话 A 精修中时会话 B 精修/任意笔记补充被误拒 | `AiTaskEntry` 增 `target_id`,去重按目标粒度(精修=session、补充=note);refine/enrich 同步 + 恢复路径补字段 |
25+
| (审查 P0-2) | 成本拦截与配额消耗顺序错误:先扣配额后拦余额——余额不足被拒时配额已扣(浪费每日额度) | 顺序调整:先 `ensure_balance_for`(失败不扣配额),后消耗配额;enrich 同步 |
26+
| (审查 P1-1) | 采纳无幂等:adopted 标记只在落库后写,异常/重复调用可绕过前端反复建笔记 | 服务端 `is_ai_task_adopted` 前置校验(refine/enrich apply)+ 前端 adopted 任务禁用查看/采纳 + DB 单测 |
27+
| (审查 P1-2) | 落库成本失真残留:`usage_cost` 用旧默认单价(¥0),付费模型预估 ¥X 但落库记 ¥0 | 新增 `usage_cost_for_model`(模型感知单价与预估同口径),refine/enrich apply 改用 + 单测 |
28+
| (审查 P1-3) | 补充任务无单片重试(精修有 SLICE_RETRY)——网络瞬态失败整任务失败浪费已成功片 | run_enrich_task 单片重试 1 次(与精修对齐) |
29+
| (审查 P1-4) | 任务表运行期不裁剪:`trim_ai_tasks` 仅启动时跑,终态任务运行期无限累积 | 精修/补充任务终态落库后调用 `trim_ai_tasks`(保留策略生效) |
30+
| (审查 P1-5) | AiTaskPanel 用 `any` 类型(违反强类型契约);AiRefineResult 前端类型缺 `failedSlices` | 改类型收窄(AiRefineResult/AiEnrichResult 分支);types.ts 补 failedSlices |
31+
| (审查 P2-1) | App.tsx toast 计时器未清理(每事件新起 timer,卸载后残留空转) | toastTimer ref 持有 + 卸载/新事件清理 |
32+
| (审查 P2-2) | 前端未展示部分成功(failedSlices > 0 无提示) | AiRefineCard done 状态显示「部分成功 x/y 片」 |
2733

2834
## 今日新登记 open
2935

3036
| ID | 摘要 | 类型 |
3137
|----|------|------|
32-
| TD-2026-08-21-A | 存量 clippy 告警 9 个(live_session_persist ×8 needless_borrow `&ctx.last_speech_rate` + series_detect ×1 nonminimal_bool)——本次未改动的历史文件,clippy 版本漂移所致;新代码已清零 | 环境变化 |
38+
| (无) | 本次新增代码七维审查:接入性/逻辑性/牵连性/性能/冗余/规范/安全全部通过或即修;无遗留 open | — |
3339

3440
## 观察项(登记不立债,保持跟踪)
3541

3642
| ID | 摘要 | 处置 |
3743
|----|------|------|
38-
| (观察 A1) | ai_enrich_protocol B6 无链接校验用宽松 contains_url(http(s):// 或 www. 前缀)——含 "www" 的普通文本(如"www 是万维网缩写")会被误拒 | B6 语义=仅标题不输出链接,宽松匹配已够;误伤概率极低,保持跟踪 |
39-
| (观察 A2) | AiRefineCard/EnrichPanel 事件监听 useEffect 依赖数组未含 handleState(eslint exhaustive-deps 会提示)——运行时无碍(taskId 变化时监听与回调同步重建) | 保持跟踪;如需零告警可将 handleState 依赖补全 |
40-
| (观察 A3) | ai_refine_apply 落库采用"建规则基线笔记 + versioned_save 精修版"两步——若中途失败(如 usage 落库失败)会留下只有基线快照的笔记 | 单机应用可接受(用户可重跑精修);M5 端到端验收时实测 |
41-
| (观察 1~8 继承) | 2026-08-20 清单观察 8 条(clone 拷贝/结构渲染白算/前端统计卡/AGENTS.md Silero 表述/说话人卡片入口/首启下载/双版面/词级时间戳) | 保持跟踪(观察 1 处置:拷贝已在 spawn_blocking 线程内,消除收益微小) |
44+
| (观察 A1) | ai_enrich_protocol B6 无链接校验用宽松 contains_url——含 "www" 的普通文本会被误拒 | B6 语义=仅标题不输出链接,宽松匹配已够;保持跟踪 |
45+
| (观察 A2) | AiRefineCard/EnrichPanel 事件监听 useEffect 依赖数组未含 handleState(eslint exhaustive-deps 会提示) | 运行时无碍(taskId 变化时监听与回调同步重建);保持跟踪 |
46+
| (观察 A3) | ai_refine_apply 两步落库(建基线笔记 + versioned_save 精修版)——中途失败留下只有基线快照的笔记 | 单机应用可接受;M5 端到端验收时实测 |
47+
| (观察 1~8 继承) | 2026-08-20 清单观察 8 条(clone 拷贝/结构渲染白算/前端统计卡/AGENTS.md Silero 表述/说话人卡片入口/首启下载/双版面/词级时间戳) | 保持跟踪 |
4248

4349
## 关联
4450

45-
- 版本与需求:[v0.8.0 版本文档](../../versions/v0.8.0.md)(M1~M4 已交付,M0/M5 待推进)· [需求池 REQ-138~147](../../product/requirements-pool.md)
51+
- 版本与需求:[v0.8.0 版本文档](../../versions/v0.8.0.md)(M1~M4 已交付 + AI 精修非功能扩展 F0~F3 已交付,M0/M5 待推进)· [需求池 REQ-138~147](../../product/requirements-pool.md)
52+
- 设计文档:[AI 精修非功能扩展设计([ ] 已归档,本日归档)](brainstorming-ai-refine-nonfunctional-rebuild.md)
4653
- 决策:[ADR-016(AI 密钥 DPAPI 存储)](../../adr/ADR-016-ai-credentials-dpapi.md)(当前生效)
47-
- 提交链:M1 `7818e90`/`12c5a13` · M2 `fcd09c4` · M3 `b4e7e79` · M4 `4c44297` · 审查修复 `354dd3d`
54+
- 提交链:F0 `1845462` · F1 `897ee96`/`ba9e618`/`b6ad051` · F2 `f06fd7f`/`6e72c5d`/`afca35f` · F3 `7f575cd`/`790f964`/`b75db82` · 审查修复 `564dfc5`

0 commit comments

Comments
 (0)