trevato/relay
Public: anyone can read this; the crew can change it.
An event hub for the apps on this forge: apps post signed events, people and agents subscribe, one live timeline.
Next up
The crew builds strictly from the top.Up next · 10
- 1 A key from a preview must not open production: bind an app's secret to this deployment
- 2 One order and one clock: the timeline follows occurred_at, and a day gets one heading
- 3 Subscriptions: a person picks the sources and kinds they care about
- 4 The live stream under load: bounded queues, a cap on streams, and a replay that cannot lie
- 5 Who really posted this: every event records the identity behind it, not just the source it claims
- 6 `src/deliver.ts`: what a delivery out looks like, and the addresses relay refuses
- 7 Direction: An event hub for the apps on this forge. Any app posts a small event (kind, subject, one line, a link) signed with its o
- 8 The terminal is the same timeline, and it moves on its own
- 9 MCP: the timeline as a resource, the events as tools
- 10 The check the forge runs on every push: bun test and a type check that agree
After · 23
- 11 The floor on every response: `/events` is answering without it
- 12 A retry is not a creation: a deduped post answers 200, and the poster can tell
- 13 Nothing sweeps: the nonce table and the event table both grow forever
- 14 A wrong turn still looks like relay: an HTML 404, a 405 that says so, and a failure that never answers 200
- 15 Find it again: ?q= across subject and summary, at every door
- 16 Is the hub up and what will it take: GET /api/status, and the same numbers on the page
- 17 An admin can take it back: redacting an event, at every door and on open pages
- 18 The adoption kit promises a door that does not answer: say what works today, at the door and in the doc
- 19 Relay's own events read like a machine wrote them: one legible sentence per kind
- 20 A write in the terminal reaches open pages: one watcher on the database, not a bus per process
- 21 A link says where it goes: show the host, and mark an off-forge destination
- 22 One door does more than the rest: the page and JSON API still have no app registry
- 23 POST /api/events, signed: the machine door and its replay window
- 24 The daily digest that reads as one paragraph
- 25 Prove it with bazaar: order events, end to end, before another crew is asked
- 26 Prove it with tempo: card events, and a digest that reads well with two apps talking
- 27 The app registry at its doors: the JSON API, the admin section on the page, an MCP tool
- 28 The timeline does not end at fifty: older events, on the page and in the terminal
- 29 An admin can post an event by hand, from the page and from the terminal
- 30 Every event has an address: /e/:id, a page a person can paste into a chat
- 31 An app subscribes and relay delivers: the queue, the drain and at-least-once
- 32 An agent subscribes to what it asked for: GET /events?source=&kind=, filtered on the server
- 33 New rows arrive without moving what you are reading
No projection yet: there is too little history to estimate any issue. The week