← back to packet

The running substrate

Different Gear's in-production toolkit, the grant workstreams that harden it, and how the pieces feed each other.
Survey: origin/main @ ae12d9d Date: 2026-04-24 Scope: 605 commits since Apr 15 Client in view: sophia-stel

The Amplify BC application is not funding a build. It's funding the hardening, productization, and knowledge transfer of a toolkit that has been running live through Sophia Stel's 2026 international tour for months. This page shows what's running, where the activity is, and how the grant's four workstreams attach to the substrate.

System map

Data flows left-to-right. Grey boxes are inputs; warm-tinted boxes are the systems under active development; cool-tinted boxes are the audiences they serve.

── INPUTS ── ── SUBSTRATE ── ── SURFACES ── ┌─────────────────┐ ┌──────────────────────────────┐ ┌──────────────────────┐ │ Gmail inbox │ ─────────────────▶ │ tour-watcher [HOT] ─────────▶ │ itinerary.html │ │ (venue, air, │ │ watch.py + Claude CLI │ │ riders.html │ │ hotel, promo) │ │ advance-sync.py │ │ vitamins.html │ └────────┬────────┘ │ artwork-sync.py │ │ merch-inventory │ custom Gmail MCP │ state.json config.yml │ │ cole.html (per-pax) │ ─────────────────────────────▶ └──────────────┬───────────────┘ │ booking-tracker │ Cloudflare └──────────┬───────────┘ ┌────────┴────────┐ Worker │ airline + rail │ ┌──────────────────────────────┐ │ + hotel sites │ ─────────────────▶ │ itinerary-server [HOT] ┌──────────────────────┐ │ 11 carriers │ Playwright-MCP │ worker.js │ │ artist │ │ 5 rail + 4 │ booking agents │ GL-PRESERVE sentinels │ │ touring party │ │ rental/hotel │ │ KV: guestlist + activities │ │ venues │ └────────┬────────┘ └──────────────┬───────────────┘ │ agents + promoters │ └──────────────────────┘ ┌─────────────────┐ ┌──────────────────────────────┐ ┌──────────────────────┐ │ bookings/*.md │ │ sophiastel.net [WARM] ─────────▶ │ public fans │ │ per-confirm │ │ index + tour + shop │ │ press │ │ markdown state │ │ contact + solitaire inline │ │ DSP linkouts │ └─────────────────┘ └──────────────────────────────┘ └──────────────────────┘ ── EVENT-DRIVEN SYSTEMS ── ┌─────────────────────────────┐ ┌──────────────────────────────┐ ┌────────────────────┐ │ airline-claims dossier │ │ Passports.app (macOS) │ │ remote iPhone │ │ 8-doc legal framework │ │ .app wrap → FDA grantable │ │ ttyd + cloudflared│ │ reusable incident template │ │ TCC-workaround pattern │ │ Claude Code → tour│ └─────────────────────────────┘ └──────────────────────────────┘ └────────────────────┘
Legend: hot · primary dev surface warm · active cool · stable / event-driven input · upstream of substrate

Activity heatmap

Feature commits per path on origin/main since 2026-04-01 (session-end auto-commits excluded where possible — raw git counts include them uniformly, so relative order is the signal, not absolutes).

SystemWhat it doesCommits (Apr)
tour-watcherGmail → Claude extraction → itinerary patch
145
itinerary-server/srcWorker: 6 HTML views, guestlist CRUD, activities
93
press/site (sophiastel.net)Public artist site, inline solitaire, OG stack
39
merchMerch-sign boards (London / stock / general)
34
handoffsSession handoffs — session continuity
16
itin-server/publicPoster assets, booking-tracker, supps manifest
14
bookings/Per-confirmation markdown (25+ live bookings)
9
Passports.appmacOS widget, .app-wrapped for TCC
7
incidents/Airline-claims dossier (8-doc legal framework)
6
press/ig-scraperInstagram asset scrape
2
hotels/ · records/Search-state cache · album tracker
1
Reading the heat: tour-watcher + the Worker account for ~55% of feature commits this month. These are the two systems under the heaviest daily load and the two that carry the most incident scar tissue — precisely why they anchor the hardening workstream.

Systems

tour-watcher hot

clients/sophia-stel/touring/scripts/tour-watcher/

Polls Gmail via the custom MCP, passes threads through Claude CLI for structured extraction, patches itinerary.html in place. HTML-escapes all Claude output before embed; sentinel object distinguishes transient API failures from real failures.

Scar tissue: macOS TCC blocked launchd from ~/Desktop/ — a dead cron for 4 days drove the dev-root move.

itinerary-server hot

clients/sophia-stel/touring/scripts/itinerary-server/

Cloudflare Worker serving six views: itinerary, riders, vitamins (data-driven), merch inventory, per-pax (Cole), and the private booking tracker. KV-backed guestlist CRUD and Activities panel. preserve-sync.sh enforces GL-PRESERVE sentinel integrity.

Scar tissue: blind cp wiped the guestlist three times before the sentinel system.

booking agents warm

Playwright-MCP · bookings/*.md

Automates flights, rail, hotels, rentals across 11 airlines, 5 rail carriers, 4 hotel/rental systems. Per-booking markdown state: confirmation, fare class, pax, price, loyalty #. Airline sessions timeout in 10–15 min — codified rule.

Gmail, not the tracker, is authoritative. Southwest Basic (2026) stopped including checked bags — rule captured before it cost a booking.

custom Gmail MCP warm

~/Desktop/DEVELOPMENT/brain/mcp-servers/gmail/

Node.js + @modelcontextprotocol/sdk + googleapis. 8 tools, stdio, persistent refresh tokens. Built in ~45 min to replace Workspace MCP's transient-callback OAuth (failed on plane wifi during tour).

Feeds tour-watcher and every booking verification sweep.

airline-claims dossier cool

2026-world-tour/incidents/2026-04-15-*/

8-doc legal framework for the Berlin baggage incident: chronology, evidence, damages, Montreal / EU261 / CA APPR framework, claim letters (AC + BA), CTA / CAA escalation, supporting-letters inventory, live dashboard.

Templated: any future incident instantiates the same 8-doc structure.

sophiastel.net warm

clients/sophia-stel/press/site/

Public artist site on Cloudflare Workers [assets]. Index / tour / shop / contact + inline solitaire, full favicon + OG stack, 720px mobile breakpoint, 10-col streaming grid desktop / 5-col mobile.

Per-artist template — cloneable for the next two artists on the roster.

Passports.app cool

2026-world-tour/Passports.app/

macOS .app bundle wrapping passport-widget.py. Exists as a bundle specifically so it can be granted Full Disk Access (raw Python can't be added to FDA via System Settings).

The .app-wrap pattern is reusable for every widget that needs TCC grants.

remote iPhone Claude Code cool

ttyd + cloudflared

Terminal-over-HTTP tunnelled via Cloudflare. Matt runs a full Claude Code session from his phone while on tour; the machine stays home.

Operator-continuity infrastructure: the substrate follows the tour, not the desk.

domain-router CLAUDE.md warm

./CLAUDE.md (top-level)

Natural-language → eight-domain router (touring / booking / records / publishing / merch / press / finance / ops). Working rules codified as durable entries: airline timeouts, loyalty attachment, Ryanair URL locality, guestlist preserve-policy, booking-tracker-non-authoritative.

This is the productization substrate itself — every new client inherits the router.

press / ig-scraper cold

clients/sophia-stel/press/ig-scraper/

scrape_ssw.py — Instagram press-asset capture.

Narrow tool; low activity; flagged as candidate for consolidation under the press domain.

merch signs warm

clients/sophia-stel/merch/

Per-city HTML inventory boards (merch-sign.html, merch-sign-london.html, merch-sign-stock.html). Drives on-tour merch settlement conversations.

Merch settlement is the highest-variance revenue line on tour. Board state feeds into the finance layer when it's built out.

per-domain artefacts cold

records/ · publishing/ · finance/ · ops/

Album tracker HTML, signed principal-terms PDFs, invoice directory, template stubs. Currently the thinnest surface — the growth target for W2 productization.

Today: receipts. Tomorrow: the template layer every new client inherits on day one.

How the grant workstreams attach

The four Amplify BC workstreams map directly onto the substrate above. None of them build a new system from scratch; each one hardens, generalizes, or transfers what's already running.

── WORKSTREAM FLOW ── W1 · HARDEN THE SUBSTRATE ├──▶ tour-watcher test harness · retry/backoff · artwork-sync timeout fix ├──▶ itinerary-server guestlist integrity · KV audit · deploy pipeline ├──▶ booking agents UI-drift regression suite · per-carrier contracts ├──▶ Gmail MCP secrets rotation · audit trail · multi-account └──▶ $2K security/data-stewardship line secrets · role-based access · rotation W2 · PRODUCTIZE FOR THREE-ARTIST ROSTER ├──▶ domain-router CLAUDE.md becomes per-artist scaffold ├──▶ sophiastel.net template cloned for artist 2 + 3 ├──▶ ops/ + prompts/ templates fleshed out ← thinnest surface today ├──▶ incident-dossier template → reusable framework └──▶ multi-client data isolation enforced, not just policy W3 · STRATEGIC DECISION TOOLS ├──▶ booking-tracker ↔ Gmail reconciler ├──▶ finance layer on top of booking/settlement data ├──▶ merch-sign boards → settlement reconciliation └──▶ audit roll-up from different-gear → punk-brain ← audit_unwired today W4 · BC INDUSTRY KNOWLEDGE TRANSFER ├──▶ 3–6 community-service sessions · 20+ BC pros ├──▶ curriculum drawn directly from the stack above airline booking automation · tour ingestion · incident dossiers custom MCP servers · Worker-served artist views └──▶ $13K training line

How Different Gear benefits

The substrate is already doing work. The grant lets Matt stop paying for that work in overtime and incident response.

Hardening surface (known gaps)

This is the honest list. Every item feeds at least one workstream.


Sources: handoff series 2026-04-10 → 2026-04-23 · origin/main tree inspection · feature-commit extraction git log origin/main --since=2026-04-01 -- <path>. Companion doc: discovery/2026-04-24-different-gear-toolkit-landscape.md.