Skip to content

Deprecate push_data_cache_to_server.sh; the Windows box pushes everything - #16

Merged
mspinola merged 1 commit into
mainfrom
claude/deprecate-mac-push
Aug 5, 2026
Merged

mspinola merged 1 commit into
mainfrom
claude/deprecate-mac-push

Conversation

@mspinola

@mspinola mspinola commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Companion to mspinola/crowdmon#68, which adds the Windows templates that replace the panel half of this.

The script pushed from the wrong machine

scripts/push_data_cache_to_server.sh pushes from the Mac. cotdata/docs/SYNCING.md documents the Mac as a read-only replica: one Windows server produces everything and feeds two replicas — the Mac over SMB (robocopy /MIR, sync-store.cmd) and this dash server over SSH (rsync, push-to-server.cmd).

So this was a replica pushing to a replica, and as that doc puts it about two-producer topologies, whichever side syncs second wins silently.

It had also been unable to run since PR #12 routed runtime state out of the repo: the preflight still demanded ./data/cot_data.db, which moved to .local-state/cot-analyzer/, so it exited 1. The stale ./data_cache was the quieter half — a Jul 28 copy that would have been rsynced over the server's without comment had the preflight passed. Both are symptoms of a script nobody had run in a while, not bugs to fix. I reported them as fixable a few hours ago, which was the wrong read.

Deprecated, not deleted, and it refuses

Kept because server-side/README.md referenced it in four places. A reader who finds an obsolete-but-present script that prints its own replacement fails more loudly than one following a dangling reference.

It now exits 2 with a message naming what replaces each payload, unless CROWDMON_ALLOW_LEGACY_PUSH=1.

payload now pushed by
the cotdata store cotdata/docs/examples/windows/push-to-server.cmd
the crowdmon damage panel crowdmon/docs/examples/windows/push-panel.cmd
data_cache/, cot_data.db nothing. See below

The dead fourth payload is gone

The crowdmon panel rode here as an optional fourth payload in #14. That was dead code — wired into a script that does not run, so the panel had no path to the server at all. Removed. CROWDMON_STORE is a separate store root, so no exclusion-list change to cotdata's push could have carried it either; it needed its own Windows template, which is crowdmon#68.

#15, merged an hour before this, told people to run this script from the Windows box. That was wrong — it is not run it elsewhere, it is do not run it. Corrected here.

What I did not settle

data_cache/ and cot_data.db are now pushed by nothing. PR #12 moved them to .local-state/cot-analyzer/, so the deprecated script could not have shipped them regardless, and the server has presumably been rebuilding the cache on its own for however long that has been true. server-side/README.md now says the server regenerates it, and says explicitly that if that turns out to be wrong, the fix is a third Windows-side template rather than a revival of this script.

I am flagging rather than asserting: I cannot see the server, and "it has evidently been fine" is weaker evidence than someone who knows the deployment saying so.

server-side/README.md §6 is rewritten around the two Windows templates, and the stale data_cache push is removed from the release-day block in §9.

Testing

170 passed. ruff clean. bash -n clean, and the script exits 2 as intended.

🤖 Generated with Claude Code

…hing

It pushed from the MAC, which cotdata/docs/SYNCING.md documents as a read-only
replica rather than a producer. One Windows server produces everything and feeds
two replicas, the Mac over SMB and the dash server over SSH, so this was a replica
pushing to a replica and whichever side synced second won silently.

Deprecated rather than deleted, per the maintainers call and for a reason: this
file is referenced in four places in server-side/README.md, and a reader following
an obsolete-but-present script that PRINTS its replacement fails more loudly than
one following a dangling reference. It now exits 2 unless
CROWDMON_ALLOW_LEGACY_PUSH=1.

The crowdmon damage panel briefly rode here as an optional fourth payload (#14).
That was DEAD CODE: wired into a script that does not run, so the panel had no path
to the server at all. Removed here; it now ships via
crowdmon/docs/examples/windows/push-panel.cmd, a Windows template modelled on
cotdatas push-to-server.cmd. CROWDMON_STORE is a separate store root, so no
exclusion-list change to cotdatas push could have carried it.

#15, merged an hour ago, told people to run this script from the Windows box. That
was wrong: it is not run-it-elsewhere, it is do-not-run-it. Corrected.

server-side/README.md section 6 rewritten around the two Windows templates, and
the stale data_cache push removed from the release-day block. data_cache and
cot_data.db are pushed by nothing: PR #12 moved them to .local-state/cot-analyzer/
and the server rebuilds the cache. If that turns out to be wrong the fix is a third
Windows template, not a revival of this script.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mspinola
mspinola merged commit d0e3cad into main Aug 5, 2026
3 checks passed
@mspinola
mspinola deleted the claude/deprecate-mac-push branch August 5, 2026 03:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant