LaneType๏
Use md.LaneType from the public package namespace.
- class LaneType(*values)[source]๏
Policy vocabulary for one research lane (salvaged May classification).
- Registration:
VALUE VOCABULARY. Users pass this in directly (research_create_lane(lane_type=...)), so it is a value, not an injectable object.
- Subsystem Context:
The policy half of the lane vocabulary, beside LaneState (the lifecycle half). Deliberately decoupled from lane NAMES: names stay freeform for humans, the type is the word policy reads.
- System Context:
Note how little this gates. The type never restricts registration or reads - its ONLY hook is the join gate, and only when the set's lane_type_enforcement posture is on (off by default). That restraint is the point: this is a research tool, so classification exists to inform an agent rather than to block it, and even the one gate it does have yields to the same force=True supersede the divergence law uses.
Contract:
The type is the POLICY word; lane names stay freeform.
Vocabulary: development (the trunk posture; the guaranteed default lane), experiment (the default for freeform lanes - this is a research tool), production (a lane whose tip is runtime-promotion-worthy), test (throwaway validation work).
The type never gates registration or reads; the ONLY policy hook is the join gate, and only while the set's lane-type enforcement posture is on (configuration lane_type_enforcement, default off) - a type-mixing join then requires the same force=True supersede the divergence law already uses.
AGENT_ACCESS: public
- AGENT_PURPOSE:
access: public. Lane classification - development, experiment, production, test. Pass to create_lane(...). Cross-type joins require force=True when configuration lane_type_enforcement is on.