lunheng-article-pipeline 18.2.6 → 18.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.es.md +2 -2
  2. package/README.hi.md +2 -2
  3. package/README.md +2 -2
  4. package/README.pt.md +2 -2
  5. package/README.zh.md +2 -2
  6. package/SECURITY.md +5 -3
  7. package/cordis.patch.yml +1 -1
  8. package/docs/introduction.md +2 -2
  9. package/examples/preset/README.md +1 -1
  10. package/package.json +1 -1
  11. package/skills/lunheng-article-pipeline/AGENTS.md +3 -3
  12. package/skills/lunheng-article-pipeline/QUICKSTART.md +5 -5
  13. package/skills/lunheng-article-pipeline/README.md +1 -1
  14. package/skills/lunheng-article-pipeline/SKILL.md +9 -8
  15. package/skills/lunheng-article-pipeline/references/_shared/DSH-/351/233/206/346/210/220/346/226/271/346/241/210.md +4 -4
  16. package/skills/lunheng-article-pipeline/references/_shared/M-Gate-Algorithm.md +1 -1
  17. package/skills/lunheng-article-pipeline/references/_shared/audit-checklist-quickref.md +3 -3
  18. package/skills/lunheng-article-pipeline/references/_shared/degraded-scenarios.md +1 -1
  19. package/skills/lunheng-article-pipeline/references/_shared/failure-modes.md +1 -1
  20. package/skills/lunheng-article-pipeline/references/_shared/format-export.md +1 -1
  21. package/skills/lunheng-article-pipeline/references/_shared//344/270/255/346/226/207/346/225/260/346/215/256/346/272/220/351/233/206/346/210/220.md +1 -1
  22. package/skills/lunheng-article-pipeline/references/_shared//345/255/227/346/225/260/345/210/244/345/256/232/350/241/250.md +1 -1
  23. package/skills/lunheng-article-pipeline/references/_shared//346/234/237/345/210/212/345/214/271/351/205/215/347/256/227/346/263/225.md +1 -1
  24. package/skills/lunheng-article-pipeline/references/_shared//346/234/237/345/210/212/346/225/260/346/215/256/345/272/223.md +1 -1
  25. package/skills/lunheng-article-pipeline/references/_shared//346/250/241/345/236/213/350/267/257/347/224/261.md +1 -1
  26. package/skills/lunheng-article-pipeline/references/_shared//350/247/204/350/214/203-/346/234/272/346/242/260/351/227/250/345/257/271/347/205/247/350/241/250.md +2 -2
  27. package/skills/lunheng-article-pipeline/references/agents/00-/344/270/273/346/216/247-coordinator.md +1 -1
  28. package/skills/lunheng-article-pipeline/references/agents/00-/344/270/273/346/216/247-/346/211/251/345/261/225/350/201/214/350/264/243.md +3 -2
  29. package/skills/lunheng-article-pipeline/references/agents/01-/346/226/207/347/214/256/346/243/200/347/264/242-literature-scout.md +1 -1
  30. package/skills/lunheng-article-pipeline/references/agents/02-/346/225/260/346/215/256/346/243/200/347/264/242-data-scout.md +1 -1
  31. package/skills/lunheng-article-pipeline/references/agents/03-/346/241/210/344/276/213/346/243/200/347/264/242-case-scout.md +1 -1
  32. package/skills/lunheng-article-pipeline/references/agents/04-/345/210/206/346/236/220-analyst.md +1 -1
  33. package/skills/lunheng-article-pipeline/references/agents/05-/345/206/231/344/275/234-writer.md +5 -3
  34. package/skills/lunheng-article-pipeline/references/agents/06-/346/211/271/345/210/244-critical-companion.md +3 -3
  35. package/skills/lunheng-article-pipeline/references/agents/07-/345/256/241/350/256/241-auditor.md +1 -1
  36. package/skills/lunheng-article-pipeline/references/agents/08-/347/273/210/346/243/200-finalizer.md +1 -1
  37. package/skills/lunheng-article-pipeline/references/agents/09-/345/256/241/347/250/277-peer-reviewer.md +20 -7
  38. package/skills/lunheng-article-pipeline/references/checkers//344/270/255/346/226/207AI/347/227/225/350/277/271-checker.md +25 -17
  39. package/skills/lunheng-article-pipeline/references/deliverables.md +1 -1
  40. package/skills/lunheng-article-pipeline/references/gates/14-/344/270/255/346/226/207AI/347/227/225/350/277/271-gate.md +64 -20
  41. package/skills/lunheng-article-pipeline/references/glossary.md +2 -2
  42. package/skills/lunheng-article-pipeline/references/pipeline-readme.md +35 -15
  43. package/skills/lunheng-article-pipeline/references/templates/AI-/344/275/277/347/224/250/345/243/260/346/230/216-template.md +1 -1
  44. package/skills/lunheng-article-pipeline/references/templates/G14/346/243/200/346/265/213/346/212/245/345/221/212-template.md +7 -6
  45. package/skills/lunheng-article-pipeline/references/templates/status-template.md +3 -3
  46. package/skills/lunheng-article-pipeline/references/templates/style-baseline-template.md +1 -1
  47. package/skills/lunheng-article-pipeline/references/templates//344/270/273/344/272/272/346/212/225/345/226/202/346/270/205/345/215/225-template.md +1 -1
  48. package/skills/lunheng-article-pipeline/references/templates//344/270/273/344/272/272/347/241/256/350/256/244-template.md +1 -1
  49. package/skills/lunheng-article-pipeline/references/templates//344/272/244/344/273/230/350/257/264/346/230/216-template.md +1 -1
  50. package/skills/lunheng-article-pipeline/references/templates//344/273/273/345/212/241/347/256/200/346/212/245-template.md +1 -1
  51. package/skills/lunheng-article-pipeline/references/templates//344/277/256/350/256/242/350/257/264/346/230/216-template-full.md +1 -1
  52. package/skills/lunheng-article-pipeline/references/templates//345/261/200/351/231/220/346/200/247-template.md +1 -1
  53. package/skills/lunheng-article-pipeline/references/templates//346/212/225/347/250/277/345/260/261/347/273/252/346/243/200/346/237/245/350/241/250-template.md +1 -1
  54. package/skills/lunheng-article-pipeline/references/templates//346/250/241/345/236/213/350/267/257/347/224/261/350/241/250-template.md +1 -1
  55. package/skills/lunheng-article-pipeline/references/templates//347/264/240/346/235/220/345/212/240/350/275/275/346/270/205/345/215/225-template.md +1 -1
  56. package/skills/lunheng-article-pipeline/references/templates//350/277/233/345/261/225-/344/270/273/344/272/272/347/211/210-template.md +1 -1
  57. package/skills/lunheng-article-pipeline/references/templates//351/227/270/351/227/250/350/256/260/345/275/225-template.md +1 -1
  58. package/skills/lunheng-article-pipeline/scripts/_lib/sections.mjs +21 -0
  59. package/skills/lunheng-article-pipeline/scripts/segment-chars.mjs +152 -0
package/README.es.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Lunheng (lunheng-article-pipeline) — pipeline multiagente para textos largos
2
2
 
3
- > 版本:v18.2.6(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
3
+ > 版本:v18.2.8(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
4
4
 
5
5
  > 🌐 [English](README.md) | [中文](README.zh.md) | **Español**(este archivo)| [Português](README.pt.md) | [हिन्दी](README.hi.md)
6
6
 
@@ -109,7 +109,7 @@ La capa patch hace dos cosas: **inserta una fila para este paquete** (`- id: lun
109
109
  Las versiones se publican **solo por tag**; `npm publish` local está prohibido (evita las puertas de CI y la procedencia OIDC, y una versión npm nunca se puede sobrescribir).
110
110
 
111
111
  ```sh
112
- git tag v18.2.6 && git push origin v18.2.6 # un tag por push (GitHub: >3 tags en un push no dispara workflow)
112
+ git tag v18.2.8 && git push origin v18.2.8 # un tag por push (GitHub: >3 tags en un push no dispara workflow)
113
113
  # publish.yml ejecuta: puerta 1 consistencia → puerta 2 empaquetado → puerta 3 higiene → puerta 4 humo del paquete → tests
114
114
  # → tag/versión iguales → guarda de idempotencia → OIDC publish --provenance --tag dsh → auditoría posterior
115
115
  ```
package/README.hi.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # लुन्हेंग (lunheng-article-pipeline) — बहु-एजेंट दीर्घ-लेख पाइपलाइन
2
2
 
3
- > 版本:v18.2.6(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
3
+ > 版本:v18.2.8(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
4
4
 
5
5
  > 🌐 [English](README.md) | [中文](README.zh.md) | [Español](README.es.md) | [Português](README.pt.md) | **हिन्दी**(यह फ़ाइल)
6
6
 
@@ -109,7 +109,7 @@ patch परत दो काम करती है: **इस पैकेज
109
109
  संस्करण **केवल tag से** प्रकाशित होते हैं; स्थानीय `npm publish` वर्जित है (यह CI द्वारों और OIDC provenance को दरकिनार करता है, और npm संस्करण कभी अधिलेखित नहीं हो सकता)।
110
110
 
111
111
  ```sh
112
- git tag v18.2.6 && git push origin v18.2.6 # एक बार में एक ही tag (GitHub: >3 tag एक push में कोई workflow नहीं चलाता)
112
+ git tag v18.2.8 && git push origin v18.2.8 # एक बार में एक ही tag (GitHub: >3 tag एक push में कोई workflow नहीं चलाता)
113
113
  # publish.yml क्रम: द्वार 1 सुसंगति → द्वार 2 पैकेजिंग → द्वार 3 स्वच्छता → द्वार 4 पैकेज स्मोक → स्क्रिप्ट परीक्षण
114
114
  # → tag/संस्करण समानता → idempotency गार्ड → OIDC publish --provenance --tag dsh → प्रकाशन-पश्चात लेखा-परीक्षा
115
115
  ```
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 🌐 **English** (this file) | [中文](README.zh.md) | [Español](README.es.md) | [Português](README.pt.md) | [हिन्दी](README.hi.md)
4
4
 
5
- > 版本:v18.2.6(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
5
+ > 版本:v18.2.8(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
6
6
 
7
7
  > A DeepSeek Harness (DSH) bundle that registers one on-demand agent skill. The skill turns long-form production — academic papers, industry analysis, business commentary, and long-form articles — into a **9-role pipeline with a human in the loop**.
8
8
 
@@ -109,7 +109,7 @@ The patch layer does two things: it **inserts one row for this package** (`- id:
109
109
  Releases are **tag-only**; a local `npm publish` is forbidden (it would bypass the CI gates and OIDC provenance, and a published npm version can never be overwritten).
110
110
 
111
111
  ```sh
112
- git tag v18.2.6 && git push origin v18.2.6 # push one tag at a time (GitHub: >3 tags in one push triggers no workflow)
112
+ git tag v18.2.8 && git push origin v18.2.8 # push one tag at a time (GitHub: >3 tags in one push triggers no workflow)
113
113
  # publish.yml then runs gate 1 consistency → gate 2 packaging surface → gate 3 hygiene → gate 4 pack smoke → script tests
114
114
  # → tag/version equality → idempotency guard → OIDC publish --provenance --tag dsh → post-publish audit
115
115
  ```
package/README.pt.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Lunheng (lunheng-article-pipeline) — pipeline multiagente para textos longos
2
2
 
3
- > 版本:v18.2.6(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
3
+ > 版本:v18.2.8(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
4
4
 
5
5
  > 🌐 [English](README.md) | [中文](README.zh.md) | [Español](README.es.md) | **Português**(este arquivo)| [हिन्दी](README.hi.md)
6
6
 
@@ -109,7 +109,7 @@ A camada patch faz duas coisas: **insere uma linha para este pacote** (`- id: lu
109
109
  As versões são publicadas **apenas por tag**; `npm publish` local é proibido (contorna os portões de CI e a proveniência OIDC, e uma versão npm nunca pode ser sobrescrita).
110
110
 
111
111
  ```sh
112
- git tag v18.2.6 && git push origin v18.2.6 # uma tag por push (GitHub: >3 tags em um push não dispara workflow)
112
+ git tag v18.2.8 && git push origin v18.2.8 # uma tag por push (GitHub: >3 tags em um push não dispara workflow)
113
113
  # publish.yml executa: portão 1 consistência → portão 2 empacotamento → portão 3 higiene → portão 4 teste de fumaça do pacote → testes
114
114
  # → tag/versão iguais → guarda de idempotência → OIDC publish --provenance --tag dsh → auditoria posterior
115
115
  ```
package/README.zh.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 🌐 [English](README.md) | **中文**(本文件)| [Español](README.es.md) | [Português](README.pt.md) | [हिन्दी](README.hi.md)
4
4
 
5
- > 版本:v18.2.6(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
5
+ > 版本:v18.2.8(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
6
6
 
7
7
  > 一个 DeepSeek Harness(DSH)bundle 插件,注册一个按需加载的 agent 技能。它把深度长文的生产——学术论文、行业分析、商业评论、公众号深文——变成**带人在环节点的 9 角色流水线**。
8
8
 
@@ -109,7 +109,7 @@ patch 层做两件事:**插入一行本包自注册行**(`- id: lunheng-arti
109
109
  **只推 tag 发布,禁止本地 `npm publish`**(本地直发会绕过 CI 三道门与 OIDC 来源证明,且 npm 版本不可覆盖)。
110
110
 
111
111
  ```sh
112
- git tag v18.2.6 && git push origin v18.2.6 # 一次只推 1 个 tag(GitHub:单次 push >3 个 tag 不触发任何 workflow)
112
+ git tag v18.2.8 && git push origin v18.2.8 # 一次只推 1 个 tag(GitHub:单次 push >3 个 tag 不触发任何 workflow)
113
113
  # publish.yml 依次跑:门 1 一致性 → 门 2 打包面 → 门 3 机械卫生 → 门 4 打包产物冒烟 → 脚本回归测试
114
114
  # → tag/版本一致校验 → 幂等守卫 → OIDC 发布 --provenance --tag dsh → 发布后审计
115
115
  ```
package/SECURITY.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # 安全策略(SECURITY)
2
2
 
3
- > 版本:v18.2.6(DSH 原生插件,发布于 2026-09-13)
3
+ > 版本:v18.2.8(DSH 原生插件,发布于 2026-09-13)
4
4
 
5
5
  ## 上报漏洞
6
6
 
@@ -26,7 +26,7 @@
26
26
  | 加载期执行 | `cordis.patch.yml` 含 **6 处 `!!js` 表达式** = **3 处 `disabled:`(三段分档工具行的行级门控,读 `LUNHENG_TIERING` 与三档 `*_PROVIDER` / `*_MODEL`)** + **3 处 `agentOptions:`(各自读本档 `LUNHENG_<档>_PROVIDER` / `_MODEL`,未设则返回 `undefined`)**。计数口径:`^\s*[A-Za-z]+:\s*!!js` 的 YAML 值行(`Select-String cordis.patch.yml -Pattern '^\s*[A-Za-z]+:\s*!!js'` → 6 行)。它们由 DSH 宿主进程在**加载期以完整 Node 权限**求值(`disabled` 由 loader 的 `disabledOf()` 求值,`@deepseek-ai/cordis-plugin-loader/src/config/entry.ts:104-107`),**发生在 agent 沙箱与审批关卡之前**——安装本包即等于允许这些表达式在每次启动时执行。(v18.2.6 更正:旧版本节与 patch 注释只写「3 处」,**漏算 3 处 `disabled`**,等于把加载期执行面**少报一半**。)另:v18.2.6 起三段分档行改为「**默认不装载**」——未设任何 `LUNHENG_*` 时三行不挂载(不再每会话白付 3 份与内置 `subagent` 同义的工具 schema)。 |
27
27
  | 允许的表达式内容 | 仅 `process.env.*` 与全局 `Object.assign`。(v18.0.0 起技能目录不再由 patch 求值挂载,故 `baseUrl` / `URL` / `decodeURIComponent` / `process.platform` 已不再需要——表达式面比 v17.0.0 **更窄**。) |
28
28
  | 禁止的表达式内容(CI 红线,`consistency-check.mjs` 规则 ⑭) | `getBuiltinModule` / `child_process` / `require(` / `import(` / `eval(` / `new Function` / `node:` / `fs.` |
29
- | 随包脚本 | 12 个 `.mjs`(**数量真源 = `SKILL.md` 的「随包脚本白名单」行**;v18.2.5 实测 `skills/lunheng-article-pipeline/scripts/*.mjs` 顶层 = 12):**零第三方依赖**。网络面:**零外发**——唯一的网络调用是 `model-routing.mjs:124` 的 `fetch()`,且**只对回环地址** provider 的 `/models` 做可达性探测(仅当 provider 的 `baseURL` 命中 `127.0.0.1` / `localhost` / `[::1]`,3 秒超时、不读也不发任何密钥、结果只用于本地候选池,`--no-probe` 可整体关闭);此外**没有任何出网请求**。子进程:唯一一处是 `final-check.mjs` 的 `spawnSync`(固定脚本路径 + 参数数组 + `shell:false`)。写文件:`normalize-trust-level.mjs` / `md2html.mjs` / `final-check.mjs` / `apply-diff.mjs` 均可写盘——技能已要求其目标路径限于项目目录,且 `normalize-trust-level` 默认 dry-run。 |
29
+ | 随包脚本 | 13 个 `.mjs`(**数量真源 = `SKILL.md` 的「随包脚本白名单」行**;v18.2.7 实测 `skills/lunheng-article-pipeline/scripts/*.mjs` 顶层 = 13,较 v18.2.5 新增 `segment-chars.mjs` 一项):**零第三方依赖**。网络面:**零外发**——唯一的网络调用是 `model-routing.mjs:124` 的 `fetch()`,且**只对回环地址** provider 的 `/models` 做可达性探测(仅当 provider 的 `baseURL` 命中 `127.0.0.1` / `localhost` / `[::1]`,3 秒超时、不读也不发任何密钥、结果只用于本地候选池,`--no-probe` 可整体关闭);此外**没有任何出网请求**。子进程:唯一一处是 `final-check.mjs` 的 `spawnSync`(固定脚本路径 + 参数数组 + `shell:false`)。写文件:`normalize-trust-level.mjs` / `md2html.mjs` / `final-check.mjs` / `apply-diff.mjs` 均可写盘(`segment-chars.mjs` 为**只读**)——技能已要求其目标路径限于项目目录,且 `normalize-trust-level` 默认 dry-run。 |
30
30
  | 技能机制 | 技能会让 agent 读写工作区文件、派发子代理、并经外部检索服务外发检索关键词/目标 URL(Phase 0 有「4 选 1」明示同意关卡)。 |
31
31
  | 已知边界 | 同名技能存在**按 rank 就近静默覆盖**的平台行为:项目根 `.dsh/skills/<同名>` 会顶替本包提供的技能副本(无告警)。技能已加入启动自检条款(核对版本头,不符即停机报告)。 |
32
32
 
@@ -37,8 +37,10 @@
37
37
  - **幂等守卫**:目标版本已存在于 npm 时跳过发布。
38
38
  - **发布后审计**:断言 `npm view <pkg>@<ver> gitHead` == 本次提交 SHA,且 `dist-tags.dsh` 指向该版本。
39
39
  - 历史版本 `2.5.2-dsh.8`–`.12` 为**本地手工发布、无 provenance**(已在 `CHANGELOG.md` 记录);自 `2.5.2-dsh.13` 起恢复 tag + OIDC 流程。
40
- - **`NPM_TOKEN` 的用途与治理(v18.2.4 增补,第三方审计 G.1)**:发布本身走 OIDC、**不需要** token;该 secret **只**用于发布后 `npm dist-tag add … latest` 这一步——OIDC 覆盖的是 `npm publish`,而 `npm dist-tag` 仍需写鉴权(工作流注释已记实测:无 token 时该命令因无鉴权 exit 1;故工作流写成「无 token 只告警、不失败」,latest 由维护者手工补打)。
40
+ - **`NPM_TOKEN` 的用途与治理(v18.2.4 增补,第三方审计 G.1;v18.2.6 末已删除该 secret)**:发布本身走 OIDC、**不需要** token;该 secret 曾经**只**用于发布后 `npm dist-tag add … latest` 这一步——OIDC 覆盖的是 `npm publish`,而 `npm dist-tag` 仍需写鉴权(工作流注释已记实测:无 token 时该命令因无鉴权 exit 1;故工作流写成「无 token 只告警、不失败」)。
41
41
  > **治理要求**:① 用**细粒度 token**、只授本包写权限、设最短有效期;② 定期轮换;③ **一旦出现在聊天记录 / 日志 / 截图 / CI 输出中即视为已泄露**,立即 revoke 并重发;④ 该 token 永远不得打印(`publish.yml` 只经 `env:` 传递,不 `echo`)。
42
+ > **当前状态(2026-09-19 记录)**:该 secret **已删除** —— 它在 v18.2.4 与 v18.2.6 两次发布时均已失效(实测 `E401`,见 `CHANGELOG.md` 对应段),使「核对 dist-tag」这一步在**发布成功后**仍把作业判红。删除后该步走「无 token」分支(仅 `::warning::`,作业绿)。
43
+ > **运维后果(后来者须知)**:**每次发版后 `latest` 不再自动前移**(`dsh` 由 `npm publish --tag dsh` 自动指向新版本,不受影响)。发布后请在有凭据的机器上执行:`npm dist-tag add lunheng-article-pipeline@<版本> latest`(首次发布 18.2.6 时即按本仓发布日志中的同一条命令手工补打)。若要恢复自动化,重新签发细粒度 token 并按上面 ①–④ 治理,然后 `gh secret set NPM_TOKEN`。
42
44
 
43
45
  ## 支持的版本
44
46
 
package/cordis.patch.yml CHANGED
@@ -1,4 +1,4 @@
1
- # lunheng-article-pipeline bundle patch(DSH 原生插件 v18.2.6)
1
+ # lunheng-article-pipeline bundle patch(DSH 原生插件 v18.2.8)
2
2
  #
3
3
  # 本文件用 DSH cordis-plugin-include 的 `- insert:` 列表语法在 standard 组合树之上叠加 4 行:
4
4
  # 1. **本包入口(自注册行)**:`name: lunheng-article-pipeline` → loader 按包名解析到
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **论衡(lunheng-article-pipeline)** 是一个多 Agent 深度长文生产流水线,DeepSeek Harness(dsh)bundle 插件。它不是让一个 AI 直接写文章,而是让一支 **9 个 AI 角色组成的"论文生产小队"** 按既定协议协作:定题 → 三线并行检索 → 分析 → 写作 → 批判 → 审计 → 审稿 → 终检。每一步都有明确产出物、交接报告与质量闸门,最终交付**有证据底座、有反方论证、有独立审计、有人工核验节点**的文章。
4
4
 
5
- > 适用:公众号深度长文、研究报告、学术论文、商业评论、行业分析——任何"要站得住脚"的长内容。当前版本 **v18.2.6**(DSH 独立版本)。
5
+ > 适用:公众号深度长文、研究报告、学术论文、商业评论、行业分析——任何"要站得住脚"的长内容。当前版本 **v18.2.8**(DSH 独立版本)。
6
6
 
7
7
  ---
8
8
 
@@ -170,7 +170,7 @@ dsh plugin --profile web add lunheng-article-pipeline
170
170
  ## 获取方式
171
171
 
172
172
  - **GitHub(DSH bundle)**:https://github.com/zuoyunlai/lunheng-article-pipeline-dsh
173
- - **npm**:`lunheng-article-pipeline@dsh`(dist-tag `dsh` = 最新 DSH 迭代版);锁定具体版本可写 `@18.2.6`
173
+ - **npm**:`lunheng-article-pipeline@dsh`(dist-tag `dsh` = 最新 DSH 迭代版);锁定具体版本可写 `@18.2.8`
174
174
  - **历史版本线(独立化前)**:https://github.com/zuoyunlai/lunheng-article-pipeline
175
175
 
176
176
  ---
@@ -13,7 +13,7 @@
13
13
  ```sh
14
14
  # 1. 在 profile 里声明 bundle 依赖(DSH 读 dsh.bundle.patch 找到 cordis.patch.yml 加载)
15
15
  dsh plugin --profile web add lunheng-article-pipeline@dsh # 推荐:跟随最新 DSH 迭代版
16
- # 锁定具体版本:dsh plugin --profile web add lunheng-article-pipeline@18.2.6
16
+ # 锁定具体版本:dsh plugin --profile web add lunheng-article-pipeline@18.2.8
17
17
 
18
18
  # 2. (可选,但要让三档工具真的挂上就必做)设三档 subagent 工具的 provider/model 环境变量
19
19
  # v18.2.6 起:不设任何变量 = 三档行**根本不装载**(不再是「装载但全继承」)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lunheng-article-pipeline",
3
- "version": "18.2.6",
3
+ "version": "18.2.8",
4
4
  "description": "论衡(lunheng-article-pipeline)— 多 Agent 深度长文流水线技能包(DeepSeek Harness 原生插件):定题→并行检索(文献/数据/案例)→分析→大纲人在环确认→写作→批判→审计→审稿→修订→配图→终检交付,9 个独立角色 T1-T9 互不可替代(文献/数据/案例/分析/写作/批判/审计/终检/审稿),主控 = T0 调度 + T8 终检亲执行(T8 独立角色,执行者主控担任,不 spawn),T9 审稿可选默认选中学术必选,三角验证 + M 机械化硬门 + F 失败模式防御 + G14 中文 AI 痕迹闸 + 期刊匹配助手,用 dsh subagent 子代理编排。",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -16,9 +16,9 @@ Phase 1 并行检索 → spawn T1 文献检索员 ∥ T2 数据检索员 ∥ T3
16
16
  [🔒 T2.5 完整性门] 数据条目≥简报数据需求 + 信任级别完整 → 通过才派 T4
17
17
  Phase 2 分析 → spawn T4 分析员 → analysis/分析大纲.md
18
18
  Phase 2.5 大纲确认 → 主人过目 → 三角验证 [L]+[D]+[C] 缺角补检索
19
- Phase 3 写作 → spawn T5 写手 → drafts/初稿-v1.md
19
+ Phase 3 写作 → spawn T5 写手 → drafts/初稿-v1.md(**含 G14 v1 自检**:8 类措辞层扫描,结论入 drafts/修订说明-v1.md;v18.2.8)
20
20
  Phase 3.5 洞察补充 → 主人深度洞察补充(人在环)→ 写手 v2 融入
21
- Phase 3.6 批判 → spawn T6 批判伙伴 ∥ **G14 早闸**(C1-C7 反方攻击 v2,轻量档可跳)→ analysis/批判报告-vN.md
21
+ Phase 3.6 批判 → spawn T6 批判伙伴(C1-C7 反方攻击 v2,轻量档可跳)→ analysis/批判报告-vN.md
22
22
  Phase 4 审计 → spawn T7 审计员 → audits/审计报告-vN.md(G0-G14 全项检查,v2.4.0 加 G14 中文 AI 痕迹闸)
23
23
  → 打回修订 ≤2 轮(必须 spawn 独立写手);仍不过 → 升级决策 / Acknowledged Limitations 模式
24
24
  Phase 4.5 审稿 → spawn T9 同行评审 ∥ **G14 终闸**(可选,默认选中,**学术论文必选**)→ audits/审稿报告-vN.md(6 维度评分 + 期刊匹配助手 Top 3)
@@ -54,7 +54,7 @@ Phase 5 终检 → T8 终检(独立角色,主控 T0 以 T8 身份亲完
54
54
  - **技能来源自检(v2.5.2-dsh.13)**:启动时核对 `SKILL.md` 版本头与期望版本一致,不一致即停机报「技能来源可疑」(同名技能会按 rank 就近静默顶替)
55
55
  - **M 门(v2.2.0+)**:终检前必读 `references/_shared/M-Gate-Algorithm.md`(**仅 T7/T8 读**——T1-T5/T9 不读,因 M 门 23 项中 22 项已脚本化为 `scripts/m-gate-check.mjs`(M-Form 1-11 + M-Exist 1-10 + M-Integrity-1 佐证),LLM 只复核 M-Form-8 的承重墙质量与 M-Integrity-2 跨文件判断),按伪代码执行 M-Form/M-Exist/M-Integrity(M-Form 11 项含 M-Form-7 文末白名单 v2.3.5 + M-Form-8 三角验证 v2.3.7 + M-Form-9 图件闭环 v2.5.2-dsh.16 + M-Form-10 索引段完整性 / M-Form-11 素材按需加载闭环 v2.5.2-dsh.17),产出 `final/M-Gate-Report.json`,exit 0 才返回
56
56
  - **图件链路(v2.5.2-dsh.16)**:写手只标 `[图N:标题]`(**独占一行**)→ 主控 Phase 4.5 用 `write` 手写 SVG 到 `final/图件/图N_标题.svg`(**唯一口径**)→ 导出 `md2html.mjs --fig-dir final/图件`(按图号配图,缺图显式标注)→ **M-Form-9** 对账(缺图/图位不足 → P0·P1;孤儿图件/图上数字无出处 → P2 提示)
57
- - **G14 中文 AI 痕迹闸(v2.4.0+;v18.2.6 修复时点)**:**早闸 = Phase 3.6 与 T6 同批**(结论入 `drafts/修订说明-vN.md`);**终闸 = Phase 4.5 与 T9 并行**(报告 = 最终版本真源);**不得只等 4.5 首跑**(否则与 T6 的修订拆两轮、多耗一轮写手)。LLM 推理判定、零 exec,8 类检测维度,0-2 类 Pass / 3-4 类 Warning 触发 T5 修订 1 轮 / 5+ 类 Fail 触发 2 轮;主人在 Phase 0 可显式关闭。闸门定义 `references/gates/14-中文AI痕迹-gate.md`,检测器 `references/checkers/中文AI痕迹-checker.md`
57
+ - **G14 中文 AI 痕迹闸(v2.4.0+;v18.2.8 删早闸,三层防御、仅一次 spawn)**:**① T5 v1 自检**(写作时,零 spawn,结论入 `drafts/修订说明-v1.md`)→ **② 修订轮收尾自查**(每轮修订后主控执行,零 spawn)→ **③ 终闸 = Phase 4.5 与 T9 并行**(**唯一一次 spawn**;报告 = 最终版本真源)。LLM 推理判定、零 exec,8 类检测维度,0-2 类 Pass / 3-4 类 Warning 触发 T5 修订 1 轮 / 5+ 类 Fail 触发 2 轮;主人在 Phase 0 可显式关闭。闸门定义 `references/gates/14-中文AI痕迹-gate.md`,检测器 `references/checkers/中文AI痕迹-checker.md`
58
58
  - **T9 同行评审 + 期刊匹配(v2.4.0+/v2.5.0,v2.5.2-dsh.8 定案:可选默认选中,学术论文必选)**:Phase 4.5 终稿前触发,6 维度评分 → accept/minor/major/reject;学术模式输出 Top 3 推荐期刊(`references/_shared/期刊数据库.md` + `期刊匹配算法.md`)
59
59
  - **项目进展记入** `memory/YYYY-MM-DD.md` 和 `memory/projects.md`
60
60
  - **注解聚合(v2.5.2-dsh 补丁,token 优化)**:新机制注解**不再逐层堆叠**(v2.1.8 新增/v2.2.1 新增/v2.3.0 改…),同主题合并为单行「v2.5.2-dsh 补丁,教训:…」格式;历史分层注解聚合到卡头一行,细节见 git log——防角色卡/文档随版本膨胀。
@@ -1,6 +1,6 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
- # 论衡快速开始指南(v18.2.6)
3
+ # 论衡快速开始指南(v18.2.8)
4
4
 
5
5
  > **v2.3.0 升级(2026-08-21)**:角色编号重构(教训 #116)—— T6 案例检索 → T3 案例检索(三方并行检索员连贯 T1∥T2∥T3),T3-T8 顺延 + T7/T8 交换位置(终检 → T8 主控亲完成、批判 → T6 独立早期攻击、审计 → T7 形式审查)。新增 Phase 3.6 批判(T6 攻击 v2 含主人洞察)。
6
6
  >
@@ -37,7 +37,7 @@
37
37
 
38
38
  1. `@lunheng-article-pipeline` 显式触发 → 主控走 Phase 0 定题(主题 / 类型 / 篇幅 / 引用格式 / 外部服务同意)→ **你确认才开始**;
39
39
  2. Phase 1 三检索员真并行(T1 文献 ∥ T2 数据 ∥ T3 案例)→ T2.5 数据完整性门 → Phase 2 分析 → **Phase 2.5 你过大纲**;
40
- 3. Phase 3 写作 → **Phase 3.5 你补洞察** → Phase 3.6 批判+G14 早闸 → Phase 4 审计(G0-G14)→ Phase 4.5 审稿+G14 终闸 → T7.5 审计门;
40
+ 3. Phase 3 写作(**含 G14 v1 自检**)→ **Phase 3.5 你补洞察** → Phase 3.6 批判 → Phase 4 审计(G0-G14)→ Phase 4.5 审稿+G14 终闸 → T7.5 审计门;
41
41
  4. Phase 5 终检(主控以 T8 身份亲自跑 M 门 23 项)→ `final/定稿.md` + `final/证据包/` + `final/交付说明.md`;
42
42
  5. 四个关卡由你拍板,其余全自动;过程中看 `run/<项目>/进展-主人版.md`(≤15 行,人类可读)。
43
43
 
@@ -95,7 +95,7 @@
95
95
  8. **Phase 4 审计派发**:自动派 **T7** 审计员(v2.3.0 改 T5→T7)
96
96
  9. **Phase 4.5 审稿派发**(v2.4.0 新增,v2.5.2-dsh.8 定案:T9 默认选中、学术论文必选):
97
97
  - **T9 同行评审**(可选,默认选中,学术论文必选):论文投稿前的「预演审稿人」,6 维度评分 → accept/minor/major/reject
98
- - **G14 中文 AI 痕迹闸**(可选):**早闸 Phase 3.6 与 T6 同批 / 终闸 Phase 4.5 与 T9 并行**(v18.2.6 审计修复时点),8 类检测维度(学术模板语/句式同质化/学术套话高频/破折号滥用/三项排比/人称错位/个人辨识度缺失/党报话语堆砌),0-2 类 Pass / 3-4 类 Warning 触发 T5 修订 1 轮 / 5+ 类 Fail 触发 T5 修订 2 轮;主人 Phase 0 可显式关闭
98
+ - **G14 中文 AI 痕迹闸**(可选):**三层防御、仅一次 spawn(v18.2.8 删早闸)**——① T5 v1 自检(写作时)→ ② 修订轮收尾自查(每轮修订后主控执行)→ ③ **终闸 Phase 4.5 与 T9 并行**(唯一一次 spawn)。8 类检测维度(学术模板语/句式同质化/学术套话高频/破折号滥用/三项排比/人称错位/个人辨识度缺失/党报话语堆砌),0-2 类 Pass / 3-4 类 Warning 触发 T5 修订 1 轮 / 5+ 类 Fail 触发 T5 修订 2 轮;主人 Phase 0 可显式关闭
99
99
  - **方法论足迹面板**(可选):status.md 加方法论可见段(借鉴 deep-research-pro)
100
100
  10. **Phase 5 终检**:**T8 终检**(独立角色,主控 T0 以 T8 身份亲执行,不 spawn 子代理)交付
101
101
 
@@ -144,7 +144,7 @@
144
144
  | **T8 终检**(v2.3.0 改 T7→T8;独立角色,主控 T0 亲执行) | M 门 23 项复核 + 交付物完整性 + 证据包 + AI 使用声明 | Phase 5(执行者 = 主控,不 spawn 子代理) |
145
145
  | **T9 同行评审**(v2.4.0 新增,v2.5.2-dsh.8 定案:可选默认选中,学术必选) | 预演期刊审稿(6 维度评分 → accept/minor/major/reject) | Phase 4.5(默认选中;学术必选不可关) |
146
146
 
147
- > **G14 中文 AI 痕迹闸(v2.4.0 新增)**:**早闸 Phase 3.6 与 T6 同批**、**终闸 Phase 4.5 与 T9 并行**(v18.2.6 审计修复时点)。8 类检测(学术模板语/句式同质化/学术套话/破折号/三项排比/人称/辨识度/党报话语),0-2 类 Pass / 3-4 类 Warning 触发修订 / 5+ 类 Fail 强制修订。
147
+ > **G14 中文 AI 痕迹闸(v2.4.0 新增;v18.2.8 删早闸)**:**三层防御、仅一次 spawn**——① T5 v1 自检(写作时)→ ② 修订轮收尾自查(每轮修订后)→ ③ **终闸 Phase 4.5 与 T9 并行**。8 类检测(学术模板语/句式同质化/学术套话/破折号/三项排比/人称/辨识度/党报话语),0-2 类 Pass / 3-4 类 Warning 触发修订 / 5+ 类 Fail 强制修订。
148
148
 
149
149
  完整角色定义:详见 [`glossary.md § 一 核心角色`](references/glossary.md)
150
150
 
@@ -1,6 +1,6 @@
1
1
  # 论衡(lunheng-article-pipeline)— 多 Agent 深度长文流水线
2
2
 
3
- > **DSH 原生插件(v18.2.6)**:本仓库为 DSH bundle 技能包(`package.json` 的 `main` → `lib/index.js` 注册本技能 + `dsh.bundle.patch` → `cordis.patch.yml` 叠加三档 subagent 工具);结构性差异见 `SKILL.md` 的「🔧 DSH 环境说明」章节。
3
+ > **DSH 原生插件(v18.2.8)**:本仓库为 DSH bundle 技能包(`package.json` 的 `main` → `lib/index.js` 注册本技能 + `dsh.bundle.patch` → `cordis.patch.yml` 叠加三档 subagent 工具);结构性差异见 `SKILL.md` 的「🔧 DSH 环境说明」章节。
4
4
 
5
5
  把一篇深度文章 / 论文的生产拆成 **9 个独立角色 T1-T9 + 6 个阶段**(v2.5.2-dsh.8 语义定案:T1-T9 互不可替代;Phase 1 为 T1 文献 ∥ T2 数据 ∥ T3 案例 三检索员三方真并行互不干涉,T3 任何量级必 spawn 含 0 条空卡协议;T6 批判伙伴 + T7 审计 + **T8 终检独立角色由主控 T0 亲执行** + T9 同行评审可选默认选中学术必选,v2.3.0 角色编号重构 + v2.4.0 加 T9),用 DSH 的 `subagent` 子代理编排,产出有**证据底座、反方论证、独立审计、人工核验节点**的交付物。
6
6
 
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: "lunheng-article-pipeline"
3
- version: "18.2.6"
3
+ version: "18.2.8"
4
4
  description: "论衡:DSH 原生多 Agent 深度长文流水线(学术论文 / 商业评论 / 行业分析 / 公众号)。9 个独立角色 T1-T9 + 主控(T0 调度 + T8 终检);三角验证 + M 门 + G 审计 + 修订回环 ≤2 轮 + 期刊匹配。适用:≥2000 字、证据须可追溯的长文(含 4 个人在环节点、1-3 小时流水线时长)。**不适用**:<2000 字短文与即时问答;文学创作(小说/诗歌/剧本);需数学推导或实验设计的理工科论文;营销软文;需要一手数据(问卷/访谈/田野/实验)而尚未投喂素材。"
5
5
  whenToUse: "「何时该用」与「何时不该用」的完整判据已并入 description(v18.0.5:官方目录只渲染 name + description,本字段对模型不可见,保留仅供工具链与维护者阅读)。"
6
6
  ---
7
7
 
8
- > 版本:v18.2.6(DSH bundle 插件)
8
+ > 版本:v18.2.8(DSH bundle 插件)
9
9
  > **v2.5.2-dsh.8 角色语义定案(主人指令)**:**9 个角色 T1-T9 各自独立、不可相互替代**——T8 终检不是「主控兼做的杂活」而是独立角色(有独立角色卡),只是执行者由主控担任(**主控 = T0 调度 + T8 终检执行双重身份**),不 spawn 子代理;**T9 审稿可选、默认选中、学术论文必选**。
10
10
 
11
11
  # 多 Agent 深度长文流水线(论文/深度文章生产)
@@ -40,11 +40,12 @@ whenToUse: "「何时该用」与「何时不该用」的完整判据已并入 d
40
40
 
41
41
  **论衡技能的工具边界(DSH)**:
42
42
  - ✅ **可调用**:当前会话预设提供的工具(本机 standard 预设实测含 read / write / edit / web_search / web_fetch / todo_write / subagent / list_agents / pwsh 等)——DSH 无技能级白名单,工具集由 Agent 预设决定。**调用任何工具前先确认它在当前会话工具清单里**(教训:`read_page`/`bash` 并不存在于本预设,曾被本文档误声明为可用)。
43
- - ✅ **随包脚本白名单(v18.2.5 复核为 12 个)**:`scripts/*.mjs` = consistency-check / m-gate-check / md2html / pdfcheck / token-cost / count-chars / build-evidence-bundle / final-check / normalize-trust-level / model-routing / token-budget / apply-diff + 有限验证命令(ls/stat/wc/cp/diff/Get-FileHash 等)——**受限 shell 使用**(另:`_lib` 子目录为共享库,非入口、不单独调用),非「零 exec」;其余命令须经主人同意。
43
+ - ✅ **随包脚本白名单(v18.2.7 复核为 13 个)**:`scripts/*.mjs` = consistency-check / m-gate-check / md2html / pdfcheck / token-cost / count-chars / segment-chars / build-evidence-bundle / final-check / normalize-trust-level / model-routing / token-budget / apply-diff + 有限验证命令(ls/stat/wc/cp/diff/Get-FileHash 等)——**受限 shell 使用**(另:`_lib` 子目录为共享库,非入口、不单独调用),非「零 exec」;其余命令须经主人同意。
44
+ > **`segment-chars.mjs`(v18.2.7 新增)**:分段字数实测(`--list` 列全部节 / `--section "3.6"` 取指定节),供主控在派发段级 diff **之前**实测目标段现况字数;口径与 `count-chars.mjs` 同源。用法详见 [`references/pipeline-readme.md`](references/pipeline-readme.md) §段级 diff 前置步。
44
45
  > **`apply-diff.mjs`(v18.2.5 新增)**:段级 diff 清单机械应用器,用法与清单格式约定见 [`references/pipeline-readme.md`](references/pipeline-readme.md) §修订轮默认段级 diff。
45
46
  - ❌ **不做**:凭据访问 / 浏览器自动化 / 定时任务(除白名单脚本与验证命令外,主控默认不执行任意 shell,LLM 推理判定)。
46
47
  - 🔒 **机制文件写保护(v2.5.2-dsh.13;v18.1.0 部分机械化)**:`SKILL.md` / `AGENTS.md` / `references/**` / `scripts/**` / `cordis.patch.yml` 属**机制文件**——任何角色(含主控与子代理)**不得**用 write/edit 改动;改进动议只写 `audits/反哺报告-vN.md`,由主人在 host shell apply。**改机制文件 = P0 违规,本次交付作废**。v18.1.0 起 bundle 部署下这条由 prompt 升级为**机制否决**(入口注册全局 `ctx.tools.guard()`,命中即拒绝;主人授权走 `LUNHENG_ALLOW_MECH_EDIT=1`);**残余缺口**:guard 只看工具调用,`pwsh` 不经此门——「比 prompt 强、比机制强制弱」。详见 `references/_shared/DSH-集成方案.md` §6。
47
- - 🧾 **闸门必须留机械证据(v2.5.2-dsh.13 新增;v18.0.2 统一退出码;v18.0.5 补异常路径)**:T2.5/T7.5 与 M 门**不得只凭自述**——交接报告须附**脚本 exit code + 产物路径**(如 `m-gate-check.mjs … --report <项目>/final/M-Gate-Report.json` 的 exit 与报告路径)。exit 语义:`0` 通过 / `1` P1 失败 / `2` P0 失败 / `3` 仅 P2·soft·SKIP(需 LLM 复核,**不得**当通过)/ `10` **参数或路径错误**(含**异常路径**:v18.0.5 起所有随包脚本装 `_lib/exit-guard.mjs`,fs 类异常统一映射为 10,不再让未捕获异常退化成 1)/ `70` **内部错误(EX_SOFTWARE,脚本缺陷)**——与任何内容判定无关。**路径错一律 10,不得与 P1 混用**(`m-gate-check` 曾把「定稿/证据包不存在」判 1,`final-check` 会误渲染成「有 P1 残留、可触发 T5 修订」)。另:`model-routing.mjs` 用自有码 **`4`**=需人工决定(旧版 `3` 与 M 门 `3` 撞码);非闸门工具(`token-budget`/`md2html`/`pdfcheck`/`token-cost`)不共用本语义,见各自头注释与 `docs/troubleshooting.md §8`。
48
+ - 🧾 **闸门必须留机械证据(v2.5.2-dsh.13 新增;v18.0.2 统一退出码;v18.0.5 补异常路径)**:T2.5/T7.5 与 M 门**不得只凭自述**——交接报告须附**脚本 exit code + 产物路径**(如 `m-gate-check.mjs … --report <项目>/final/M-Gate-Report.json` 的 exit 与报告路径)。exit 语义:`0` 通过 / `1` P1 失败 / `2` P0 失败 / `3` 仅 P2·soft·SKIP(需 LLM 复核,**不得**当通过)/ `10` **参数或路径错误**(含**异常路径**:v18.0.5 起所有随包脚本装 `_lib/exit-guard.mjs`,fs 类异常统一映射为 10,不再让未捕获异常退化成 1)/ `70` **内部错误(EX_SOFTWARE,脚本缺陷)**——与任何内容判定无关。**路径错一律 10,不得与 P1 混用**(`m-gate-check` 曾把「定稿/证据包不存在」判 1,`final-check` 会误渲染成「有 P1 残留、可触发 T5 修订」)。另:`model-routing.mjs` 用自有码 **`4`**=需人工决定(旧版 `3` 与 M 门 `3` 撞码);非闸门工具(`token-budget`/`md2html`/`pdfcheck`/`token-cost`/`segment-chars`)不共用本语义,见各自头注释与 `docs/troubleshooting.md §8`。
48
49
  - 🛠 **原生工具 / 人类命令(v18.1.0,可选)**:bundle 部署下入口注册**只读**工具 `lunheng_m_gate`(M 门预检,返回 `exit/pass/p0/p1/p2` 规范值)与 `lunheng_char_count`(汉字数)——**清单里有就优先用**(省一次 `pwsh` + stdout 解析),**没有就照旧 `pwsh` 调脚本**;两条路径等价,脚本仍是唯一真源。主人可用 **`/lunheng-status [项目名]`** 自查进展(读 `status.md` + `进展-主人版.md`,**不产生模型消息**)。
49
50
  - 🪪 **技能来源自检(v2.5.2-dsh.13;v18.0.0 对齐官方 rank 表;v18.0.5 修两处官方事实)**:启动时用 `read` 核对本文件版本头「> 版本:v…」与期望版本一致;**不一致即停机**并报告主人「技能来源可疑」——同名 skill 按 **rank 就近取胜**,低 rank 会**静默顶替**高 rank 且无告警。官方 rank 表(`docs/subsystems/skills` 子系统契约):
50
51
 
@@ -95,9 +96,9 @@ whenToUse: "「何时该用」与「何时不该用」的完整判据已并入 d
95
96
 
96
97
  ## ⚡ 启动速查表
97
98
 
98
- - 版本:v18.2.6|角色:T0 主控(= T8 终检执行者)+ T1 文献 / T2 数据 / T3 案例 / T4 分析 / T5 写作 / T6 批判 / T7 审计 / T8 终检(主控亲执行)/ T9 审稿(默认选中,学术必选)
99
- - Phase:0 定题 → 1 检索(T1∥T2∥T3) → 2 分析 → 2.5 大纲(人) → 3 写作 → 3.5 洞察(人) → 3.6 批判+G14早闸 → 4 审计 → 4.5 审稿+G14终闸 → 5 终检(人)
100
- - G14 时点:**早闸 3.6 与 T6 同批**(结论入 `drafts/修订说明-vN.md`,与 T6 合并为同一份 T5 修订清单);**终闸 4.5 与 T9 并行**(报告 = 最终版本真源)
99
+ - 版本:v18.2.8|角色:T0 主控(= T8 终检执行者)+ T1 文献 / T2 数据 / T3 案例 / T4 分析 / T5 写作 / T6 批判 / T7 审计 / T8 终检(主控亲执行)/ T9 审稿(默认选中,学术必选)
100
+ - Phase:0 定题 → 1 检索(T1∥T2∥T3) → 2 分析 → 2.5 大纲(人) → 3 写作 → 3.5 洞察(人) → 3.6 批判 → 4 审计 → 4.5 审稿+G14终闸 → 5 终检(人)
101
+ - G14 时点(**v18.2.8 删早闸,三层防御**):**① T5 v1 自检(零 spawn)→ ② 修订轮收尾自查(零 spawn)→ ③ 终闸 4.5 与 T9 并行(唯一一次 spawn,报告 = 最终版本真源)**
101
102
  - 工具:subagent=派发(分档预设按角色选 subagent_retrieval/strong/audit)|list_agents=查看|todo_write=计划|web_search/web_fetch=检索|pwsh=命令|edit/write=文件
102
103
  - 闸门:T2.5(检索→分析)/ T7.5(审计→终检);M 门 exit 0;修订回环双轨 ≤2 轮(A 轨)
103
104
  - 闸门留痕(v2.5.2-dsh.17):两道闸门各落一份 `audits/闸门记录-T2.5.md` / `-T7.5.md`(模板 `templates/闸门记录-template.md`)——「实据」列必须是路径/exit code/命令,写「已检查」被判 P1(机检 **M-Exist-5**)
@@ -163,7 +164,7 @@ whenToUse: "「何时该用」与「何时不该用」的完整判据已并入 d
163
164
 
164
165
  ## 流水线全景(Phase 0-5)
165
166
 
166
- > **单一真源**:[`references/pipeline-readme.md` 流水线全景段](references/pipeline-readme.md)(Phase 序列与 G14 早闸/终闸时点见上方 §⚡ 启动速查表)。
167
+ > **单一真源**:[`references/pipeline-readme.md` 流水线全景段](references/pipeline-readme.md)(Phase 序列与 G14 三层防御时点见上方 §⚡ 启动速查表)。
167
168
 
168
169
  ## 项目目录结构
169
170
 
@@ -1,7 +1,7 @@
1
1
  # 论衡 × DSH 能力面集成方案
2
2
 
3
- > **版本**:v18.2.6(C 组落地;§一–§六 为 v18.0.2 原文,§七–§八 为 v18.2.1 新增,**§九 为 v18.2.2 新增**)
4
- > **用途**:把论衡的既有机制(12 个门禁脚本 / 并行阶段 / 状态机 / 人在环闸门)**对齐 DSH 已有能力面**,替代平行自建。§一–§六 是**实施方案**,§七 是**落地状态表**,§八 是**可选配方**。
3
+ > **版本**:v18.2.8(C 组落地;§一–§六 为 v18.0.2 原文,§七–§八 为 v18.2.1 新增,**§九 为 v18.2.2 新增**)
4
+ > **用途**:把论衡的既有机制(13 个门禁脚本 / 并行阶段 / 状态机 / 人在环闸门)**对齐 DSH 已有能力面**,替代平行自建。§一–§六 是**实施方案**,§七 是**落地状态表**,§八 是**可选配方**。
5
5
  > **依据**:DSH 官方文档 `docs/cookbook/adding-a-tool.md`、`docs/tool-execution-pipeline.md`、`docs/subsystems/*.md`、`docs/capability-seams.md`(知识库副本见 `dsh-plugin-guide/references/official-docs/`;行号对快照 commit `d347e703…`)。
6
6
  > **当前状态**:**C 组四项已启用**(原生只读工具 / `ctx.tools.guard()` 写保护 / `/lunheng-status` / 词预算门)、一项给配方(分档工具行→agent preset)、一项仍未接线(Phase 内并行→`workflow`,依官方用法限定「仅在用户明确要求 workflow 或大规模编排时」用,故**降级为按需**)。
7
7
 
@@ -120,8 +120,8 @@ export function apply(ctx, config) {
120
120
  论衡有三个**天然并行、无人在环**的阶段:
121
121
 
122
122
  - **Phase 1:T1 文献 ∥ T2 数据 ∥ T3 案例**(三方独立,互不干涉)
123
- - **Phase 3.6:T6 批判 ∥ G14 早闸**(v18.2.6 审计修复时点:G14 早闸与 T6 同批并行,其产出与 T6 批判报告合并为同一份 T5 修订清单)
124
- - **Phase 4.5:T9 审稿 ∥ G14 终闸**(v18.2.6 审计修复:旧写「Phase 4.5:T6 ∥ T9 ∥ G14」——T6 在 Phase 3.6,与 4.5 无法并行)
123
+ - **Phase 3.6:T6 批判**(v18.2.8:G14 早闸已删除,不再与 T6 同批;T6 单独运行)
124
+ - **Phase 4.5:T9 审稿 ∥ G14 终闸**(v18.2.8:终闸为 G14 **唯一一次 spawn**;v18.2.6 审计修复:旧写「Phase 4.5:T6 ∥ T9 ∥ G14」——T6 在 Phase 3.6,与 4.5 无法并行)
125
125
 
126
126
  当前实现是主控逐次 `subagent` + 等通知。改为 `workflow` 工具的收益:
127
127
 
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
  > **v2.5.2-dsh.5 重大修订**(测试轮反哺 14 项问题落地):
4
4
  > - **P0** #1 M-Form-2 与 M-Form-7 白名单统一(含 AI 使用声明)
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
 
4
4
  # 审计员必查项快速参考(v2.2.8 抽离,v2.3.0 改 T5→T7)
@@ -83,11 +83,11 @@
83
83
 
84
84
  **G13 AI 使用披露(v2.2.2 新增,教训 #86)**:文末「交付说明.md」必含 AI 使用披露三段(AI 生成内容 / 主人原创洞察 / 检索真实证据),缺缺失 → P1
85
85
 
86
- **G14 中文 AI 痕迹深度检测(v2.4.0 新增)**:**两个时点**——**早闸 Phase 3.6 与 T6 批判伙伴同批并行** / **终闸 Phase 4.5 与 T9 并行**(v18.2.6 审计修复:旧写「Phase 4.5 触发,与 T6 并行」,而 T6 在 3.6)调用 G14 检测器(LLM 推理判定,零 exec)。8 类检测维度:
86
+ **G14 中文 AI 痕迹深度检测(v2.4.0 新增)**:**三层防御、仅一次 spawn(v18.2.8 删早闸)**——**① T5 v1 自检(写作时,零 spawn)→ ② 修订轮收尾自查(每轮修订后主控执行,零 spawn)→ ③ 终闸 Phase 4.5 与 T9 并行(唯一一次 spawn)**,由主控调用 G14 检测器(LLM 推理判定,零 exec)。(v18.2.6 曾写「早闸 Phase 3.6 与 T6 同批」;v18.2.8 依主人授权删除——实测其 Pass 时 spawn 产出为零且早修无回归保护。)8 类检测维度:
87
87
  - A 学术模板语(综上所述/本文认为/值得关注的是等,任一 ≥3 次 → 命中)
88
88
  - B 句式同质化(连续 3 段同句式起头)
89
89
  - C 学术套话高频(赋能/抓手/底层逻辑等,全文 ≥5 处)
90
- - D 破折号滥用(全文 >8 处 / 段 ≥2 处 ≥5 段 / 占比 >3%)
90
+ - D 破折号滥用(**占比 >3%** 单一判据,口径见 `gates/14-中文AI痕迹-gate.md` §三)
91
91
  - E 三项排比(全文 ≥3 处)
92
92
  - F 人称错位(「我」字频 >1%)
93
93
  - G 个人辨识度缺失(LLM 自评与典型 LLM 风格相似度 >80%)
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
 
4
4
  # 退化场景规范(主人跳过 Phase 3.5 时)
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
 
4
4
  # 论衡 F 失败模式防御(v2.2.8 抽离)
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
 
4
4
  # 多格式导出(v2.5.0 新增,可选,默认 md)
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
 
4
4
  # 中文数据源集成(v2.5.1 修订:基于主人 2026-08-24 国内文献平台 API 实测)
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
 
4
4
  # 字数判定表(T7 审计 + T8 终检共用单一真源)
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
 
4
4
  # 期刊匹配算法(v2.5.0 新增)
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
 
4
4
  # 论衡内置期刊数据库(v2.5.0 新增,中文期刊审稿反馈处理器)
@@ -1,6 +1,6 @@
1
1
  # 模型路由(角色 → 模型的能力匹配)— 单一真源
2
2
 
3
- > 版本:v18.2.6(DSH bundle 插件)
3
+ > 版本:v18.2.8(DSH bundle 插件)
4
4
  > 用途:定义「哪些角色需要什么能力」「怎么探测本机可用模型」「怎么把两者匹配起来」,以及**降级路径**。
5
5
  > 实现:`scripts/model-routing.mjs`(只读脚本,按本机 `settings.yaml` 出建议);机制约束在 `cordis.patch.yml` 的三档工具。
6
6
 
@@ -1,6 +1,6 @@
1
1
  # 文档层规范 ↔ 机械门覆盖 对照表
2
2
 
3
- > **版本**:v18.2.6(读者口径)/ v18.0.2(新增)
3
+ > **版本**:v18.2.8(读者口径)/ v18.0.2(新增)
4
4
  > **用途**:逐条勾稽「规范写了什么」与「机械门是否覆盖」,根治教训 **#139「规范从文档层到执行层断链」**——该教训在《观念与理念的关系》实战中**复现 3 次**(文末五节顺序 / 案例来源内容 / 基线编号误判)。
5
5
  > **用法**:每次新增或修改规范时,在本表中加一行;每次版本 review 时逐行勾稽两问。
6
6
  > **读者与时机(v18.0.5 补,冗余审计 §二.7)**:**论衡维护者文档**——改规范 / 加机检门 / 版本 review 时读;**运行期角色不加载本文件**(它刻意不在任何角色卡的「读」清单里:主控与 T1-T9 都不需要它)。入口 = `AGENTS.md` §文件修改操作约束 的验证步 + `references/_shared/M-Gate-Algorithm.md` 的「名实对齐」注。
@@ -77,7 +77,7 @@
77
77
  | **引用编号闭环范围**(`机检硬格式.md §五`) | ❌ **门有盲区且激励反向**——`refRe` 白名单只认 `L/D/C-主/C/先`;写手用 `[脚注-1]`/`[表-1]` 等非标准编号时**既不报漏引也不报孤儿**(编号隐形,实测报「漏引 0 / 孤儿 0」**假通过**),而写 `[D99]`(不存在)会被判孤儿 | 加**扩展编号白名单**(`[脚注-N]` 允许但须双向闭环:闭环记 P2、未闭环 P1)+ **非标准编号黑名单**(P1;`[D-基-x-NN]` 由负向断言豁免) |
78
78
  | **承重墙清单来源表**(04 卡承重墙清单) | ❌ **门读错表**——表头锚点允许「承重」出现在**任意列** → 命中「论点-论据映射表」表头(该表末列恰为「承重证据 top1」)→ 按映射表逐行多编号计数 → **假报超载**(实测报 6 条;真值在承重墙清单里 = 12 行 top1、负载 ≤2、**无超载**,T4 自检亦明示不超载) | 表头锚点收紧为**首列**必须为承重证据 + detail 附带**实际选中的表头行**(让「选错表」自带证据、可事后核对) |
79
79
  | **闸门记录机械证据 / 加载率阈值**(`机检硬格式.md §七 §八`) | ⚠️ **门识别过窄 → 假 P1/P2**——① `35 ≥ 30`(数量比较)与 MD5(32 位 hex)+ `Get-FileHash` 被判「非机械证据」→ M-Exist-5 **假 P1**;② 加载率阈值 0.9 一刀切,8000 字综述 96.7% 触发「疑似整卡通读」(长篇合理形态**就是**高加载率) | ① 扩证据模式(32/64 位 hex / 数量比较符 `\d+[≥>]\d+` / `Get-FileHash`·`Test-Path`·`certutil`);② 阈值按 `bodyHan` 分档(长 ≥6000 用 0.98)+ **显式消歧路径**(清单注明「按需加载」即豁免) |
80
- | **G14 时点 / 豁免边界 / 与 G 类张力**(`gates/14` + checker) | ❌/⚠️ 三类——① **时点缺失**:只在早闸/终闸跑,而**每轮修订是新注入点**(破折号 26→8→**11 反弹**→6,反弹到终闸才抓、此时已到 A 轨上限);② **豁免过宽**:实测把「路径」35+ 处**整体**豁免(条款原意只覆盖标题/关键词/核心论点);③ **两门零和**:A 类词表含「本文认为」,而 G 类鼓励补主体声音 → 加则 A 告警、不加则 G 告警 | ① 加第三时点「修订轮收尾自查」(轻量:不 spawn、不重读全文、不写独立报告);② 豁免须**逐处留痕**(词/行号/理由)+ 域术语走项目级白名单 `run/<项目>/g14-terms-whitelist.md`;③ A 类区分「模板壳」与「立场句」(判据 = **是否承载判断题**) |
80
+ | **G14 时点 / 豁免边界 / 与 G 类张力**(`gates/14` + checker) | ✅①/⚠️②③ —— **① 时点(v18.2.8 已收敛)**:原「只在早闸/终闸跑,而每轮修订是新注入点」→ v18.2.5 先加「修订轮收尾自查」,v18.2.8 再依**主人显式授权**(「G14 早闸去掉」)**删除早闸**、改为**三层防御、仅一次 spawn**(T5 v1 自检 → 修订轮自查 → 终闸),既覆盖原始缺口又省一个子代理;② **豁免过宽(未收敛)**:实测把「路径」35+ 处**整体**豁免;③ **两门零和(未收敛)**:A 类含「本文认为」而 G 类鼓励补主体声音 | ① **已落地**(见 `gates/14-中文AI痕迹-gate.md` §四);② 豁免须**逐处留痕**(词/行号/理由)+ 域术语走项目级白名单 `run/<项目>/g14-terms-whitelist.md`;③ A 类区分「模板壳」与「立场句」(判据 = **是否承载判断题**) |
81
81
  | **段级 diff 字数口径 / 图位编号顺序 / 期刊来源 / 读文件编码**(05·04 卡 + `机检硬格式.md` + `AGENTS.md`) | ⚠️ **规范未定口径**(四类)——① 清单估算把标点与编号计入「字」,与 `count-chars.mjs`(纯汉字)不一致 → 每轮多耗一次返工(实测 v3 预估 8452 / 实测 8863);② 图位铁律未说与大纲编号的关系 → 照抄大纲主题分组号落入正文成 **1/3/2/5/4** 错序;③ 期刊匹配公式可复算但**输入是 LLM 主观打分**、无来源标注;④ shell 示例未标编码 → pwsh 默认解码致合法 UTF-8 显示乱码、曾被误判为「子代理产物坏了」 | ① 明确「估算 = 纯汉字 + 两侧计数」+ 新增 `apply-diff.mjs`(delta 由脚本**实测**);② writer 卡「按正文出现顺序重排」+ analyst 卡「大纲按预计顺序给号」;③ 每行须标 `期刊数据库 §X 行 N` 或 `LLM 补充(须人工核验)`;④ `AGENTS.md` 第 7 条(判据「先疑读取端,不疑文件」) |
82
82
  | **AI 使用声明节可披露**(`AI-使用声明-template.md`) | ❌ **两条规范冲突**——该模板要求写披露语,M-Form-4 文末二级扫描却按「内部信息」判 P0(实测命中禁词「承重」) | M-Form-4 **豁免「AI 使用声明」一节**(其余四节照扫) |
83
83
  | **证据包未到期的门**(`pipeline-readme` 闸门时序) | ❌ **门在错误阶段判死**——M-Exist-2 在 T7 审计 `drafts/` 时证据包尚由 T8 生成 → 判「0 个文件」P0,T5 修订轮无法关闭 | M-Exist-2 加**阶段感知**(`drafts/` + 空包 → N/A) |
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
  # 角色:主控 Coordinator(主 Agent)
4
4
 
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
 
4
4
  # 主控扩展职责(v2.5.0 拆分,按需加载)
@@ -123,7 +123,8 @@ T5 写手产出 v2 后、T7 审计前,主控 spawn **T6** 批判伙伴(`agen
123
123
  - **v2.5.0 期刊匹配助手**:T9 评审后自动匹配 Top 3 期刊(25 中文 + 12 英文 SSCI)
124
124
 
125
125
  ### G14 中文 AI 痕迹检测闸(v2.4.0 新增)
126
- - **触发(v2.5.2-dsh.0 反哺,教训:论艺术中的丑 G14 串行导致多一轮修订;v18.2.6 审计修复时点)**:**两个时点**——① **早闸 = Phase 3.6:T5 写手 v2 完成后、T7 审计前,与 T6 批判伙伴同批并行 spawn**——G14 检测风格(AI 味)、T6 攻击论证(C1-C7),两者互补不重叠。**禁止串行**(G14 若只等到 Phase 4.5 才跑,其 Warning 修订会与 T6 批判修订拆成两轮,多耗一轮写手)。G14 与 T6 的产出(检测报告 + 批判报告)**合并为同一份 T5 修订清单**,T5 一次修订同时消化风格净化 + 论证加固;早闸结论记入 `drafts/修订说明-vN.md`。② **终闸 = Phase 4.5:与 T9 同行评审同批并行**(T6 在 3.6、T9 在 4.5,故终闸只能与 T9 并行),产出 `audits/G14-检测报告-vN.md` = **最终版本真源**(版本号 = 被审正文轮次)。
126
+ - **触发(v18.2.8 删早闸,三层防御、仅一次 spawn;依据主人显式授权)**:**三层**——① **T5 v1 自检 = 写作时**(由 T5 写手执行,**不 spawn**;8 类措辞层扫描,结论入 `drafts/修订说明-v1.md`);② **修订轮收尾自查 = 每轮 T5 修订落盘后**(由主控执行,**不 spawn**;对新增/修改段落跑轻量 8 类扫描,命中当轮修掉);③ **终闸 = Phase 4.5 与 T9 同行评审并行**——**唯一一次 spawn**,产出 `audits/G14-检测报告-vN.md` = **最终版本真源**(版本号 = 被审正文轮次)。
127
+ > **⚠️ 早闸(原「Phase 3.6 与 T6 同批并行 spawn」)已删除(v18.2.8,主人显式授权)**。**依据见 [`../gates/14-中文AI痕迹-gate.md`](../gates/14-中文AI痕迹-gate.md) §触发阶段注**(三条理由 + 实测数据)。**原「只等 4.5 会多耗一轮写手」的担心**改由两条规则化解:G14 属 **B 轨(不计入 A 轨 ≤2 轮)+ 质量项**,判 Warning/Fail 时**可临时突破字数软档 ±2%**;修订走**等量置换**。
127
128
  - **检测器**:LLM 推理判定 8 类(学术模板语/句式同质化/学术套话高频/破折号滥用/三项排比/人称错位/个人辨识度缺失/党报话语堆砌)
128
129
  - **判定**:命中 0-2 = Pass;3-4 = Warning 触发 T5 修订 1 轮;5+ = Fail 触发 T5 修订 2 轮
129
130
  - **关键边界**:G14 是「风格净化」+ G13 是「AI 披露」,互补不重叠
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
  # 角色:文献检索员 Literature Scout(T1)
4
4
 
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
  # 角色:数据检索员 Data Scout(T2)
4
4
 
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
  # 角色:案例检索员 Case Scout(T3)
4
4
 
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
  # 角色:分析员 Analyst(T4)
4
4
 
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
  # 角色:写手 Writer(T5)
4
4
 
@@ -129,7 +129,7 @@
129
129
  3. **不编造**:写不出的论据 → 标 `[待补]`,交给审计员和主控决定怎么补
130
130
  4. **查重意识**:转述他人观点必须改写 + 标注,不整段照搬
131
131
  - **跨学科理论概念核验(v2.5.2-dsh.0 反哺,教训:论艺术中的丑「净化/catharsis」category error)**:引用跨学科理论概念(如 catharsis/净化、sublime/崇高、alienation/异化、kitsch/媚俗等)作论据时,**必须核验该概念在原作者的准确含义,禁止套用其通俗义/望文生义**。反例:把莱辛《拉奥孔》「化痛为美的表现边界」当作亚里士多德式「卡塔西斯(净化)」,被 T6 抓出 category error(catharsis 降格后空转)。拿不准概念是否适用 → 显式标注「此处借用 XX 概念的宽泛义」或交 T4/主控判断,不硬套。
132
- - **破折号自检前移(v2.5.2-dsh.0 反哺,教训:论艺术中的丑破折号 30 处 G14 才抓出)**:**v1 落地前 grep「——」计数,正文 ≤8 处**(阈值同 G14-D)。解释型破折号→冒号、成对插入语→括号/拆句、转折型→逗号/拆句;保留 ≤8 处强调型。参考文献书名的「——」(如《当代美学的发展趋势——从…》)是书名固有成分,不计入。**把破折号清理前移到写作阶段,省掉 G14 触发的一整轮修订**。
132
+ - **破折号自检前移(v2.5.2-dsh.0 反哺;v18.2.7 口径对齐 G14-D)**:**v1 落地前 grep「——」计数,控制在全文汉字数的 3% 以内**(口径见 [`../gates/14-中文AI痕迹-gate.md`](../gates/14-中文AI痕迹-gate.md) §三:占比 = 破折号个数×2 ÷ 全文汉字数;万字号论文经验值约 ≤150 处)。解释型破折号→冒号、成对插入语→括号/拆句、转折型→逗号/拆句。参考文献书名的「——」(如《当代美学的发展趋势——从…》)是书名固有成分,不计入。**把破折号清理前移到写作阶段,省掉 G14 触发的一整轮修订**。
133
133
  5. **修订说明**:被审计打回时,修订稿必须附 `修订说明`:逐条回应 P0/P1(问题编号 → 怎么改的),审计员对照复核
134
134
  6. **图位标注(v2.4.6 调整:图位来源 = 分析大纲「建议图表」+ Phase 2.5 拍板,P0-2 硬约束)**:
135
135
  - **前置检查**:写手启动前必读「分析大纲」末段「建议图表」节 + 主人 Phase 2.5 拍板结果,判断图位数量 N(拍板 0 = 无图)。
@@ -246,7 +246,7 @@
246
246
 
247
247
  > **完整 F1-F9 定义见** [`glossary.md § F 模式`](../glossary.md#f-模式失败模式清单) + [`_shared/failure-modes.md`](../_shared/failure-modes.md)
248
248
 
249
- **写手初稿完成后必走的 F 自检 7 项**:
249
+ **写手初稿完成后必走的 F 自检 7 项 + G14 v1 自检 1 项**:
250
250
 
251
251
  1. **F1 幻觉引用自检**:每条引用都能在文献卡找到 URL/DOI;C 级引用标「C 级上下文匹配自查」(G1 抽验逻辑)
252
252
  2. **F2 幻觉数据自检**:每个数字都能在数据卡找到来源年份;🟡🔴 数据加「截至 YYYY 年」标注
@@ -255,6 +255,8 @@
255
255
  5. **F5 拼凑式章节断裂自检**:章节间过渡是否自然?段落结构是否过度对称(首先/其次/再次/最后 ≥3 次)?
256
256
  6. **F6 过度防御口吻自检**:是否有「我接触过」「我曾在」等第一人称?有无「据行业经验估算」未加 [行业估算] 段落顶部标?
257
257
  7. **F7 主人风格模仿失真自检**:是否将 [C-主xx] 当作者声音?是否把主人洞察当「我」写?
258
+ 8. **G14 v1 自检(v18.2.8 新增,主人授权修订)**:**产出 v1 后立即**按 G14 的 **8 类**做一次措辞层扫描(**8 类清单与阈值真源 = [`../checkers/中文AI痕迹-checker.md`](../checkers/中文AI痕迹-checker.md) §8 类检测维度**;其中破折号口径见 [`../gates/14-中文AI痕迹-gate.md`](../gates/14-中文AI痕迹-gate.md) §三),结论写入 `drafts/修订说明-v1.md` 的「G14 v1 自检」段。**命中当场修**——措辞层问题在写作阶段修成本最低。
259
+ > **为什么放进 T5 自检(v18.2.8 背景)**:G14 原有一个「Phase 3.6 早闸」独立子代理,实测**性价比为负**(依据见 [`../gates/14-中文AI痕迹-gate.md`](../gates/14-中文AI痕迹-gate.md) §触发阶段注)→ 改为**写手自检**:零 spawn 成本、覆盖同一时点(写作时)、且写手本就在做同类自检。**注意**:v1 尚无 T6 批判反馈与主人洞察,故本项**只做 8 类措辞层扫描,不做论证层判断**。
258
260
 
259
261
  **写手自检工具**:F 自检在 v2/v3 修订稿**写完后立即执行**,**不依赖 T7 审计反馈**(v2.3.0 改 T5→T7)。这是「预防 > 检测」的论衡哲学化体现。
260
262
 
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
  # 角色:批判伙伴 Critical Companion(T6)
4
4
 
@@ -48,10 +48,10 @@
48
48
  (与 00-主控 + 04-分析 + 05-写手 卡触发字段读取指引配套使用)
49
49
 
50
50
  ### 我与 G14 中文 AI 痕迹闸的协作(v2.4.0 新增)
51
- **Phase 3.6**(与 T6 同批;v18.2.6 审计修复时点——旧写「Phase 4.5 终稿前」,与「T6 在 Phase 3.6」矛盾),T6 批判伙伴与 G14 检测器**并行运行**(G14 的**终闸**另在 Phase 4.5 与 T9 并行):
51
+ **Phase 3.6**:T6 批判伙伴**单独运行**(v18.2.8:G14 早闸已删除,不再与此同批并行;G14 现只在 **Phase 4.5 终闸**与 T9 并行,另有 **T5 v1 自检**与主控的**修订轮收尾自查**两层零 spawn 防御,见 [`../gates/14-中文AI痕迹-gate.md`](../gates/14-中文AI痕迹-gate.md) §四):
52
52
  - **T6 职责**:C1-C7 七维论证批判(核心论点可攻击性 / 论证链薄弱 / 理论假设 / 立场中立 / 反方完整性 / 元叙事 / 一处两用),攻击 v2(含主人洞察);**主人跳过 Phase 3.5 时 → 攻击对象退化为 v1 实质内容**(见 [`../_shared/degraded-scenarios.md`](../_shared/degraded-scenarios.md))
53
53
  - **G14 职责**:8 类中文 AI 痕迹深度检测(学术模板语 / 句式同质化 / 学术套话 / 破折号 / 三项排比 / 人称 / 个人辨识度 / 党报话语)
54
- - **协作机制**:T6 攻击论证强度,G14 检测文本风格。两份报告**合并为同一份 T5 修订清单**(**早闸口径**,v18.2.6 审计修复:旧文写「合并触发修订判定」但未指明是早闸):T6 高可攻击性 + G14 Fail(5+ 类)= 主控必触发 T5 修订 2 轮;T6 中可攻击性 + G14 Warning(3-4 类)= T5 修订 1 轮;T6 低可攻击性 + G14 Pass(0-2 类)= 直接 Phase 5
54
+ - **协作机制(v18.2.8 更新:G14 早闸已删除)**:T6 攻击论证强度,G14 检测文本风格。**两者不再于 Phase 3.6 同批并行**——G14 现在只在 **Phase 4.5 终闸**跑一次(另有 T5 v1 自检与主控的修订轮收尾自查两层,均为零 spawn)。**我的批判报告不再与 G14 报告合并**:T6 的 C1-C7 反馈 → T5 修订(B 轨主控触发轮);G14 终闸的 Warning/Fail → 独立的 T5 修订(同为 B 轨)。两条反馈若同轮到达,主控可合并为一份 T5 修订清单。
55
55
  - **互不替代**:T6 不抓 AI 痕迹(那是 G14 的活),G14 不攻击论证(那是 T6 的活)
56
56
  - 任一不满足 → 在交接报告写「批判对象不完整,无法产出有效批判报告」,主控决定是否补
57
57
 
@@ -1,4 +1,4 @@
1
- > 版本:v18.2.6(DSH bundle 插件)
1
+ > 版本:v18.2.8(DSH bundle 插件)
2
2
 
3
3
  # 角色:审计员 Auditor(T7)
4
4