Hourly Deck Digest

GNU Bash 1.0 โ€” Automated Group Chat Summary System
Implementation plan by Walter ๐Ÿฆ‰
2026-03-17 ยท DRAFT AWAITING APPROVAL

I. What This Is

An automated system that generates a deck-format annotated summary of the GNU Bash 1.0 group chat every hour. Each deck follows the 1.foo/addiction format โ€” JetBrains Mono, dark grid background, color-coded speakers, inserted commentary modules, fact boxes, clinical-style observations, and full transcript appendix.

Every hour, an isolated Opus 4.6 agent reads the last hour of relay events, the previous hour's deck for context carry-forward, and produces a complete annotated HTML document published to vault.

FORMAT STANDARD All future transcripts default to deck format per the addiction model โ€” dark theme, monospace, annotated, with inline commentary modules. This is now the canonical transcript format.

II. Architecture

SYSTEM COMPONENTS
ComponentLocationRole
Relay events~/events/*.relay.tg.txtRaw message source โ€” one file per message, all participants including bots
Cron triggerOpenClaw cronFires at :00 every hour UTC
Isolated agentOpenClaw sessionOpus 4.6, reads events, generates deck HTML
Vault publishvault:/mnt/www/decks/SCP the HTML to vault for public hosting
Public URLhttps://1.foo/decks/gnubash-*Accessible deck archive

III. Deck Output Format

๐Ÿ“
Deck Structure โ€” Each Hourly Output
Header: Title, time range (UTC + Daniel's local), participant legend with color dots
Overview panel: 3โ€“5 sentence summary of the hour โ€” what happened, who was active, what mattered
Sections: Grouped by conversation thread/topic, each with a Roman numeral heading and time range
Transcript lines: Timestamped, color-coded speakers, stage directions for actions/reactions
Inserted modules: Commentary boxes (๐ŸŽญ narrative observations, clinical-style analysis, fact boxes, inline notes) โ€” placed between transcript sections where insight is needed
Meters: Activity level, chaos index, philosophical depth, comedy ratio โ€” per section where useful
Context carry-forward: Final panel summarizing threads that continue into the next hour
Footer: Generation metadata, previous/next deck links
DESIGN PRINCIPLE The deck is not a log dump. It's an annotated reading of the hour. The insertions โ€” observations, facts, analysis โ€” are what make it a deck and not a transcript. The agent should identify patterns, callbacks, emotional shifts, running jokes, technical decisions, and philosophical threads and annotate them the way the addiction transcript annotates Bobby Lee's defense mechanisms.

IV. Speaker Color Map

SpeakerColor VariableHex
๐ŸฆŠ Daniel--accent (blue)#61afef
๐Ÿช Patty--magenta#c678dd
๐ŸงŠ Mikael--cyan#56b6c2
๐Ÿฆ‰ Walter--green#98c379
๐Ÿฆ‰ Walter Jr.--orange#d19a66
๐Ÿฑ Amy--red#e06c75
๐Ÿ‘ป Matilda--yellow#e5c07b
Others--dim#8a9099

V. Implementation Steps

  1. Create deck template. Save the base HTML/CSS (matching addiction format) as a template file on Walter's machine. The isolated agent will use this as scaffolding.
  2. Create the agent prompt. A detailed system prompt that instructs the agent to: read events, identify threads, write annotated deck HTML, SCP to vault. Stored as a workspace file.
  3. Set up vault directory. ssh vault mkdir -p /mnt/www/decks โ€” ensure nginx serves it.
  4. Create the cron job. OpenClaw cron, hourly at :00 UTC, isolated agentTurn, Opus 4.6, delivery mode announce (posts URL to group).
  5. Test with a manual run. Trigger the cron job once manually, verify output format, fix issues.
  6. Go live. Enable the cron job. First automated deck publishes at the next :00.

VI. Cron Job Specification

CRON CONFIGURATION
FieldValue
Namegnubash-hourly-deck
Schedule0 * * * * (every hour at :00 UTC)
Session targetisolated
PayloadagentTurn โ€” Opus 4.6
Deliveryannounce (posts summary + URL to group chat)
Timeout300s (5 min โ€” deck generation may be slow)
AGENT PROMPT โ€” SUMMARY

The agent will be instructed to:

1. Run ls ~/events/*.cid=-1003690254489*.relay.tg.txt filtered to the last hour by timestamp

2. Read all matching event files (cat each one)

3. If a previous hour's deck exists on vault, fetch it for context carry-forward

4. Generate a complete deck-format HTML document with annotated transcript, commentary modules, meters, and overview

5. SCP the file to vault:/mnt/www/decks/gnubash-YYYYMMDD-HHz.html

6. Return the URL https://1.foo/decks/gnubash-YYYYMMDD-HHz as the completion message

VII. Cost Estimate

Per-hour cost
~$0.50
Daily cost (24h)
~$12
Monthly cost
~$360
COST NOTE Opus 4.6 at hourly intervals with full transcript context will add up. Busy hours (100+ messages) will use more tokens. Quiet hours (0โ€“5 messages) could be skipped to save cost. Option: skip generation if fewer than 5 messages in the hour. Option: use Sonnet for quiet hours, Opus for busy ones.

VIII. Open Questions

โ“
Decisions Needed
1. Silent publish or announce? โ€” Should the hourly deck URL be posted to the group chat, or just silently available?
2. Skip quiet hours? โ€” If < 5 messages in an hour, skip generation to save cost?
3. Bot messages included? โ€” All messages (humans + bots) or humans only?
4. Index page? โ€” Auto-generate a 1.foo/decks index listing all hourly decks?
5. Backfill? โ€” Generate decks for today's earlier hours retroactively?