akslcw/dsh-negative-ledger
Evidence-bound negative-knowledge ledger: persists disproven paths (command_failed, file_missing) with their outcome and precondition evidence, then warns or blocks repeat attempts until the evidence changes.
A negative-knowledge ledger for coding agents that records only disproven paths — failed commands, missing files, rejected approaches, unavailable APIs — together with the evidence behind each conclusion and the conditions under which a retry becomes legitimate. When a tool call fails, a negative fact is recorded with outcome witnesses (exit code, error code) and precondition witnesses (file state from DSH's fs/observed). The next identical attempt (matched by fingerprint) is warned or denied while every precondition is unchanged; any precondition change marks the fact stale and the retry is allowed; a successful retry marks it resolved. Not memory, not a cache, not a bug tracker.
Install
dsh plugin --profile web add @akslcw/dsh-negative-ledgerdsh plugin --profile web add @akslcw/dsh-negative-ledger (npm @akslcw/dsh-negative-ledger 0.1.2, verified npm 2026-08-31). The shipped cordis.patch.yml (declared by the dsh.bundle manifest) mounts the ledger policy with production defaults — sqlite backend, warn mode, .ledger directory, default TTLs.
Compatibility
DSH web profile (any profile via dsh plugin --profile <name> add); sqlite backend; Node >= 22; MIT.
Details
- Repo: akslcw/dsh-negative-ledger
- Category: Memory
- Stars: 3
- Version: npm @akslcw/dsh-negative-ledger 0.1.2
- Last push: 2026-08-23
- First seen: 2026-08-14
Recent updates
Evidence-bound negative-memory gate; fingerprint matching (normalized command + cwd or file path); warn/block modes; stale-on-evidence-change; sqlite persistence; transactional across concurrent agents.
FAQ
- Is this the same as memory?
- No — it is explicitly not memory: no positive knowledge, no semantic recall. It stores only disproven conclusions with the evidence and retry conditions.
- How does a failed attempt get recorded?
- A tool call that fails (non-zero exit, FS_NOT_FOUND, ...) records a negative fact with outcome witnesses (exit code, error code) and precondition witnesses (file state from DSH's fs/observed).
- When can an attempt retry?
- When any precondition witness changes, the fact is marked stale — the reminder is withdrawn and the retry is allowed. A successful retry marks the fact resolved.
Alternatives
csyangwen/dsh-memory-evolve · KLRSL/dsh-biomemory · zh667/TokenLedger