novox/hq ADR 0157. The build-machine seat emits started and log.<build id> beside built. Every line the builder speaks — each step, each command with its duration, and on failure the command's own output line by line — goes to stderr as before and onto the bus under the build's id: one subject per build, kept a week in EVENTS. builds --log <id> reads it back from the stream (command line and the controller's seat verb through the console); builds lists each build's id; build says the id it asked with.
Tests: holder grant is exactly started, built, log.* (broker); lines reach a subscriber in order and the stream holds them (link, against a real NATS); the seat verb maps log (controller).
Roll-out: the controller widens the seat protocol at its next start; then push novox so the broker node recomposes the builder's grant; the builder rebuilt from this merge then narrates its next build. Live check after: trigger a build and read mesh-controller.builds {log: <id>} through the console.
novox/hq ADR 0157. The build-machine seat emits `started` and `log.<build id>` beside `built`. Every line the builder speaks — each step, each command with its duration, and on failure the command's own output line by line — goes to stderr as before and onto the bus under the build's id: one subject per build, kept a week in EVENTS. `builds --log <id>` reads it back from the stream (command line and the controller's seat verb through the console); `builds` lists each build's id; `build` says the id it asked with.
Tests: holder grant is exactly `started`, `built`, `log.*` (broker); lines reach a subscriber in order and the stream holds them (link, against a real NATS); the seat verb maps `log` (controller).
**Roll-out:** the controller widens the seat protocol at its next start; then `push novox` so the broker node recomposes the builder's grant; the builder rebuilt from this merge then narrates its next build. Live check after: trigger a build and read `mesh-controller.builds {log: <id>}` through the console.
The build-machine seat emits `started` and `log.<build id>` beside `built`. Every line the builder
speaks — each step, each command with its duration, and on failure the command's own output — goes
to stderr as before and onto the bus under the build's id, one subject per build, kept a week in
EVENTS with every other event. `builds --log <id>` reads it back from the stream with a consumer
that is gone when the reading is done, on the command line and as the controller's seat verb;
`builds` lists each build's id and `build` says the id it asked with.
Lines are core publishes with a sequence number, so a build is not slowed by an ack per line and a
gap is visible; `started` and `built` are awaited into the stream. The seat protocol widens
additively at the controller's next start; the holder's grant follows on the broker node's next
composition.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
novox/hq ADR 0157. The build-machine seat emits
startedandlog.<build id>besidebuilt. Every line the builder speaks — each step, each command with its duration, and on failure the command's own output line by line — goes to stderr as before and onto the bus under the build's id: one subject per build, kept a week in EVENTS.builds --log <id>reads it back from the stream (command line and the controller's seat verb through the console);buildslists each build's id;buildsays the id it asked with.Tests: holder grant is exactly
started,built,log.*(broker); lines reach a subscriber in order and the stream holds them (link, against a real NATS); the seat verb mapslog(controller).Roll-out: the controller widens the seat protocol at its next start; then
push novoxso the broker node recomposes the builder's grant; the builder rebuilt from this merge then narrates its next build. Live check after: trigger a build and readmesh-controller.builds {log: <id>}through the console.