DLV-M2: the checker follows the indexer's candidates, modules, manifests, packages and predefined keys and the assigner's placement by first views
ADR 0615 §1 and ADR 0596: the checker invokes the six read tools, consumes their views families and reads none of the six buckets; this ends its direct read of the packages state (the lead's ruling 2). It keeps first-views and findings and announces both as its own. The lead's ruling: an owner that is down never holds the start; the checks, the tries and the hand asks start once every first view is answered, the placement is followed into the toolchain gate once its first view is. firstview.Reader opens a followed state's picture as a process.BucketOpener (the builder uses it too). Tools checker_first_views and checker_first_view_again. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
@@ -178,7 +178,7 @@ func run(ctx context.Context, getenv func(string) string, logOut io.Writer) erro
|
||||
return
|
||||
case <-placement.Follower().Ready():
|
||||
}
|
||||
pe, err := buildrun.FollowPlacement(ctx, pictures{placement}, gate, b.NodesChanged, logger.Printf)
|
||||
pe, err := buildrun.FollowPlacement(ctx, reader, gate, b.NodesChanged, logger.Printf)
|
||||
if err != nil {
|
||||
placementErrs <- err
|
||||
return
|
||||
@@ -270,16 +270,6 @@ const (
|
||||
candidatesState = "candidates"
|
||||
)
|
||||
|
||||
// pictures opens the placement's picture where the gate's follower opens its bucket.
|
||||
type pictures struct{ placement *firstview.Picture }
|
||||
|
||||
func (p pictures) KeyValue(ctx context.Context, bucket string) (jetstream.KeyValue, error) {
|
||||
if bucket != p.placement.Bucket() {
|
||||
return nil, fmt.Errorf("the builder reads %s by its owner's first view alone", bucket)
|
||||
}
|
||||
return p.placement, nil
|
||||
}
|
||||
|
||||
// buildFromModules builds from the indexer's modules and candidates once the first views of the modules, the manifests and
|
||||
// the candidates are answered (never at the start: an indexer that is down holds no other part of it), and follows them.
|
||||
func buildFromModules(ctx context.Context, b *build.Builder, modules, manifests, candidates *firstview.Picture) error {
|
||||
|
||||
Reference in New Issue
Block a user