Repository navigation
v0.30.2 — check does less work, and the daemon sees your .gitignore
🎯 The release
docir check does ~40% less work, every command starts ~0.1s sooner, and the daemon sees a
.gitignore edit.
A warm read was mostly the client starting Python, and check was the slowest command agents
run often. Both were measured before anything changed, every speed-up leaves the output
byte-identical, and the one behaviour change is a fix.
⚡ Faster
Measured on docir's own store (266 documents, 1,947 vectors, 124 governed globs), interleaved
against 0.30.1's source:
| 0.30.1 | 0.30.2 | |
|---|---|---|
docir version (process start, p50) |
0.585s | 0.487s |
warm docir context, daemon side |
95ms | 44ms |
warm docir check, daemon side |
789ms | 477ms |
docir --no-daemon check, whole process |
1.91s | 1.40s |
- Every command starts sooner. The client imported the docs watcher and the site builder
for every command; they now load only indocir daemon serveanddocir build. 704 modules
at startup become 570. contextscores its vectors ~8x faster. The cosine scan runs onmath.sumprod: ~60ms
becomes ~7ms over 1,947 vectors, anddocir lint --deepdrops from 2.09s to 1.12s. No new
dependency.checkwalks each code glob once and reads the corpus once. A**glob used to walk a
file once per directory level above it, and four file checks each parsed every document.
A governed directory holdingnode_modulesortarget/is no longer walked file by file.
🐛 Bug fixes
- An edit to
.gitignorereachescheckthrough the daemon. Since 0.28.0 the daemon read
the ignore files once, at start, so after an edit it kept fingerprintingcode:globs under
the old rules — nocode-driftedwheredocir --no-daemon checkreported one — until it was
replaced. The rules are now read afresh for every command, at ~10ms of the speed-up above.
📏 Measured and rejected
- numpy for the vector scan — converting the decoded vectors costs more than
sumprod's
whole scan. - One
.gitignoreindex per pattern — +205-251ms percheck; one per command is ~10ms.
⬆️ Upgrading
- Nothing to run for the speed-ups, and the daemon is replaced on the first command after the
upgrade. The packaged skill is unchanged;docir agent updateonly re-stamps its version. - If you edited a
.gitignorewhile a daemon on 0.28.0-0.30.1 was running, a--verified
or a new--codeglob written through it may hold a digest the current rules disagree
with.docir checkreports it ascode-changedorcode-drifted; read the document
against the code, thendocir update adr-0001 --verified.
🔗 Full changelog
See CHANGELOG.md