Mission Run Overview
Mission Run: Missions/ Doctrine Tree Relocation & Gate Preconditions
Relocate the missions/ doctrine tree to packs/built-in (with the kernel resolver-primitive extraction that makes it sound), clearing two CI-gate preconditions along the way -- the de-risking half of the next scoped step in the 3.2.x doctrine rework, split off from the public-API contract per post-spec squad findings.
Charter-sole-door (PR #3175 / #3176) closed the enumerated bypass paths around DoctrineService construction, which the project's own 3.2.x delivery plan declares as the precondition for the next steps in its sequencing rule: boundary -> sole-door -> contract -> schema. A post-spec adversarial squad found the missions/ relocation more architecturally involved than originally scoped, and already-once-deferred territory (relocate-builtin-doctrine-packs-01KYT87F) -- the operator elected to split the original two-thread spec, de-risking this harder relocation piece first. This mission completes the missions/ tree relocation to packs/built-in, resolves the two CI-gate preconditions that block legitimate doctrine-content cleanup, and folds in two small bundled fixes. The doctrine/charter public API contract (#3179) is a separate follow-on mission. The full kernel/doctrine/charter wheel publish remains explicitly deferred to a separate future mission.