mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-10 05:12:14 +00:00
get_metric_series (and get_metrics, the metric resources and the review prompts, which fan out over it) answered with one section of a Coach snapshot, but built the whole snapshot to get it: the all-type feature extraction, the derived wellness layer, trajectory, correlations, memory, GLP-1, cycle, illness, labs and visits. On a seeded account with about 215k measurements a resting heart rate read ran 208 SQL statements and blocked the event loop for 175 ms to return under 2 KB. The MCP surface now asks the executor for a source snapshot. It runs the same prelude (prefs, module gates, admitted sources, cutoffs, now shared in snapshot-prelude.ts) and the same block builders over the requested source's reads only. The core clinical aggregates come from extractFeatures scoped to the one block, whose bulk read keeps its all-type cap so the rows a block sees do not change. A section large enough for the full builder's prompt-budget pass to trim, and the environment cluster, go to the full builder, so their results are the old ones by construction. The integration test compares the tool's serialised result with the full builder's section and grounding for nine sources over four windows, the get_metrics batch and the metric resource, on a seeded account dense enough to put the feature row cap into play.