runType — historic field on older breaking-run manifests
Each candidate is passed through stripRunSuffix so trailing
-run<N> taxonomy noise never leaks into JSON-LD articleSection,
the filesystem slug, or the SEO dump's article-type histogram. Falls
back to 'unknown' when none of the above is a non-empty string.
Resolve the article-type slug from a manifest, tolerating historic schemas.
Resolution order (highest precedence first):
articleType— canonical singular fieldarticleTypeSlug— gh-aw workflow slug fieldarticleTypes[0]— pre-aggregator-pipeline plural arrayrunType— historic field on older breaking-run manifestsEach candidate is passed through stripRunSuffix so trailing
-run<N>taxonomy noise never leaks into JSON-LDarticleSection, the filesystem slug, or the SEO dump's article-type histogram. Falls back to'unknown'when none of the above is a non-empty string.