The premise here is that a single repository can contain multiple "projects" that should be tested separately. This separation is accomplished by taking a selection of the PACKAGE_LABEL label.
This is fed into package_adaptor, because we want to have results for different projects in different places. (They can later be aggregated. That is a piece of functionality not relevant to this rambling monologue.)

The first two functions in the screenshot are somewhat instructive for how this is all meant to be used. There are two kinds of class that expose a "value" property ("Parametric" and "MappedSelection"), and both are usable by the "adaptive" decorator. The point of the "value" property is to, in a hopefully controlled way, subvert the type system. To Mypy*, it presents itself as a value of the type that the class is parametrized over; at runtime, it is a wrapper that is read by the decorator in order to construct a new parametric value.

*This code base can't work with other type checkers.

Re: "This code base can't work with other type checkers." feel free to suggest alternatives for coverage's sake or smth, but know that this code base would require a PR upstream to have a chance of working under Pyright.

Anyway.

I need to step back and think for a little, because this all isn't resolving into a coherent concept or metaphor yet.

Okay, let's try to fix the threading, because someone, not naming names, probably me, messed stuff up. This thread was supposed to be a reply to https://im-in.space/@mwchase/111240707488068330
Max Woerner Chase (@[email protected])

Moving back to the class, one of the key aspects of it is that it presents *two* Parametrics, one which simply exposes the current value of the selection label, and one which converts that value into something usable as a relative path (It does not verify that it gets a relative path, at least not that I recall.) (It probably should.) The utility of this is to associate a value that will have some effect on the commands generated, with a relative path that is (hopefully, etc etc) unique to that value, so that distinct commands place their output artifacts in distinct locations on the filesystem. Let's keep that in mind while switching back to the usage...

I'm in Space