← back to Fabricut Landing
deploy: guard prod-only runtime data from rsync --delete
bcacd8b8c66341d2d6cb6bccb2eaf710a6f1c28f · 2026-09-04 08:25:08 -0700 · Steve Abrams
deploy.sh runs 'rsync -az --delete' with no data/ exclude, so a deploy
overwrote the box's runtime file with the local copy and destroyed
everything written since the last deploy. Added a surgical
RSYNC_EXTRA_EXCLUDES for this project's runtime path(s) only, so genuine
build artifacts under data/ keep syncing.
Verified by itemized rsync --dry-run against prod: the runtime file is
listed for transfer WITHOUT the exclude and absent WITH it.
Fleet sweep, TK-11227. Same bug class as the July 2026 artmura/quadrille
mis-target fix and the abramsagency lead-ledger fix (TK-10536).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013mq9RQtVZZEWvreDqqTgv2
Files touched
Diff
commit bcacd8b8c66341d2d6cb6bccb2eaf710a6f1c28f
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Fri Sep 4 08:25:08 2026 -0700
deploy: guard prod-only runtime data from rsync --delete
deploy.sh runs 'rsync -az --delete' with no data/ exclude, so a deploy
overwrote the box's runtime file with the local copy and destroyed
everything written since the last deploy. Added a surgical
RSYNC_EXTRA_EXCLUDES for this project's runtime path(s) only, so genuine
build artifacts under data/ keep syncing.
Verified by itemized rsync --dry-run against prod: the runtime file is
listed for transfer WITHOUT the exclude and absent WITH it.
Fleet sweep, TK-11227. Same bug class as the July 2026 artmura/quadrille
mis-target fix and the abramsagency lead-ledger fix (TK-10536).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013mq9RQtVZZEWvreDqqTgv2
---
.deploy.conf | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/.deploy.conf b/.deploy.conf
index d3ad26c..fa1de68 100644
--- a/.deploy.conf
+++ b/.deploy.conf
@@ -8,3 +8,10 @@ HEALTH_URL="http://localhost:35959/healthz"
# schema-drifted (no book_name), which would blank every book label. (TK: fabricut-dedupe)
PREDEPLOY_HOOK="MODE=public node scripts/build-fabricut.js"
BUILD_CMD=""
+
+# Runtime state written by the LIVE server (customer inquiries). deploy.sh runs
+# `rsync -az --delete`, so without this exclude a deploy overwrites the prod file
+# with the local copy and destroys every inquiry submitted since the last deploy.
+# Surgical on purpose: data/products.json + selection.json ARE build artifacts and
+# MUST keep syncing, so never blanket-exclude data/.
+RSYNC_EXTRA_EXCLUDES="/data/inquiries.jsonl"
← a28d549 auto-data-snapshot: 2026-09-03T09:14:19 (1 data files) — dat
·
back to Fabricut Landing
·
auto-data-snapshot: 2026-09-04T09:09:45 (1 data files) — dat 30021b7 →