Lacuna/Labs
list-needs-attention
white
#040 / 601

NAME

list-needs-attention — White read-cart in the 'List / browse (12)' group. Operator-commanded data surface in the Analysis tab.

SYNOPSIS

id list-needs-attention tier white section §6. White — atomic tools (142 baseline, 149 post-matrix) trigger operator-commanded tools cortex_query, list_listings / list_orders source carry-forward

DESCRIPTION

Pure read against Cortex with a filter. No LLM, no API spend. Renders as a table or grid in the Analysis tab. The white-tier baseline.

White read-cart in the 'List / browse (12)' group. Operator-commanded data surface in the Analysis tab.

MECHANISM

PREfetchGUARDtier: whiteACTperformRESULTrenderON-ERRretry / esc
;;~ title    "Needs attention"
;;~ author   "lacuna"
;;~ version  1
;;~ mode     analysis
;;~ flavor   white
;;~ id       list-needs-attention
;;~ touches  ()
;;~ summary  "Listings that flunk a basic health check — missing photos, tags, or description. Architect-shape: verb call via (act), filtering in a named state fn."

;; A listing flunks if it is active AND any of:
;;   · zero or one image attached
;;   · fewer than 10 tags
;;   · description shorter than 40 characters
;;
;; Three states: start → score → render → done. The fetch sits inside
;; (act ...); 'score reads the result via ctx-result and applies the
;; predicate.

(cart 'list-needs-attention
  '((author    . "lacuna")
    (version   . 1)
    (read-only . #t)))

(define (flunks? l)
  (and (eq? (listing-state l) 'active)
       (or (< (length (listing-images l)) 2)
           (< (length (listing-tags l)) 10)
           (< (string-length (listing-description l)) 40))))

(define (start ctx)
  (act 'etsy/listings (list 'active) 'score))

(define (score ctx)
  (let* ((all  (ctx-result ctx))
         (rows (filter flunks? all)))
    (next 'render (ctx-set 'rows rows ctx))))

(define (render ctx)
  (let ((rows (ctx-get 'rows ctx)))
    (table rows '(listing-id title state image-count tag-count desc-length))
    (done)))

source: curator-web/src/scheme/carts/etsy/list-needs-attention.sks · 41 lines

EXAMPLES

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

TIER

white
atomic · free · operator-commanded

FITNESS

Ready

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

SEE ALSO

HISTORY

canonical source: curator/docs/AUTOMATIONS-CANONICAL.md · §6-white-atomic-tools-142-baseline-149-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)