- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次) - .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…), 目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪 - .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/) - .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*) - .gitignore 补:备份件(*.bak-*) - 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
11 KiB
接续包 · 规则载体压缩(2026-09-24 16:5x)
工作区:
E:/ProgramData/AIProject/ai1net-dsh-server线名:规则与载体线(承接「提问规则加固」+「A 案落地」两段) 建包会话:本轮(收口时建,上下文 32 万触发强制收口) 本包地位:本线唯一依据。开工先读 §4(关键决定),再按 §5 第 1 条开工;§2 只读不动。 ⚠️ 本包不自述 md5(自述即自指)⇒ 校验值放 automation prompt。
§0 一页速览
| 项 | 内容 |
|---|---|
| 目标 | 把各工作区规则载体压进 host 的 8000 字符注入窗口:必要内容留实体,其余转引用(= MEMORY.md 的分层法) |
| 为什么 | host 只加载第一个存在的规则文件,且单文件封顶 8000 字符;实测本工作区 12 个章节仅 4 个进模型(红线表 / 提交边界 / 环境要点 / 事故事实从未注入) |
| 本棒范围 | 先做本工作区(CODEBUDDY.md 23,756 字符 → 目标 ≤ 8,000);desktop 同类问题另列(别的工作区,需先取得口径) |
| 红线口径 | 用户问「红线能否精简」⇒ 能:判据表(约 1,000 字符)留实体,解释段/历史/案例(约 2,270 字符)转引用。⛔ 不得把红线整表降级为纯指针(项目既有硬口径) |
| 验收 | 压缩后 CODEBUDDY.md ≤ 8,000 字符 + 11 条红线逐条可寻址 + 原有判据一条不丢(逐节对照) |
§1 目标(用户原话,⛔ 不得改写)
「应该参考 memory 的方式,保留必要内容,其余用引用的方式,红线内容能否精简」
拆成三条硬口径:
- M1:参考
MEMORY.md的分层法 —— 判据 =「不看会不会违规/事故?会 ⇒ 写实体;只"更慢更绕" ⇒ 给指针」。 - M2:其余用引用(指针必须给绝对路径 + 章节号,⛔ 不复制对方正文)。
- M3:红线可精简 —— 但见 §4-1(实体/引用的分界)。
§2 已完成(本线前两段,全部有实测取证 · ⛔ 不要重做)
- 提问规则已落地 5 处(复核值 = 规则在主文件内的字符偏移,< 8000 才算真生效):
aliyun-dsh-server3,087 |dsh-ai1net-desktop1,765 |dsh-decision-laya1,555 |dsh-plugin-carbon2,747 |dsh-plugin-forge3,156 —— 5 处全部在线内 ✓。 落法:carbon / forge 追加;decision-laya 升级主文件内已有子节;desktop 合并进 §1。 - 载体机制实测三条(
app.asar·project-context-section.ts现读,原文已在今日日志): ① 只认工作区根下CODEBUDDY.md/.codebuddy/CODEBUDDY.md/AGENTS.md(path.join(cwd,…),无 home 级); ② 🔴 取第一个存在者(return在循环内)⇒ 主文件在时.codebuddy/CODEBUDDY.md永不加载; ③ 单文件封顶 8000 字符(按字符、非字节),超出即截断。 - 两个死载体已撤(我按错误假设建的
.codebuddy/CODEBUDDY.md)⇒ 移入归档/规则A-备份-20260924/DEAD-CARRIER__*,可原样搬回。 - 旧路径修正:
AI技能→AIProject,desktop 3 处 / carbon 2 处 / forge 3 处,残留 0。 - 红线表可压缩性已量化(§3 共 3,271 字符):
| 部分 | 字符 | 主张 |
|---|---|---|
| R1–R6 + R7 + R8/R9/R10/R11 的判据行 | ≈ 1,000 | 留实体(每条一行:禁令 + 判据) |
| R7-边界 解释段 | 698 | 转引用 |
| R10 解释段 | 737 | 转引用 |
| R9 解释段 | 433 | 转引用 |
| R11 解释段 | 368 + 69 | 转引用 |
| R8 解释段 | 258 | 转引用(⚠️ 内含用户 09-13 口径修正,须逐句判) |
§3 在途 / 未完成
- §3-1 本工作区
CODEBUDDY.md压缩式清理 —— 23,756 → 7,905 字符(−67%)✅ 目标 ≤8,000 达标|章节 11/11 全在注入窗口内(§10 已并入 §9)|红线 11/11 + R7-边界行 · 指针无悬空 · 完好性全过。 三段处置:① 第一棒 = 分层探路 + 建引用件;② 第二棒 = 零风险去重复表述(−283;11/18/24 三档阈值 + 跨文件全扫已做尽);③ 第三棒 = 用户拍板「A + B」(§7 §8 转分层引用)+ 该精简的一并处理(§2 / §6 / §9 表述收紧 · §10 并入 §9 · 头部 meta 去重 · §7 §8 压成速查行)。 ⚠️ 未丢判据:§7 / §8 正文原样存于引用件 §D / §E,§9 / §10 存于 §G + §H(压缩前全文)。 - §3-2 desktop 压缩(13,938 → 14,526 字符,§9–§11 线外)—— 别的工作区,动手前先确认口径(用户「按 A 处理」授权的是加规则;压缩改写其规则正文是另一档)。
- §3-3 红线引用件落点:建议
docs/或dsh-server-docs,须给绝对路径 + 章节号(M2)。 - §3-4 与
docs/规范/(文档库 01-规范)是否重复 ⇒ 动手前先查,⛔ 不造第二份正文。
§4 关键决定(已定项,⛔ 别推翻重来)
- 红线实体/引用分界(本轮自决,可推翻):判据行留实体(禁令 + 触发条件 + 最易误用的一句边界),解释段 / 历史 / 实证过程 / 案例转引用。⛔ 依据 = 项目既有硬口径「§3 红线 R1–R11 全表以实体形式常驻,不得降级为指针」—— 本决定不违反它,只压缩表述。
- 分层判据一律照抄
MEMORY.md那条:不看会不会违规/事故?会 ⇒ 实体;只更慢更绕 ⇒ 指针。 - 载体只能用第一个存在的那个文件:⛔ 不得新建
.codebuddy/CODEBUDDY.md当"第二块额度"(已实证为死文件)。要加规则 ⇒ 必须落在前 8000 字符内。 - 压缩属"改写规则正文" ⇒ 必须逐节对照,判据 = 每条既有判据在压缩后可寻址(逐节点名核对)。
§5 下一步(第 1 条=本轮动作,写死)
第 1 条 · 压缩本工作区 CODEBUDDY.md 的第一段(先做最能立刻见效的一段,不追求一次到位):
# 0) 开工四步(state.py / 本包 md5 / preflight 抢锁 / 读 §4)
ME="<会话名>" bash "D:/github/dsh_shenxian/dsh-server-docs/07-scripts/handoff-guard.sh" --claim-exec "<会话名>" --domains "CODEBUDDY.md" ".workbuddy/memory/2026-09-24.md"
# 1) 备份(唯一回滚点,⛔ 不许省)
cp "E:/ProgramData/AIProject/ai1net-dsh-server/CODEBUDDY.md" "E:/ProgramData/AIProject/ai1net-dsh-server/归档/规则A-备份-20260924/CODEBUDDY.md.before-compress"
# 2) 量化现状(复用现成脚本)
"E:/ProgramData/.workbuddy/binaries/python/versions/3.13.12/python.exe" tmp/_guidance_scan.py
本棒建议动作顺序(⛔ 一次只动一段,每段后复跑量化脚本确认线内章节数上升):
① §3 红线:解释段转引用 ⇒ 省 ≈ 2,270 字符;② §7 环境要点(2,353)与 §8 事故事实(3,403)去重复表述;③ §1 提问判据(4,846)与已落地规则合并去重;④ §2 指针表按「只留触发词 + 路径」重排。
验收判据:压缩后 CODEBUDDY.md ≤ 8,000 字符;tmp/_guidance_scan.py 显示线内标题 = 总标题(12/12);11 条红线逐条可寻址。
现状(第二棒收官 2026-09-24 17:2x):10,001 字符 | 线内 9/12 | 红线 11/11 + R7-边界行全在 | docs/规则与载体/验收_规则载体压缩_20260924.py 五段全过(除体积)。
⏭️ 本线状态:§3-1 已收官(2026-09-24 17:4x · 用户拍板「A + B」) —— 7,905 字符(−67%)· 章节 11/11 全进窗 · 红线 11/11 · 指针无悬空 · 验收_规则载体压缩_20260924.py 五段全绿。本线在 §3-1 上无待办。
⚠️ §7 / §8 / §9 的实测细节只在引用件(主文件仅存速查 + 指针)⇒ 要细节读 docs/规则与载体/规则详解_红线与实证_20260924.md 的 §D / §E / §G + §H。
📌 可选(非必须、未做):把 §8 的「6 条后果」恢复成半行速查(需再从别处等量收紧 200 字符)。
(以下 A–D 为当时留档的决策依据,已采纳 A + B):
A 案 · 把 §7 环境要点 7 条降级为指针(实体只留一行「本机环境坑 ⇒ 【详】§D」,约省 1,100):优点 = 一次到位,§2 与 §9 一起进窗;缺点 = 环境坑是高频踩项(PATH / Node 22 / LF / 全角冒号),降指针后新会话要先读详件才不踩。
B 案 · 把 §8 事故事实 6 行降级为指针(约省 900):优点 = §8 本就是「知道就避开」型知识,天然适合引用;缺点 = §8 现被文件自身标为「常驻,不许只给指针」⇒ 须用户明确改这条口径,否则与文件原文冲突。
C 案 · 只砍 §2 触发词表(把 8 条触发词合成 4 条,约省 400):优点 = 不动任何「必须实体」章,风险最低;缺点 = 省得最少,仍到不了 8,000(§2 仍进不了窗),等于白做一轮。
D 案 · 接受当前形态,改目标(不再追求「12/12 全进窗」):优点 = 现状已达成「危险项全部常驻」(§1 §3–§8 全在窗内,含 11 条红线),工程质量已达标;缺点 = §2/§9/§10 永不被注入 ⇒ 「该查哪篇」只能靠会话自己想起来。
§6 回滚点
- 文件级:
归档/规则A-备份-20260924/CODEBUDDY.md.before-compress= 23,756 字符(压缩前原文) ⇒ 覆盖两棒全部改动,⛔ 不要覆盖它;要再备份另起名。 - 别的工作区:desktop / decision-laya / carbon / forge 的改动未 commit,用备份目录可逐字还原。
- ⛔ 工作区与文档库均未 commit / 未 push(无授权)⇒ 本线改动只存在于工作树 + 备份目录。
§7 ⛔ 不要重做
- 提问规则的 5 处落地(§2-1)已生效,⛔ 不要重加、不要重复追加同一段。
- 载体机制三条已实测(§2-2),⛔ 不要再去试
.codebuddy/CODEBUDDY.md/~/.codebuddy//AGENTS.md。 - 旧路径修正已闭合(残留 0),⛔ 不要重扫。
- ⛔ 不要把红线整表降级为纯指针(违反既有硬口径);⛔ 不要在压缩时丢判据。
- ✅ 零风险去重复表述已做尽(2026-09-24 第二棒,−280 字符:头部 / 分层判定 / §1 / §3 尾注 / §6 / §2 / §9 共 10 处合并)⇒ ⛔ 不要重扫重复(11 / 18 / 24 字符三档阈值 + 主文件 × 详件跨文件都已扫过,无剩余)。
- ⛔ 不要在未拍板前砍判据本体(见 §5「⏭️ 本线下一项」四个候选;用户既有口径 = 不许自行决定放哪些判据)。