Inbox-first ingest → atomic claim → fit×intent scoring → routed with reasons. Reapers sweep every 5 min. Running on Workers + D1 + Queues.
curl -X POST https://gtm-pipeline.shanefirek.com/signal \
-H "content-type: application/json" \
-d '{"source":"form_fill","company":"Acme","domain":"acme.com","title":"VP of IT","employee_count":900,"page":"/pricing","action":"demo_request"}'
Watch it walk pending → in_flight → routed below. Identical payloads dedup (409). Junk signals route to archive with the reason spelled out.
| id | trace | source | status | fit | intent | scored by | reaped |
|---|---|---|---|---|---|---|---|
| 22 | a5c0f68e |
form_fill | routed | 100 | 100 | deterministic | |
| 21 | 46de8da7 |
form_fill | routed | 100 | 100 | deterministic | |
| 20 | 676f7fa1 |
website_visit | routed | 70 | 50 | deterministic | |
| 19 | c114fd50 |
website_visit | routed | 10 | 15 | deterministic |
| signal | tier | action | reason |
|---|---|---|---|
| 22 | hot | alert_rep | fit 100 ≥ 70 AND intent 100 ≥ 70: fit[headcount 900 (enterprise band); senior title "VP of IT"; resolvable domain; named company] intent[pricing page visit (/pricing); direct action: demo_request; hand-raised via form] |
| 21 | hot | alert_rep | fit 100 ≥ 70 AND intent 100 ≥ 70: fit[headcount 900 (enterprise band); senior title "VP <img src=x onerror=alert(1)>"; resolvable domain; named company] intent[pricing page visit (/pricing); direct action: demo_request; hand-raised via form] |
| 20 | warm | nurture | one dimension above 40 (fit 70, intent 50): fit[headcount 900 (enterprise band); resolvable domain; named company] intent[pricing page visit (/pricing); source: website_visit] |
| 19 | archive | archive | both dimensions below 40 (fit 10, intent 15) |