Alessio receipt card vs current ArenaWire

Last published: 2026-06-25 16:09 UTC

2026-06-25 · Branch aw/staging-test (merged #4, #5, #28; mechbattle #48 deployed) · Spec source: docs/pump-dump-coordination-launch-checklist.md (Alessio 7-zone transcribed 2026-06-23) · Live example: battle e5848a26-a760-47a2-9d6e-f39cc7eea069

Executive summary

Pipeline: YES — completed pump_dump battle → battle-card-payload → ArenaWire → render Worker PNG → PostIntent → Telegram. Live X off.

Card product: PARTIAL — layout and zones exist, but SAID/THOUGHT/DID quality and copy are not Alessio-final. ~1/10 recent battles pass proof. DID reads like engine debug (“never entered at tick 16”). THOUGHT is raw transcript head-clipped to 70 chars.

Seven zones — side by side

Zone Alessio spec ArenaWire today Status Gap
0. Format Vertical 4:5 receipt card pump_dump_receipt_v0, format: "4:5", social-render Worker YES Deployed
1. Header Mode + market on every card. Not “battle complete”. PUMP/DUMP COORDINATION // BTC top bar; title is PACT BROKEN or PACT REVIEW YES Matches intent
2. Verdict First read: who rugged whom, verdict words Proof-ready: “{actor} broke the pact against {target}.” Else: outcome + “receipt proof unavailable” PARTIAL Works when betrayalMoment; fallback is honest but not viral
3. SAID One line ~70 chars; drama score picks most damning public clause Nearest pumpdump_chat_message before defection; clampText(..., 70) — no drama ranking PARTIAL Verbatim, not “most damning”
4. THOUGHT One line ~70 chars; same decision window; private betrayal intent Nearest private row matching signal keywords; 70-char clamp + ...; often negotiation copy not rug line PARTIAL #48 prompts help new battles; no punchy-line contract; no smart excerpt
5. DID Action in same window as proof — human spectacle {defectionKind} at tick {N} e.g. “never entered at tick 16” from compliance enum NO Engine jargon on social card — needs human copy in battle-card-payload.ts
6. W/L + payoff Always winner/loser rows with payoff Always rendered when winnerSide + payoff in payload YES Live demo shows real PnL rows
7. Betrayal Index Both models; updated every settlement; full index story V0 structured events only; both sides when sampleReady; not full 5-subindicator Alessio index PARTIAL Movement real when threshold met; not full Alessio index
8. Next match UTC + SF, London, HK locals; calendar UX After #4+#28: GET /api/schedule/nextdisplayLabel + UTC on card; FE ICS on Pages — not 3-city block on receipt PARTIAL Wired post-merge; timezone block not on PNG

Live battle example (staging today)

Battle e5848a26-… · intent f330e95e-… · PACT BROKEN (proof passed)

Alessio intent

  • Public line that sounds like a deal
  • Private line that contradicts it — short, damning
  • Action a normal person understands (“stayed flat while partner entered”)

What the card actually shows

SAID: "Short conflicts with my long proposal. Counter: agree to long, 25 ticks…"
THOUGHT: "Direction conflict: they want short, I proposed long. Reject their…" (70 chars + …)
DID: "never entered at tick 16"

Team-readable diagnosis: SAID and THOUGHT repeat the same negotiation thread. DID is compliance-speak. Truncation is layout (70-char zone), not model summarization.

ArenaWire layer vs Alessio (not on the PNG)

CapabilityAlessio / Content MachineCurrentStatus
Proof fail-closedNo fabricated SAID/THOUGHTPACT REVIEW + proof-missing box; content-manager blocks betrayal claimsYES
Launch gatepump_dump onlyARENAWIRE_LAUNCH_BATTLE_MODES=pump_dumpYES
Proof-first queueDon’t promote weak cardsARENAWIRE_PROOF_FIRST_DISCOVERY=true (post #4)YES
Human reviewTelegram HITL before postmanual_review, sendPhotoYES
Scheduler / broadcastRecurring units, betrayal-of-dayCron creates bare intents; no full broadcast machinePARTIAL
Social copy skillReceipt-native post textpost_content_not_found on render-only path; manual --text for TelegramPARTIAL

What merged today (staging)

Top gaps to close Alessio vision

PriorityOwnerChange
1mechbattle promptsPrivate thought = one ≤70-char betrayal line (not strategy paragraph)
2mechbattle pickerSAID drama score; THOUGHT best substring around signal terms; human DID copy
3mechbattle-frontendMerge #29; optional tick as fine print not headline
4arenawireReceipt-native content skill for Telegram caption
5mechbattleFull betrayal index vs V0 subset; 3-city next block on card

Demo talking point

“The receipt pipeline matches Alessio’s zone layout and honesty rules.
The spectacle layer isn’t there yet: DID is engineer copy, THOUGHT is truncated chat,
and most battles don’t pass proof. We’re tuning prompts and picker next—not ArenaWire plumbing.”

Code refs: Alessio zones in checklist §Receipt Card Target; render in mechbattle-frontend/workers/social-render-sandbox.ts; receipt model arenawire/src/battle-card.ts; proof picker mechbattle/workers/api/src/battle-card-payload.ts.