概览
dsh-adjudication
README / ZH
插件文档
目录摘要
dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。
在 GitHub 阅读完整 READMELIMITATIONS
已知限制
1. **没有导出 Schemastery `Config`。** 本插件刻意做到**零运行时 import**:本地路径安装走 pnpm 的 `link:`,不会安装插件的 dependencies;非 `@deepseek-ai/dsh-*` 的 peer 也不保证被 profile 的运行时解析器映射。依赖为零是它在任何宿主上都能加载的原因。代价是配置只有 `apply(ctx, config)` 里的普通对象合并,没有 schema 校验、也不出现在 `--dump-config-schema` 里。要补:把 `@deepseek-ai/schemastery` 加进 peerDependencies 并导出 `Config`。 2. **锚点没有 LLM 兜底层。** open-code-review 的第三级是让模型重定位;本插件**故意不做**——模型猜出来的锚点不是引擎能验证的锚点,而这一层的全部意义就是引擎能独立重算。代价是逐字抄写不精确的发现会变成「未锚定」被降级,而不是被救回来。 3. **规则库是 agent 起草的草稿(20–32 条/域,共 460 条)。** 每一条都标了 `needs-expert-review: true` (`rulesStatus: 'draft-v2'`),**未经领域专家审定**。规则库是这类系统的护城河,需要领域专家投入—— 这不是代码能补的:断言能保证「规则被装载、可命中真实路径、标注没被去掉」,**不能**保证「这条规则在 领域上是对的」。任何交付物不得声称它们已通过专家验证。另一个结构性边界:**名义支持 ≠ 全面支持**—— 每个声明扩展名都有一个能命中文档化真实路径的规则(地板),但子树之外的路径通常只有兜底规则; 这条边界已写进各域的 `pack.summary`,零规则捆也会在 `plan.summary` 与 P4 提示词里明说「没有匹配到规则」。 4. **激活状态是插件实例级的,不跨会话隔离。** 一个 profile 里所有会话共享同一份注册表与激活集合。 5. **C 探索型领域不承诺有界成本。** `market-research` 与 `reverse-engineering` 的 P0 枚举失效——候选集本身要找出来,这一步的上界无法先验给出。 6. **没有客户端 UI。** 目前只有 host 半体。要加 Web 面板需要 `dsh.client` + `exports["./client"]` + 自建 lazy-CJS 构建(`packages/client/tsdown.client.ts` 不在任何已发布包里,仓库外要自己复刻)。 7. **`kind-mismatch` 只能经 `adjudication_anchor` 触达。** `adjudication_submit` 的 finding 不携带 `kind`(引擎按领域声明的 kind 核验),所以「声明了错误的 claim kind」这条路径在 `submit` 的报告里看不到——它在 `anchor` 上是可触达、可分档位的,方向安全,但确实看不到。 8. **`smoke-test.mjs` 的 `__injectedCallbacks` 恒为 0。** 它是对象字面量里按值快照的原始数组,与 `inject` 的实际回调计数无关。方向安全(将来有人断言它 `> 0` 会直接变红),本轮不修,登记为已知限制。 9. **真实模型 provider 上的 P4/P6 没跑过。** 所有断言用的是假 `ctx.subagents` 服务;`ctx.llm` 兜底路径(`mode: 'llm'`,明确标注 `degraded: true`)同样没在真实 provider 上跑过。引擎保证的是「有界、可取消、不谎报」,不是评审质量。 10. **`mount-test.mjs` 找不到宿主 cordis 时会 SKIP 并且 exit 0。** 换一台没有 `@deepseek-ai/cordis` 的机器,「挂载全过」会退化为「没跑」——它打印 SKIP,但这仍然是判据上的一个洞。 11. **规则库的 460 条规则没有逐条人工复算。** 独立验证抽查了「标注被去掉会变红」等机制性质,没有逐条核对领域正确性(与第 3 条同一个边界)。
