READMESource: main@f229a669
dsh-lib-analyzer
Library absorption analysis for DeepSeek Harness — turn a reference corpus
(ref/) into auditable, evidence-first absorption reports and a
searchable per-library knowledge base.
Inspired by two things, and better than both for this job:
- r32's
ref → batchpipeline (tasks.jsonl → prompts →batch/out/*.mdabsorption reports with 大文件纪律 / 证据优先 / 提取方式 provenance): its discipline is now enforced by tools, not just prompt text. - hindsight-coding-agents: its knowledge-page + retrieval idea is kept, but pages here are derived from finished reports (with file:line evidence and rebuildable from disk) instead of being recalled from conversation — auditable, no background model calls, fully offline.
Tools
| Tool | Purpose |
|---|---|
libscan |
Scan ref/<library>: tree, language mix, >1MB big-file list (big-file discipline), doc inventory. Read-only. |
libtasks |
Drive batch/tasks.jsonl (id/target/focus/deliverable/output per line): list with filesystem-derived status, or --next pending task in full. |
libreport |
Validate a finished report (required sections 概览/关键机制/可吸收设计/落地章节建议/风险与教训/提取方式, ✓◐✗ markers, file:line evidence), then sink a knowledge page into .dsh-lib-analyzer/pages/ and update the index. |
libsearch |
Keyword search across knowledge pages + produced reports (hindsight-style retrieval, local-only). |
Skill
library-analysis— full workflow: take task → read project context (adc/src/book/SYNTHESIS) → scan → disciplined read-only research → report with provenance →libreportsink → next task.
Layout
<project>/
├── ref/ # read-only reference corpus
├── batch/
│ ├── tasks.jsonl
│ └── out/*.md # absorption reports
└── .dsh-lib-analyzer/
├── index.json
└── pages/<lib>.md # per-library knowledge pages
Design rules
- Node builtins only — no child processes, no network, no model calls.
- All writes stay inside
.dsh-lib-analyzer/. - Task status is derived from the filesystem (output file exists), never from memory.
- The knowledge base is fully rebuildable from reports.
License
MIT
No comments yet. Be the first to write one.