V3 migrate

Merge into spec-schema-v3 so we're only working in one branch.