fix: metadata-only update() never rewrites the noun record — the unconditional whole-vector save turned per-entity stat touches into full rewrites+fsync, amplifying read-heavy sweeps into disk saturation on a production deployment
All checks were successful
CI / Node 22 (push) Successful in 2m53s
CI / Node 24 (push) Successful in 2m46s
CI / Bun (latest) (push) Successful in 3m0s

Also: idle PathResolver stats tick no longer logs NaN% every minute (logs
only on new traffic, via prodLog); graph-lsm-* key family recognized as
system resources (kills the per-boot unknown-key warning on provider-backed
brains). Four regression pins in tests/integration/update-write-granularity.
This commit is contained in:
David Snelling 2026-07-29 10:42:50 -07:00
parent 64049631bc
commit cb717be275
4 changed files with 155 additions and 15 deletions

View file

@ -382,6 +382,10 @@ export abstract class BaseStorage extends BaseStorageAdapter {
// identical to the unknown-key fallback these keys hit
// before being listed here — this only kills the
// per-boot "Unknown key format" warning)
id.startsWith('graph-lsm-') || // Graph-LSM store manifests written through storage by
// an active native graph provider — same
// warn-then-route fallback as above; listing the family
// silences the per-boot warning on provider-backed brains
isSingletonSystemKey(id) // Known singletons (e.g. brainy:entityIdMapper) hit the
// same warn-then-route fallback without this — the
// routing below already handles them identically