[object Object]

← back to Wallco Ai

drunk-animals: add "falling off tree, one hand grasping" motifs + yolo-tick.sh ledger

1aea6283490021a4363a192239ae55211e61f390 · 2026-05-25 20:50:16 -0700 · Steve Abrams

Steve directive 2026-05-25: "animals falling off of trees grasping on
with one hand.. drunk". Added 10 falling/slipping/dangling variants to
SHARED.SWINGS so ~50% of fresh drunk-animal prompts now choose a
"barely-hanging-on" pose instead of an active swing. Visual gag: drunk
animal has clearly lost balance but is still holding the drink upright
and the joint between the teeth.

scripts/yolo-tick.sh — numbered status-tick script. Increments
data/logs/yolo-tick-counter, writes one line per fire to
data/logs/yolo-ticks.log (machine-readable), echoes a human status
line. Snapshots ComfyUI queue depth, latest drunk-* PG id, latest
ANY id, count of new drunk-* since baseline (42661), and last drunk
tick result (SEAMLESS_FAIL / timed out / tick_done / ✓ seamless).
Pure read-only — design generation continues to happen in the
existing drunk_animals_tick + generator_tick crons.

Tick #1 fired at 03:48Z. Baseline: queue 1+13, latest drunk 42661,
latest any 42906. Waiting for the seamless-tolerance + palette-suffix
fixes (commit 001cb74) to start producing drunk-* rows on the next
cron firing.

Files touched

Diff

commit 1aea6283490021a4363a192239ae55211e61f390
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon May 25 20:50:16 2026 -0700

    drunk-animals: add "falling off tree, one hand grasping" motifs + yolo-tick.sh ledger
    
    Steve directive 2026-05-25: "animals falling off of trees grasping on
    with one hand.. drunk". Added 10 falling/slipping/dangling variants to
    SHARED.SWINGS so ~50% of fresh drunk-animal prompts now choose a
    "barely-hanging-on" pose instead of an active swing. Visual gag: drunk
    animal has clearly lost balance but is still holding the drink upright
    and the joint between the teeth.
    
    scripts/yolo-tick.sh — numbered status-tick script. Increments
    data/logs/yolo-tick-counter, writes one line per fire to
    data/logs/yolo-ticks.log (machine-readable), echoes a human status
    line. Snapshots ComfyUI queue depth, latest drunk-* PG id, latest
    ANY id, count of new drunk-* since baseline (42661), and last drunk
    tick result (SEAMLESS_FAIL / timed out / tick_done / ✓ seamless).
    Pure read-only — design generation continues to happen in the
    existing drunk_animals_tick + generator_tick crons.
    
    Tick #1 fired at 03:48Z. Baseline: queue 1+13, latest drunk 42661,
    latest any 42906. Waiting for the seamless-tolerance + palette-suffix
    fixes (commit 001cb74) to start producing drunk-* rows on the next
    cron firing.
---
 scripts/drunk_motif_shared.js | 18 ++++++++++-
 scripts/yolo-tick.sh          | 71 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 88 insertions(+), 1 deletion(-)

diff --git a/scripts/drunk_motif_shared.js b/scripts/drunk_motif_shared.js
index c4baf04..c70fe89 100644
--- a/scripts/drunk_motif_shared.js
+++ b/scripts/drunk_motif_shared.js
@@ -57,8 +57,13 @@ const JOINTS = [
   'a stubby roach pinched in a tiny silver clip, ember glowing, single thread of smoke',
 ];
 
-// ── SWINGS — animal is mid-swing from something ────────────────────────
+// ── SWINGS — animal mid-swing OR mid-fall from something ────────────────
+// Steve 2026-05-25 followup: "animals falling off of trees grasping on
+// with one hand.. drunk". So both attached-swinging AND one-hand-grasp-
+// fall variants live here. Half of the array is now slipping/falling
+// drunk poses for the visual gag.
 const SWINGS = [
+  // ── swinging / hanging on ──
   'mid-swing from a thick hanging garden vine, one paw gripping, body arcing through the air',
   'swinging from a crystal chandelier, chain creaking, other paw waving',
   'gripping a knotted rope swing, mid-arc, fur/feathers blown back by motion',
@@ -69,6 +74,17 @@ const SWINGS = [
   'swinging from a porch-style wooden seat-swing with rope sides, kicking its feet out',
   'mid-swing from a thick braided tassel rope hanging from the ceiling, body angled like a pendulum',
   'gripping a curved tree limb with both hands, swinging side-to-side, ground far below',
+  // ── falling off (drunk visual gag — one hand still grasping, body dangling) ──
+  'falling off a tree branch — only one paw still grasping the branch, body fully extended downward, drink and joint still somehow in the other paw, surprised-but-grinning face',
+  'slipping off a vine — one hand still holding on (white-knuckled), body hanging limp, the other paw waving the cocktail glass, totally unbothered',
+  'mid-tumble off a thick tree limb, just one fingertip catching the bark, body twisted, joint smoke trailing behind, cartoon "uh-oh" eyes',
+  'tipping off a hanging chandelier — one paw clamped on the chain, the rest of the body falling sideways, mouth open in lopsided grin, drink sloshing',
+  'one tail-tip wrapped around a branch as the body falls below, drink still upright in one paw, joint clenched in teeth, smug expression',
+  'caught mid-slide off a curved tree limb — only one claw hooked, the other arm flailing, an entire champagne magnum cradled across the chest',
+  'dangling from a single paw on a vine, body fully relaxed below, eyes half-closed, joint dropping a single ash, the other paw raising a glass in toast',
+  'sliding off a porch swing — one hand still hooked on the rope, butt mid-air, drink balanced impossibly on a knee, joint between the teeth',
+  'fingers slipping down a smooth tree-trunk branch — one paw barely catching a knot in the wood, the other paw still pouring from a champagne bottle',
+  'one toe gripping a vine as the body hangs upside-down sideways — drunk-yoga pose, cocktail glass still upright in the other paw, joint in the mouth',
 ];
 
 // ── TABLEAUX — drink in hand / glassware / bottles ─────────────────────
diff --git a/scripts/yolo-tick.sh b/scripts/yolo-tick.sh
new file mode 100755
index 0000000..b0a6f2b
--- /dev/null
+++ b/scripts/yolo-tick.sh
@@ -0,0 +1,71 @@
+#!/usr/bin/env bash
+# Numbered YOLO tick — one cycle of the drunk-animals refresh loop.
+# Steve directive 2026-05-25: "run on ticks .. and number all ticks".
+#
+# Each invocation:
+#   1. Increments tick counter at data/logs/yolo-tick-counter
+#   2. Snapshots queue health (ComfyUI queue depth, drunk-* PG count,
+#      latest design IDs, generator_tick log failure rate)
+#   3. Appends one line to data/logs/yolo-ticks.log (machine-readable)
+#   4. Prints a human-readable status line to stdout
+#
+# Designed to be run from the crontab every 5 min, OR by claude-code
+# via a /loop schedule. Idempotent. Read-only against the system —
+# the actual design generation happens in the existing crons
+# (drunk_animals_tick + generator_tick).
+set -uo pipefail
+
+ROOT="${HOME}/Projects/wallco-ai"
+COUNTER="${ROOT}/data/logs/yolo-tick-counter"
+LEDGER="${ROOT}/data/logs/yolo-ticks.log"
+mkdir -p "$(dirname "$LEDGER")"
+
+# Increment tick counter (atomic-ish via flock if available)
+if [ -f "$COUNTER" ]; then
+  N=$(<"$COUNTER")
+  N=$((N + 1))
+else
+  N=1
+fi
+echo "$N" > "$COUNTER"
+
+NOW=$(date -u '+%Y-%m-%dT%H:%M:%SZ')
+
+# ── snapshots ──
+COMFY=$(curl -sf -m 2 http://127.0.0.1:8188/queue 2>/dev/null | \
+  python3 -c "import sys,json
+try:
+  d=json.load(sys.stdin)
+  print(f'{len(d.get(\"queue_running\",[]))}+{len(d.get(\"queue_pending\",[]))}')
+except: print('?+?')" 2>/dev/null || echo "?+?")
+
+PG_LATEST=$(psql -d dw_unified -At -F '|' -c "
+SELECT id, category FROM spoon_all_designs
+WHERE category IN ('drunk-animals','drunk-monkeys-v2','drunk-animals-designer')
+  OR category LIKE 'drunk-zoo-36%'
+ORDER BY id DESC LIMIT 1;
+" 2>/dev/null || echo "?|?")
+
+PG_LATEST_ANY=$(psql -d dw_unified -At -c "
+SELECT id FROM spoon_all_designs ORDER BY id DESC LIMIT 1;
+" 2>/dev/null || echo "?")
+
+DRUNK_SINCE_TICK1=$(psql -d dw_unified -At -c "
+SELECT COUNT(*) FROM spoon_all_designs
+WHERE id > 42661
+  AND (category IN ('drunk-animals','drunk-monkeys-v2','drunk-animals-designer')
+       OR category LIKE 'drunk-zoo-36%');
+" 2>/dev/null || echo "?")
+
+# Recent tick_failed count (last hour)
+TICK_FAILS=$(grep -c '"event":"tick_failed"' "${ROOT}/data/logs/generator_tick.log" 2>/dev/null | tail -1 || echo "?")
+TICK_DONES=$(grep -c '"event":"tick_done"' "${ROOT}/data/logs/generator_tick.log" 2>/dev/null | tail -1 || echo "?")
+
+# Most recent drunk-* tick result (success / seamless-fail / timeout)
+LAST_DRUNK_RESULT=$(tail -50 "${ROOT}/data/logs/drunk_animals_tick.log" 2>/dev/null | \
+  grep -oE 'SEAMLESS_FAIL|timed out|tick_done|skipping|✓ seamless|SETTLEMENT' | tail -1 || echo "?")
+
+# ── write ledger line + print to console ──
+LINE="tick=#${N} at=${NOW} comfy_queue=${COMFY} latest_drunk=${PG_LATEST} latest_any=${PG_LATEST_ANY} new_drunk_since_baseline=${DRUNK_SINCE_TICK1} cron_tick_done_total=${TICK_DONES} cron_tick_failed_total=${TICK_FAILS} last_drunk_result=${LAST_DRUNK_RESULT}"
+echo "$LINE" >> "$LEDGER"
+echo "$LINE"

← 001cb74 drunk-* gates relaxed: seamless tolerance 12→30 + drop confl  ·  back to Wallco Ai  ·  yolo tick 8: DA-4 ✓ 6 preview IDs (curator-mode reuse) + tic b1b2863 →