Patch: schema classification semantics for untouched sources.
Fixed
- An untouched migration source classifies
pending, neverdivergent.AdoptionState
gainsPending, andAdoptionServicereports it for any source with zero receipts whose
effects are absent or unverifiable — the healthy state of every disabled extension's schema
on a fresh install. Previously such sources classified Divergent ("structural verifier
refused …"), which mademigrate:verifyexit non-zero on perfectly healthy installs and
broke the documentedmigrate:run && migrate:verifyupgrade chain for any host shipping
disabled engines. Surfaced by a downstream clean-machine artifact gate. - Divergent now strictly means conflict: a partially receipted source whose remaining
effects are absent or unverifiable. - Adoption is unchanged: zero receipts with effects present (verifier passes every
missing basename) staysAdoptable— the lost-ledger adoption path works exactly as before.
No API, config, or behavior changes outside classification; migrate:verify still fails on
any Divergent source.