4.2 done: a build is work submitted to a role, on both buses
Both sides behind a seam, one implementation per bus, and the outcome is the role's own event so one publish reaches the asker, the controller and the catalogue. Checked against a running server, including the part the decision rests on: a third party hears the same outcome the asker does.
This commit is contained in:
@@ -517,10 +517,23 @@ it, and the beds that need a mesh living on NATS can finally run.
|
|||||||
happens, and every claim above has a unit test or a check against a running server behind it.
|
happens, and every claim above has a unit test or a check against a running server behind it.
|
||||||
What none of them can stand in for is a mesh raising itself, which is what this bed is — so this
|
What none of them can stand in for is a mesh raising itself, which is what this bed is — so this
|
||||||
is where the code stops and the lab starts
|
is where the code stops and the lab starts
|
||||||
- [ ] 4.2 a build source's change reaches the builder over the bus, and the build that follows is
|
- [x] 4.2 a build source's change reaches the builder over the bus, and the build that follows is
|
||||||
the one the change asked for — **unblocked**:
|
the one the change asked for — **a build is work submitted to a role now**
|
||||||
[issue 127](../../04-ISSUES/127-a-module-event-derives-a-subject-nothing-publishes/00-report.md)
|
([ADR 0121](../../02-DECISIONS/0121-a-seat-carries-the-protocol-of-its-role.md)). Both sides
|
||||||
is resolved, so an emitter and a consumer of the same event now land on the same subject
|
are behind a seam with an implementation per bus, and on the bus being built one publish does
|
||||||
|
what two did: the outcome is the role's own event, so the asker matches it by the id its
|
||||||
|
request carried, the controller records it and the catalogue places it in the graph. A build
|
||||||
|
machine needs a reply queue for nothing and a grant over nobody's inbox.
|
||||||
|
|
||||||
|
Checked against a running server: the round trip; a third party on the role's event hearing
|
||||||
|
the same outcome the asker did, which is what the decision rests on; work leaving the queue
|
||||||
|
once settled, so no second machine repeats it; work submitted with no machine holding the role
|
||||||
|
**waiting rather than failing**, and being done when one arrives; and work a machine handed
|
||||||
|
back coming round again.
|
||||||
|
|
||||||
|
The outcome carries the module name, because only the manifest says what was built and one
|
||||||
|
message now has three readers. A failed build names none: it produced no module version, and
|
||||||
|
the catalogue would otherwise place something that was never made.
|
||||||
- [ ] 4.3 an installation completes over the bus, with the same outcome as the path it replaces —
|
- [ ] 4.3 an installation completes over the bus, with the same outcome as the path it replaces —
|
||||||
**unblocked, same**
|
**unblocked, same**
|
||||||
- [~] 4.4 a person's client — **the account is done**: a person is not a module and holds no
|
- [~] 4.4 a person's client — **the account is done**: a person is not a module and holds no
|
||||||
|
|||||||
Reference in New Issue
Block a user