Where We Are — The Big Picture
402 tests green (unit/integration + HTTP E2E + real-browser Playwright). The app is live on Render, and the agent-buildable engineering is DONE: signup/consent/dashboard/exports/JIRA MVP, real geocoder, persistent rate limiting, JIRA queue replay, email notification code, backup tooling — plus the ADR-001 layer: Access JWT verification, JSON admin API + CORS, admin audit trail, noindex headers, and the pages-admin/ dashboard bundle that deploys the moment Cloudflare is ready.
Kickoff email sent 2026-08-17 — Anderson is reviewing the launch briefing now. The critical path is Anderson's ~2-hour account session (nameserver cutover + SMTP app password + legal waiver review), then Tyler flips Cloudflare Pages + Access + the custom domains. No more agent engineering is blocking.
Agent engineering done ADR-001 assets shipped Anderson session in progress 3 gaps to close (G2, G3 creds, G4 creds)
The Road to Launch
Build order, left to right. Everything before the human gate is DONE ( -marked); everything after it unblocks the moment the session happens.
Agents build green Needs human input amber Human gate red Post-launch grey
What YOU Need to Do
Six steps, roughly 70–90 minutes total, doable in one sitting. An agent can ride along on a call or screenshare and do the technical parts live — you just provide the logins.
| # | What to do | Where | Time | What it unblocks |
|---|---|---|---|---|
| 1 | Create a read-only API token scoped to bentondrones.com with Zone read + DNS read permissions. | Cloudflare dashboard → My Profile → API Tokens | ~10 min | DNS automation preflight (scripts/check_cloudflare_zone.py) |
| 2 | Screenshot the current nameservers and every DNS record exactly as they exist today. | Namecheap → Domain List → Advanced DNS | ~10 min | Safe DNS cutover with a rollback reference |
| 3 | Confirm the MX / SPF / DKIM / DMARC records, and create an SMTP app password for the notification sender (set as SMTP_USER + SMTP_PASSWORD on Render). | Google Admin console | ~20 min | G3 email notifications go live + preserves email through the DNS cutover |
| 4 | Note the myshopify.com domain and the A/CNAME requirements; draft the landing page with a CTA linking to the signup. | Shopify Admin | ~20 min | Shopify landing page + future App Proxy (G7) |
| 5 | Add leads.bentondrones.com as a custom domain on the Render service. | Render dashboard → service → Settings → Custom Domains | ~10 min | G2 domain cutover + TLS certificate |
| 6 | Fill the <<HUMAN:>> placeholders in docs/backup-recovery-playbook.md (Neon retention + project values) and create a free external uptime monitor (UptimeRobot/BetterStack) pointed at /healthz. | Neon console + monitor signup | ~15 min | G4 backups evidence + alerting |
| 7 | Decide the open legal/business questions (listed below). | Anywhere — just answers | Varies | Final go/no-go |
Open questions to decide (step 6)
- Final waiver legal text sign-off (confirm policy URLs are real; decide whether to bump
WAIVER_VERSION). - Notification sender identity: which
@bentondrones.comfrom-address sends customer confirmations (NOTIFY_FROM/NOTIFY_INTERNAL_TO). - Domain cutover timing: before or after the first real marketing push.
Total human time: ~90 minutes. One sitting. Agents do everything else. (Production database is already Neon Postgres — that decision is made.)
What the AGENTS Will Do
The autonomous build phase is complete — G1, G5, G6, G3(code), and G4(code) all shipped in wiggum loop iterations 11–15 with judge verdicts recorded. What remains for agents is the credential-gated activation during/after your session, then post-launch work.
| ID | What we built / will do | Effort | Status |
|---|---|---|---|
| G1 | Real geocoder: US Census primary + Nominatim fallback, DB cache, backfill script. GEOCODER_MODE=live activates it on Render. | M | DONE — judge PASS |
| G5 | Persistent token-bucket-in-DB rate limiting, shared across processes and restarts. | S | DONE — judge PASS |
| G6 | JIRA queue replay worker: on-read sweep + daemon, exponential backoff, dead-letter, idempotency keys. | S | DONE — judge PASS |
| G3 (code) | smtplib email notifications + DB-backed queue + templates. Agents flip it live the moment SMTP_USER/SMTP_PASSWORD exist. | M | Code DONE live-send waits on credential |
| G4 (code) | DB-aware /healthz, read-only verify_backup.py, recovery playbook. Agents wire the monitor once the account exists. | S | Code+docs DONE evidence waits on console |
| G2 | Domain cutover: Cloudflare DNS + Render custom domain + TLS, executed live during your session with rollback ready. | S | During human session |
| G7 | Shopify App Proxy signature verification against real Shopify requests (post-launch). | S | Post-launch |
| G8 | Internal map UI for leads, clusters, and service zones (post-launch polish). | L | Post-launch |
How We’ll Work Together
- Account logins: Cloudflare, Namecheap, Google Workspace, Shopify, Render.
- Legal sign-off on the final waiver text.
- The final go/no-go call before cutover and launch.
- All code, tests, and documentation.
- Deployment configuration and verification.
- DNS record creation once the Cloudflare token exists.
- Cutover execution during your session, with rollback ready.
The rule: agents never touch production DNS or email, and never deploy to the branded domain, without your explicit go. You hold the keys; we do the typing.
Definition of Done — Launch Checklist
- All 8 production gaps (G1–G8) closed or consciously deferred. (G1, G5, G6 already closed; G3/G4 code-complete awaiting credentials.)
- Test suite still 459+ green across unit/integration and HTTP E2E (471 with browser E2E).
leads.bentondrones.comlive with valid TLS.- First real signup tested end-to-end on the custom domain: signup → consent audit → email notification → admin dashboard → exports → JIRA ticket.
- Anderson trained on the admin workflow.