odc-core
ODC (Opportunity Definition Committee) as a dsh plugin: hard-gated case pipeline, log-folded state, human-only /odc-decide
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 23, 2026
- Updated
- Aug 23, 2026
Introduction
odc-core
ODC(机会定义委员会)的 dsh 插件实现——把"委员会纪律"从 prompt 软约束变成运行时硬约束。
配套设计文档:《ODC-on-dsh 设计草案 v0.2》(D:\2026\Business\机会定义委员会\) 审查:pro 模型 2026-08-19 有条件通过(R1/R2 已落实)
核心机制
| 机制 | 实现 |
|---|---|
| HARD-GATE | odc/submit waterfall 拦截点 + ctx.odc.gate 转移校验;不满足物理短路 |
| 状态可重建(R2) | 全部状态 = 会话日志折叠(src/fold.ts 纯函数重放 odc/* 事件),无内存状态 |
| 事实分级 | odc/fact-added 事件:事实必须带 source,假设必须带 falsifiable(decoder 强制) |
| 机械检查 | 11 标准字段 + 4 硬项;不过则评分封顶 gate.capWithoutChecklist(默认 79) |
| 人拍板(R1) | /odc-decide <slug> <内容> 人类命令(ctx.commands),模型物理上无此工具 |
| 备忘录留空 | 模板生成 + validateSlotsEmpty 硬校验 |
工具(模型可调用,4 个)
odc_start <objective>— 创建 draft 档案odc_submit_case <slug> <content>— 结构校验 + HARD-GATE 拦截odc_score <slug> <content> <dimensionScores>— 机械检查 + 加权评分 + 封顶odc_gen_memo <slug>— 生成决策备忘录(决策栏留空)
命令(人类专用,模型接触不到)
/odc-decide <slug> <决策内容>— 唯一拍板入口,写入odc/decision事件
开发
npm install
npm run typecheck
npm test
本地加载(profile odc-demo):
dsh plugin --profile odc-demo add <本目录绝对路径>
路线图
- MVP:单插件 4 工具 + 1 命令 + 日志折叠状态机(本目录)
- 二档:6 agent-scope + tools.restrict + subagent 多解释并行
- 三档:Notion sync / Todoist / 复盘触发 / invariants
免责
dsh 处于 developer preview,API 可能破坏性变更;锁版本并盯 release notes。