Overview
dsh-outcomes
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- **非交互(headless / 自动化)里无法"取消登记"**:`outcome_remove` 挂在宿主的审批闸门上, 没有审批通道时它会**明确失败**(`requires approval, but no approval channel is available`)而不是偷偷执行 —— 清单不会变。要在自动化里取消登记,用 CLI(`dsh-outcomes remove <id>`)或管理页。 其余五个工具不受影响。 - **跨进程并发不加锁,但会拒绝而不是覆盖**:`update` / `remove` / `restore` 都是「读—改—写」, 提交前会复核文件有没有被别的进程改过;改过就**不动它**并返回 `concurrent-modification` —— 两个进程同时写**不会静默丢一条登记**,你会拿到一个明确的失败。每次重写仍留 `.bak`; `add` 是追加式的,不受影响。 - **大清单未做分页优化**:几万条时管理页会变慢(服务端有 `limit`,页面默认拉 1000 条做前端过滤)。 - **文件存在性只在读取时计算**:`check` 是快照,不订阅文件系统事件。 - **不做内容索引**:搜索只覆盖标题/来源/备注/类型/路径,**不读文件正文**(也就搜不到正文里的词)。 - **客户端半部的加载失败是静默的**(宿主的既有行为):如果"设置 → Outcomes"没出现, 先看 `dsh.client` 的 `id` 是否等于包名 —— 见 [`docs/CLIENT-HALF.md`](docs/CLIENT-HALF.md)。 - **DSH 版本**:`engines.dsh >= 0.2.0-rc.2`(按该版本的客户端装配契约写的)。
