Files
STM32F4-Base/.dsh/skills/task-worktree/reference/frontmatter-history.md
T
wandering1 f08b12a46c docs(技能渐进展开): 五个技能正文逐字外置到 reference/,主文只留索引与指针
按「主文留头量、深规程外置」重写本仓技能,全部是逐字搬移:
搬移前断言原文每条非空行必须出现在新主文或 reference 文件里,
0 丢失才落盘;步骤编号一律不重排(正文有「第 12 步」交叉引用);
每个切点保留原小标题 + 索引(加粗引导句与步骤标题)+ 指针行。

主文变化(上限口径 = 插件写侧 65536 字节,见上一笔 skill-size 钩子):
- id-family-semantic-migration 33392 -> 10968(17%),reference 3 篇
- stale-doc-count-sweep 19811 -> 6945(11%),reference 2 篇
- mem-budget 19963 -> 13042(19%),reference 3 篇
- keil-build 12917 -> 8879(14%),reference 2 篇
- task-worktree 72601 -> 28139(42%),reference 8 篇

task-worktree 本笔同时收录另一会话已写完的 C2/D/G 三节正文——那
三处手改与我的拆分落在同一份文件改动里,不可分离;其内容同样已
随 reference/ 外置,主文只剩标题、索引与指针。

外置语料合计 122211 字节 / 30 篇:围栏数逐篇为偶,无 BOM/CR/U+FFFD。
draw-diagram 与 serial-boot-test 脚本是另一会话的在飞改动,本笔未含。

skill-size 钩子在本笔首次真跑(前一笔无 .dsh/skills 文件可触发)。

gate: pre-commit 全绿(doc-links、id-check-new、check-yaml、
      skill-size、check-added-large-files);30 篇 reference 手工字节
      体检 clean;skill() 逐个复载确认加载的是拆分版。
2026-10-29 15:03:12 +08:00

3.5 KiB
Raw Blame History

原 frontmatter(2026-10-29 因超 65536 字节写侧上限而瘦身,原文逐字留档)

本技能正文受 dsh-mnemon 插件写侧上限 65536 字节约束(只在写侧校验,加载侧不查),超限时自进化每次「生成草案」都会被拒、行永久卡在「生成中」。以下是瘦身前的 description / whenToUse 原文,触发词语义更全,写路由时可参考;如需恢复请连正文一起改回并先确认总体积 < 65536。


name: task-worktree description: 多任务并行开发的空间管理(git worktree 生命周期):new 开一棵工作树 + 任务分支、目录联接共享 .venv 与模拟器 SDK、活跃任务硬上限 8 与腾位、build/bench 两类独占锁(含非登记任务占锁后「缺台账」释放不掉的正解)、done 预演合并回主干、主工作树被别的并发会话弄脏时的手工合并路径(取证 → merge-tree 预演 → merge --no-ff -F → 外部改动 blob id 前后对账 → C2 节)、门禁未全绿的补基线收尾、并集合并残留审计、任务树内门禁与审计输出的落点(<tree>/ci-artifacts/ 先 mkdir -p;文档链接按单文件在树内跑、全库 --all 基线合并后在主树跑;simulator/SDL2 联接假红 → G 节)、非登记工作树(detached HEAD / 无台账 / 树内有在飞或未跟踪内容)的安全回收(逐文件内容分桶 + 联接/reparse 预扫 + 唯一残留先备份再 --force + 悬挂台账清理复验),以及把仓外 detached worktree 当净室测量仪——门禁指标异常增长时一次只注入一份在飞文件、与基线差分做逐文件归因;以及与 DSH worktree 插件(/worktree、模型工具 worktree_create,树在仓内 .dsh-worktrees/)的桥接——plugin adopt 补共享联接、锁归属 pw:<name>、回收仍归 /worktree。规格见 docs/环境与部署/并行任务工作树方案.md。 whenToUse: 要同时推进多个任务、担心同分支同文档互相冲突;要为新任务开一个隔离空间;要把任务合并回主干;或遇到 new 报「已有 8 个活跃任务(上限 8)」、lock release 报「任务 X 不存在(缺台账)」、done 报「门禁未全绿:工作树与分支保留,未清场」、或 done 报「主工作树不干净」而那份未提交改动是别的会话/插件留下的(不能提交也不能丢弃 → C2 节手工合并)、两个任务抢 COM6 / UV4、"改了文档被覆盖"、并集合并残留时;或要在任务树里跑文档/审计门禁——--all 报一堆问题却全在 simulator/SDL2 联接下、或往 ci-artifacts/ 写输出报 ENOENT / No such file or directory(→ G 节);或门禁指标异常增长(如 id-check 的不可判定数从 1,162 涨到 1,178、+16)却查不出是哪个文件 / 哪条任务道造成的、主工作树压着多条在飞改动而不许 stash / 提交 / 改门禁脚本、要按 HEAD 基线只读出像验收时;或要回收 @task list 里根本看不到的工作树(git worktree list 有它、台账没有 / detached HEAD / 树里疑似留着别的会话的在飞或未跟踪内容)、或要清台账里 branch / path 都已不存在的悬挂条目(@task list 输出发怪、new 报「任务已存在」或白占 8 个名额之一);或这棵隔离空间是 DSH worktree 插件开的(会话选了「Worktree模式」/ /worktree create,树在仓库内 .dsh-worktrees/)——进去发现 .venv 不在、@build 与门禁全部起跑失败,或想看清谁在占 UV4 / 台架 → F 节。