From d60a6e8abe9e9b273b4b1956a1b33953007555f7 Mon Sep 17 00:00:00 2001 From: Matt Spinola Date: Tue, 4 Aug 2026 23:35:31 -0400 Subject: [PATCH] The server rebuilds the cache: confirmed, not inferred #16 said data_cache/ and cot_data.db are pushed by nothing and that the server regenerates the cache, with an explicit hedge that this was inference from the old push having been broken since PR #12 rather than something anyone had confirmed. Confirmed by the maintainer 2026-08-04. The hedge is removed and the mechanism stated: CotIndexer writes per-instrument parquet under COTMETRICS_CACHE on first use and busts it on the upstream cotdata.schema_version() plus METRICS_CACHE_VERSION, so a store push is the only input it needs. The consequence worth knowing is a latency one rather than a missing payload: the first request after a release runs against a cold cache. That closes the last open question from the deprecation. Nothing is pushed by nothing. Co-Authored-By: Claude Opus 5 --- scripts/push_data_cache_to_server.sh | 7 ++++--- server-side/README.md | 15 ++++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/scripts/push_data_cache_to_server.sh b/scripts/push_data_cache_to_server.sh index 97a7419..58db09e 100755 --- a/scripts/push_data_cache_to_server.sh +++ b/scripts/push_data_cache_to_server.sh @@ -24,9 +24,10 @@ # WHAT REPLACES IT, per payload: # cotdata_store cotdata/docs/examples/windows/push-to-server.cmd # crowdmon panel crowdmon/docs/examples/windows/push-panel.cmd -# data_cache/, db regenerated on the server by cotmetrics. If that turns out -# to be wrong, the fix is a Windows-side push modelled on the -# two above, not a revival of this file. +# data_cache/, db rebuilt on the server by cotmetrics, confirmed 2026-08-04. +# CotIndexer writes its own per-instrument parquet under +# COTMETRICS_CACHE and busts it on the upstream schema +# version, so a store push is the only input it needs. # # The crowdmon damage panel briefly rode here as an optional fourth payload # (#14). That was dead code: it was wired into a script that does not run. The diff --git a/server-side/README.md b/server-side/README.md index e452f3d..5d8fd9a 100644 --- a/server-side/README.md +++ b/server-side/README.md @@ -246,11 +246,16 @@ and chained behind `errorlevel` guards. | the cotdata store (~234M) | `cotdata/docs/examples/windows/push-to-server.cmd` | | the crowdmon damage panel (~35M) | `crowdmon/docs/examples/windows/push-panel.cmd` | -**`data_cache/` and `data/cot_data.db` are not pushed by either.** They are cotmetrics -runtime state, and PR #12 moved them out of this repo into `.local-state/cot-analyzer/`, -so the deprecated script could not have shipped them anyway. The server regenerates the -cache on first use. **If that turns out to be wrong**, the fix is a third Windows-side -template modelled on the two above, not a revival of the Mac script. +**`data_cache/` and `data/cot_data.db` are not pushed by either, and that is correct.** +They are cotmetrics runtime state, and PR #12 moved them out of this repo into +`.local-state/cot-analyzer/`, so the deprecated script could not have shipped them anyway. +**The server rebuilds the cache itself** — confirmed by the maintainer on 2026-08-04, not +inferred from the push having been broken. `CotIndexer` writes per-instrument parquet under +`COTMETRICS_CACHE` on first use and busts it on the upstream `cotdata.schema_version()` plus +`METRICS_CACHE_VERSION`, so a store push is the only input it needs. + +The first sync after a release is therefore slower than steady state, because the cache is +cold. That is a latency cost on one request, not a missing payload. The store push by hand, for reference, is: