f7d6d34457
DCO / dco (push) Has been cancelled
#581 (query-path memory growth) does not reproduce in our soak: a 10-min, 200-file query-only run shows RSS flat-to-shrinking and committed plateauing (mimalloc already purges on free, purge_delay=0). Rather than ship speculative mitigations for a leak we cannot measure, this adds the observability to find it where it actually occurs, plus a continuous guard. - diag: the diagnostics writer now appends a PERSISTENT NDJSON memory trajectory (one sample / 5s: rss, committed, peak fields, page_faults, fd, queries), kept on exit (rotates to a .1 generation past 8 MB) so users can send the time series post-mortem. The previous latest-snapshot file was overwritten every 5s and deleted on stop. - ci: the soak now also runs a read-only query-leak leg (CBM_SOAK_MODE query-leak, no reindex/mutate) on every platform including Windows, so a regression that introduces a query-path leak is caught. soak-test.sh RESULTS_DIR is now env-overridable so both legs keep separate artifacts. - docs: README Troubleshooting and Diagnostics section + a bug-report field explain the no-telemetry stance and how to capture and share the trajectory. Build clean; unit suite 5714/0; trajectory verified to persist post-exit. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>