Bundle
dsh-spec-gate
规格门插件:模糊需求访谈暴露假设(歧义评分收敛)+ 不可变 Seed 规格锁定 + 交付前验收门。借鉴 Ouroboros 访谈门/三段验证思想,与 dsh-cybernetics 协同(验收失败事件喂控制论回路)。
- Source
- boomzikazita
- License
- MIT
- Updated
- Updated yesterday
Readme
# dsh-spec-gate
Specification gate plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (dsh). Turns vague requirements into locked, verifiable specifications before work begins — and refuses to hand over deliverables that don't meet them.
Borrows two ideas from Ouroboros, adapted for content production (writing / analysis / reports):
- **Interview gate**: vague request → Socratic questioning to expose hidden assumptions → ambiguity score (converged at ≤ 0.2 before proceeding)
- **Acceptance gate**: before delivery, mechanically check the draft against the locked Seed (keyword coverage, hard constraints, word count) + semantic alignment hint for the agent
Pairs with [dsh-cybernetics](https://github.com/boomzikazita/dsh-cybernetics): acceptance failures are written to the events log and feed the cybernetic feedback loop.
## Tools
| Tool | Purpose |
|------|---------|
| `spec_interview_assess` | Ambiguity scoring: judge 8 dimensions (audience / purpose / format / data / scope / tone / acceptance / deadline) as clear / assumed / missing; returns score + questions to ask |
| `spec_seed_build` | Lock an immutable Seed (goal / dimensions / acceptance criteria / constraints) after the interview converges; hash-keyed, never overwritten |
| `spec_gate_evaluate` | Pre-delivery acceptance: mechanical checks against the Seed + AC coverage hints; fails closed |
## Install
```bash
dsh plugin --profile web add github:boomzikazita/dsh-spec-gate
```
## Configure
```yaml
# cordis.patch.yml (or the plugin's own bundle patch)
- insert:
- id: spec-gate
name: 'dsh-spec-gate'
config:
seedsDir: '~/.dsh/spec-gate/seeds'
eventsLog: '~/.dsh/spec-gate/events.jsonl'
convergeThreshold: 0.2
hardGate: false # block write/edit before a Seed exists (default off)
```
## Usage Flow
1. Vague request arrives → run `spec_interview_assess` → clarify missing dimensions until score ≤ 0.2
2. Lock the spec: `spec_seed_build` → returns `seed_id`
3. Produce the deliverable
4. Verify: `spec_gate_evaluate(draft, seed_id)` → only hand over on pass
## License
MIT
Install
dsh plugin --profile web add github:boomzikazita/dsh-spec-gate
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-spec-gate from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.