Correct A-27: the tool runner keeps its followers and writes its findings through a held writer
This commit is contained in:
@@ -103,12 +103,15 @@ names the principle that settles it, and is cited as "design 47 G A-n".
|
||||
- **A-26** (§687, §689, A-22; principle 7) A part raises no follower's finding itself: every follower is adopted through
|
||||
its reader (`Adopt`), and the reader raises and clears the follower's four findings through the module's writer, so
|
||||
the pipeline runner, the indexer and the assigner build none of their own.
|
||||
- **A-27** (A-26, A-16; principle 7) The tool runner's first views follow A-26 too: `firstview` builds a
|
||||
`views.ProcessReader` over the runner's bus connection and adopts its followers, so the reader raises their findings;
|
||||
the runner's `bus.Conn` gains one accessor for its JetStream, its one place (A-16).
|
||||
- **A-27** (A-16, A-28, A-29; principle 7; corrected) The tool runner is no process module, so it keeps its own
|
||||
consumer and its four followers as they are and builds no `views.ProcessReader`. It writes the findings it wrote
|
||||
before (`first-view-unanswered` and the others of its old code, the same kinds) through one `views.HeldWriter` over
|
||||
its own connection: a small state adapter over the connection's state calls, `Publish` and `Listen` from the
|
||||
connection, in its one place (A-16); it writes and clears each follower's finding as that follower's status says, as
|
||||
A-28 has for a single ask. Its JetStream comes from the connection as `bindings.go` already makes it.
|
||||
- **A-28** (A-26, A-22, §687; principle 7) A part's own follower (mesh-config, mesh-vault) is followed through a
|
||||
`views.Reader` holding the module's writer and adopted, as A-26. A single ask that is no follower (mesh-build-go's
|
||||
manifest ask, the tool runner's ask) writes and clears its `first-view-unanswered` finding itself through
|
||||
manifest ask) writes and clears its `first-view-unanswered` finding itself through
|
||||
`Writer.Write` and `Writer.Clear` with the contract's `Finding`; mesh-sdk exports no helper for it.
|
||||
- **A-29** (§686, A-3; principle 7, shared code lives in mesh-sdk) A part whose findings are raised as they happen, not
|
||||
judged afresh, uses one mesh-sdk form of the writer that observes from its own state: it seeds what it holds from the
|
||||
|
||||
Reference in New Issue
Block a user