mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
bench(catalog-detector): who owns "the listing is owed again"
12a fixed the skills listing by having each writer announce itself, which is correct and does not scale: the same probe showed a skill file written past those writers — an editor, a script, the model's own write tool — is in the canonical registry and still owes nothing. A contract that reads "every writer remembers to announce" is one forgotten call from the defect it just fixed. So this measures the three candidates rather than picking one. Rebuild the projection and compare it; fingerprint path, size and mtime; or trust that every write announced itself. Owed is measured, not declared: the block is rendered before and after each transition, and owed means those differ. Under that definition rebuilding the projection is not an estimate of the truth, it is the truth, and what the arms establish is where the two cheap detectors diverge from it. Both diverge, in opposite directions. Metadata misses a change whose length and mtime are preserved, which is not exotic — a branch switch restores content and stamps it with the mtime the file had — and it fires on a touch and on a body edit, neither of which changes a line the model sees. Observed-write is blind to every out-of-band write by construction; it can be an optimization, never the owner of correctness. The cost argument for the cheap ones then mostly evaporates. Rebuilding the projection costs 166µs on a workspace with no skills of its own, 668µs at ten, 2.4ms at fifty and 6.4ms at two hundred; metadata saves 25% of that at two hundred and 60% at ten, because the walk is the cost and reading the files is not. A turn costs seconds. Paying the truth once per turn is noise, and it was avoided on an assumption nobody had measured. Two measurement traps are worth naming. Timing a detector with its own accounting inside it measures the accounting: attaching the file/byte counter to the projection detector reported it 2.5x slower than it is. And pointing the project root and the home root at one directory walks it twice, which doubled every number until they were separated.
This commit is contained in:
1 parent
3cee1a5068
commit
37fdd2ac17
7 files changed
+474
No files matched your search
@@ -20,6 +20,7 @@
|
||||
/covergate
|
||||
/repolint
|
||||
/write_heartbeat
|
||||
/catalog-detector
|
||||
|
||||
# Website (Astro) build output
|
||||
/site/dist/
|
||||
|
||||
Reference in new issue
Block a user