Collapse default skill/qual-level titles in the release data - #60
Merged
Conversation
Every ladder rung repeated its title even though it's almost always a
fixed function of the digit (enlisted 1/3/5/7/9 = Helper/Apprentice/
Journeyman/Craftsman/Superintendent; officer 3/4 = Qualified/Staff).
Only elide where one value covers the vast majority of specialties
(>=90%): all enlisted levels qualify, but officer levels 1-2 reflect a
real flying vs. non-flying split with no dominant default, so they stay
explicit. The extractor now strips a rung's :title when it matches the
runtime default; Enlisted already had a fallback for the omitted title
but its level-9 default was wrong ("Senior Enlisted Leader" instead of
the actual majority, "Superintendent"); Officer had no fallback at all
and needed one added to avoid resolving to nil.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
skill_levelsand officerqual_levelsrepeated a:titlefor every ladder rung of every specialty, even though it's almost always a fixed function of the digit (enlisted 1/3/5/7/9 = Helper/Apprentice/Journeyman/Craftsman/Superintendent; officer 3/4 = Qualified/Staff).:codestays as extracted (it's the extractor's verified, verbatim-from-PDF ground truth).Enlistedalready had a fallback for an omitted title, but its level-9 default was wrong ("Senior Enlisted Leader" instead of the actual majority, "Superintendent" — 84/88 real entries).Officerhad no fallback at all and needed one added, or an elided title would have resolved tonil.bin/extract_afsc_from_pdf.rb) now strips a rung's:titlewhen it matches the runtime default, reusing the sameSKILL_LEVELS/QUAL_LEVELSconstants the lookup fallback uses (single source of truth, no duplicated map).2025-10-31release YAMLs from the source PDFs; the diff is title lines disappearing only where they match the new defaults — no:code/:name/:shredoutschanges.