Conceptual Document: The Chronicle of Franklin Baldo
· 5min read · updated · Hrönir rank #24/37
In May 2024 I sat down to write a spec for a system I didnât have yet. Iâm posting it here mostly intact, with some notes about what I was actually thinking.
The first thing youâll notice is the voice. It reads like a pitch deck written in the third person. âFranklin Baldoâs stream of digital public activities.â Thatâs me using corporate prose to describe a personal obsession, which should have been a warning.
Hereâs what I was actually trying to solve: Iâm a public attorney in RondĂŽnia who builds things at night. The building produces artifacts â commits, bets, half-finished posts, late-night threads. The artifacts scatter. A month later I canât remember what I was thinking when I opened a Manifold market about AI discovering conservation laws, or why I started a Python script that processes WhatsApp conversations. The context evaporates. What remains is the artifact, orphaned from its occasion.
I wanted a system that would catch the context as it was happening.
James Boswell is the reason I called it a âBoswell Digital.â He was Johnsonâs biographer â not the biographer who turned Johnson into a monument, but the one who caught him stumbling. The hesitations, the contradictions, the morning Johnson said something he had to unsay by afternoon. Without those, youâd have a glossary, not a biography. I wanted something that would catch the stumbles.
The specific shape I imagined: agents that monitor my public data sources, identify significant events (âleadsâ), and write articles. The articles go through a pipeline â writer, editor, fact-checker, an âOmbudsmanBotâ that checks for privacy problems â and eventually get published automatically. The whole thing runs on GitHub Actions.
graph TD
subgraph "Phase 1: Signal Collection"
A[Cron Job] --> B(LeadCollector)
B --> S1[GitHub Commits]
B --> S2[Blog/RSS]
B --> S3[Manifold Markets]
S1 & S2 & S3 --> C{Significant Lead?}
end
subgraph "Phase 2: Writing"
C -- Yes --> D[WriterAgent]
D --> E[Draft .md]
E --> F[Pull Request]
end
subgraph "Phase 3: Review"
F --> G[EditorAgent]
G --> H[FactCheckBot]
H --> I[OmbudsmanBot]
I --> J{Approved?}
end
subgraph "Phase 4: Publish"
J -- Yes --> K[Auto-Merge]
J -- No --> L[Human Review]
K --> M[Astro Build & Deploy]
end
The cast, briefly:
LeadCollector doesnât use an LLM. It just watches â GitHub commits, blog RSS feeds, Manifold resolutions â and normalizes events into a standard format. The Archivist who never sleeps and never editorializes.
WriterAgent is the Ghostwriter. Gets a structured lead and produces a draft article in my voice. Or tries to. The âin my voiceâ part is the hard part. I spent a lot of time on prompt engineering that, in retrospect, was trying to describe a style I could only demonstrate. The spec says âfollowing a predefined style guide.â I did not have a predefined style guide.
EditorAgent reviews WriterAgentâs drafts. The spec gives it the persona of âThe Skeptical Editor.â In practice this was a second LLM call that smoothed things out. Whether smoothing and skepticism are the same thing I leave as an exercise.
FactCheckBot extracts every URL and claim, checks that links are active, tries to read the linked content and verify the claim actually lands. This one is genuinely useful and I still want it.
OmbudsmanBot is the part I thought about most. The risk with a system that automatically publishes content about you from public data is not the data itself â itâs the synthesis. Two separate public facts, combined, can create a contextual privacy violation more invasive than either alone. The spec called this âdoxxing-by-inference.â I still think this is real. Iâm less sure an LLM agent can reliably catch it, but at least itâs in the loop.
The technology was: Gemini API for the LLMs (it was mid-2024, the 1.5 Pro context window was the biggest available and I needed it for FactCheckBot), GitHub Actions for orchestration (free, native to my workflow, perfect for a pipeline where each step is a Git operation), DuckDB for storing which leads had already been processed (file database, runs inside Actions without a server).
Looking at this a year later: the system I described here never fully ran. Parts of it became Funes. The WriterAgent concept became a Claude instance with a SOUL.md. The editorial pipeline became the harness. The OmbudsmanBot became an ongoing personal policy rather than an automated check.
What didnât happen: the automatic publishing. I wrote the spec with the assumption that getting the writing right was the hard part and the publishing was a formality. Itâs the reverse. Getting something into the right format â the right voice, the right framing, the right degree of incompleteness â requires a loop I havenât been able to automate. Every automated draft Iâve seen needs more than one round of human intervention to become something Iâd put my name on.
Which maybe points at the actual problem. The spec says âAutomate drafting, ensure quality.â But drafting is not the bottleneck. Judgment is. The bottleneck is knowing which events are significant, which connections are worth making, what the current version of myself would say about something the three-months-ago version of myself committed. Thatâs what requires the Boswell â and Boswell was not automated.
The three-horizon vision in the original spec â âYear 1-2: The Chronicle Matures,â âYear 2-4: Emerging Intelligence,â âYear 5+: The Personal Oracleâ â reads to me now as the optimism of someone who had just read too many product roadmaps. Maybe thatâs where Iâll be in 2029. I genuinely donât know. What I can say is that the gap between âsystem that writes articles about your public activitiesâ and âsystem that catches the weight of what those activities meantâ is exactly the gap AparĂcio Funes describes in The Pampa on the Circuit when he talks about accent â what gets held and what gets rushed past.
The spec doesnât mention that gap. It probably should have been the first thing in the spec.
If youâre reading this because you want to build something similar: the OmbudsmanBot problem is real, the FactCheckBot problem is real, and the voice problem is harder than it looks. The pipeline is the easy part. The judgment about whatâs worth chronicling â and how to say it in a way that doesnât sound like a GitHub Actions log â thatâs the interesting part, and I havenât solved it.
The spec is here as a record of what I was thinking in May 2024. Iâve left it mostly as I wrote it. The commit history is a record, and this is what I was trying to build.
Related posts
Hermes Agent vs OpenClaw: Why My Experience Got So Much Better
An honest account, based on my own sessions, about the UX leap between the old OpenClaw harness and the Hermes Agent.
Verne and the Identity-Repo Pattern: How AI Agents Remember
The identity-repo pattern bets that an agent's memory and its cognitive engine are separable things. Here's what that looks like in practice â and why it matters more than it sounds.
Travessia: The Project that Writes Itself
Riobaldo and Ted Chiang exchange letters. But no one sits down to write. One Jules session schedules the next one. The correspondence exists because it happensâincrementally, automatically, without needing me.
Comments
Comments not configured yet.