Everything outstanding on Redpoint Engine as of 18 July, verified against the live DB and GitHub. Ordered by impact. You = only you can do it · Say the word = tell Claude and it happens.
Closes the Phase-8 gate formally and makes the partner demo real. In your terminal:
cd ~/Developer/redpoint-engine export PATH="/usr/local/bin:$PATH" node scripts/mint-api-key.mjs 00000000-0000-0000-0000-0000000ec001 "Expocut server key"
rpk_… token from the box on screen — shown once, never recoverable. It's the partner's secret.INSERT (safe — hash only) → run it in the SQL editor.The hobbyist recruitment page can't recruit until these are real. Replace the two URLs, then paste:
update public.tenants set marketing_config =
jsonb_set(jsonb_set(marketing_config,
'{editor_landing,survey_url}', '"https://YOUR-SURVEY-URL"'),
'{editor_landing,discord_url}', '"https://discord.gg/YOUR-INVITE"')
where slug = 'wakecut';
The professional-recruitment page 404s until its content deck exists. The ready-made paste (with placeholder copy) is in PR #62's description — run it, then replace the two placeholders with your real numbers: the payout {X}% and the reply-timeline {N} days.
Until this is set, a partner's returnUrl is silently ignored. Replace with their real front origin(s):
update public.tenants set billing_config =
jsonb_set(billing_config, '{allowed_return_origins}',
'["https://partner-front.example"]')
where slug = 'expocut';
They transited chat once. In the Resend dashboard: create a new key → update RESEND_API_KEY in Vercel env (+ .env.local) → delete the old keys → redeploy.
Everything's built and dormant. Enabling means: standings computed, the ops roster fills, actions queue for your confirmation (nothing automatic). Say "enable supervision on wakecut" and Claude hands you this paste (defaults shown — every number tunable later):
update public.tenants set dispatch_config =
jsonb_set(coalesce(dispatch_config,'{}'), '{supervision}', '{
"enabled": true, "auto_actions": false,
"min_sample_size": 5,
"score_window": {"kind":"recent_jobs","n":20},
"weights": {"client_rating":0.4,"qc_pass":0.3,"on_time":0.2,"revision":0.1},
"ladder": {"warn":{"below_score":0.70},
"throttle":{"below_score":0.55,"cap_to":1,"deprioritise":true},
"suspend":{"below_score":0.40}},
"reinstate": {"mode":"manual","auto_above_score":0.65},
"guards": {"max_auto_suspends_per_day":2}
}'::jsonb)
where slug = 'wakecut';
Two stances to ratify with it (recorded in PR #76): v1 scores on lifetime quality counters, and client-rating count is the gate before any action. Both are safe while auto-actions stay off.
EUR buyers currently don't see the £10 add-on. Give a number (e.g. €12) and it's one line:
update public.package_extras set price_eur = 1200 where key = 'specify_editor' and tenant_id = '00000000-0000-0000-0000-000000000001';
A scoping doc is being written now: the precise "what Stripe does natively vs. what the engine owns" answer, three options, and your decisions checklist (market prices, per-order vs per-tenant currency, the US sales-tax stance for your accountant). Lands as a PR shortly.
All code blockers are closed. To arm Option A (partner paid per job): decide the split semantics (who absorbs the Stripe fee) + each partner's platform_fee_bps, confirm VAT with your accountant, then onboard a partner to Connect and flip the two gates. To build Option B (white-label + monthly fee): answer D1–D10 in the build plan.
Interactive checklist: UAT hub (Pass/Fail + notes + export).
129 stale agent worktrees + a few superseded local branches are deletable; Claude can sweep them safely (merged-branch worktrees only). Also whenever ready: Stripe live-mode activation, GA4 setting.