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: