Four pages live: /, /agents, /merchants, /about. Positioning locked, compliance pre-flight integrated.
Favicon, OG card, Vercel Analytics, Resend-backed apply forms, /thank-you confirmation. Forms verified delivering to mark@.
Positioning + content signed off 2026-05-27.
Project relocated to Mark's personal Vercel ownership before the domain swap.
ainsworthpayments.com is LIVEShipped 2026-06-06. Domain now points at the new Next.js site; old static page retired. Closed workstream.
Auth (magic-link, AES-256-GCM sessions, 5 roles), Postgres + PII encryption, Tier 1/2/3 intake, dashboard, uploads, admin flow. In production at merchants.ainsworthpayments.com since 2026-05-17.
Full loop verified end-to-end in prod: signup → 9-step canonical wizard → admin generates filled MPA → send-for-signature → embedded Dropbox Sign → webhook finalize → signed PDF auto-links to I.1 checklist. Banks wired: Merrick, Maverick/TSYS, Synovus, PB&T.
ISO residual portal shipped 2026-05-30. Single + bulk entry, month/range/CSV views, edit + list pages, atomic CTEs with diff-aware audit. Dogfooded in prod against ATR + QuickRefund books.
Tracer shipped: extraction → 7 deterministic rules → readiness verdict (GO/HOLD/NO-GO). Docs-ready workflow trigger shipped 2026-06-04 (email Mark+Jeff inline + iMessage to Mark via local launchd poller every 15 min). 57 fixture tests.
Corduro/Priority template family — 497-of-499 fields shared via corduro-base.ts. Full e-sign loop verified in prod 2026-06-03. Iron Peak's path to bank submission once he finishes the wizard.
Schema + entry pivot + agent CSV + colorblind-safe PDF shipped 2026-05-30. Agent statement = net interchange + net fee × split %. Full vertical dogfooded in prod.
"Application intake" status card on admin merchant page. Migration tool moved 4 merchants from legacy → canonical (Iron Peak, Deep Water, Alpha Peptides, test). 2 legacy remaining by design (Enhanced Wellness, Paragon — already transcribed).
Specced but not yet built: external re-upload nudges (draft-and-queue), Utah LLM judgment pass + standards.ts, scheduled time-based sweep, daily digest, bank-match sheet, auto-MPA trigger.
Newly unblocked. Was held on Phase 5 MPA-gen stabilization; that's now in prod. Reuses Dropbox Sign + canonical-schema pattern. Closes agent onboarding + payment loop. Plan at docs/PHASE_6_5_AGENT_AGREEMENTS_PLAN.md.
Fourth bank template — own form (not Corduro family). File on hand; field names are noisy auto-generated. ~1-2 hours of mapping work when prioritized.
Hagen API submission. Aaron's responses cleared the path: own production group as sandbox, IP allowlist, 120 req/min. Smallest IRIS slice — validates the integration stack before push (v1.5b).
Account activated, Postman collection saved, research at Merchant Onboarding/MAVERICK_INTEGRATION_v1.md. Integration not yet built. Replaces the PDF pipeline for Maverick-placed merchants.
Schema reconciliation can't start without a fillable Esquire PDF. Need to chase Esquire for one.
Activated + cutover 2026-06-06. API app approved for production, domain registered (merchants.ainsworthpayments.com), app-level webhook verified ("Hello API Event Received" handshake passed), DROPBOX_SIGN_TEST_MODE=false set in Vercel prod and redeployed. Next send-for-signature creates a real prod signing request (no test-mode banner).
Next residual-automation slice — input automation (currently admin enters by hand). Framework first, then per-bank mapping.
Three numeric IDs still needed (Tab ID, Label IDs, owners catId). All API-discoverable during v1.5a build — Aaron email is fallback only.
Corduro / TRX parsers — highest-leverage Phase 6 next step. Reuses Phase 7's lib/utah/extract.ts primitive.
Persistent project home in Co-Work. Reads PORTAL_CONTEXT_FOR_TICKETING_PROJECT.md. Resolves 9 open questions → produces PLAN.md.
Context dump at Ticketing System/PORTAL_CONTEXT_FOR_TICKETING_PROJECT.md for the Co-Work session to read cold.
Merchant + partner support tickets, role-isolated views, reuses portal's notification + UI primitives.
"Invite a teammate" inline nudge on /dashboard for primary contacts with no collaborators. Retires once they invite anyone.
* 2.tsx / * 2.ts duplicates (visible in every git status since 2026-05-19). Fix once by moving repo off ~/Desktop/. .gitignore now masks most of them.
statements.ts, checklist-def ↔ nudge route. Deferred as a coordinated pass post Phase 7 review.
id_date_issued not collected in UI
Field is in the canonical schema + DB, preserved on edit, but no UI input. Add when a sponsor bank flags it as required.
card_types_not_accepted / refund_policy_description / product_storage_location in PDF fill + admin views must use safe text APIs (not raw HTML). Flagged at every commit.
PARTNER_HANDBOOK_v1.mdAinsworth Payments rootPORTAL_HANDBOOK_v1.mdAinsworth Payments rootTECHNICAL_DOC_v1.mdAinsworth Payments rootdocs/PROJECT_STATE.mdcanonical project statedocs/POSITIONING_STRATEGY.mdaudience + pillarsdocs/AGENT_DASHBOARD_SPEC.mdUX specdocs/BANK_MPA_OPERATIONS.mdrunbook for new banksdocs/RESIDUAL_AUTOMATION_PLAN.mdPhase 8 plandocs/PHASE_7_BUILD_SPEC.mdUtah automationdocs/PHASE_6_5_AGENT_AGREEMENTS_PLAN.mdnext workstreamCANONICAL_APPLICATION_SCHEMA_v2.md7-bank reconciled supersetSTEP_B_PLAN.mdPhase 5 sequenceIRIS_INTEGRATION_v1.5.mdHagen API specMAVERICK_INTEGRATION_v1.mdMaverick API researchESIGN_OPTIONS_v1.mdDropbox Sign decisionPRD_Ainsworth_MerchantPortal_v1.mdv1 PRDDEVILS_ADVOCATE_v1.mdstress-test of v1.0