Skip to content

chore(deps): bump actions/checkout from 4 to 7 - #14

Closed
dependabot[bot] wants to merge 468 commits into
devfrom
dependabot/github_actions/actions/checkout-7
Closed

dependabot[bot] wants to merge 468 commits into
devfrom
dependabot/github_actions/actions/checkout-7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 2, 2026 •

Copy link
Copy Markdown

Bumps actions/checkout from 4 to 7.

Release notes

Sourced from actions/checkout's releases.

v7.0.0

What's Changed

New Contributors

Full Changelog: actions/checkout@v6.0.3...v7.0.0

v6.1.0

What's Changed

https://github.blog/changelog/2026-06-18-safer-pull_request_target-defaults-for-github-actions-checkout/ for more details about this breaking change

Full Changelog: actions/checkout@v6.0.3...v6.1.0

v6.0.3

What's Changed

New Contributors

Full Changelog: actions/checkout@v6...v6.0.3

v6.0.2

What's Changed

Full Changelog: actions/checkout@v6.0.1...v6.0.2

v6.0.1

What's Changed

... (truncated)

Changelog

Sourced from actions/checkout's changelog.

Changelog

v7.0.1

v7.0.0

v6.0.3

v6.0.2

v6.0.1

v6.0.0

v5.0.1

v5.0.0

v4.3.1

v4.3.0

v4.2.2

v4.2.1

... (truncated)

Commits

semantic-release-bot and others added 3 commits August 2, 2026 08:49
## [0.34.0](v0.33.1...v0.34.0) (2026-08-02)

### ✨ 新功能

* **assistant:** add AI deep-sea companion MVP — chat, proactive triggers, TTS, jellyfish avatar ([59ce053](59ce053))
* **classroom,feynman:** local ASR IPC groundwork, AI error retry, nginx health timeout ([2df5044](2df5044))

### 🐛 缺陷修复

* **ai-gateway:** register chat_router before streaming_router to avoid wildcard route shadowing ([1f97a54](1f97a54))
* **assistant:** inject authToken and userApiKey into chat IPC call — resolves 401 ([4a188b5](4a188b5))
* **notes:** AI 摘要/闪卡使用完整文本,列表预览保留 120 字截断 ([68cd9f8](68cd9f8))
* **sync-service:** add GetRedis() accessor — resolves undefined cache.GetRedis build error ([506db0a](506db0a))
…consolidation

- Add streaming ASR service with Sherpa model streaming support

- Add speech normalizer/streamer and TTS handler for assistant

- Refactor all AI handlers to unified gateway HTTP/stream transport

- Simplify ai-gateway auth middleware and rate limiter

- Add AsrSettingsSection UI; remove legacy apiKeyManager

- Update CSP policy, preload bridge, classroom capture hooks

- Add server db-backup/db-restore scripts; update docs
…eway hardening

- Add microphoneProvider and audio-chunk-processor for capture pipeline

- Add useRetentionInit, useLearningProgress hooks and FSRS test

- Refactor captureManager, smartCaptureController, vadMarker, outputDeviceMonitor

- Harden ai-gateway fallback timeout and provider limits config

- Add website legal pages (privacy/terms), OG image, versions.json

- Add dependabot config, rollback script, stream fallback timeout test

- Update electron-builder, docker-compose.prod, release workflow

- Add v0.34.0 version docs
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code labels Aug 2, 2026
A1 情绪感知分级干预: behaviorMetrics 行为信号采集与三级模板规则

A2 语音对话闭环: useVoiceInput 拾音链路 + ChatInput 麦克风交互

A3 微进展叙述者: 网关 progress_narrative chain/router + Electron handler + 周统计聚合与离线降级

A4 实施意图教练: schema v6 implementation_intentions + 仓储 + 启动仪式 intention 步骤 + 定时提醒

A5 认知负荷监控: cognitiveLoad EMA 评估与 overload 事件规则

F2/F4/F5: 黄金错误周报、错误模式分析、中断恢复包; 仪式跳过菜单与杂项修复
A4: 意图无完成入口导致每4h无限循环提醒+队头阻塞——每条意图至多提醒一次(localStorage持久化), findDueIntention 支持排除已提醒ID

A3: 叙述增强异步竞态守卫——仅当气泡仍在展示本规则时才覆盖, 不抢占已展开面板; 启动时叙述延迟8s展示避免瞬间覆盖问候, 延迟期间用户关闭气泡则放弃

A4: 提醒时刻已过顺延到明天, 避免创建后立即提醒
内测缺陷修复:
- fix(assistant): 学伴消息有概率发不出——chat 限流 20→100、chat 豁免全局
  daily_total、getAuthToken 增加 token 过期主动刷新、语音文本流式中回填输入框
- fix(notes): 切换标题(字号)后保留 textAlign,避免重置排版
- fix(notes): 光标在表格内拦截 insertTable,杜绝无限嵌套表格
- test(notes): 新增 EditorToolbar 回归测试 4 例

创新功能增强(与修复文件存在耦合,一并提交):
- feat(ai-gateway): 新增 quiz_gen/content_tier/conflict_detect/concept_precheck
  四条链路、路由与提示词,并注册限流映射
- feat(notes): 笔记健康度指示器、内容分层弹窗、迷你测试、合书测试、概念冲突检测
- feat(feynman): 概念预检卡片、录音器、知识图谱页
- feat(flashcards): 恢复包面板(RecoveryPack)
- feat(pomodoro): 锚点提醒、能量建议条、节奏引擎
- feat(website): FAQ 页面与导航/页脚更新

验证:客户端 vitest 731/731、tsc+vite 构建、oxlint 0 errors、网关 pytest 181 passed
资源泄漏与竞态(费曼录音器):
- fix(feynman): 启动中途卸载/ASR 抛异常时回收麦克风采集,杜绝残留占用
  阻塞其他音频功能(startingRef + captureStarted 双保险)
- fix(feynman): startingRef 同步上锁防双击重复启动(监听器泄漏/文本重复)
- fix(feynman): stop 先 await ASR flush 再退订,最后一段转写不再丢失
- fix(feynman): playbackUrlRef 修复卸载闭包捕获 stale null 导致的 URL 泄漏
- feat(feynman): 录音 10 分钟时长上限,防止 PCM 内存无限增长

数据正确性:
- fix(flashcards): 恢复包记忆回响改用 TipTap JSON 递归提取纯文本
  (原 HTML 正则对 JSON content 无效,AI 收到 JSON 噪声)
- fix(ai-gateway): 5 条新路由 fallback 空结果不再写入 Redis 缓存,
  避免一次解析失败导致该请求 1 小时内持续静默失效
- fix(feynman): 苏格拉底薄弱点写入独立静默失败,笔记已落库后不再
  误报保存失败(原逻辑重试会创建重复笔记)
- fix(flashcards): 恢复包 totalDue 统计全部到期卡,与 UI 文案一致

体验修复:
- fix(pomodoro): 锚点提醒计时器在会话停止时重置,下一个番茄不再
  立即触发提醒;专注场景锚点生成静默(不播放音效)
- fix(feynman): 概念网络图禁用无效的受控节点拖拽
- fix(feynman): 预检卡关闭条件移入 AnimatePresence 以播放 exit 动画;
  dismiss 记录改存时间戳并在超 100 条时淘汰最旧
- fix(notes): 复制核心概念失败时给出错误提示
- refactor(notes): extractText 提取为共享工具 extractNoteText

验证:客户端 vitest 731/731、tsc+vite 构建、oxlint 0 errors、网关 pytest 181 passed
- 全部 AI handler 首行以 requireText/requireArray 校验入参,缺参/错型前移为带字段名的可诊断错误,避免主进程裸 TypeError 与无效云端请求

- 新增 jsonParse.ts 宽松解析(直接解析→围栏提取→大括号截取三级策略),本地小模型输出围栏/解释文字时不再误降级到云端,守住本地优先承诺
- EndpointLoopbackProvider/audioCapture 启动路径加同步互斥锁,堵住守卫与状态翻转间的 await 空隙,防并发双启动

- video_record_stop 先同步取引用并置空再 await,双停/新旧录制交替时不再误 dispose 或崩溃

- screen_capture_start 防抖顶替旧请求时显式 settle 旧 Promise,避免渲染层 loading 态永久卡死

- VideoRecorder 写流监听 error 事件,磁盘故障时优雅停止并通知渲染层,不再未捕获异常崩溃主进程
- 新增 pomodoroScheduler 全局调度器(App 启动注册),tick 驱动与页面生命周期解耦,切离页面倒计时不停摆
- store 引入 endAt 墙钟截止点,tick 与墙钟误差 >1s 时吸附校准,休眠唤醒/interval 漂移后自愈(附单测)
- 沉浸/普通切换改为视图状态机串行过渡:两个独立 AnimatePresence 实例间 mode=wait 无效,此前双视图叠加约 0.6s 双曝光残帧
- 附知识库 bug 复盘文档
- flyTo 增加注视点参数,飞行期间朝向同步转向目标;此前只插值位置不改朝向,叠加 docked 渲染冻结导致停靠后视角错位、正对空白
- 相机飞行统一由相位迁移响应式驱动,覆盖 3D 点击/数字键/路由同步全部入口;点击入口记录行星实时坐标防公转漂移
- 新增 LoopResumer:frameloop 从 never 切回 always 时显式 invalidate 唤醒渲染循环,修复多次切换后画面永久冻结
- 停靠延迟下限 clamp 到 700ms(飞行 600ms),防静谧档飞行中途冻结相机停在半途
- exitModule 清除悬停态;isActive 结合相位判断,Esc 退出后不再残留选中视觉
- 附知识库 bug 复盘文档与索引更新
- AppLayout/Step5ExitDemo 改为逐字段 selector 订阅 OrbitalStore,避免 hoveredModule 等高频字段变化连带重渲染整棵布局树
- NoteEditPage 弃用 useShallow(s => s) 整 store 订阅;健康度文本改为 1s 防抖 + 面板打开时惰性取快照,键入路径不再每键触发 457 行整页重渲染
- processQueue 增加消费互斥锁,防止启动消费与 online 事件消费并发进入导致同一请求重复上报
- 启动时恢复卡死在 processing 状态的记录(回置 pending),防止应用中途退出造成数据静默丢失
GLM 免费 flash 模型输出上限 1024 tokens,超限会被 API 参数校验直接拒绝,
导致 Qwen 限流降级到 GLM 时 fallback 链在最需要兜底的时刻断裂;
generate_chat 入口对 flash 模型统一 clamp,与 generate_vision 行为对齐。
- ai-era-survival-positioning.md:第一叙事「记忆主权与本地世界」,三层防御纵深,Foresight立项三问过滤器;与既有竞争力战略文档互补衔接
- entropy-visualization-constitution.md:单范式「万物趋于无序,而你在此造序」,核心映射表/焦虑防线/签名时刻/性能预算/叙事层叠加(潮汐/沉积/旁白),已裁决批准
- mcp-learning-memory-interface.md:P2战略项接口清单草案(8个只读工具,默认关闭,本地stdio,焦虑防线传导)
- worldState.ts:retention引擎数据→世界信号集纯函数派生(vitality/mist/depthNorm/firefly/warmth),宪法边界硬编码:雾上限0.4、关闭留存→纯净亮度映射、冷启动=未点亮混沌、辉光域0.6-1.15无惩罚性暗淡
- useWorldSignals.ts:细粒度selector订阅hook,帧率敏感场景防连带重渲染
- worldState.test.ts:7用例覆盖宪法§1/§5/§7关键约束
- ModuleEntity/SpatialNav:深海实体辉光=交互态基值×世界活力(珊瑚健康度),宪法第一条映射表首次落地
- useWorldEvents:世界事件总线,复习/掌握时刻发射秩序波纹,业务层与世界层解耦
- ChaosMist:遗忘可视化——雾强度由 mist 信号驱动(白化珊瑚占比,封顶0.4),程序化径向渐变纹理,high/medium漂移、low静态,关闭留存自动隐去
- OrderRipples:复习即时正反馈——起源锚点扩散光环,同屏上限3道,reduced-motion降级静帧闪烁
- DeepSeaWorld 接入熵可视化层;useWorldSignals 增加 useShallow 细粒度选择器变体
- useStudySessionStore.rateCard 接线:任何评分都是一次对混沌的推退(含Again,零负向语义)
- SignatureMoment:全产品唯一一级时刻——静默(1.5s)→事件(4.5s星亮+波纹)→余韵(2s),Esc/点击可打断(觉察原则),reduced-motion静帧版,achievement_unlocked音效
- useWorldEvents 扩展 signatureSeq/signatureConcept 事件通道
- useFeynmanAI 双挂载点接线:单次评估 overallScore≥75 与追问评估 understandingScore≥7.5 均视为概念掌握
- App.tsx 全局挂载(与 DiscoveryReveal 同级,仅事件发生时渲染DOM)
- computeCurrentStreakFromCorals:从珊瑚种植日期派生连击(与DashboardPage口径一致),useWorldSignals接线warmth真值,新增3单测(共10)
- TideBreath(叙事层C):番茄钟运行=涨潮——荧光点光增亮脉动+潮线升起,停止=退潮回落;熵的呼吸,reduced-motion跳过脉动
- StrataField(叙事层D):累计专注=海床沉积地层(珊瑚记录数→层数,上限8层),最新沉积带辉光,白化不减层(可逆原则),静态网格零帧耗
- DeepSeaWorld挂载叙事层C/D
- 世界数据回路:深潜完成→plantCoral(此前无调用方,珊瑚/地层/活力数据自此真实生长),动态import防循环依赖
- useFirstDiveStore:首潜全部完成触发创世版签名时刻(宪法第三条§5)
- SignatureMoment 增加 genesis 变体:「第一颗星,亮了——从这次首潜开始,这个世界开始记住你」
- WorldConditions + RitualComplete 接线:仪式收尾展示「今日海况」一句话世界叙事(宪法第六条,仪式成为世界的每日开场),焦虑防线措辞,留存关闭时隐去
- 三套演出变体随机重奏(宪法第三条§1可变比率,对抗多巴胺适应):
  star 孤星亮起+秩序波纹(默认)/ trinity 三星连线(知识成网)/ bloom 光尘上浮(秩序开花)
- 每次签名事件随机选取变体,reduced-motion 各变体均静帧可用
- mcpMemoryServer.ts:stdio MCP Server 独立入口——授权标记门禁(无consent即拒启)、只读打开keban.db、调用留痕memory-server-access.log、零网络监听
- mcp/memoryQueries.ts:8个learning_memory.*只读摘要查询(profile/mastery/review_candidates/focus_stats/streak/discoveries/recent_sessions/world_state),粒度上限100、焦虑防线传导(零倒计时、朦胧档位表达)
- 宿主以ELECTRON_RUN_AS_NODE方式启动(原生模块ABI兼容),接入配置写入接口文档§八
- discoveries/world_state精确态为派生占位(珊瑚/发现存于渲染进程IndexedDB),跨进程接线列入后续批次
- memoryServerConsent.ts:设置页授权开关IPC(读写memory-server-consent标记文件,标记仍是唯一事实源),main/preload白名单接线
- MemoryServerSection:数据与存储页授权卡片,开启前披露将被读取的记忆清单,关闭即撤销
- world_snapshots表(schema v7)+白名单登记:渲染进程retention数据→sqlite的跨进程桥
- useWorldSnapshotSync:订阅珊瑚/发现store,防抖2s upsert快照行(失败静默)
- memoryQueries:discoveries/world_state优先读快照精确态,无则回退派生值并标注provenance
- WorldSoundscape:双世界环境底噪(深海=雨声/穹顶=麦浪风声),音量0.12淡入淡出、后台自动静音、外观设置可开关(默认关)
- FatigueEmpathy:连续深潜未真休息达阈值时弹出觉察式上浮建议——休息时长口径判定真休息(skip不重置),零负向语言可忽略
- WorldRecap:每日首次打开展示6秒世界生长摘要(珊瑚/深度/发现日间增量),跨日基线结算,零增长温柔文案
- fatigue.ts纯函数规则层+单测(阈值/真休息比例/无效值守卫)
- App全局挂载三组件;宪法进度更新为P2完成
Aparencia and others added 24 commits August 15, 2026 22:57
- 审验报告:五域(ASR/视觉/公式/课程识别/热词)现状盘点 + 市场基准 + 差距矩阵 + 成熟度评分 3.2/5 + UX 场景光谱分析
- 升级设计:P0 止血(离线ASR重复/CPU/准确率修复 + Silero VAD + 置信度 + 评估基线)→ P1 核心质量(两遍重打分/动态热词/修正回写/说话人分离/中英混说/技能场景感知)→ P2 差异化(本地OCR/公式引擎/版面/步骤化笔记)
- 调研底稿:ASR 技术与 OCR/视觉技术市场 2025-2026、竞品识别机制分析
- P0 七任务细化到 Step 粒度(评估基线/Silero VAD/置信度/离线ASR重复与CPU修复/准确率即时/统计面板)
- P1 九任务(重打分/动态热词/修正回写/说话人/混说/技能场景感知/补帧/漏捕/截图流)
- P2 八任务(本地OCR/公式引擎/版面/VLM增强/区域监测/步骤化笔记/复习联动)
- 里程碑 M-P0/P1/P2 与验证门禁、风险清单
- eval.mjs:--self-test/--file/--cloud/--local 四模式,聚合 CER 与热词命中率报告
- lib/cer.mjs:编辑距离 CER(中文逐字/英文按词,全半角归一化,滚动数组内存优化)
- lib/hotwordHit.mjs:术语命中率(含替换纠正命中、notInRef 剔除口径)
- corpus/README.md:10 节课语料规范(清单入库、音频不入库)
- docs/asr-eval-baseline/BASELINE-2026-08-16.md:算法自检与基线记录框架
- 主进程 sileroVadService:onnxruntime-node 跑 silero_vad_v5(有状态流式),IPC vad_silero_process 返回语音概率;模型从 node_modules 包内读取(dev/asar 均可用),加载/推理失败静默降级
- 渲染进程 IpcSileroVad:在途合并(保留最新块)、概率时间戳缓存、不可用降级;注入式 SileroProbSource 接口
- VADMarker 集成:噪声抑制(暂存-确认两段式,语音开头不丢)+ 静音复核(低能量语音尾推迟分段,3000ms 上限防拉长)+ reset 联动
- smartCaptureController:创建概率源/双喂/释放接线
- 选主进程 onnxruntime-node 而非渲染 onnxruntime-web:规避 file:// 下 wasm/worker/COI 坑(2026-08 AudioWorklet 事故教训)
- 新增 24 例单测(噪声抑制/静音复核/推迟上限/合并/降级)
P0-4: 端点规则调优(rule2 静音1.2s→2.0s、minUtteranceLength 8→10)+ 跨final重叠去重 + 跨标点两字词重复压缩(确认语白名单)+ flush尾句去重

P0-5: 线程数默认min(4,cpuCount)上限8 + 静音块隔块喂入 + 非16kHz前置阻断

P0-6: AI课程识别术语动态热词注入 + local_asr_stream_set_hotwords(下一断句重建流生效)+ P1-1重打分接入点标注
网关: transcribe 置信度估算(文本长度基线0.7渐近0.95/fallback 0.3);vision 截断标志透传且置信度减半

本地: estimateAsrConfidence(清洗前后长度比代理信号);流式final/flush与按段转写均携带confidence

UI: UnifiedTimeline 低置信度(<0.55)弱化+角标;LiveTranscript/TranscriptEntry 增加confidence字段
P1-6: 规则分类器(标题关键词优先/转写证据投票/讲座场景优先于软件)→ 技能类采样参数收紧(阈值0.05/间隔5s);SmartSampler.setConfig 运行中调参

P1-7: hasCommandCue 指令模式检测 → SmartSampler.forceNextCapture 强制补帧(1s节流/哈希去重仍生效)

P1-9: UnifiedTimeline 最近6帧截图缩略流(识别过程可见)

新增 22 例单测(分类契约/参数驱动/强制补帧/setConfig)
P1-2: 视觉提取concepts术语注入会话热词(extraction:completed)+ 流式热词IPC同步

P1-3: 编辑修正差异提取(公共前缀/后缀剥离)→ 会话内立即生效 + 词库去重持久化(课程维度绑定)

P1-8: 指令句后3s无新帧漏捕提示 + C键手动补截快捷键
config/modelManager: 新增 rescore 模型定义(SenseVoice int8 ~230MB),旧模型清理移除 SenseVoice 目录,双引擎下载/删除/状态

sensevoiceRescore: 非流式识别器懒加载 + pickRescored 一致性择优(Jaccard>=0.35 采用重打分,差异过大保留流式原结果)

接入:按段转写与流式 final 均句末重打分(句音频累积含静音尾);重打分通过置信度提升至 >=0.85

设置页:开关收紧为流式主模型就绪(rescore 不能单独转写);模型列表自动展示双模型
P1-4: 转写行说话人循环标注(无→A→B,飞书式重新识别),audioSegments 同步 speaker 供课后分析消费

P1-5: spike 结论落盘(本地 zipformer 双语模型混说已具备,缺口是基线验证与混说语料);设置 UI 混说说明
stepExtractor: slide_change 边界切分 + 指令句聚合(1s 时序容差)+ 代表性截图选择;checklist/闪卡问答转换

StepFlowView: 步骤卡片流(截图+说明+时间戳)+ 练习模式(隐藏说明翻卡对照)+ 跟着做 checklist + 闪卡导出

SessionContentView: 技能类会话时间线/步骤卡片视图切换(首次检测自动切步骤)

新增 8 例单测(边界切分/容差/兜底/截断/转换)
ExtractionResult/ScreenshotData 增加 capturedAt/timestamp;VisionWorker 透传截图采集时刻;融合对齐用采集时刻而非处理完成时刻(与 ASR 句级时间戳同一时间基准)
ocrService: PP-OCRv5 模型就绪检测 + local_ocr_recognize IPC + 降级契约(recognizeLocal 待模型环境联调)

visionWorker: 本地OCR优先分支(可用时返回文本草稿,失败静默降级云端VLM零回归)

集成文档: 模型获取/推理联调清单/公式引擎/版面/VLM分类/区域监测安全评审路径
审查修复: SmartSampler 字段方法同名冲突(高)/ 漏捕检测定时器卸载清理(中)/ vadMarker 与 UnifiedTimeline 回 300 行内 / 形态3 单字灌水留给幻觉过滤 / 单字修正允许入库

审查报告: docs/knowledge/solutions/2026-08-classroom-recognition-review.md(六维复查+发现修复记录+遗留观察+门禁复核)

计划状态: P0/P1 全部完成、P2 按交付口径完成、实施偏差记录
ocrPipeline: DB二值化0.3/2x2膨胀/8邻域连通域/AABB框+外扩补偿/box score 0.5/CTC greedy(12例单测)

ocrService: 模型自动下载(ModelScope官方源+进度广播+原子改名)+ 会话懒加载 + nativeImage解码 + 识别管线;recognize/download/status 三IPC

visionWorker 本地优先分支启用(模型就绪时离线可用,失败降级云端VLM)

联调验证:熵减学习助手(0.993)/本地OCR测试2026(0.995);关键决策:ppocrv5_dict专用字典(18385通道)/det全分辨率输出/AABB简化minAreaRect
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/github_actions/actions/checkout-7 branch from 1a60fc3 to 587a3cc Compare August 16, 2026 14:08
@Aparencia Aparencia closed this Aug 21, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 21, 2026

Copy link
Copy Markdown
Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/github_actions/actions/checkout-7 branch August 21, 2026 03:19
Aparencia added a commit that referenced this pull request Sep 13, 2026
依据 = 计划 Task 21 卡 Step 1–5 + §C6.3(六件)+ §C9.10(逐字对照)+ §C4.3 / §C11.1 / §C11.4 / §C7.3 / §C9.1 / §C16.2。
形态 = **原文 + 就地加注**(保留历史原文,只加注)⇒ 本提交 **+24 行 / −0 行**,**没有任何 `-` 行**(V2 判据)。

【逐字对照:改了哪几行 / 原文是什么(改前原文逐字 = 改后仍逐字在文件里)】

1. §10 批 7 行(`:722` 时点锚 ⇒ 现 775)—— 原文(保留):
   「…**`structuredBlocks` 整模块存废**(批 1 控制方裁决:接线…**或**删除…二选一,**批 1 未决前不得删**) | **标签能写进去**;**档位选完真生效**;**`structuredBlocks` 已作出接线或删除的明确裁决**」
   加注(新):批 7 收口就地加注 = 逐导出裁决(第三条路)明文授权(① `escapeHtml` 只摘 `:11` import + `:13` 再导出 · ② `renderLatex`/`renderMarkdownTable` 删 · ③ `lowConfidenceClass` 留 + 加宽 ≥2)+ 另三处实测落位(12 条补 UI 实做 10 条 · registry 净值 311 · 撤下 3 条保留函数体的形态)。

2. §11-7(`:824` 时点锚 ⇒ 现批 1 进度注)—— 原文(保留):
   「…删除后复算 = registry 312 / 前端零引用 **25** 条(= 47 − 22,逐条与上列归属一致)。」
   加注(新):批 7 收口注 = registry **313 → 311** · 前端零引用 **24 → 11**(实测;口径与仪器、正控 68 / 负控 0 一并给出)+ 差额分解(−10 补 UI + −3 撤下)+ 新命令 `remember_video_profile_tier` PROD 2 不计入 + 残留 `update_fragment_group` 仍零引用。

3. §12「3 套 markdown 渲染器归一」行 + 批 5 加注之后(`:864` / `:870-875` 时点锚)—— 原文(保留):批 5 加注整块,含『`structuredBlocks.ts`(第 5 套、**无生产消费者**)』。
   加注(新):批 7 去向终态 = 已完成归一(`utils/markdownLine.ts` 100 行 · `ChatMessageMarkdown` 并入后删除 · 站点 2 → 1 / 插件站点 8 → 4 · 终态 2 套活)+ 🔴 逐字句「**归一 = 逻辑归一;观感统一未做,归批 8**」+ 🔴 **补登规格加注漏点**:第 4 套活渲染器 `components/NotePreviewView.tsx:40 renderMarkdown`(开工 346 行 / 终态 364 行;T16 `6509e04c` 已补表征测试)+ 残余(两处页内 seek 未接 ⇒ 批 8)。

4. §9 表内三处状态更正(#14 `kb_search` / #30 `video_profile_spec_by_kind` / #46 `update_fragment_group`;锚在表末 #47 行之后,**以免块引用把 47 行表格截断**)—— 原文(保留):三行表体原文一字未改。
   加注(新):#14「补 UI(本批)」批 3 Task 12 已交付(`b567f0e6`,T21 实测 PROD 1)· #30 **角色变更登记**(并行真源 → 离线降级路径;两张映射仍在、仍有生产调用点)· #46 记录同步批 1 已做,**但 T21 实测「接线」那一半未做**(全 `app/src/**` 含测试 0 命中,仍在 registry)⇒ 登记批 8 输入。

5. §9「删除的通用影响面」(`:694` 时点锚 ⇒ 现「**删除的通用影响面**:仅 `lib.rs` 的 `generate_handler!`…」)—— 原文(保留):整句。
   加注(新):就地更正 = 注册清单已搬到 `app/src-tauri/src/app_commands.rs`(批 0-C3),`lib.rs` 已无 `generate_handler!`;T21 实测该文件含 311 条目 ⇒ 原判断(影响面 = 注册清单一处)成立,只是换了文件。

【门禁读数(串行,工作树)】
- `node scripts/docs-check.mjs` ⇒ exit 0 ·「扫描 281 个 Markdown 文件(检查 181 个)」五项全 ✅(与批 7 工作树基线 281/181 逐字一致;本提交**未新增/删除 `.md`** ⇒ 扫描数不变)
- `node scripts/line-limits.mjs --full` ⇒ exit 0 ·「>600 硬限 0(棘轮内)· 301–600 档 121 · 登记条目 121」(`docs/**` 不在行数门禁域)
- `git diff --numstat -- <规格>` ⇒ **24 / 0**;`git diff` 的 `^-` 行数 = **0**(V2)
- 规格行数(`countLines()` 口径):**998 → 1022**

【诚实边界】
- 批 7 的**完整逐字对照表**另见 `task-21-report.md`(gitignored);本提交的 durable 形态 = 「原文保留在文件里 + 加注」⇒ 对照可复算。
- 三处 §9 注**放在表格之后**(而非各自行后):块引用会**截断 Markdown 表格**,而后 17 行原文一字不许改 ⇒ 只能整表之后就地注;注文逐条点名所属行号。
- `update_fragment_group` 的「接线那一半」**未做**是**实测发现**(不是卡里的预期),已逐字登记;**不得**读成「本批 12 条补 UI 已全部接线」。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants