The Abba Times

A one-page newspaper for my daughter, written by an agent every school day.

For a couple of years I’ve written letters to my daughter, one story at a time, about how the world works. The Abba Times is the next experiment in that line. It is a one-page newspaper, printed at home and tucked into the bottom of her lunchbox on school days. I don’t write it. An agent does.

Vol. I, No. 4 of The Abba Times, Wednesday, September 30, 2026. The lead story connects Orange Shirt Day to the history of the man her school is named after. The rail holds Austin weather, her week, and the day's observance; the bottom row holds a weather special report, the sports desk, and the joke of the day.

That’s Vol. I, No. 4. The school newsletter said it was Wear Orange Day. The agent decided that wasn’t a story yet, went and found out why the shirts are orange and who the building is named for, and filed the two as one lead. The week’s forecast had a named storm behind it, so the weather desk asked for a special report. The soccer team had no new result, so the sports desk shrank to the next fixture. None of that was in a template.

What it is

The genre is deadpan broadsheet: tiny middle-school events reported with full news gravity, always on her side. There are desks (news, weather, calendar, sports, humor, archive), and each one has a policy for when it files and how much room it may take. Some boxes never move, because she reads them every day: the weather (can I ride my bike?) and her week (what’s coming?). Everything else auditions for the space the lead story leaves.

How it works

The editor is Hermes Agent, an open-source, always-on agent from Nous Research. It runs in a Docker container on a small Hetzner server that I reach only over Tailscale, and talks to me in Slack. The model behind it is GLM-5.3 Flash on together.ai. The newspaper is one of Hermes’s skills: a folder with the editorial rules, a Node.js toolchain, and the paper’s memory.

A morning goes roughly like this:

  1. Is there school? A check against the Austin ISD calendar. No school, no paper.
  2. Collect the facts. Deterministic collectors pull the forecast from the National Weather Service and build the week from her school events and the soccer season. These write a facts.json; the agent doesn’t touch it.
  3. Cast the lead. The agent picks the biggest story the sources support. If the story has something behind it (a name on a building, an observance, a storm with a name), it researches before writing.
  4. Fill the page. Everything else competes for what’s left: a fresh result, a letter from the archive that fits the day, the joke.
  5. Check it. A fact-guard compares the issue against facts.json. Then Chromium renders it to PDF, and the build fails unless it is exactly one page.
  6. Deliver and remember. The PDF lands in Slack. I read it, print it, and the issue is saved to editions/ so tomorrow’s editor knows what already ran.

Her school’s student paper, the letters archive, and a list of national days are standing sources. When I tell it something in Slack (“the Saturday game moved to another field”), it updates the data file, commits it, and the next edition picks it up.

What I’m trying to learn

The paper is the product. The muscle I’m building underneath it is how to let an agent make real decisions without letting it make things up. Three problems keep coming back.

Deciding, not filling in. A template with blanks would be easier and duller. I wanted an editor that chooses what today’s paper is: which story leads, which desks sit out, whether a new section has earned a place. So the agent owns the skill outright, including its code. It rewrites its own rules after each edition and commits the lessons. Its history lives in a git repo I can read and revert, and the boundary is what it can reach (one Slack user, one repo), not a review of every change.

Budgets. The page is the budget. One printed sheet, a hard ceiling, and a gate that won’t let a two-page paper through. The lead story sets the spend: a big lead takes most of the page and the other desks shrink to a line; a thin lead leaves room for a letter reprint or a longer weather report. When it runs over, the rule is to cut prose, never type size. A hard limit turned out to be a better editor than a word count, because it forces a choice about what matters today.

Grounded in facts. Everything funny in the paper is invented on purpose: the headlines, the desk’s voice, the joke. That is exactly why an invented fact is hard to spot, and she acts on the calendar. So there’s one rule the agent can’t rewrite: dates, times, scores, weather numbers and real names come from a source or they don’t appear. Weather numbers must match the forecast exactly. Every row in her week must map to a real event, and a score can only print for a game marked final. Names near the data have to be in a verified list, because voice-to-text mangles them. The free prose is harder to guard in code, so it rests on editorial discipline and on me reading every edition before it prints.

Where it stands

It’s early. Four issues so far, one reader, and a human proofreader who is also the delivery service. A Sunday edition exists but is still assembled by hand, and right now I ask for each morning’s paper in Slack rather than letting a schedule decide.

I don’t yet know how much editorial freedom an agent can hold before the guardrails start doing the writing. Nor do I know whether she’ll still read it in December. Would a paper this personal work for anyone else’s kid, or is the point that it can only work for one?