[object Object]

← back to Wallco Ai

fix(deploy): drop single-quotes from RSYNC_EXTRA_EXCLUDES patterns

b4c58f14a63b7cc436c2a4e99461da4652cf44ec · 2026-05-24 22:52:21 -0700 · Steve Abrams

deploy.sh splits RSYNC_EXTRA_EXCLUDES by IFS and wraps each token in
--exclude='$pat'. My earlier patterns had literal single quotes INSIDE the
env value, so rsync was matching the literal string 'data/bad-...'.jsonl'
(with quote chars) instead of the path. Match never succeeded → --delete
nuked prod's bad-aesthetic-patterns.jsonl on the most recent deploy.

Reconstructed the 4 cactus entries from PG on prod (same source we used for
the manual purge earlier). Removing the inner quotes — pattern is now plain
data/bad-aesthetic-patterns.jsonl + data/bad-aesthetic-patterns.*.jsonl.

Files touched

Diff

commit b4c58f14a63b7cc436c2a4e99461da4652cf44ec
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Sun May 24 22:52:21 2026 -0700

    fix(deploy): drop single-quotes from RSYNC_EXTRA_EXCLUDES patterns
    
    deploy.sh splits RSYNC_EXTRA_EXCLUDES by IFS and wraps each token in
    --exclude='$pat'. My earlier patterns had literal single quotes INSIDE the
    env value, so rsync was matching the literal string 'data/bad-...'.jsonl'
    (with quote chars) instead of the path. Match never succeeded → --delete
    nuked prod's bad-aesthetic-patterns.jsonl on the most recent deploy.
    
    Reconstructed the 4 cactus entries from PG on prod (same source we used for
    the manual purge earlier). Removing the inner quotes — pattern is now plain
    data/bad-aesthetic-patterns.jsonl + data/bad-aesthetic-patterns.*.jsonl.
---
 .deploy.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.deploy.conf b/.deploy.conf
index c529f70..a18dbb4 100644
--- a/.deploy.conf
+++ b/.deploy.conf
@@ -13,4 +13,4 @@ HEALTH_URL="https://wallco.ai/health"
 # all WRITE to these files. Pre-2026-05-24 the deploy was rsync'ing local stale
 # copies over them and wiping fresh prod flags between scan + cleanup (lost the
 # 4 cactus-pine-scenic flags from the 2026-05-25 prod scan that way).
-RSYNC_EXTRA_EXCLUDES="data/generated data/generated_pre_seamless_backup data/images data/rooms data/spoonflower-pulled data/fliepaper-bugs public/uploads public/marketplace/uploads data/designs.json data/marketplace/events.jsonl data/ghost-scan-flagged.jsonl data/ghost-scan-results.jsonl data/ghost-scan-triage.jsonl 'data/ghost-scan-flagged.pre-*.jsonl' 'data/ghost-scan-flagged.post-*.jsonl' 'data/ghost-scan-results.pre-*.jsonl' 'data/bad-aesthetic-patterns*.jsonl' data/ghost-purge.jsonl data/ghost-labels.jsonl data/fixes-feed.jsonl data/.rescan-current.txt data/.rescan-ready.txt"
+RSYNC_EXTRA_EXCLUDES="data/generated data/generated_pre_seamless_backup data/images data/rooms data/spoonflower-pulled data/fliepaper-bugs public/uploads public/marketplace/uploads data/designs.json data/marketplace/events.jsonl data/ghost-scan-flagged.jsonl data/ghost-scan-results.jsonl data/ghost-scan-triage.jsonl data/ghost-scan-flagged.pre-*.jsonl data/ghost-scan-flagged.post-*.jsonl data/ghost-scan-results.pre-*.jsonl data/bad-aesthetic-patterns.jsonl data/bad-aesthetic-patterns.*.jsonl data/ghost-purge.jsonl data/ghost-labels.jsonl data/fixes-feed.jsonl data/.rescan-current.txt data/.rescan-ready.txt"

← c85af21 ghost-detector: seam-frame lens — catches plates at the tile  ·  back to Wallco Ai  ·  Joint-fix gallery viewer b50dfe2 →