docs(skills,handoff): decision-method 2.7.5 / feature-first 1.7.1 / knowledge-upkeep 1.2.0(+8.6 注入预算);T08 归档

This commit is contained in:
admin committed 2026-09-16 11:28:53 +08:00
1 parent bda9b10161
commit 744ed98338
5 files changed
+141 -17

No files matched your search

@@ -1,8 +1,8 @@
---
name: dsh-feature-first
description: dsh 多租户平台(alotbuy.com)的「功能优先」协作协议 —— **用户只提功能需求,AI 自主完成全部技术决策**。当用户提出任何平台功能/交互需求、报障、或说「我要把精力放在功能搭建上」时使用;也用于 AI 自查「这件事该不该拿去问用户」。核心 = 复盘证据(技术类+报障类占 64%)+ 用户的「功能卡」4 问 + **AI 自主决策的 9 类白名单(永不问)** + **只准上抛的 3 类(功能语义分叉 / 红线门禁 / 超出方法边界)** + **决策方法边界定义(边界外必须问的 8 类)** + 上抛语言转换表 + 报障闭环前置 + 交付回执格式 + 方法本身演进不再上抛 + **§3.6 拆包上抛:红线问题不得与技术方案捆在一起问** · **§3.2 红线按「实际影响面」判、不按「动作名字」判** · **§5.1 结论骨架(答「是否已实现 / 为什么不行」)** + **§5.3 铁律 4–5 / §5.4 硬约束 7–9:待确认项 = 回复的最后一节、逐条编号;每个候选各占一段(竖排、不横排)且必须写「优点 / 缺点」;只有优点或只有缺点 ⇒ 自决、不上抛**(2026-09-15 用户明令)。**配套:`dsh-decision-method`(怎么想)· `dsh-change-workflow`(怎么落地)。**
version: 1.7.0
updated_at: 2026-09-15
version: 1.7.1
updated_at: 2026-09-16
agent_created: true
---
@@ -97,10 +97,13 @@ agent_created: true
### 3.2 (b) 红线门禁 —— 必须用户点头
- **扩大**权限/可见面(R5)
- 会**中断在线用户**(R8)
- **批量 / 全仓写入**(R7,>10 文件)
- **不可逆的破坏性操作**(删数据 / 迁 DB / 清目录 ⇒ 先出清单)
- ⛔ **「中断在线用户」已不是门禁**(2026-09-13 用户明令 + 2026-09-16 收口):`R8` 原文 —— **47 是「开发环境服务器」,不用担心中断用户** ⇒ 重启服务 / 停实例 scope / drain / 改配额·env / 改 nginx·nft **均可直接做**,只需**动手前一句话说明**在动什么。
⚠️ **原表述「只有真会中断的(重启服务 / 停实例 / drain / 改配额·env / 改 nginx·nft)才上抛」是会话 `ddea70b7` 上抛的直接依据** —— AI 据此把"106 旧控制面要不要停"拿去问用户,而**用户随后两次(U5 / U7)自己给出"删除"**。⛔ 别再拿"重启 / 停实例 / nginx"当上抛理由。
- ⚠️ **判据:按「实际影响面」判,不按「动作名字」判**(2026-09-13 用户纠正)—— 看到「部署 / 上线 / 生产 / 铺包」就上抛是**过度套用**:
**不中断在线用户的上线**(传产物 / 换 profile 包 / 改静态页 / 候选池投放)**属边界内的执行细节 ⇒ 做完即上线,不上抛**;只有**真会中断**的(重启服务 / 停实例 / drain / 改配额·env / 改 nginx·nft)才上抛。详见 `dsh-decision-method` **U20 / X9**。
**不中断在线用户的上线**(传产物 / 换 profile 包 / 改静态页 / 候选池投放)**属边界内的执行细节 ⇒ 做完即上线,不上抛**。详见 `dsh-decision-method` **U20 / X9**。
- 🔑 **"平台级" ≠ "别人的"**(2026-09-16 收口):`dshs*`·`dsh-*` systemd 单元、`/var/lib/dshs/**`、nginx·nft、端口,**在我们自己的 47 / 106 / 本工作区上 ⇒ 本平台自己的资源 ⇒ 直接做**。只有**别人的 / 归属不明**的才"只报告不动手"。**判据看"归属",不看"是不是平台组件"。**
### 3.3 上抛语言转换表(**强制**)
@@ -122,13 +125,13 @@ agent_created: true
| # | 边界外的类别 | 例子 | 为什么方法判不了 |
|---|---|---|---|
| 1 | **业务目标与优先级** | 先做哪个功能、这个功能要不要做、值不值得投入 | 方法只能判"**怎么做得最优**",判不了"**该不该做**" |
| 1 | **业务目标与优先级** | 先做哪个功能、这个功能要不要做、值不值得投入 | 方法只能判"**怎么做得最优**",判不了"**该不该做**"。<br>⚠️ **出口(2026-09-16 加)**:**方向已定**(用户已说"要做这几个功能 / 该谁处理就开发对应功能")时,"**先做哪个**"若候选有**客观排序**(如"先做能闭环真实缺陷的那项"、"3 项 P0 阻塞真实场景")⇒ **属边界内,自决**。只有"几个都该做、用户对**节奏/取舍**有偏好"才上抛。<br>**实证**:会话 `ddea70b7` 把"D1–D6 先做哪些"归进本类 ⇒ 上抛 ⇒ 用户回「**按照你的规划执行**」(AI 自己其实已排出顺序并写了"我倾向先 D1+D2")|
| 2 | **成本与资源承诺** | 买云资源 / 开第三方账号 / 花钱买额度 | 涉及用户的钱,不是技术优劣问题 |
| 3 | **对外承诺与合规** | ICP 备案、资质、合同、对外 SLA、对外品牌文案 | 法律与商业后果,超出工程判断 |
| 4 | **需要用户提供的第三方凭据 / 审批** | API Key、DNS 权限、企业审批、账号授权 | 只有用户有 |
| 5 | **用户体验偏好(无客观优劣)** | 审美与文案语气、默认值取向、提示语措辞 | 没有"更优",只有用户"更喜欢" |
| 6 | **影响面超出本平台** | 会波及其他系统 / 他人数据 / 不可逆的对外影响 | 影响半径超出我能判断的范围 |
| 7 | **红线门禁**(R5 扩大 / R7 批量>10 / R8 中断在线用户) | — | 安全与影响面变更**必须**用户知情同意 |
| 7 | **红线门禁**(R5 扩大 / R7 批量>10 / 不可逆破坏性操作) | — | 安全与影响面变更**必须**用户知情同意。⛔ **不含 R8** —— "中断在线用户"已于 2026-09-13 修正(开发环境服务器 ⇒ 直接做,只须动手前一句话说明) |
| 8 | **方法确实判不准** | 两边都无依据、事实不足以判断 | **宁可问,不要卡死** |
**上抛方式**:这 8 类**照实说人话**说明「你为什么需要他决定」,不要包装成技术选项。
@@ -277,7 +280,7 @@ AI 交付时**先说功能,技术细节折叠在后**:
> 目标:**30 秒扫到结论,2 分钟看全细节**。适用范围 = **每一轮回复**(执行信息 / 报障答复 / 提问 / 交付回执都算)。
> 判据:排版不是为了好看,是为了**能不能被扫** —— 所以下面每条都**可自检**(数得出来)。
**A. 九条硬约束**
**A. 十条硬约束**
| # | 约束 | 自检怎么数 |
|---|---|---|
@@ -290,6 +293,7 @@ AI 交付时**先说功能,技术细节折叠在后**:
| 7 | **能自决的继续做;不能自决的收进最后一节、逐条编号**(有序段落;埋在中间 = 用户漏看) | 翻到最后一节看是不是拍板项;数它有没有编号 |
| 8 | **上抛项必须带「优点 / 缺点」两栏**(只有优点或只有缺点 ⇒ 本不该上抛) | 每个候选是否优缺点各至少一条 |
| 9 | **候选竖排成段**(A / B / C **各占一行**)—— ⛔ 不横排、⛔ 不做成表格的列 | 有没有 `A:… · B:…` 一行塞多个候选 |
| 10 | **并列内容逐条分段**(2026-09-16 用户明令)—— 凡 `①②③` / `1) 2) 3)` / `首先·其次·最后` 式的**并列项**,**每条独占一段**(一行一条);⛔ **不许用分号或顿号把多条挤在同一段**里(如"① 做A;② 做B;③ 做C")。**适用范围**:修复方向 / 处置步骤 / 原因清单 / 检查项 / 要点 —— 一切"多件事并列"的场合 | 有没有出现 `①…;②…;③…` 串成一段 |
**B. 按回答类型套现成骨架(**不新造**)**
@@ -316,6 +320,7 @@ AI 交付时**先说功能,技术细节折叠在后**:
11. ❌ **待你拍板的内容夹在中间**(后面还有别的节)→ **挪到最后一节**;❌ 这些内容写成散文一段 → 改成**有序编号条目**(§5.3 铁律 4 · 2026-09-15 用户明令)
12. ❌ 只写"两者差别在哪"却**不写优缺点** → 补齐「优点 / 缺点」两栏;❌ 把**只有优点**(或只有缺点)的候选拿来问 → **自己拍掉**(§5.3 铁律 5)
13. ❌ 候选方案**横排**(`A:… · B:…` 一行并列,或把候选做成表格的列)→ **每个候选各占一段(竖排)**(§5.3 铁律 5 ④ · 2026-09-15 用户明令)
14. ❌ **并列项挤成一段**:如「修复方向(按优先级):① 代理转发失败做短重试…;② 就绪判据从"拿到 token"加严到"端口可连"…;③ admin 属高频入口,可考虑不做空闲回收…」⇒ **每条独占一段**(§5.4 硬约束 10 · 2026-09-16 用户原话「**回复这类内容时,都要段落展示,方便阅读**」)
**D. "细节完整"≠"全塞正文"**:细节进「技术附录」/ 代码块 / 表格附列;**正文只留"能决定下一步"的信息**。
@@ -324,10 +329,12 @@ AI 交付时**先说功能,技术细节折叠在后**:
## 6. AI 自检清单(每次动手前 / 交付前)
**动手前**
0. **用户本轮点名了某个技能 / 方法吗**(如「参考决策方法」「按你的规划」「别问我」「自行决策」)?—— 点名了 ⇒ **必须先用 Skill 工具加载对应技能**,⛔ 不得以"我已经知道判据"为由跳过。
(机制层有 `dsh-server-docs/scripts/skill-load-guard.py` 钩子强制注入提醒 · 2026-09-16 加;实证:会话 `ddea70b7` 用户点名后 AI 全程 `Skill` 调用 **0 次**,仍按旧判据上抛)
1. 我手上有一张**功能卡**吗(谁/在哪/做什么/怎样算成功)?没有 → 先问这 4 条,**不要问技术**。
2. 我准备上抛的每一件事,**用户能从功能视角判断吗**?不能 → 撤掉,自己定。
3. 我上抛的文案里,有没有包名 / 环境变量 / 路径 / commit?有 → 翻译成"能感知的差别"。
4. 有没有命中红线(R5 扩大 / R7 批量 / R8 中断)?**按实际影响面判,不按动作名字判**(X9)—— 命中 → 必须上抛,并说明**影响谁、断多久**;**没命中就别拿「这是生产操作」当理由停下**(不中断的上线直接做完)。
4. 有没有命中红线(**R5 扩大 / R7 批量>10 / 不可逆破坏性操作**)?**按实际影响面判,不按动作名字判**(X9)—— 命中 → 必须上抛并说明影响面;⛔ **R8 不算门禁**(开发环境服务器 ⇒ 重启 / 停实例 / drain / nginx·nft **直接做**,动手前一句话说明即可);**没命中就别拿「这是生产操作 / 会中断用户」当理由停下**。
**交付前**
5. 我有没有按 §5 的格式给"做了什么 / 你能看到什么"?还是又只给了技术清单?
@@ -345,7 +352,8 @@ AI 交付时**先说功能,技术细节折叠在后**:
## 7. 与其他约定/技能的关系
- **红线优先级最高**:R1-R8 命中一律先停手 —— 本协议不构成豁免,只约束"该不该问"。
- **红线优先级最高**:R1–R7 / R9–R11 命中一律先停手 —— 本协议不构成豁免,只约束"该不该问"。
⛔ **唯一例外 = R8**:它已按用户 2026-09-13 明令**修正为"开发环境服务器 ⇒ 不必等确认"** ⇒ **不构成上抛理由**(只保留"动手前一句话说明")。把 R8 当门禁 = 本站最常见的过度上抛(`ddea70b7` 实证)。
- **`dsh-decision-method`**:管"怎么想、怎么定"(判定矩阵、十问、验收分级)。本协议管"**谁定什么、用什么语言问**"。
- **`dsh-change-workflow`**:管"怎么落地"(六阶段、档案模板、并行调度)。
- **`06-工作台UI规范.md`**:前端强制基线,冲突以其实测 Token 为准。