M31V treated old URLs as maintained public identifiers, giving redirects source files, validation, preview, release identity, and retirement policy.
#publishing
M31V stopped approving an editor approximation and began reviewing the exact immutable build proposed for activation.
M31V stopped parsing articles separately for each output and built one normalized content graph that every publication surface consumed.
M31V’s build stopped handing writers stack traces and began reporting source, field, consequence, and correction in editorial language.
M31V needed editorial validation, preview, and atomic releases without inheriting a general CMS or trusting mutable uploads as a publishing protocol.