75 lines
3.9 KiB
Markdown
75 lines
3.9 KiB
Markdown
# Mono↔Multi Skill 内容质检规格
|
||
|
||
> 对照基准:`skills/mono`(单 skill)。被测主体:`skills/multi`。
|
||
> 机读合同:`skills/content-qa/mono-multi-coverage.yaml`。
|
||
> 执行:`make skill-mono-multi-content`(独立门禁;默认 `make policy` 按设计不包含该检查)。
|
||
> 安装、升级与模式迁移见
|
||
> [DWS 预制 Skill 安装、升级与模式迁移 RFC](rfc-skill-installation-and-upgrade.md)。
|
||
|
||
## 1. 质检矩阵
|
||
|
||
| ID | 类型 | 输入 | 通过准则 |
|
||
|---|---|---|---|
|
||
| **G1 形状** | 结构 | `skills/multi/*` | 仅 `dingtalk-*`(含必选 `dingtalk-shared`);每目录有 `SKILL.md` |
|
||
| **G2 结构** | 结构 | 各 `SKILL.md` frontmatter | `name`==目录名;非空 `description`;`category`∈{product,shared};`requires.bins` 含 `dws` |
|
||
| **G3 覆盖** | 覆盖 | mono `references/products/*` 顶层 stem | 每 stem ∈ `coverage` 或 `omit_coverage`;coverage 目标 skill/refs 存在 |
|
||
| **G4 漂移** | 漂移 | scripts、成对文件、全局协议 | orphan 脚本 ∈ allowlist;paired 内容一致(允许合同声明的布局链接替换);全局协议存在或 ∈ `omit_global` |
|
||
| **G5 链接** | 可达性 | 合同覆盖的 paired Markdown | 内联相对链接目标文件或目录存在且不逃出仓库;外链、纯锚点和锚点内容不在检查范围 |
|
||
|
||
已有门禁(继续复用,不替代本矩阵):`check-skill-commands`、`check-skill-context-budget`、`check-multi-im-skill-chain`、`skill_docs_policy`、whiteboard 成对测试。
|
||
|
||
## 2. 有意省略 / 延期登记格式
|
||
|
||
YAML(见 coverage 文件):
|
||
|
||
```yaml
|
||
omit_coverage:
|
||
- mono: simple
|
||
disposition: covered_by # covered_by | defer | wontfix
|
||
via: dingtalk-misc # optional
|
||
reason: "拆入 oa/devdoc…"
|
||
|
||
omit_global:
|
||
- id: field-rules-global
|
||
mono_path: references/field-rules.md
|
||
expected_multi: dingtalk-aitable/references/field-rules.md
|
||
disposition: covered_by
|
||
reason: "AI 表格字段规则已下沉到 dingtalk-aitable;G3/coverage 不强制全局同名"
|
||
|
||
orphan_scripts_allowlist:
|
||
- path: dingtalk-misc/scripts/report_received_today.py
|
||
disposition: defer
|
||
reason: "pending report.md reference"
|
||
|
||
paired_files:
|
||
- mono: references/products/sheet.md
|
||
multi: dingtalk-misc/references/sheet.md
|
||
mode: link-normalized
|
||
link_substitutions:
|
||
- mono: "../url-patterns.md"
|
||
multi: "../../dingtalk-shared/references/url-patterns.md"
|
||
- mono: "../intent-guide.md"
|
||
multi: "sheet-intent-guide.md"
|
||
```
|
||
|
||
**处置原则**:质检失败 → 修**内容**或更新 reviewed omit;**不**改安装/升级默认。
|
||
|
||
## 3. 缺口基线(相对 mono)
|
||
|
||
| ID | 项 | disposition | 说明 |
|
||
|---|---|---|---|
|
||
| M1 | recovery-guide / RECOVERY_EVENT_ID 闭环 | **removed** | 已从 mono/multi skill 文档删除;不做移植 |
|
||
| M2 | confirmation_required 全局协议 | **done** | `dingtalk-shared/references/confirmation.md` + SKILL 导航 |
|
||
| M3 | Schema 渐进查询教学 | **done** | `dingtalk-shared/references/schema-usage.md` |
|
||
| M4 | `report_inbox_today.py` | `defer` / orphan 侧 | 验证后迁 misc 或删 |
|
||
| M5 | multi LICENSE/NOTICE | `defer` | 内容或打包注入 |
|
||
| M6 | aiapp 路由 vs orphan 脚本 | **done(标明未产品化)** | mono 死链移除;`unsupported-scripts.md` |
|
||
| X1 | yida/finance/aiapp orphan scripts | **done(登记)** | 由 unsupported-scripts 具名引用 |
|
||
| X2 | chat 死链 `extract_media_id.py` | n/a | 现仅为反模式提及 |
|
||
| X3 | routing → markdown 错路径 | **done** | 已指 `dingtalk-misc/references/markdown.md`;drive 尾链已修 |
|
||
| X4 | event 缺 metadata | **done** | |
|
||
| X5 | multi skill 横幅 /「优先 mono」文案 | **done** | 横幅已全部移除 |
|
||
| X6 | SAFETY_PREAMBLE_INJECT 无注入器 | **done** | 标记已移除 |
|
||
|
||
产品面覆盖:见 YAML `coverage`——mono products 均有 multi 承接(misc 聚合 attendance/oa/sheet/…)。
|