Lacuna/Labs
featured-listing-rotation
pink
#208 / 601

NAME

featured-listing-rotation — Nudge to rotate the four featured listings if they've been the same for over a month.

SYNOPSIS

id featured-listing-rotation tier pink section §7. Pink — Sakura local (65 baseline, 131 post-matrix) trigger cron:weekly tools etsy/listings source new

DESCRIPTION

Sakura's local 8B model handles this on-device. Free, private, Cortex-grounded. The 'I just know what you have' tier.

Nudge to rotate the four featured listings if they've been the same for over a month.

MECHANISM

PREfetchGUARDtier: pinkACTperformRESULTrenderON-ERRretry / esc
;;~ title    "Featured listing rotation"
;;~ author   "lacuna"
;;~ version  1
;;~ mode     automation
;;~ flavor   pink
;;~ id       featured-listing-rotation
;;~ trigger  cron:weekly
;;~ touches  ()
;;~ summary  "Weekly: nudge the operator to rotate the four featured listings if they've been the same for over a month."

;; Pulls shop featured-listing slots + the date each was assigned.
;; Anything in a slot over 30 days surfaces with a nudge to rotate.
;; The rotation itself is a separate operator-driven action; this
;; cart only flags.

(cart 'featured-listing-rotation
  '((author    . "lacuna")
    (version   . 1)
    (read-only . #t)))

(define (start ctx)
  (let ((connected (ctx-get 'shop-connected ctx)))
    (cond
      ((not connected) (escalate 'shop-not-connected null))
      (else            (next 'fetch ctx)))))

(define (fetch ctx)
  (act 'etsy/listings (list 'featured 'with-assigned-date) 'render))

(define (render ctx)
  (let ((rows (ctx-result ctx)))
    (cond
      ((null? rows)              (escalate 'no-data null))
      ((eq? rows 'rate-limited)  (after 30 'fetch ctx))
      (else                      (begin
                                   (table rows '(listing-id title assigned-at days-featured))
                                   (done))))))

source: curator-web/src/scheme/carts/etsy/featured-listing-rotation.sks · 37 lines

EXAMPLES

Example forthcoming — docs/automations/examples.json entry editable in place.

TIER

pink
Sakura local 8B · free · on-device

FITNESS

Ready

Fits any shop today — this one has no sample-size floor.

SEE ALSO

HISTORY

canonical source: curator/docs/AUTOMATIONS-CANONICAL.md · §7-pink-sakura-local-65-baseline-131-post-matrix
last regenerated: 2026-06-05 20:31 UTC (mechanical — edits land in the MD or sidecars, not here)

KNOWN BUGS

(none recorded — flag in AUTOMATIONS-CANONICAL.md or open an issue against the cart file)