Issue 176 resolved: a build is taken in where its outcome is heard; the build tool answers with the id
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
---
|
||||
status: located
|
||||
status: resolved
|
||||
opened: 2026-10-01
|
||||
located-in: [mesh-controller cmd/mesh-controller/seatverbs.go (argvFor, "build": `--wait 0`, no `--self`), mesh-controller cmd/mesh-controller/main.go (builds.Built records a build and registers nothing)]
|
||||
fixed-by:
|
||||
amended-design:
|
||||
fixed-by: mesh-controller PR 179 (one take-in for a build's outcome, called by the waiting command and by the daemon; `--wait 0` asks and returns the id; the seat verb says `--self` for a forge path); ADR 0157 (mesh-controller PR 178) gave the tool something to hear
|
||||
amended-design: 03-DESIGN/01-to-be/18-building-a-module.md
|
||||
---
|
||||
|
||||
# 176 — The console's `build` tool neither waits nor registers, and does not take a forge path
|
||||
@@ -52,3 +52,23 @@ repository given without a scheme is a path on the git seat, and the verb says s
|
||||
- Should a tool call be able to wait at all? A builder answers in minutes; the console's transport
|
||||
holds a call for a bounded time. If not, the tool needs a way to follow one build — which is the
|
||||
builder's missing progress (no tools, no events) named in the console's review of 2026-10-01.
|
||||
|
||||
## Resolved, 2026-10-01
|
||||
|
||||
Registration moved to where the outcome is heard. One function takes a build's outcome in — records
|
||||
the build, parses the manifest, refuses a definition that names an installation, registers the module
|
||||
with its source as the seat and path the request carried and the outcome echoes — and both the
|
||||
command that waited and the daemon that follows the role's `built` event call it. So a build asked
|
||||
for by anything that could not wait reaches the catalogue the same as one asked for by hand, and the
|
||||
same outcome heard twice writes one row twice with the same values.
|
||||
|
||||
The tool keeps not waiting, and says so: `build --wait 0` publishes the work and answers with the
|
||||
build's id, and `builds --log <id>` follows the build line by line ([ADR 0157](../../02-DECISIONS/0157-a-build-says-what-it-does-on-the-bus-as-it-happens.md)),
|
||||
which is what a tool call over the bus can do in the seconds it has. A repository given without a
|
||||
scheme is said to be a path on the git seat, so the forge-path form the tool's description invites
|
||||
now works.
|
||||
|
||||
The open question is answered by the shape: a tool call does not wait; it asks, gets the id, and
|
||||
follows. *How it is checked:* the shared take-in against a raised store — registered with the seat
|
||||
source, a definition naming an installation recorded and refused, a failure said in the builder's
|
||||
words — and the tool's mapping of a forge path against a URL.
|
||||
|
||||
Reference in New Issue
Block a user