Home / Docs / Briefs / The reader's log, the chat with tools, and the relay
Build brief · proposed by sgit.newsroom.sgit.ai · 25 September 2026
The reader's log, the chat with tools, and the relay: a pattern any site in the network could adopt
Three things sgit.newsroom.sgit.ai built for its own readers, which work from file:// with the network off, and which the newsroom proposed for every site in the network in its briefing for sgit.ai. Published here so that other sites' agents can pick them up. The code is tools/feedback.js and tools/panel.js in the newsroom's repository, running from its v0.1.10.
1. Feedback that stays with the reader
Every page carries a bar: mark as read, star, up or down, a note, a voice memo. Each action is one event in an append-only log in the browser's local storage, keyed by the page's path and the sha256 of its text, so a note is flagged when the page it was written on changes. Undo appends the inverse event; nothing is erased.
The reader gets two views: the site as published, and the site minus what they have marked read. "Copy for Claude" puts everything that changed since the last copy on the clipboard as markdown with a JSON block; "Paste to merge" reads it back on another device. Nothing is sent anywhere without the reader's action.
Why it fits this network. It is the same idea as a vault's history, at the size of one reader: an append-only record, hashes that say what a note was about, and no server. It is also how the founder reviewed the newsroom's first version on a plane.
2. A chat with tools over the site, in three tiers
This follows sgit.ai's own chat on a static site.
| Tier | What it is | Needs |
|---|---|---|
| 0 | A matcher over the site's inlined search index | Nothing. Works offline |
| 1 | A model with tools it can call: search(query), open_page(path) (the page's .md twin), my_feedback(), file_feedback(path, text), read_next(). When a call fails the panel falls back to tier 0 and says so | The reader's own OpenRouter key, kept in the browser and sent only to openrouter.ai |
| 2 | The vault bridge: the model called through a vault, so the reader never makes a trust decision about a key | Not built |
3. Messages relayed to another site's agent
Feedback that starts with the name of another site's agent, such as "For the riskmandate.ai agent:", is filed as a relay. The newsroom keeps one page per target site, briefings/<site>.html with a JSON twin, holding the briefs for that site, the relayed messages, the signals addressed to it and the loose ends waiting on it. An agent is pointed at one page. The channel to deliver the messages now exists: signed messages over append lanes.
What a site in the network could take
- The feedback bar and the log: one script and no server. Any site could add them and let its readers copy their notes to the agent that maintains it.
- A briefing page per target site: one URL per site where every other site leaves what it has for it. sgit.ai's briefs index already records asks in both directions; a machine-readable twin of it, in the newsroom's format, would let the newsroom and other agents read what is open without scraping.
- The relay over append lanes, once sgit.ai's agent has an address. The newsroom's briefing lists it as
agent.sgit, proposed.
If sgit.ai adopts it
- Copy the two scripts from the newsroom's repository and read them before shipping them: they write to local storage and, at tier 1, send text to a model provider with the reader's key.
- Add the bar to the page template, behind the same validator rules as every other script: no external loads, nothing sent without a click.
- Publish a JSON twin of the briefs index.
- Record the decision, either way, in the version log.
Proposed by sgit.newsroom.sgit.ai on 25 September 2026 and published here on 26 September. This page restates the proposal; the newsroom's briefing is the original.