← back to AbramsEgo
build-queue/done/52-affiliate-draft-and-kits.md
38 lines
# AbramsEgo task 52 — DRAFT registry entries + one-click join kits + activation memo — TK-10132
Depends on task 51's `data/affiliate-selection.json`. If missing/empty, do nothing and exit 0.
Turn the cabinet's selection into ready-to-activate registry entries + a single approval memo.
Read data/affiliates.json first and preserve the existing 6 seed entries — APPEND, never replace.
1. For each `selected` vendor, append an entry to `data/affiliates.json` with:
{ slug, label, url (the vendor's plain product page for now), program, category,
commission, cookie_days, note, added:"<today>", "status":"draft" }
The `note` MUST carry the verified commission + cookie window so it shows on the dashboard.
HARD: every new entry is status:"draft". NEVER write status:"active" — activation is Steve's
switch after he actually joins the program (identity/account step).
2. Write per-vendor ONE-CLICK JOIN KITS to `data/affiliate-join-kits.md` — for each vendor:
- the exact JOIN URL
- the 3-5 steps to join
- EXACTLY where, once approved, Steve pastes his real tracking/affiliate URL back into
data/affiliates.json (the `url` field) and flips `status` to `active` — so the /go/<slug>
redirect then carries his real link.
3. Write ONE consolidated approval memo to
~/.claude/yolo-queue/pending-approval/affiliate-activation-TK-10132.md :
- table of the N proposed vendors (commission, cookie, approval type, join URL)
- the cabinet rationale + the contrarian dissent from task 51
- an officer (vp-abramsego) APPROVE / REVISE / BLOCK block
- explicit note: activating = Steve joins each program + pastes tracking URL + flips active;
no money/identity action was taken autonomously.
RAILS: no signups, no active flips, no ads-engine/AD_NETWORK_PUB_ID changes, no deploy, no push.
4. VERIFY: `pm2 restart abramsego`; for one new slug, `curl -s -o /dev/null -w "%{http_code}"
-u admin:'DW2024!' http://127.0.0.1:9773/go/<slug>` returns 302 and a row appends to
data/affiliate-clicks.jsonl. Confirm GET /api/affiliates lists the new drafts and the
affiliate engine pill is STILL "gated" (0 active). Commit
`feat(affiliate): draft high-commission vendors + join kits; activation gated (TK-10132)`.
Print the new draft count + the pending-approval memo path.