The builder agrees a language's toolchain from the three build seats' toolchain-reported, kept in its state toolchains-heard (read back at its start), forgets a node's on the node-engine seat's running with no fingerprint (stopped) and never on a placement, says toolchain-agreed with its digests list only when the agreed version changes; builder_toolchains and builder_toolchains_drop; the manifest's reads of the build modules' toolchains are gone. The gate over the assignments is now PlacedNodes, which only counts nodes. Builds: design 47 G §492, §604, §546, §472, §574 Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
14 lines
683 B
Go
14 lines
683 B
Go
package buildrun
|
|
|
|
// The holders' states the runner reads, named from the builder's own manifest (module.json `reads`; a unit row of the
|
|
// builder checks them against it) and from the build seats' states: a bucket is `<holder module>_<state>`, and no contract
|
|
// names a holder (novox/hq ADR 0625 §4, ADR 0634 §1).
|
|
const (
|
|
// AssignmentsBucket is the assigner's state assignments, which the toolchain gate reads for the placing of a build module.
|
|
AssignerModule = "mesh-delivery-assigner"
|
|
AssignmentsBucket = AssignerModule + "_assignments"
|
|
)
|
|
|
|
// StepsBucket is the bucket of a build module's state steps.
|
|
func StepsBucket(module string) string { return module + "_steps" }
|