(S) Only public functions, methods, attributes, classes living under sage are subject to the deprecation policy.
(M) Functions, methods, attributes, classes whose names start with an underscore are considered internal, and is not subject to the deprecation policy.
(C) A class whose name does not start with an underscore is public by default, but can be considered internal if experts agree that the class is unlikely to be directly imported by user code. If experts disagree, then it is public. For a PR changing the class, authors and reviewers are the experts.
Moreover https://github.com/sagemath/sage/issues/38211#issuecomment-2180309924 defines the standard procedure for deprecation of public classes.
If no one has major objections, we will proceed to update the developer guide to reflect the proposal. Comments are welcome. Thanks.
Kwankyu