LaneState๏
Use md.LaneState from the public package namespace.
- class LaneState(*values)[source]๏
Lifecycle states for one research lane.
- Registration:
VALUE VOCABULARY. An enum is a value a caller passes and compares, never an object Melder injects, so there is nothing to refuse at bind time.
- Subsystem Context:
The lifecycle half of the lane vocabulary, beside LaneType (the policy half). State says whether a lane still accepts work; type says what kind of work it was for. They are deliberately orthogonal - an archived production lane and an open production lane differ in state, not type.
- Subsystem Context Note - both exits are terminal:
joined and archived both end a lane's writable life, and neither is undone in place. Recovery runs through NetworkVersioner, which rebuilds containers wholesale rather than reopening them.
- System Context:
Lane state is organization, not runtime. A lane changing state has ZERO effect on what is live - runtime residency is an orthogonal question answered by the frame, which is why archiving a lane never disturbs a running world.
Contract:
open: the lane accepts registrations and organization.
joined: the lane finished into its parent; archived-equivalent, no further work happens FROM this container (its objects live on; new lanes may still anchor at any node that remains here).
archived: the lane left the active view as a dead end; the organization snapshot machinery can restore views that contained it, and residence stays permanent so rediscovery still points here.
AGENT_ACCESS: public
- AGENT_PURPOSE:
access: public. Lifecycle state of one research lane. Read it from lane views; MutationResearch verbs move it.