Lacuna/Labs
message-response-time-tracker
pink
#201 / 601

NAME

message-response-time-tracker — Daily median time-to-reply across open buyer threads, flag stragglers.

SYNOPSIS

id message-response-time-tracker tier pink section §7. Pink — Sakura local (65 baseline, 131 post-matrix) trigger cron:daily tools etsy/conversations, sakura/decide source new

DESCRIPTION

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

Daily median time-to-reply across open buyer threads, flag stragglers.

MECHANISM

PREfetchGUARDtier: pinkACTperformRESULTrenderON-ERRretry / esc
;;~ title    "Message response-time tracker"
;;~ author   "lacuna"
;;~ version  1
;;~ mode     automation
;;~ flavor   pink
;;~ id       message-response-time-tracker
;;~ trigger  cron:daily
;;~ touches  ()
;;~ summary  "Daily check: median time-to-reply across open buyer threads, flag stragglers."

;; A daily pulse on responsiveness. Pulls the conversation list, lets
;; the local Sakura summarize the median + outliers. No cloud; this
;; is a numeric summary task that fits on-device.

(cart 'message-response-time-tracker
  '((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/conversations (list 'open) 'summarize))

(define (summarize ctx)
  (let ((r (ctx-result ctx)))
    (cond
      ((null? r)                       (escalate 'no-data null))
      ((eq? r 'rate-limited)           (after 30 'fetch ctx))
      (else                            (act 'sakura/decide
                                            (list 'task 'response-time-summary r)
                                            'check-result)))))

(define (check-result ctx)
  (let ((r (ctx-result ctx)))
    (cond
      ((null? r)              (escalate 'sakura-empty null))
      ((not (string? r))      (escalate 'sakura-garbled null))
      (else                   (next 'announce (ctx-set 'summary r ctx))))))

(define (announce ctx) (done))

source: curator-web/src/scheme/carts/etsy/message-response-time-tracker.sks · 45 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)