lifecycle.SoftLifecycle
class SoftLifecycle:Shape-stable :class:`~unitrack.lifecycle.StandardLifecycle` for differentiable mode.
Applies the same status / counter transitions as the hard policy but
keeps the row count of the snapshot constant: Removed rows stay in
place rather than being filtered out, so gradients flow through
every tracklet across frames without index reshuffling. Consumers
that want only live rows can still filter via the returned status
field; the soft path itself is shape-stable.
Status transitions remain discrete — the lifecycle state machine is
intrinsically non-differentiable. SoftLifecycle's job is purely to
avoid the autograd-unfriendly row-removal step. End-to-end soft
learning rides on the upstream :class:`~unitrack.assignment.SoftAssignment` plan and
soft observations (e.g. :class:`~unitrack.states.SoftReplace`), not on this policy.
Members
Source: unitrack/lifecycle/soft.py:14