Expand description
Deprecation-chain resolver.
Walks a CompositionNode, replacing any Stage { id } that
points at a Deprecated { successor_id } stage with the final
non-deprecated implementation, following successor_id links.
Paired with resolve_pinning:
pinning maps signature → implementation, this maps deprecated
implementation → active successor. Most call sites want both,
pinning first.
Every entry point that runs this (CLI run, compose, serve,
build, build_browser, scheduler, grid-broker, grid-worker)
used to carry its own copy of the walker. This module is the
shared implementation.
Structs§
- Deprecation
Report - Result of walking the graph’s stage references.
- Deprecation
Rewrite - Single rewrite performed by
resolve_deprecated_stages.
Enums§
- Chain
Event - Condition that ended a successor-chain walk without finding a non-deprecated stage.
Constants§
- MAX_
DEPRECATION_ HOPS - Upper bound on successor-chain walks. Chains longer than this
(unusual in practice; indicates either a legitimate very-long
deprecation history or an accidental cycle) are truncated and
surface as
ChainEvent::MaxHopsExceeded.
Functions§
- resolve_
deprecated_ stages - Walk the graph, following
successor_idchains to resolve references to deprecated stages. Returns a report; the caller is expected to log the events and/or present them to the user.