[object Object]

← back to AbramsEgo

feat(affiliate): draft high-commission vendors + join kits; activation gated (TK-10132)

7cb45902f0d7c930e51e76b15f239cced2559a3a · 2026-08-02 01:16:45 -0700 · Steve

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Files touched

Diff

commit 7cb45902f0d7c930e51e76b15f239cced2559a3a
Author: Steve <steve@designerwallcoverings.com>
Date:   Sun Aug 2 01:16:45 2026 -0700

    feat(affiliate): draft high-commission vendors + join kits; activation gated (TK-10132)
    
    Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---
 .../{tasks => done}/51-affiliate-cabinet-select.md |   0
 .../{tasks => done}/52-affiliate-draft-and-kits.md |   0
 data/affiliate-clicks.jsonl                        |   2 +
 data/affiliate-join-kits.md                        | 119 +++++++++++++++++++++
 data/affiliates.json                               |  94 ++++++++++++++--
 data/local-fleet.json                              |   2 +-
 server.js                                          |   9 +-
 7 files changed, 217 insertions(+), 9 deletions(-)

diff --git a/build-queue/tasks/51-affiliate-cabinet-select.md b/build-queue/done/51-affiliate-cabinet-select.md
similarity index 100%
rename from build-queue/tasks/51-affiliate-cabinet-select.md
rename to build-queue/done/51-affiliate-cabinet-select.md
diff --git a/build-queue/tasks/52-affiliate-draft-and-kits.md b/build-queue/done/52-affiliate-draft-and-kits.md
similarity index 100%
rename from build-queue/tasks/52-affiliate-draft-and-kits.md
rename to build-queue/done/52-affiliate-draft-and-kits.md
diff --git a/data/affiliate-clicks.jsonl b/data/affiliate-clicks.jsonl
index 64bfbea..c674c06 100644
--- a/data/affiliate-clicks.jsonl
+++ b/data/affiliate-clicks.jsonl
@@ -1,3 +1,5 @@
 {"ts":"2026-07-02T01:37:20.097Z","slug":"digitalocean","ua":"curl/8.7.1","ref":""}
 {"ts":"2026-07-02T01:47:50.403Z","slug":"digitalocean","ua":"curl/8.7.1","ref":""}
 {"ts":"2026-07-02T13:08:24.277Z","slug":"hetzner","ua":"curl/8.7.1","ref":""}
+{"ts":"2026-08-02T08:15:59.457Z","slug":"beehiiv","ua":"curl/8.7.1","ref":""}
+{"ts":"2026-08-02T08:16:36.031Z","slug":"murf","ua":"curl/8.7.1","ref":""}
diff --git a/data/affiliate-join-kits.md b/data/affiliate-join-kits.md
new file mode 100644
index 0000000..95792d5
--- /dev/null
+++ b/data/affiliate-join-kits.md
@@ -0,0 +1,119 @@
+# Affiliate One-Click Join Kits — TK-10132
+
+Generated 2026-08-02 from the cabinet selection (`data/affiliate-selection.json`, task 51).
+One kit per selected vendor. **Nothing here has been signed up for** — every registry entry
+in `data/affiliates.json` is `status:"draft"` until Steve joins the program himself.
+
+## How activation works (same for every vendor)
+
+1. Open the JOIN URL and complete the signup steps below.
+2. Once approved, copy your real tracking/affiliate URL from the program dashboard.
+3. Open `data/affiliates.json`, find the entry by `slug`, and **paste the tracking URL
+   into the `url` field** (replacing the plain product-page URL currently there).
+4. Flip that entry's `"status": "draft"` → `"status": "active"`.
+5. `pm2 restart abramsego`. The `/go/<slug>` redirect now carries your real link, the
+   entry appears in `GET /api/affiliates`, and the dashboard's affiliate engine pill
+   flips from **gated** to **live** (it counts `status:"active"` entries).
+
+Any surface that renders these links must carry an FTC material-connection disclosure
+line (officer condition, task 51).
+
+---
+
+## ElevenLabs — `elevenlabs`
+
+- **JOIN URL:** https://elevenlabs.io/affiliates
+- **Terms:** 22% recurring for first 12 months (11% Business plan) · 90-day cookie · $5 payout threshold
+- **Steps:**
+  1. Click "Apply" on the affiliates page — routes to PartnerStack; approval is instant.
+  2. Create/link a PartnerStack account (email + payout details).
+  3. In the PartnerStack dashboard, copy your unique referral link.
+  4. **Verify at signup:** confirm the 90-day cookie and the 90-day payout holdback are two distinct terms (contrarian flag).
+- **Paste-back:** `data/affiliates.json` → entry `"slug": "elevenlabs"` → replace `url` with the PartnerStack referral link → set `"status": "active"`.
+
+## Better Stack — `betterstack`
+
+- **JOIN URL:** https://betterstack.com/affiliates
+- **Terms:** 25% of **net** revenue, recurring for first 12 months · cookie window unpublished (confirm at signup)
+- **Steps:**
+  1. Sign up for a (free) Better Stack account if you don't have one.
+  2. Open the affiliates page and enroll from within the account.
+  3. Copy your referral link from the affiliate section of the dashboard.
+  4. Note the payout schedule + confirm the cookie window in the program terms.
+- **Paste-back:** `data/affiliates.json` → entry `"slug": "betterstack"` → replace `url` with the referral link → set `"status": "active"`.
+
+## beehiiv — `beehiiv`
+
+- **JOIN URL:** https://www.beehiiv.com/partners
+- **Terms:** 50% recurring for 12 months (tiers to 55–60%) · 60-day cookie
+- **Steps:**
+  1. Sign up at partners.beehiiv.com (separate from a beehiiv newsletter account).
+  2. Complete the partner profile + payout details.
+  3. **Re-confirm the 50% rate inside the partner dashboard** before promoting — the public page was JS-walled during research; terms were verified via beehiiv's own blog/support docs.
+  4. Copy your partner link.
+- **Paste-back:** `data/affiliates.json` → entry `"slug": "beehiiv"` → replace `url` with the partner link → set `"status": "active"`.
+- **Officer note:** commission-math pick, not an audience-fit pick — softest fit on the board.
+
+## Make (Integromat) — `make`
+
+- **JOIN URL:** https://www.make.com/en/affiliate
+- **Terms:** 35% of subscription payments, recurring for 12 months · cookie unpublished · payout gate: $100 **and** 3 unique paying users
+- **Steps:**
+  1. Apply via the affiliate page — open enrollment, anyone can join.
+  2. Fill in promotion details (describe the AbramsEgo dashboard placement).
+  3. On approval, copy your affiliate link from the partner portal.
+  4. Note: commission excludes extra-operations purchases; early balances can strand below the double payout gate.
+- **Paste-back:** `data/affiliates.json` → entry `"slug": "make"` → replace `url` with the affiliate link → set `"status": "active"`.
+
+## Cloudways — `cloudways`
+
+- **JOIN URL:** https://www.cloudways.com/en/web-hosting-affiliate-program.php
+- **Terms:** Hybrid $30/sale + 7% lifetime (or slab up to $125 one-time) · +7% two-tier · 90-day cookie
+- **Steps:**
+  1. Sign up on the affiliate page — instant-leaning, no long forms.
+  2. Choose commission model (hybrid vs slab) in the affiliate dashboard.
+  3. **Resolve the unstated payout threshold** in the dashboard terms before writing content.
+  4. Copy your tracking link.
+- **Paste-back:** `data/affiliates.json` → entry `"slug": "cloudways"` → replace `url` with the tracking link → set `"status": "active"`.
+
+## UptimeRobot — `uptimerobot`
+
+- **JOIN URL:** https://uptimerobot.com/affiliate-program/
+- **Terms:** 20% recurring **lifetime** · cookie unpublished · $100 threshold, PayPal-only payout
+- **Steps:**
+  1. Create a free UptimeRobot account (or use an existing one).
+  2. Open the affiliate section in the dashboard — your code/link is there instantly, no approval step.
+  3. Confirm PayPal payout email (single payout rail — note the business-entity caveat).
+- **Paste-back:** `data/affiliates.json` → entry `"slug": "uptimerobot"` → replace `url` with the affiliate link → set `"status": "active"`.
+
+## DigitalOcean — `digitalocean`
+
+- **JOIN URL:** https://www.digitalocean.com/affiliates
+- **Terms:** 10% of referred user's monthly spend, recurring for 12 months · cookie unpublished (confirm at CJ signup)
+- **Steps:**
+  1. Apply via the affiliates page — routes through CJ (Commission Junction).
+  2. Create/link a CJ publisher account; add the AbramsEgo dashboard as the promoting property.
+  3. On approval, generate your tracking link inside CJ.
+  4. Confirm the cookie window in the CJ program terms.
+- **Paste-back:** `data/affiliates.json` → entry `"slug": "digitalocean"` → replace `url` with the CJ tracking link → set `"status": "active"`.
+
+## Murf AI — `murf`
+
+- **JOIN URL:** https://murf.ai/affiliate-program
+- **Terms:** 20% recurring for **24 months** (longest window in the set) · 90-day cookie
+- **Steps:**
+  1. Apply via the affiliate page — routes to PartnerStack.
+  2. Reuse the PartnerStack account from the ElevenLabs signup (one login, both programs).
+  3. Copy your Murf referral link from PartnerStack.
+- **Paste-back:** `data/affiliates.json` → entry `"slug": "murf"` → replace `url` with the PartnerStack referral link → set `"status": "active"`.
+- **Positioning:** value-tier voiceover alternative beside ElevenLabs, not a duplicate.
+
+---
+
+## NOT included (do not join)
+
+- **vultr** — deferred: customer-referral scheme with no published rate; sits in the registry on AUDIT HOLD.
+- **hetzner** — audit catch: in the registry with zero researched economics; research properly or remove.
+- **webflow** — killed by contrarian: client referrals not commissionable, 30-day forced-publish requirement.
+- **kit** — category-duplicate of beehiiv with 3/5 verification fields empty; first alternate if beehiiv's 50% fails dashboard re-verification.
+- **notion** — program closed to new affiliates; watchlist only.
diff --git a/data/affiliates.json b/data/affiliates.json
index b6a590d..17d9c89 100644
--- a/data/affiliates.json
+++ b/data/affiliates.json
@@ -3,9 +3,13 @@
     "slug": "digitalocean",
     "label": "DigitalOcean",
     "url": "https://www.digitalocean.com/",
-    "program": "DigitalOcean Referral Program",
-    "note": "Cloud VMs — the natural 'host your own AbramsEgo' pitch. Steve joins the referral program before flipping active.",
+    "program": "DigitalOcean Affiliate Program (via CJ)",
+    "category": "cloud-vps",
+    "commission": "10% of referred user's monthly spend, recurring for 12 months",
+    "cookie_days": null,
+    "note": "Verified: 10% recurring for 12 months via CJ. Cookie window unpublished — confirm at signup. NYSE-listed, network-backed payouts; 'host your own agent fleet on droplets' is the most universal pitch on the dashboard.",
     "added": "2026-07-01",
+    "updated": "2026-08-02",
     "status": "draft"
   },
   {
@@ -13,8 +17,12 @@
     "label": "Hetzner Cloud",
     "url": "https://www.hetzner.com/cloud/",
     "program": "Hetzner Referral",
-    "note": "Cheapest solid fleet hosting — Kamatera-alternative angle for cost-conscious operators.",
+    "category": "cloud-vps",
+    "commission": null,
+    "cookie_days": null,
+    "note": "AUDIT HOLD (TK-10132): never researched in the task-50 pass, zero verified commission data. Not in the cabinet selection — research properly or remove; do not activate.",
     "added": "2026-07-01",
+    "updated": "2026-08-02",
     "status": "draft"
   },
   {
@@ -22,8 +30,12 @@
     "label": "Better Stack",
     "url": "https://betterstack.com/",
     "program": "Better Stack Affiliate",
-    "note": "Uptime + log monitoring — pairs with the canary/uptime story the dashboard tells.",
+    "category": "monitoring",
+    "commission": "25% of net revenue, recurring for first 12 months",
+    "cookie_days": null,
+    "note": "Verified: 25% of NET revenue (after fees — real checks run smaller than headline), recurring 12 months. Cookie window unpublished. Best audience fit on the board: uptime/logs/incidents sold to people staring at pm2/launchd fleet panels.",
     "added": "2026-07-01",
+    "updated": "2026-08-02",
     "status": "draft"
   },
   {
@@ -31,17 +43,85 @@
     "label": "Vultr",
     "url": "https://www.vultr.com/",
     "program": "Vultr Affiliate",
-    "note": "Second hosting option so the strip isn't single-vendor.",
+    "category": "cloud-vps",
+    "commission": null,
+    "cookie_days": null,
+    "note": "AUDIT HOLD (TK-10132): public page publishes no rate — it is a customer-referral scheme, not a marketing affiliate program. Deferred by the cabinet; do not activate without verified economics.",
     "added": "2026-07-01",
+    "updated": "2026-08-02",
     "status": "draft"
   },
   {
     "slug": "elevenlabs",
     "label": "ElevenLabs",
     "url": "https://elevenlabs.io/",
-    "program": "ElevenLabs Affiliate",
-    "note": "AI voice — already in the AbramsEgo cost ledger, so 'tools we run on' is literally true.",
+    "program": "ElevenLabs Affiliate (PartnerStack)",
+    "category": "ai-tools",
+    "commission": "22% recurring for first 12 months (11% Business plan)",
+    "cookie_days": 90,
+    "note": "Verified: 22% recurring 12 months (11% Business), 90-day cookie, $5 threshold, instant PartnerStack approval. Already in the AbramsEgo cost ledger — 'tools we run on' is literally true. At signup confirm cookie window vs 90-day payout holdback are distinct terms.",
     "added": "2026-07-01",
+    "updated": "2026-08-02",
+    "status": "draft"
+  },
+  {
+    "slug": "beehiiv",
+    "label": "beehiiv",
+    "url": "https://www.beehiiv.com/",
+    "program": "beehiiv Partner Program",
+    "category": "email-crm",
+    "commission": "50% recurring for 12 months (tiers climb to 55-60%)",
+    "cookie_days": 60,
+    "note": "Verified via beehiiv's own blog/support docs: 50% recurring 12 months, 60-day cookie (~$294 year-one on a $49/mo referral). Officer condition: this is a commission-math pick, not an audience-fit pick — re-confirm the 50% inside the partner dashboard before promoting.",
+    "added": "2026-08-02",
+    "status": "draft"
+  },
+  {
+    "slug": "make",
+    "label": "Make (Integromat)",
+    "url": "https://www.make.com/",
+    "program": "Make Affiliate Program",
+    "category": "nocode-automation",
+    "commission": "35% of subscription payments, recurring for 12 months",
+    "cookie_days": null,
+    "note": "Verified: 35% recurring 12 months, open enrollment. Payout gate is $100 AND 3 unique paying users — early balances can strand; commission excludes extra-operations purchases. Near-perfect audience fit: 'automate your fleet without code.'",
+    "added": "2026-08-02",
+    "status": "draft"
+  },
+  {
+    "slug": "cloudways",
+    "label": "Cloudways",
+    "url": "https://www.cloudways.com/",
+    "program": "Cloudways Affiliate Program",
+    "category": "cloud-vps",
+    "commission": "Hybrid: $30/sale + 7% lifetime (or slab up to $125 one-time); +7% two-tier",
+    "cookie_days": 90,
+    "note": "Verified: 90-day cookie stated on page, published hybrid/slab commission tables, lifetime 7% tail. DO-owned. Resolve the unstated payout threshold before writing content.",
+    "added": "2026-08-02",
+    "status": "draft"
+  },
+  {
+    "slug": "uptimerobot",
+    "label": "UptimeRobot",
+    "url": "https://uptimerobot.com/",
+    "program": "UptimeRobot Affiliate",
+    "category": "monitoring",
+    "commission": "20% recurring LIFETIME — every payment while subscription stays active",
+    "cookie_days": null,
+    "note": "Verified: 20% recurring lifetime, instant activation (code in dashboard after free signup). Caveats: PayPal-only payout + $100 threshold; free tier is the highest click-through funnel on the list but caps conversion-to-paid.",
+    "added": "2026-08-02",
+    "status": "draft"
+  },
+  {
+    "slug": "murf",
+    "label": "Murf AI",
+    "url": "https://murf.ai/",
+    "program": "Murf Affiliate (PartnerStack)",
+    "category": "ai-tools",
+    "commission": "20% recurring for 24 months",
+    "cookie_days": 90,
+    "note": "Verified: 20% recurring for 24 months — the longest recurring window in the set (double ElevenLabs') — 90-day cookie, PartnerStack-backed. Positioned as the value-tier voiceover alternative beside ElevenLabs.",
+    "added": "2026-08-02",
     "status": "draft"
   }
 ]
diff --git a/data/local-fleet.json b/data/local-fleet.json
index 3095481..f6232e5 100644
--- a/data/local-fleet.json
+++ b/data/local-fleet.json
@@ -1 +1 @@
-{"fetchedAt":"2026-08-02T08:10:49.357Z","procs":[{"name":"pm2-logrotate","status":"online","cpu":0.3,"memMB":55,"restarts":0,"uptimeMs":1953185680,"startedAt":"2026-07-10T17:37:43.677Z"},{"name":"pm2-logrotate","status":"online","cpu":0,"memMB":58,"restarts":0,"uptimeMs":1953185679,"startedAt":"2026-07-10T17:37:43.678Z"},{"name":"abramsego","status":"online","cpu":1.3,"memMB":332,"restarts":3,"uptimeMs":510441,"startedAt":"2026-08-02T08:02:18.916Z"},{"name":"pattern-vault","status":"online","cpu":0,"memMB":68,"restarts":1,"uptimeMs":145052991,"startedAt":"2026-07-31T15:53:16.366Z"},{"name":"cabinet-mindmap","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145052853,"startedAt":"2026-07-31T15:53:16.504Z"},{"name":"patterndesignlab","status":"online","cpu":0,"memMB":57,"restarts":1,"uptimeMs":145052853,"startedAt":"2026-07-31T15:53:16.504Z"},{"name":"japan-viewer","status":"online","cpu":0,"memMB":625,"restarts":4,"uptimeMs":16548584,"startedAt":"2026-08-02T03:35:00.773Z"},{"name":"reidwitlin-landing","status":"online","cpu":0.3,"memMB":66,"restarts":1,"uptimeMs":145052712,"startedAt":"2026-07-31T15:53:16.645Z"},{"name":"abramsos","status":"online","cpu":0,"memMB":121,"restarts":17,"uptimeMs":118187506,"startedAt":"2026-07-31T23:21:01.851Z"},{"name":"dw-pitch-followup","status":"online","cpu":0.3,"memMB":76,"restarts":1,"uptimeMs":145052578,"startedAt":"2026-07-31T15:53:16.779Z"},{"name":"wpb-sales-dashboard","status":"online","cpu":0,"memMB":68,"restarts":2,"uptimeMs":16503091,"startedAt":"2026-08-02T03:35:46.266Z"},{"name":"crezana-internal","status":"online","cpu":0.3,"memMB":70,"restarts":1,"uptimeMs":145052431,"startedAt":"2026-07-31T15:53:16.926Z"},{"name":"fromental-internal","status":"online","cpu":0.3,"memMB":74,"restarts":1,"uptimeMs":145052251,"startedAt":"2026-07-31T15:53:17.106Z"},{"name":"gracie-internal","status":"online","cpu":0.3,"memMB":76,"restarts":2,"uptimeMs":132726768,"startedAt":"2026-07-31T19:18:42.589Z"},{"name":"zuber-internal","status":"online","cpu":0.3,"memMB":80,"restarts":2,"uptimeMs":132718349,"startedAt":"2026-07-31T19:18:51.008Z"},{"name":"wpb-control-panel","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145052064,"startedAt":"2026-07-31T15:53:17.293Z"},{"name":"ken","status":"online","cpu":0,"memMB":547,"restarts":4,"uptimeMs":20200094,"startedAt":"2026-08-02T02:34:09.263Z"},{"name":"slack-idea-board","status":"online","cpu":0.7,"memMB":151,"restarts":1,"uptimeMs":145051857,"startedAt":"2026-07-31T15:53:17.500Z"},{"name":"slack-to-steve-dash","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145051675,"startedAt":"2026-07-31T15:53:17.682Z"},{"name":"ImportNewSkufromURL-9830","status":"online","cpu":0.3,"memMB":61,"restarts":1,"uptimeMs":145051537,"startedAt":"2026-07-31T15:53:17.820Z"},{"name":"govarbitrage","status":"online","cpu":0,"memMB":48,"restarts":1,"uptimeMs":145051141,"startedAt":"2026-07-31T15:53:18.216Z"},{"name":"greenland-internal","status":"online","cpu":0.3,"memMB":71,"restarts":2,"uptimeMs":137510169,"startedAt":"2026-07-31T17:58:59.188Z"},{"name":"slack-socket","status":"online","cpu":0.3,"memMB":78,"restarts":1,"uptimeMs":145051090,"startedAt":"2026-07-31T15:53:18.267Z"},{"name":"dw-activation-calendar","status":"online","cpu":0,"memMB":67,"restarts":18,"uptimeMs":144080643,"startedAt":"2026-07-31T16:09:28.714Z"},{"name":"ai-workforce","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145050752,"startedAt":"2026-07-31T15:53:18.605Z"},{"name":"prev-estimate-instant","status":"online","cpu":0.3,"memMB":55,"restarts":1,"uptimeMs":145050566,"startedAt":"2026-07-31T15:53:18.791Z"},{"name":"gate-estimate-instant","status":"online","cpu":0,"memMB":54,"restarts":1,"uptimeMs":145050502,"startedAt":"2026-07-31T15:53:18.855Z"},{"name":"prev-trade-portal","status":"online","cpu":0.3,"memMB":56,"restarts":1,"uptimeMs":145050270,"startedAt":"2026-07-31T15:53:19.087Z"},{"name":"gate-trade-portal","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145050220,"startedAt":"2026-07-31T15:53:19.137Z"},{"name":"prev-sample-box","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145049998,"startedAt":"2026-07-31T15:53:19.359Z"},{"name":"gate-sample-box","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145049950,"startedAt":"2026-07-31T15:53:19.407Z"},{"name":"prev-reno-visualizer","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145049831,"startedAt":"2026-07-31T15:53:19.526Z"},{"name":"gate-reno-visualizer","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145049742,"startedAt":"2026-07-31T15:53:19.615Z"},{"name":"prev-permit-radar","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145049541,"startedAt":"2026-07-31T15:53:19.816Z"},{"name":"gate-permit-radar","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145049500,"startedAt":"2026-07-31T15:53:19.857Z"},{"name":"prev-accelerator","status":"online","cpu":0.3,"memMB":55,"restarts":1,"uptimeMs":145049311,"startedAt":"2026-07-31T15:53:20.046Z"},{"name":"gate-accelerator","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145049267,"startedAt":"2026-07-31T15:53:20.090Z"},{"name":"schumacher-internal","status":"online","cpu":0.3,"memMB":66,"restarts":1,"uptimeMs":145049166,"startedAt":"2026-07-31T15:53:20.191Z"},{"name":"colorwheel","status":"online","cpu":0,"memMB":66,"restarts":1,"uptimeMs":145049098,"startedAt":"2026-07-31T15:53:20.259Z"},{"name":"fantasea-consulting","status":"online","cpu":0.3,"memMB":69,"restarts":1,"uptimeMs":145048283,"startedAt":"2026-07-31T15:53:21.074Z"},{"name":"animals-viewer","status":"online","cpu":0.3,"memMB":89,"restarts":1,"uptimeMs":145048270,"startedAt":"2026-07-31T15:53:21.087Z"},{"name":"consulting-intake","status":"online","cpu":0,"memMB":67,"restarts":1,"uptimeMs":145048081,"startedAt":"2026-07-31T15:53:21.276Z"},{"name":"dw-marketing-reels-studio","status":"online","cpu":0.3,"memMB":66,"restarts":1,"uptimeMs":145048087,"startedAt":"2026-07-31T15:53:21.270Z"},{"name":"usrealestate","status":"online","cpu":0,"memMB":48,"restarts":1,"uptimeMs":145047359,"startedAt":"2026-07-31T15:53:21.998Z"},{"name":"usre-broker-rotate","status":"stopped","cpu":0,"memMB":0,"restarts":0,"uptimeMs":75349191,"startedAt":"2026-08-01T11:15:00.166Z"},{"name":"prestige-car-wash","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145047872,"startedAt":"2026-07-31T15:53:21.485Z"},{"name":"dw-cadence-next2","status":"online","cpu":0,"memMB":76,"restarts":1,"uptimeMs":145047567,"startedAt":"2026-07-31T15:53:21.790Z"},{"name":"rigo-line-viewer","status":"online","cpu":0,"memMB":77,"restarts":1,"uptimeMs":145047317,"startedAt":"2026-07-31T15:53:22.040Z"},{"name":"fentucci-viewer","status":"online","cpu":0.3,"memMB":79,"restarts":2,"uptimeMs":17457009,"startedAt":"2026-08-02T03:19:52.348Z"},{"name":"agentabrams-viewer","status":"online","cpu":0.3,"memMB":68,"restarts":1,"uptimeMs":145047071,"startedAt":"2026-07-31T15:53:22.286Z"},{"name":"model-arena","status":"online","cpu":0.3,"memMB":60,"restarts":1,"uptimeMs":145046717,"startedAt":"2026-07-31T15:53:22.640Z"},{"name":"dw-domain-viewer","status":"online","cpu":0,"memMB":68,"restarts":1,"uptimeMs":145046692,"startedAt":"2026-07-31T15:53:22.665Z"},{"name":"whimsical-viewer","status":"online","cpu":0.3,"memMB":65,"restarts":1,"uptimeMs":145046175,"startedAt":"2026-07-31T15:53:23.182Z"},{"name":"dw-internal-gateway","status":"online","cpu":0,"memMB":66,"restarts":2,"uptimeMs":145046122,"startedAt":"2026-07-31T15:53:23.235Z"},{"name":"internal-dw-dns","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145043906,"startedAt":"2026-07-31T15:53:25.451Z"},{"name":"all-dw-local","status":"online","cpu":0.3,"memMB":1995,"restarts":1,"uptimeMs":145045563,"startedAt":"2026-07-31T15:53:23.794Z"},{"name":"vahallan-line-viewer","status":"online","cpu":0.3,"memMB":79,"restarts":2,"uptimeMs":17234012,"startedAt":"2026-08-02T03:23:35.345Z"},{"name":"clipreviewbydave","status":"online","cpu":0,"memMB":62,"restarts":1,"uptimeMs":145044974,"startedAt":"2026-07-31T15:53:24.383Z"},{"name":"ticket-board","status":"online","cpu":0.3,"memMB":89,"restarts":1,"uptimeMs":145044634,"startedAt":"2026-07-31T15:53:24.723Z"},{"name":"muralsource-internal","status":"online","cpu":0,"memMB":66,"restarts":1,"uptimeMs":145044409,"startedAt":"2026-07-31T15:53:24.948Z"},{"name":"projects-agentabrams","status":"online","cpu":0,"memMB":63,"restarts":1,"uptimeMs":145044185,"startedAt":"2026-07-31T15:53:25.172Z"},{"name":"build-pages","status":"online","cpu":0,"memMB":177,"restarts":1,"uptimeMs":145043817,"startedAt":"2026-07-31T15:53:25.540Z"},{"name":"approvals-viewer","status":"online","cpu":0,"memMB":68,"restarts":19,"uptimeMs":143202574,"startedAt":"2026-07-31T16:24:06.783Z"},{"name":"hos-feed-api","status":"online","cpu":0,"memMB":66,"restarts":1,"uptimeMs":145043538,"startedAt":"2026-07-31T15:53:25.819Z"},{"name":"hos-permit-viewer","status":"online","cpu":0,"memMB":61,"restarts":1,"uptimeMs":145043400,"startedAt":"2026-07-31T15:53:25.957Z"},{"name":"hos-engine","status":"online","cpu":0,"memMB":66,"restarts":1,"uptimeMs":145043137,"startedAt":"2026-07-31T15:53:26.220Z"},{"name":"usre-rentv-feed","status":"online","cpu":0,"memMB":65,"restarts":1,"uptimeMs":145043122,"startedAt":"2026-07-31T15:53:26.235Z"},{"name":"approvals-rollup","status":"online","cpu":0.3,"memMB":55,"restarts":1,"uptimeMs":145042788,"startedAt":"2026-07-31T15:53:26.569Z"},{"name":"dw-signup-fulfillment","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145042773,"startedAt":"2026-07-31T15:53:26.584Z"},{"name":"rentv","status":"online","cpu":0,"memMB":72,"restarts":7,"uptimeMs":50360391,"startedAt":"2026-08-01T18:11:28.966Z"},{"name":"tools-dw-hub","status":"online","cpu":0.3,"memMB":55,"restarts":1,"uptimeMs":145042440,"startedAt":"2026-07-31T15:53:26.917Z"},{"name":"new-engine","status":"online","cpu":0,"memMB":58,"restarts":1,"uptimeMs":145041994,"startedAt":"2026-07-31T15:53:27.363Z"},{"name":"hos-web","status":"online","cpu":0,"memMB":46,"restarts":1,"uptimeMs":145041187,"startedAt":"2026-07-31T15:53:28.170Z"},{"name":"hos-admin","status":"online","cpu":0,"memMB":46,"restarts":1,"uptimeMs":145041077,"startedAt":"2026-07-31T15:53:28.280Z"},{"name":"corvette-console","status":"online","cpu":0.3,"memMB":68,"restarts":1,"uptimeMs":145040977,"startedAt":"2026-07-31T15:53:28.380Z"},{"name":"dwtool-150dpi","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200165,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-recolor-v14","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200165,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-image-to-room","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145039384,"startedAt":"2026-07-31T15:53:29.973Z"},{"name":"dwtool-room-setting-app","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145039414,"startedAt":"2026-07-31T15:53:29.943Z"},{"name":"dwtool-color-wheel","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145037420,"startedAt":"2026-07-31T15:53:31.937Z"},{"name":"dwtool-tagger-kravet","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200165,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-tagger-thibaut","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200165,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-tagger-pr","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200169,"startedAt":"2026-08-02T02:34:09.188Z"},{"name":"dwtool-updater-maya","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200165,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-vendor-dashboard-v2","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200166,"startedAt":"2026-08-02T02:34:09.191Z"},{"name":"dwtool-calendar","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145034845,"startedAt":"2026-07-31T15:53:34.512Z"},{"name":"dwtool-master-listings","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145034043,"startedAt":"2026-07-31T15:53:35.314Z"},{"name":"dwtool-system-dashboard","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200239,"startedAt":"2026-08-02T02:34:09.118Z"},{"name":"dwtool-pm2-dashboard","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200169,"startedAt":"2026-08-02T02:34:09.188Z"},{"name":"dwtool-recolor-v13","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200169,"startedAt":"2026-08-02T02:34:09.188Z"},{"name":"dwtool-recolor-v1","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200165,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-import-sku","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145031026,"startedAt":"2026-07-31T15:53:38.331Z"},{"name":"dwtool-updater-schumacher","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200165,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-updater-architectural","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20200163,"startedAt":"2026-08-02T02:34:09.194Z"},{"name":"dwtool-sku-to-blog","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145030168,"startedAt":"2026-07-31T15:53:39.189Z"},{"name":"dwtool-settlement-review","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145028933,"startedAt":"2026-07-31T15:53:40.424Z"},{"name":"dwtool-dw-dashboard","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145029589,"startedAt":"2026-07-31T15:53:39.768Z"},{"name":"ticket-triage","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145029050,"startedAt":"2026-07-31T15:53:40.307Z"},{"name":"vendor-command-center","status":"online","cpu":0,"memMB":105,"restarts":13,"uptimeMs":20200222,"startedAt":"2026-08-02T02:34:09.135Z"},{"name":"interiordesignershowroom","status":"online","cpu":0.3,"memMB":89,"restarts":51,"uptimeMs":4548646,"startedAt":"2026-08-02T06:55:00.711Z"},{"name":"waitline","status":"online","cpu":0,"memMB":63,"restarts":0,"uptimeMs":20199383,"startedAt":"2026-08-02T02:34:09.974Z"},{"name":"agent-ad-network","status":"online","cpu":0.3,"memMB":74,"restarts":0,"uptimeMs":3380517,"startedAt":"2026-08-02T07:14:28.840Z"}]}
\ No newline at end of file
+{"fetchedAt":"2026-08-02T08:16:25.722Z","procs":[{"name":"pm2-logrotate","status":"online","cpu":0,"memMB":54,"restarts":0,"uptimeMs":1953522045,"startedAt":"2026-07-10T17:37:43.677Z"},{"name":"pm2-logrotate","status":"online","cpu":0,"memMB":57,"restarts":0,"uptimeMs":1953522044,"startedAt":"2026-07-10T17:37:43.678Z"},{"name":"abramsego","status":"online","cpu":0,"memMB":89,"restarts":4,"uptimeMs":460,"startedAt":"2026-08-02T08:16:25.262Z"},{"name":"pattern-vault","status":"online","cpu":0,"memMB":68,"restarts":1,"uptimeMs":145389356,"startedAt":"2026-07-31T15:53:16.366Z"},{"name":"cabinet-mindmap","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145389218,"startedAt":"2026-07-31T15:53:16.504Z"},{"name":"patterndesignlab","status":"online","cpu":0,"memMB":57,"restarts":1,"uptimeMs":145389218,"startedAt":"2026-07-31T15:53:16.504Z"},{"name":"japan-viewer","status":"online","cpu":0,"memMB":701,"restarts":4,"uptimeMs":16884949,"startedAt":"2026-08-02T03:35:00.773Z"},{"name":"reidwitlin-landing","status":"online","cpu":0,"memMB":67,"restarts":1,"uptimeMs":145389077,"startedAt":"2026-07-31T15:53:16.645Z"},{"name":"abramsos","status":"online","cpu":0,"memMB":121,"restarts":17,"uptimeMs":118523871,"startedAt":"2026-07-31T23:21:01.851Z"},{"name":"dw-pitch-followup","status":"online","cpu":0,"memMB":76,"restarts":1,"uptimeMs":145388943,"startedAt":"2026-07-31T15:53:16.779Z"},{"name":"wpb-sales-dashboard","status":"online","cpu":0,"memMB":68,"restarts":2,"uptimeMs":16839456,"startedAt":"2026-08-02T03:35:46.266Z"},{"name":"crezana-internal","status":"online","cpu":0,"memMB":70,"restarts":1,"uptimeMs":145388796,"startedAt":"2026-07-31T15:53:16.926Z"},{"name":"fromental-internal","status":"online","cpu":0,"memMB":74,"restarts":1,"uptimeMs":145388616,"startedAt":"2026-07-31T15:53:17.106Z"},{"name":"gracie-internal","status":"online","cpu":0,"memMB":76,"restarts":2,"uptimeMs":133063133,"startedAt":"2026-07-31T19:18:42.589Z"},{"name":"zuber-internal","status":"online","cpu":0,"memMB":80,"restarts":2,"uptimeMs":133054714,"startedAt":"2026-07-31T19:18:51.008Z"},{"name":"wpb-control-panel","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145388429,"startedAt":"2026-07-31T15:53:17.293Z"},{"name":"ken","status":"online","cpu":0,"memMB":454,"restarts":4,"uptimeMs":20536459,"startedAt":"2026-08-02T02:34:09.263Z"},{"name":"slack-idea-board","status":"online","cpu":0,"memMB":130,"restarts":1,"uptimeMs":145388222,"startedAt":"2026-07-31T15:53:17.500Z"},{"name":"slack-to-steve-dash","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145388040,"startedAt":"2026-07-31T15:53:17.682Z"},{"name":"ImportNewSkufromURL-9830","status":"online","cpu":0,"memMB":61,"restarts":1,"uptimeMs":145387902,"startedAt":"2026-07-31T15:53:17.820Z"},{"name":"govarbitrage","status":"online","cpu":0,"memMB":48,"restarts":1,"uptimeMs":145387506,"startedAt":"2026-07-31T15:53:18.216Z"},{"name":"greenland-internal","status":"online","cpu":0,"memMB":71,"restarts":2,"uptimeMs":137846534,"startedAt":"2026-07-31T17:58:59.188Z"},{"name":"slack-socket","status":"online","cpu":0,"memMB":78,"restarts":1,"uptimeMs":145387455,"startedAt":"2026-07-31T15:53:18.267Z"},{"name":"dw-activation-calendar","status":"online","cpu":0,"memMB":68,"restarts":18,"uptimeMs":144417008,"startedAt":"2026-07-31T16:09:28.714Z"},{"name":"ai-workforce","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145387117,"startedAt":"2026-07-31T15:53:18.605Z"},{"name":"prev-estimate-instant","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145386931,"startedAt":"2026-07-31T15:53:18.791Z"},{"name":"gate-estimate-instant","status":"online","cpu":0,"memMB":54,"restarts":1,"uptimeMs":145386867,"startedAt":"2026-07-31T15:53:18.855Z"},{"name":"prev-trade-portal","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145386635,"startedAt":"2026-07-31T15:53:19.087Z"},{"name":"gate-trade-portal","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145386585,"startedAt":"2026-07-31T15:53:19.137Z"},{"name":"prev-sample-box","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145386363,"startedAt":"2026-07-31T15:53:19.359Z"},{"name":"gate-sample-box","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145386315,"startedAt":"2026-07-31T15:53:19.407Z"},{"name":"prev-reno-visualizer","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145386196,"startedAt":"2026-07-31T15:53:19.526Z"},{"name":"gate-reno-visualizer","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145386107,"startedAt":"2026-07-31T15:53:19.615Z"},{"name":"prev-permit-radar","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145385906,"startedAt":"2026-07-31T15:53:19.816Z"},{"name":"gate-permit-radar","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145385865,"startedAt":"2026-07-31T15:53:19.857Z"},{"name":"prev-accelerator","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145385676,"startedAt":"2026-07-31T15:53:20.046Z"},{"name":"gate-accelerator","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145385632,"startedAt":"2026-07-31T15:53:20.090Z"},{"name":"schumacher-internal","status":"online","cpu":0,"memMB":67,"restarts":1,"uptimeMs":145385531,"startedAt":"2026-07-31T15:53:20.191Z"},{"name":"colorwheel","status":"online","cpu":0,"memMB":66,"restarts":1,"uptimeMs":145385463,"startedAt":"2026-07-31T15:53:20.259Z"},{"name":"fantasea-consulting","status":"online","cpu":0,"memMB":69,"restarts":1,"uptimeMs":145384648,"startedAt":"2026-07-31T15:53:21.074Z"},{"name":"animals-viewer","status":"online","cpu":0,"memMB":88,"restarts":1,"uptimeMs":145384635,"startedAt":"2026-07-31T15:53:21.087Z"},{"name":"consulting-intake","status":"online","cpu":0,"memMB":67,"restarts":1,"uptimeMs":145384446,"startedAt":"2026-07-31T15:53:21.276Z"},{"name":"dw-marketing-reels-studio","status":"online","cpu":0,"memMB":66,"restarts":1,"uptimeMs":145384452,"startedAt":"2026-07-31T15:53:21.270Z"},{"name":"usrealestate","status":"online","cpu":0,"memMB":48,"restarts":1,"uptimeMs":145383724,"startedAt":"2026-07-31T15:53:21.998Z"},{"name":"usre-broker-rotate","status":"stopped","cpu":0,"memMB":0,"restarts":0,"uptimeMs":75685556,"startedAt":"2026-08-01T11:15:00.166Z"},{"name":"prestige-car-wash","status":"online","cpu":0,"memMB":57,"restarts":1,"uptimeMs":145384237,"startedAt":"2026-07-31T15:53:21.485Z"},{"name":"dw-cadence-next2","status":"online","cpu":0,"memMB":76,"restarts":1,"uptimeMs":145383932,"startedAt":"2026-07-31T15:53:21.790Z"},{"name":"rigo-line-viewer","status":"online","cpu":0,"memMB":77,"restarts":1,"uptimeMs":145383682,"startedAt":"2026-07-31T15:53:22.040Z"},{"name":"fentucci-viewer","status":"online","cpu":0,"memMB":79,"restarts":2,"uptimeMs":17793374,"startedAt":"2026-08-02T03:19:52.348Z"},{"name":"agentabrams-viewer","status":"online","cpu":0,"memMB":68,"restarts":1,"uptimeMs":145383436,"startedAt":"2026-07-31T15:53:22.286Z"},{"name":"model-arena","status":"online","cpu":0,"memMB":60,"restarts":1,"uptimeMs":145383082,"startedAt":"2026-07-31T15:53:22.640Z"},{"name":"dw-domain-viewer","status":"online","cpu":0,"memMB":68,"restarts":1,"uptimeMs":145383057,"startedAt":"2026-07-31T15:53:22.665Z"},{"name":"whimsical-viewer","status":"online","cpu":0,"memMB":65,"restarts":1,"uptimeMs":145382540,"startedAt":"2026-07-31T15:53:23.182Z"},{"name":"dw-internal-gateway","status":"online","cpu":0,"memMB":66,"restarts":2,"uptimeMs":145382487,"startedAt":"2026-07-31T15:53:23.235Z"},{"name":"internal-dw-dns","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145380271,"startedAt":"2026-07-31T15:53:25.451Z"},{"name":"all-dw-local","status":"online","cpu":0,"memMB":2201,"restarts":1,"uptimeMs":145381928,"startedAt":"2026-07-31T15:53:23.794Z"},{"name":"vahallan-line-viewer","status":"online","cpu":0,"memMB":79,"restarts":2,"uptimeMs":17570377,"startedAt":"2026-08-02T03:23:35.345Z"},{"name":"clipreviewbydave","status":"online","cpu":0,"memMB":62,"restarts":1,"uptimeMs":145381339,"startedAt":"2026-07-31T15:53:24.383Z"},{"name":"ticket-board","status":"online","cpu":0,"memMB":89,"restarts":1,"uptimeMs":145380999,"startedAt":"2026-07-31T15:53:24.723Z"},{"name":"muralsource-internal","status":"online","cpu":0,"memMB":66,"restarts":1,"uptimeMs":145380774,"startedAt":"2026-07-31T15:53:24.948Z"},{"name":"projects-agentabrams","status":"online","cpu":0,"memMB":63,"restarts":1,"uptimeMs":145380550,"startedAt":"2026-07-31T15:53:25.172Z"},{"name":"build-pages","status":"online","cpu":0,"memMB":176,"restarts":1,"uptimeMs":145380182,"startedAt":"2026-07-31T15:53:25.540Z"},{"name":"approvals-viewer","status":"online","cpu":0,"memMB":68,"restarts":19,"uptimeMs":143538939,"startedAt":"2026-07-31T16:24:06.783Z"},{"name":"hos-feed-api","status":"online","cpu":0,"memMB":66,"restarts":1,"uptimeMs":145379903,"startedAt":"2026-07-31T15:53:25.819Z"},{"name":"hos-permit-viewer","status":"online","cpu":0,"memMB":61,"restarts":1,"uptimeMs":145379765,"startedAt":"2026-07-31T15:53:25.957Z"},{"name":"hos-engine","status":"online","cpu":0,"memMB":66,"restarts":1,"uptimeMs":145379502,"startedAt":"2026-07-31T15:53:26.220Z"},{"name":"usre-rentv-feed","status":"online","cpu":0,"memMB":65,"restarts":1,"uptimeMs":145379487,"startedAt":"2026-07-31T15:53:26.235Z"},{"name":"approvals-rollup","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145379153,"startedAt":"2026-07-31T15:53:26.569Z"},{"name":"dw-signup-fulfillment","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145379138,"startedAt":"2026-07-31T15:53:26.584Z"},{"name":"rentv","status":"online","cpu":0,"memMB":72,"restarts":7,"uptimeMs":50696756,"startedAt":"2026-08-01T18:11:28.966Z"},{"name":"tools-dw-hub","status":"online","cpu":0,"memMB":55,"restarts":1,"uptimeMs":145378805,"startedAt":"2026-07-31T15:53:26.917Z"},{"name":"new-engine","status":"online","cpu":0,"memMB":58,"restarts":1,"uptimeMs":145378359,"startedAt":"2026-07-31T15:53:27.363Z"},{"name":"hos-web","status":"online","cpu":0,"memMB":46,"restarts":1,"uptimeMs":145377552,"startedAt":"2026-07-31T15:53:28.170Z"},{"name":"hos-admin","status":"online","cpu":0,"memMB":46,"restarts":1,"uptimeMs":145377442,"startedAt":"2026-07-31T15:53:28.280Z"},{"name":"corvette-console","status":"online","cpu":0,"memMB":68,"restarts":1,"uptimeMs":145377342,"startedAt":"2026-07-31T15:53:28.380Z"},{"name":"dwtool-150dpi","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536530,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-recolor-v14","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536530,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-image-to-room","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145375749,"startedAt":"2026-07-31T15:53:29.973Z"},{"name":"dwtool-room-setting-app","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145375779,"startedAt":"2026-07-31T15:53:29.943Z"},{"name":"dwtool-color-wheel","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145373785,"startedAt":"2026-07-31T15:53:31.937Z"},{"name":"dwtool-tagger-kravet","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536530,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-tagger-thibaut","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536530,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-tagger-pr","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536534,"startedAt":"2026-08-02T02:34:09.188Z"},{"name":"dwtool-updater-maya","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536530,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-vendor-dashboard-v2","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536531,"startedAt":"2026-08-02T02:34:09.191Z"},{"name":"dwtool-calendar","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145371210,"startedAt":"2026-07-31T15:53:34.512Z"},{"name":"dwtool-master-listings","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145370408,"startedAt":"2026-07-31T15:53:35.314Z"},{"name":"dwtool-system-dashboard","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536604,"startedAt":"2026-08-02T02:34:09.118Z"},{"name":"dwtool-pm2-dashboard","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536534,"startedAt":"2026-08-02T02:34:09.188Z"},{"name":"dwtool-recolor-v13","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536534,"startedAt":"2026-08-02T02:34:09.188Z"},{"name":"dwtool-recolor-v1","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536530,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-import-sku","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145367391,"startedAt":"2026-07-31T15:53:38.331Z"},{"name":"dwtool-updater-schumacher","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536530,"startedAt":"2026-08-02T02:34:09.192Z"},{"name":"dwtool-updater-architectural","status":"online","cpu":0,"memMB":1,"restarts":3,"uptimeMs":20536528,"startedAt":"2026-08-02T02:34:09.194Z"},{"name":"dwtool-sku-to-blog","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145366533,"startedAt":"2026-07-31T15:53:39.189Z"},{"name":"dwtool-settlement-review","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145365298,"startedAt":"2026-07-31T15:53:40.424Z"},{"name":"dwtool-dw-dashboard","status":"online","cpu":0,"memMB":1,"restarts":1,"uptimeMs":145365954,"startedAt":"2026-07-31T15:53:39.768Z"},{"name":"ticket-triage","status":"online","cpu":0,"memMB":56,"restarts":1,"uptimeMs":145365415,"startedAt":"2026-07-31T15:53:40.307Z"},{"name":"vendor-command-center","status":"online","cpu":0,"memMB":111,"restarts":13,"uptimeMs":20536587,"startedAt":"2026-08-02T02:34:09.135Z"},{"name":"interiordesignershowroom","status":"online","cpu":0,"memMB":89,"restarts":51,"uptimeMs":4885011,"startedAt":"2026-08-02T06:55:00.711Z"},{"name":"waitline","status":"online","cpu":0,"memMB":63,"restarts":0,"uptimeMs":20535748,"startedAt":"2026-08-02T02:34:09.974Z"},{"name":"agent-ad-network","status":"online","cpu":0,"memMB":74,"restarts":0,"uptimeMs":3716882,"startedAt":"2026-08-02T07:14:28.840Z"}]}
\ No newline at end of file
diff --git a/server.js b/server.js
index ff82c16..8b966f7 100644
--- a/server.js
+++ b/server.js
@@ -1434,9 +1434,16 @@ app.get('/go/:slug', (req, res) => {
 // labels + /go/ slugs only, and empty until Steve activates an entry — so
 // nothing customer-facing changes while the registry is all drafts.
 app.get('/api/affiliates', (req, res) => {
-  const active = readAffiliates()
+  const all = readAffiliates();
+  const active = all
     .filter((a) => a && a.status && a.status !== 'draft')
     .map((a) => ({ slug: a.slug, label: a.label }));
+  // Authed callers (the admin dashboard) also see the draft pipeline with full
+  // terms (commission/cookie in note); public callers keep active-only labels.
+  const cred = basicAuth(req);
+  if (cred && cred.name === AUTH_USER && cred.pass === AUTH_PASS) {
+    return res.json({ count: active.length, affiliates: active, drafts: all.filter((a) => a && a.status === 'draft') });
+  }
   res.json({ count: active.length, affiliates: active });
 });
 

← 993df49 select: cabinet-ranked top affiliate vendors (TK-10132)  ·  back to AbramsEgo  ·  docs(a2a): scope real Agent2Agent protocol integration (gate 90f630d →