128 lines
11 KiB
Markdown
128 lines
11 KiB
Markdown
# 接续包 · 规则载体压缩(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 已完成(本线前两段,全部有实测取证 · ⛔ 不要重做)
|
|||
|
|
|
|||
|
|
1. **提问规则已落地 5 处**(复核值 = 规则在主文件内的**字符偏移**,< 8000 才算真生效):
|
|||
|
|
`aliyun-dsh-server` 3,087 | `dsh-ai1net-desktop` 1,765 | `dsh-decision-laya` 1,555 | `dsh-plugin-carbon` 2,747 | `dsh-plugin-forge` 3,156 —— **5 处全部在线内 ✓**。
|
|||
|
|
落法:carbon / forge 追加;decision-laya 升级主文件内已有子节;desktop 合并进 §1。
|
|||
|
|
2. **载体机制实测三条**(`app.asar` · `project-context-section.ts` 现读,原文已在今日日志):
|
|||
|
|
① 只认**工作区根**下 `CODEBUDDY.md` / `.codebuddy/CODEBUDDY.md` / `AGENTS.md`(`path.join(cwd,…)`,**无 home 级**);
|
|||
|
|
② 🔴 **取第一个存在者**(`return` 在循环内)⇒ 主文件在时 `.codebuddy/CODEBUDDY.md` **永不加载**;
|
|||
|
|
③ **单文件封顶 8000 字符**(按字符、非字节),超出即截断。
|
|||
|
|
3. **两个死载体已撤**(我按错误假设建的 `.codebuddy/CODEBUDDY.md`)⇒ 移入 `归档/规则A-备份-20260924/DEAD-CARRIER__*`,可原样搬回。
|
|||
|
|
4. **旧路径修正**:`AI技能` → `AIProject`,desktop 3 处 / carbon 2 处 / forge 3 处,残留 **0**。
|
|||
|
|
5. **红线表可压缩性已量化**(§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 关键决定(已定项,⛔ 别推翻重来)
|
|||
|
|
|
|||
|
|
1. **红线实体/引用分界(本轮自决,可推翻)**:**判据行留实体**(禁令 + 触发条件 + 最易误用的一句边界),**解释段 / 历史 / 实证过程 / 案例**转引用。⛔ 依据 = 项目既有硬口径「§3 红线 R1–R11 **全表**以实体形式常驻,不得降级为指针」—— 本决定**不违反**它,只压缩表述。
|
|||
|
|
2. **分层判据一律照抄 `MEMORY.md` 那条**:不看会不会违规/事故?会 ⇒ 实体;只更慢更绕 ⇒ 指针。
|
|||
|
|
3. **载体只能用第一个存在的那个文件**:⛔ 不得新建 `.codebuddy/CODEBUDDY.md` 当"第二块额度"(已实证为死文件)。要加规则 ⇒ **必须落在前 8000 字符内**。
|
|||
|
|
4. **压缩属"改写规则正文"** ⇒ 必须逐节对照,判据 = **每条既有判据在压缩后可寻址**(逐节点名核对)。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## §5 下一步(第 1 条=本轮动作,写死)
|
|||
|
|
|
|||
|
|
**第 1 条 · 压缩本工作区 `CODEBUDDY.md` 的第一段**(先做最能立刻见效的一段,不追求一次到位):
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 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 回滚点
|
|||
|
|
|
|||
|
|
1. **文件级**:`归档/规则A-备份-20260924/CODEBUDDY.md.before-compress` = **23,756 字符(压缩前原文)** ⇒ 覆盖两棒全部改动,⛔ 不要覆盖它;要再备份另起名。
|
|||
|
|
2. **别的工作区**:desktop / decision-laya / carbon / forge 的改动**未 commit**,用备份目录可逐字还原。
|
|||
|
|
3. ⛔ 工作区与文档库**均未 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「⏭️ 本线下一项」四个候选;用户既有口径 = 不许自行决定放哪些判据)。
|