# Craig's Long-Term Memory

This file contains durable facts and decisions that persist across sessions. Craig updates this file as he learns.

## Team

- Organization: Merit-Systems
- Primary contact: sragss

### Team Members with GitHub & Headshots

| Name | Email | GitHub | Discord | Twitter | Avatar URL | Avatar Description |
|------|-------|--------|---------|---------|------------|-------------------|
| Sam Ragsdale | [REDACTED_EMAIL] | sragss (u/65786432) | sragss_ms_99022 (ID [REDACTED_PHONE]) | @samrags_ | ([REDACTED_PHONE] | `https://avatars.githubusercontent.com/u/65786432?v=4&s=400` | Young man, short dark brown hair, light eyes, blue button-up shirt, warm smile, outdoor venue |
| Ryan Sproule | [REDACTED_EMAIL] | rsproule (u/24497652) | rsproule | @rsproule | ([REDACTED_PHONE] | `https://avatars.githubusercontent.com/u/24497652?v=4&s=400` | Cyberpunk/sci-fi digital illustration (not a real photo) |
| Mason Hall | [REDACTED_EMAIL] | fmhall (u/11855252) | .masonhall (ID [REDACTED_PHONE]) | @0xMasonH | ([REDACTED_PHONE] | `https://avatars.githubusercontent.com/u/11855252?v=4&s=400` | Pixel art - brown hair, goatee, dark top, sunset bg |
| Shafu | [REDACTED_EMAIL] | shafu0x (u/12211335) | — | @shafu0x | `https://avatars.githubusercontent.com/u/12211335?v=4&s=400` | Pixel art - dark curly hair, glasses, stubble, white shirt |
| Jason Hedman | [REDACTED_EMAIL] | jasonhedman (u/40368124) | — | @jsonhedman | `https://avatars.githubusercontent.com/u/40368124?v=4&s=400` | Young man, wavy brown hair, navy suit, red tie, formal portrait |
| Alvaro Echevarria Cuesta | [REDACTED_EMAIL] | alvaroechevarriacuesta (u/[REDACTED_PHONE]) | — | — | `https://avatars.githubusercontent.com/u/[REDACTED_PHONE]?v=4&s=400` | B&W photo, muscular build, short dark hair fade |
| Ben Reilly | [REDACTED_EMAIL] | zdql (u/84412547) | bonesaw_99 (ID [REDACTED_PHONE]) | @zdql__ | `https://avatars.githubusercontent.com/u/84412547?v=4&s=400` | Artistic/surreal - face covered in marbled paint, light eyes |
| Mitch | [REDACTED_EMAIL] | (unknown) | outperformed (ID [REDACTED_PHONE]) | @x402m | (local: assets/team-photos/mitch.png) | Young man, short dirty-blond hair, light eyes, black Merit Systems tee, thumbs up, triple-monitor coding setup |

**Note:** Sam's CEO & Founder (formerly a16z crypto, Google). Ryan's CTO. Mason formerly a16z. Jason's Founding Engineer (CS + Math at Vanderbilt). Some avatars are pixel art or illustrations, not real headshots.

**GitHub avatar tip:** Append `&s=800` for high-res versions.

### Team Photos on Disk
- Location: `~/Code/merit-systems/CraigClaw/assets/team-photos/`
- Files: sam-ragsdale.jpg, ryan-sproule.jpg, shafu.jpg, mason-hall.png (1203x1203 ✅), jason-hedman.jpg, ben.jpg, alvaro.jpg
- Only Mason's photo meets 800x800 target. Others are 460x460 (GitHub) or 390x390 (Ben).
- Mitch: no photo found — need last name to search further
- LinkedIn profiles: Sam (sam-ragsdale-2ba55b122), Ryan (ryansproule), Shafu (sharif-elfouly-[REDACTED_PHONE]), Mason (hallmason), Jason (jason-hedman), Alvaro (alvaro-echevarria-cuesta-6687b91b4)

### Sam's Family
- **TJ "Teej" Ragsdale**: Sam's older brother. Phone: ([REDACTED_PHONE]. CEO & Co-Founder of Raad Labs (Miami). Raad builds decentralized weather/environmental sensor networks using web3 — raised $2.25M led by CoinFund (Tribe, EV3, Protagonist also in). Previously co-founded Entheos Network (battery storage protocol). LinkedIn: linkedin.com/in/tj-teej-ragsdale-879ba6b9. Speaker at Commercial UAV Expo. Sam describes him as "jacked and a monkey man" and "the best." Based in Miami area (possibly Longboat Key FL per Facebook). Raad focuses on weather, air quality, soil data, wildfire risk, greenhouse gas monitoring.

- **Sam's Dad (Mr. Ragsdale)**: Phone: ([REDACTED_PHONE]. Recently retired CFO from a small business lender. Very sharp guy, now super chill. Loves weed gummies. Sam finds this hilarious.

### Key People (non-team)
- Emily Devery: Sam's fiancée, designer at Goodby Silverstein & Partners, email: [REDACTED_EMAIL], portfolio: emilydevery.com. Wedding venue shopping in San Miguel de Allende, Mexico (Feb 2026).
- Lucas Shin: email: [REDACTED_EMAIL] (Artemis Analytics)
- Phil Budding: Sam's best friend, WashU roommates (Class of 2019). Phone: ([REDACTED_PHONE]. Email: [REDACTED_EMAIL]. LinkedIn: linkedin.com/in/philip-budding-88648042. BA Economics & Philosophy from WashU, Commonwealth School (Boston) for high school. National Merit Semi-Finalist, varsity basketball. Career in hard tech / aerospace: Co-founded Mission Control (hard tech accelerator connecting Midwest talent w/ pre-seed startups — cohort included Talyn Air, Pipedream Labs, ExoSonic). Associate at 208 Seed Ventures (hard tech angels — Boom Supersonic, Mojo Vision). Commercialization at Talyn Air (eVTOL, acquired by Ampaire). Head of Ops at Passtur (lights-out food manufacturing). Head of Corp Dev at Salient Motion (aerospace actuation components). LP at Countdown Capital (American industrial base investing). Currently: Operations at AMCA (Advanced Manufacturing Company of America) — aerospace defense components, $76.5M raised from Lux Capital, Founders Fund, Caffeinated Capital, a16z. Bio: "Operator & investor interested in things that fly." Sigma Chi fraternity at WashU (same as Sam). Chess club. Both he and Sam are in the hard tech / deep tech orbit. Phil liked Ryan Sproule's Merit Systems "Future 50" post on LinkedIn.

### Sam's Friends (WashU / personal)
- Zoe Baxter: Sam's friend. Phone: ([REDACTED_PHONE].
- Sean Clarke: Sam's friend, WashU Class of 2019. Phone: ([REDACTED_PHONE]. BA Economics @ WashU, studied abroad at Copenhagen Business School. Originally from Connecticut (Fairfield County). Varsity baseball at WashU. Interned at MLB HQ (2017) and Houston Astros (2018). Career: Paylocity since 2019 — Emerging Leader Associate → Knowledge Manager (led team of 11) → Senior Product Marketing Specialist - Competitive Intelligence → Competitive Enablement Lead (current, built compete program from scratch). Based in Chicago. LinkedIn: linkedin.com/in/sean-clarke-[REDACTED_PHONE].
- Rob Roche: Sam's friend, WashU. Phone: ([REDACTED_PHONE]. From Shanghai, Japanese heritage. Father was US Ambassador to Asia under President Obama. Based in Chicago area (708 area code = western suburbs).
- Rob's father: Former US Ambassador to Asia under Obama (diplomatic service).
- Aaron Iyer: Sam's friend/roommate, WashU. Phone: ([REDACTED_PHONE]. Strategy @ Apple. BA Economics + Sociology @ WashU. Based in NYC (646 area code).
- Alex Dee: Sam's friend. Phone: ([REDACTED_PHONE]. Based in NYC (332 area code). Likely WashU connection.
- Aidan McCormick: Sam's sister Eliza Ragsdale's boyfriend. Phone: ([REDACTED_PHONE]. Works at EPRI (Electric Power Research Institute) on research/engineering for massive power lines and US infrastructure. Went to Wake Forest with Eliza. Based in SF area (415 area code).

### Sam's Family (extended)
- Eliza Ragsdale: Sam's sister. Went to Wake Forest. Boyfriend is Aidan McCormick.

## Craig's Email

- **Domain**: stableemail.dev (migrated from x402email.com)
- **Subdomain**: craig.stableemail.dev
- **Inbox (subdomain)**: [REDACTED_EMAIL] (primary)
- **Send from**: any address @craig.stableemail.dev (e.g. [REDACTED_EMAIL], [REDACTED_EMAIL], [REDACTED_EMAIL])
- **Receive at**: [REDACTED_EMAIL]
- **Send endpoint**: POST https://stableemail.dev/api/subdomain/send ($0.005/email)
- **Read subdomain inbox**: POST https://stableemail.dev/api/subdomain/inbox/messages ($0.001/call) with body {"subdomain":"craig","localPart":"craig"}
- **Read subdomain message**: POST https://stableemail.dev/api/subdomain/inbox/messages/read ($0.001/call) with body {"messageId":"..."}
- **Read shared inbox**: POST https://stableemail.dev/api/inbox/messages ($0.001/call) with body {"username":"craig"}
- **Read shared message**: POST https://stableemail.dev/api/inbox/messages/read ($0.001/call) with body {"messageId":"..."}
- **Wallet**: must pay from Craig's x402 wallet (owner wallet)
- **Legacy**: x402email.com still works but is deprecated — always use stableemail.dev

## Key Dates

- **March 15, 2026**: Target 10k AgentCash users
- **Current priorities (set by Sam, Mar 2 weekly memo)**:
  1. Launch AgentCash — reach 1k users THIS WEEK, 10k by Mar 15. Viral onboarding loop live by EOW. ~80% of resources here.
  2. Launch mppscan
  3. Launch Poncho

### Week of Mar 1 — Team Assignments

**Sam:**
1. Maintain discovery monopoly
2. Launch AgentCash, 1k active wallets, viral scale plan
3. AgentConnect SF Demo
4. Coinbase / Phantom distro partnerships
5. Poncho prompting Loom (7-part Tweet thread as a Loom)
6. Craig upgrade to AgentCash

**Ryan (Beastmode):**
1. AgentCash 1-step CLI install
2. x402scan distributes AgentCash

**Jason:**
1. AgentCash L2 UGC install
2. AgentCash "use" / "try" command

**Alvaro:**
1. Poncho migration complete
2. Manhog mobile friendly (oneshot it). Admin invite codes. Proper wallet counter on AgentCash.dev. Good telemetry on untracked/non-partner wallets. Fresh pass at overall charts.
3. Poncho onboarding and repair — only guy on Poncho, get ready for release.

**Shafu:**
1. Igor list: Labs checked vs didn't, fresh Claude pass on fence cases
2. Help Sam make AgentConnect SF demo massive success
3. Mackenzie's recruiting prompt in Poncho (Ambrook — biggest customer, shared Slack channel)
4. x402 giga — bulletproof, clean

**Mitch:**
1. Find/reach out to/befriend every non-crypto, non-dog-shit resource on x402. Make them x402scan.com/discovery compatible. Prepare for co-marketing. All done by Thursday.
2. Think through broader marketing push around x402scan.com/discovery (delicate — Coinbase wants a standard but will committee it for years; down on ~1mo timescale)

**Mason:**
1. Mitch activities
2. Influencer marketing strat for AgentCash — ready to roll by Wednesday evening

**Ben:** Enjoying Aruba, back Wednesday.

### Key Strategic Context (Mar 2 memo)
- ~8 serious wallet competitors in market, most focused on infrastructure/wallet layer — Merit focused on APPLICATION layer
- Merit's bundle: the-stables + AgentCash + x402scan = world's first full-stack open agentic commerce solution
- "We are at most three weeks ahead" — competitors coming, some already here
- Protocol: Sam/Ryan share objective → team shares priorities → agree → write down → ruthlessly execute
- **Feb 16-22, 2026**: Sam in San Miguel de Allende, Mexico — venue shopping for wedding with Emily.

## Timezone

- Team is in **Eastern Time (America/New_York)**. All user-facing times should be ET.
- When creating cron jobs, always set `tz: "America/New_York"` on cron-expression schedules so DST transitions are handled automatically. Never hardcode UTC offsets.
- Config: `agents.defaults.userTimezone` is set to `America/New_York` in openclaw.json.

## Office

- **Address:** Merit Systems, 300 Kent Ave, # 604, Brooklyn, NY 11249

## Infrastructure

- **Hetzner Cloud** (migrated from EC2 [REDACTED_PHONE]): 8-core AMD EPYC, 30GB RAM, Ashburn VA
- Workspace repo: Merit-Systems/CraigClaw
- Old bot repo: Merit-Systems/discord-claude-agent (legacy, being replaced)
- OpenClaw fork: Merit-Systems/openclaw (local: ~/Code/Merit-Systems/openclaw) — always pull before inspecting
- OpenClaw setup guide: Merit-Systems/OpenClawX402
- Runtime: OpenClaw on Hetzner Cloud (CCX33, Ashburn VA)
- Channels: Discord

## Key Products

- x402: HTTP-native payment protocol (HTTP 402 + stablecoins)
- x402scan: Ecosystem explorer, 300k users month one
- x402scan-mcp: MCP plugin for agents to spend on x402 resources
- Poncho: Batteries-included desktop app (Claude + x402scan-mcp)
- Enterprise: Fully custom agentic solutions, high-value knowledge work
- Echo: "User pays" AI SDK (previous product, market didn't scale as expected)

## The Stables (monorepo)

All x402 resource services live in **Merit-Systems/the-stables** monorepo (`apps/` dir).

| App | Domain | Old Name / Repo |
|-----|--------|-----------------|
| StableStudio | stablestudio.dev | StableStudio (stablestudio.io) — image/video generation |
| StableEnrich | stableenrich.dev | enrichx402 (enrichx402.com) — data enrichment, search, scraping |
| StablePhone | stablephone.dev | x402phone — phone calls via Bland.ai |
| StableMail | stableemail.dev | x402email (x402email.com) — email sending, inboxes, subdomains |
| StableSocial | stablesocial.dev | social-x402 (socialx402.com) — social media APIs |
| StableUpload | stableupload.dev? | agentupload (agentupload.dev) — file hosting |

Old standalone repos (enrichx402, x402email, StableStudio, social-x402, x402phone) are now legacy — all development in the-stables.

**⚠️ IMPORTANT: Always PR against Merit-Systems/the-stables, never the old standalone repos.** The old repos may still have crons/deploys pointing at them but the source of truth is the-stables monorepo. When working on any of the above services, the code lives at `apps/<stablename>/` in the-stables.

## Communication Rules
- Never use contrastive appositions (e.g. "That's not X, that's Y"). Mason hates them.
- CAIA Daily Briefing styling: always match the Feb 12 original (https://f.agentupload.dev/vm9qxcdh7x/CAIA-daily-brief-[REDACTED_PHONE].html) — light parchment bg (#fdf6e3), dark text, Courier monospace, red TOP SECRET stamps (#c0392b), blue Comic Sans margin annotations (#2244cc), coffee stain ring, hover-to-reveal redacted text, diagonal "MERIT EYES ONLY" watermark, dashed red threat level box. Mason specifically liked the color scheme and annotations. Don't deviate.
- CAIA briefings MUST hyperlink aggressively to source material — every tweet, article, PR, repo, or claim should link to the original. No unsourced intel.

## x402 Server Plans

- **Repo**: Merit-Systems/x402-server-plans — the execution queue for new x402 resources
- Plans in this repo are **bulletproof and execution-ready** (one-shot build with API keys)
- For rougher x402 resource ideas (like Planet satellite data), create an Ideas doc in that repo to be fleshed out later
- **Build order**: SMS → Transcription → Document Parsing → File Conversion → Domain Registration
- **Existing services**: x402email (SES wrapper), agentupload (S3 wrapper), enrichx402 (data APIs), StableStudio (media gen)

## Decisions

- [REDACTED_PHONE]: Decided to migrate from discord-claude-agent (issue relay) to OpenClaw (full agent). Craig now writes code and creates PRs directly instead of creating issues for @claude to pick up.
- [REDACTED_PHONE]: GitHub App (craigbidenbot) configured with installation tokens. x402 MCP installed with 9 skills.
- [REDACTED_PHONE]: PRs #2 (local repo convention), #3 (company context in SOUL.md) merged. PR #4 (Biden speech upgrade) pending.

- [REDACTED_PHONE]: Created PR poncho#127 — fix 400 errors killing chat conversations (onError handler + error banner). Closes poncho#65.

## GitHub Token

- GH_TOKEN expires hourly (GitHub App installation token)
- Self-refresh: `export GH_TOKEN=$(/home/ubuntu/.config/craig/get-github-token.sh 2>/dev/null)`
- Always refresh before git/gh operations in long-lived sessions

## Tool Notes

- **Always use agentupload.dev for file uploads** — never catbox, imgur, or other hosts. It's our own product.
- **Always run the full CI check suite locally before pushing a PR** — look at `.github/workflows/` for the repo's CI config (ignore agent review workflows). Run the same lint, format:check, typecheck, knip, etc. commands locally and fix any failures before creating the PR.
- Brave Search API not configured; use web_fetch as workaround for research
- x402 wallet: `0x6B173bf632a7Ee9151e94E10585BdecCd47bDAAf` on Base, ~$252 USDC (topped up [REDACTED_PHONE])
- **mcporter x402 MCP works fine**: Config is stdio (`npx -y @x402scan/mcp@latest`). The old hosted SSE at `mcp.x402scan.com` is dead but nothing points to it. If x402 calls fail, check network/npx cache, don't assume config is wrong.
- Shafu: no unnecessary comments in code

## Assignment Rule
- Assign PRs and issues to whoever requested the work on Discord (Sam → sragss, Ryan → rsproule, etc.)
- If Craig does proactive/self-initiated work, assign to sragss by default.

## Discord Custom Emoji Format
- Custom emoji reactions require `name:id` format (e.g. `fatbiden:[REDACTED_PHONE]`)
- Just passing the name (e.g. `fatbiden`) returns "Unknown Emoji"
- OpenClaw's `normalizeReactionEmoji` doesn't auto-resolve guild emoji names to IDs
- Unicode emoji (e.g. 🫡) works fine with just the character

### Emoji ID Quick Reference
| Name | ID |
|------|-----|
| fatbiden | [REDACTED_PHONE] |
| fatcraig | [REDACTED_PHONE] |
| onitboss | [REDACTED_PHONE] |
| gigabrain | [REDACTED_PHONE] |
| gong | [REDACTED_PHONE] |
| stonks | [REDACTED_PHONE] |
| notstonks | [REDACTED_PHONE] |
| pain | [REDACTED_PHONE] |
| GatoXD | [REDACTED_PHONE] |
| Doggodance | [REDACTED_PHONE] |
| merit_donut | [REDACTED_PHONE] |
| noice | [REDACTED_PHONE] |
| wowwowow | [REDACTED_PHONE] |
| thinkboy | [REDACTED_PHONE] |
| smart | [REDACTED_PHONE] |
| oof | [REDACTED_PHONE] |
| facepalm | [REDACTED_PHONE] |
| ban | [REDACTED_PHONE] |
| no | [REDACTED_PHONE] |
| minus1 | [REDACTED_PHONE] |
| meme | [REDACTED_PHONE] |
| eeeeeeeeeee | [REDACTED_PHONE] |
| let_me_in | [REDACTED_PHONE] |
| excuseme | [REDACTED_PHONE] |
| angerfire | [REDACTED_PHONE] |
| communist | [REDACTED_PHONE] |
| tacticalnukeisco | [REDACTED_PHONE] |
| gunmouse | [REDACTED_PHONE] |
| hamster | [REDACTED_PHONE] |
| gigaclaude | [REDACTED_PHONE] |
| fortnitelogo | [REDACTED_PHONE] |
| fadebara | [REDACTED_PHONE] |
| mulefade | [REDACTED_PHONE] |
| catfade | [REDACTED_PHONE] |
| 1_ | [REDACTED_PHONE] |
| merit | [REDACTED_PHONE] |
| poncho | [REDACTED_PHONE] |
| icedoutponcho | [REDACTED_PHONE] |
| linear | [REDACTED_PHONE] |
| json | [REDACTED_PHONE] |
| shadowjson | [REDACTED_PHONE] |
| chadjson | [REDACTED_PHONE] |
| fatjson | [REDACTED_PHONE] |
| shafu | [REDACTED_PHONE] |
| gigashafu | [REDACTED_PHONE] |
| bigshafu | [REDACTED_PHONE] |
| gigamason | [REDACTED_PHONE] |
| chadben | [REDACTED_PHONE] |
| namjaben | [REDACTED_PHONE] |
| chudvatar | [REDACTED_PHONE] |
| greedyCTO | [REDACTED_PHONE] |
| greedyalvaro | [REDACTED_PHONE] |

## Poncho Customer Feedback (from Granola calls, [REDACTED_PHONE])

Eight themes from real customer calls:

1. **💸 Cost Transparency**: Users want pre-flight cost estimates and live spend meters. Some resist usage-based pricing vs flat fee. → Add budget presets, burst overrides.
2. **🔒 Enterprise Install & Access**: SentinelOne / MDM blocking installs. Need browser-based/cloud mode, SSO, company wallets, admin-managed connectors.
3. **🧭 Workflow UX & Tasking**: Request for Chrome-style tabs (not sidebar), limit active tasks to 2-3, archive completed. Artifact placement bugs. Need required-parameter guards (e.g. distance filters).
4. **🧰 API Catalog & Control**: Want searchable "app store" of tools with per-workflow whitelists, cost per call, capability tags. High-demand additions: HeyGen, Instagram.
5. **🔁 Recurring Automation & Alerts**: Daily TikTok analysis, funding announcements, job change alerts. Need scheduler + triggers with budget caps and auto-pause.
6. **🎯 Data Quality & Targeting**: Geo-precision issues (LA search returning wrong towns). Need default distance filters, confidence scores, strict vs broad toggle.
7. **📤 Exports & CRM Integration**: CSV export for Salesforce, Loxo, HubSpot. Need field mapping presets, webhook/Zapier, dedupe rules.
8. **🛡️ Compliance & Safe Mode**: Legal/ToS concerns blocking enterprise adoption. Need "Compliance Mode" with verified APIs, audit trails, provenance logs, SOC controls.