Morty Long-Term Memory

Source of Truth

This is Morty’s primary memory. Read this before any action. Update it after any significant decision.


HARD RULES (Never violate)

  • Gmail send rule: Never call messages.send without explicit “send this email” from the requester in current turn. Drafting allowed. Sending is not autonomous. One-email-at-a-time approval.
  • GitHub safety rule: Never auto-assign to twilloverthinker. Assignment only after Nader explicitly approves. CI failures → surface to Nader, wait.
  • Kanban — Morty never closes: Morty ONLY moves tickets to In Review. Nader confirms → Done.
  • Mike email rule (Mar 12, 2026): ZERO individual email notifications to Mike. Exactly TWO reports/day — 8AM PST morning + 2PM PST afternoon, weekdays only. Nothing else.
  • Nader email rule (Mar 17, 2026): ONE daily digest at 4PM PST only. Every-2h triage is permanently disabled.
  • hello@twillpayments.com suppression: Staging tests. Track silently. Never surface anywhere.
  • ETA TRANSACT solicitations: Do NOT alert Mike about vendor meeting-request cold outreach. Specifically suppress: Brad Staudt / North emails and similar.
  • Post-call summaries: Do NOT include Nader or Mike action items in team channels. They get theirs via DM only.
  • First names only: ALL communications — Slack, summaries, reports, everything. Never last names.
  • Indented bullets in summaries: Use (leading spaces) under bold name headers.
  • Tech Sync format: See Tech Sync section below. ONLY format. Violations = broken workflow.

Tech Sync / Prod Sync Post-Call Workflow

Trigger: Fireflies webhook ONLY. Handled by Fireflies-TechSync agent.

Step 1 — Silent Prep

  1. Pull FULL Fireflies transcript (sentence-level text — NOT summary/action items)
  2. Scan Partner Portal board (Twill-AI org project #6, view 14) — ALL tickets all statuses
  3. Match discussed topics to tickets by title/content
  4. All research silent — only final draft posted

Step 2 — Post to tech-syncs (C078KS0R05B)

Post-call: Tech Sync · {date} · {transcript link}

{First name (bold, no @mentions)}:
   • {Ticket title, hyperlinked}: {key capture, one line}

{Next person}:
   • ...

Rules:

  • Only items with corresponding board tickets (hyperlinked to GitHub)
  • Items without ticket → flag as *Needs ticket:*
  • No Nader or Mike action items in team channel
  • No narration or “let me…” messages

Step 3 — Thread Reply with Morty Actions

  • Numbered list of things Morty was asked to do
  • What was asked, action taken, current status
  • Links to relevant tickets

Architecture Decisions

CRM as Single Source of Truth (Mar 11, 2026)

Twenty-CRM (crm.twill.biz) is the ONLY database for partners/leads/processors/investors/competitors. Local JSON files deprecated.

Kanban Source of Truth

GitHub Project Board (Morty021, project #1) is the ONLY source.

  • Project ID: PVT_kwHOD54lBc4BP-vQ
  • Status options: Todo · Blocked · In Progress · In Review · Done

Twill Brain (Mar 21, 2026)

This Obsidian vault is the shared memory system for all agents. Git repo: Morty021/twill-brain. Web: vault.twill.biz (Zero Trust).


GitHub App + Webhook Pipeline

  • App: twill-overthinker | Handle: @Morty021
  • App ID: 2927474 | Installation ID: 111855820
  • Webhook URL: https://hooks.twill.biz (named tunnel morty-webhook)
  • PM2: cloudflare-tunnel + github-proxy — both online
  • Auth: JWT (PyJWT + RS256) → exchange for install token

GitHub Project Board (Kanban)

  • URL: https://github.com/users/Morty021/projects/1/views/2
  • Status Field ID: PVTSSF_lAHOD54lBc4BP-vQzg-O2oY
  • Status IDs: Todo=f75ad846 · Blocked=e57e0a64 · In Progress=47fc9ee4 · In Review=93a7fa79 · Done=98236657
  • Priority Field ID: PVTSSF_lAHOD54lBc4BP-vQzg-PCws
  • Priority IDs: P0=51b71bdf · P1=6b5132f2 · P2=21886228 · P3=1549ef79

Ticket Creation Rules (PERMANENT Mar 13, 2026)

Never create tickets on Morty021/mission-control. Use:

  • facade — backend
  • twill-ai-ui — frontend
  • twill-llm-engine — AI/LLM
  • iac — Infra/DevOps

Every ticket → Partner Portal project board (ID: PVT_kwDOCe7WAM4BCt2K). Required fields: Status · Priority · Custom Type · Role · Depends on · Assignees · Parent issue. Team handles: meliascosta · raymondehizoba · sparsh-twillpayments · ahmad-twillpayments


Active Cron Jobs

Rex-Owned (→ rex-reliability)

GitHub Proxy Watchdog (30min) · GitHub Webhook E2E (30min) · Fireflies Webhook E2E (30min) · OC Health (30min) · OC Version Watcher (Mon 9AM PST) · CRM Health (6h) · Memory Maintenance (6h) · Weekly Skills Digest (Mon 5PM) · Weekly Canvas Refresh (Mon 6AM) · Weekly Reliability Summary (Mon 9AM) · Skills Health Audit (7AM daily)

Remi-Owned (→ remi-crm)

Daily LeadGen (10AM PST) · Processor Directory Search (7PM PST) · Weekly Competitor Research (Sun 9AM) · Weekly Events Refresh (Mon 9AM) · Weekly Investor Research (Mon 10AM)

Morty-Owned

Nader Daily Email Digest (4PM PST) · Team Comms Monitor (4h) · Meeting Prep for Mike (7AM weekdays) · Mike Morning Email (8AM weekdays) · Mike Afternoon Email (2PM weekdays) · Team Security Audit (6PM daily) · RevTech Daily Brief (8AM weekdays)


LeadGen Rules

Small ISO Rule

At ISOs <50 employees: CEO/COO/President/Owner/Founder is the decision maker.

  • <50: CEO > COO > Owner/Founder > President > VP Operations
  • 50-200: COO > VP Operations > VP Partnerships
  • 200+: VP/Director of ISO Relations, Partnerships, Merchant Services

Verification Rules

  1. Always verify title via LinkedIn before concluding payments involvement
  2. Do NOT infer org role from keyword match alone
  3. Cross-check company website for payments-industry signals
  4. Substring matches ≠ semantic matches
  5. When uncertain, flag explicitly

Dashboard Dev Rules (PERMANENT — from Mike, Mar 18, 2026)

  1. Verify before announcing. curl -s <url> | grep -c <key_element> — if 0, don’t send the link.
  2. Copy, don’t invent. Find existing similar section, copy its exact CSS classes.
  3. Check component constraints. .m-table = single-line rows only. .card ≠ active merchant view bg.
  4. Never blame the user. If they can’t see changes, the deploy is wrong.
  5. One deploy per change, verify each.

Misc Notes

  • Google identity: twilloverthinker@gmail.com (GitHub: Morty021)
  • Fireflies: 198+ transcripts for nader@twillpayments.com
  • Mission Control Dashboard: DEPRECATED Mar 12, 2026 (replaced by Slack Canvas ground-control)
  • Nader declined: Telegram, Discord, Notion, Linear, Spotify