Skip to content

feat(career-guides): Add Marine Corps MOS 6333 Aviation Electronics Tech#1164

Open
jeromehardaway wants to merge 1 commit into
masterfrom
feat/1124-mos-6333-career-guide
Open

feat(career-guides): Add Marine Corps MOS 6333 Aviation Electronics Tech#1164
jeromehardaway wants to merge 1 commit into
masterfrom
feat/1124-mos-6333-career-guide

Conversation

@jeromehardaway

Copy link
Copy Markdown
Contributor

Problem

Marine Corps MOS 6333 (Aviation Electronics Technician) was missing from the Career Guide. The training-pipeline.json key "6333" is occupied by the Navy officer designator 6333 (Aviation Maintenance Officer), so the Marine MOS could not be added under its bare code. The resume-translator data (job-codes-index.json, job-codes-descriptions.json) already covers both branches; the gap was Career Guide data only. Closes #1124.

Solution

  • src/data/training-pipeline.json — added "marine_corps:6333" (Marine Corps, Aviation Electronics Technician, CNATT NAS Pensacola program, avionics/electrical topics incl. fault isolation, wiring schematics, MIL-SPEC standards, test equipment), modeled on the existing Marine avionics entry "6316". loadCareerGuides() already strips branch prefixes from keys, so this yields a second 6333 guide entry with the correct branch.
  • src/data/career-pathways-map.json — the existing bare "6333" pathways entry is officer/management flavored (Aircraft Maintenance Manager, QA Specialist, Logistics Manager), so a shared entry would misrepresent the technician MOS. Added "marine_corps:6333" with technician-flavored roles: Avionics Technician plus the software-adjacent targets named in the issue (Junior Software Engineer, Software Developer in Test, Systems Software Developer, DevOps Engineer).
  • src/lib/career-guides.ts — pathway lookup now prefers the exact full key before the bare code (pathways[key] ?? pathways[code] ?? ...), so each 6333 entry resolves its own pathway data. Each guide also gets a slug (full training key, lowercased) since code is no longer unique.
  • src/containers/career-guides/{types.ts,grid-view.tsx}GuideEntry.slug added; guide cards link by slug, so the two 6333 cards lead to distinct detail pages.
  • src/pages/career-guides/[mos].tsx — the detail route already resolves branch-prefixed keys via its existing key-matching fallback (/career-guides/marine_corps:6333 → Marine guide; /career-guides/6333 deterministically remains the Navy entry, the only bare-key match). Added a strip of the branch prefix for the displayed code so the page shows 6333, not MARINE_CORPS:6333.
  • __tests__/lib/career-guides.test.ts — new tests: two 6333 entries with correct branch/title/rank/slug, each resolving its own pathway data (Navy → Aircraft Maintenance Manager, Marine → Avionics Technician), and slug uniqueness across all guides.

Both edited JSON files were inserted textually next to their sibling entries and re-validated with node (JSON.parse via require).

Limitations

  • The Marine detail page lives at /career-guides/marine_corps:6333. Its JSON-LD url field is derived from the bare display code and therefore points at /career-guides/6333; threading the slug into the page component for structured data was left out to keep the change minimal.
  • cert-equivalencies.json, military-systems-map.json, cognitive-skills-map.json, and tech-pathways-map.json have no marine_corps:6333 entries, so those detail-page sections fall back to their existing empty defaults. They can be backfilled by the generate:* scripts later.

Verification

  • npm run typecheck — 7 pre-existing errors in __tests__/{lib,pages/api}/j0di3/* (verified identical count on clean master via stash); no new errors.
  • npm run lint — 25 errors / 491 warnings, all pre-existing in untouched files; npx biome check on the changed files reports 0 errors (1 pre-existing complexity warning on detectRank, untouched by this PR).
  • npm test — 42 files, 387 tests, all pass (includes 3 new tests).
  • npm run build — succeeds (swagger spec, Next build, sitemap).

The training-pipeline key 6333 is occupied by the Navy officer
designator (Aviation Maintenance Officer), so the Marine Corps MOS
6333 was missing from the Career Guide. Add it under the
branch-prefixed key marine_corps:6333 with a technician-flavored
career-pathways entry covering avionics and software-adjacent roles.

The guide loader now prefers an exact full-key pathway lookup before
the bare code so each 6333 entry resolves its own pathway data, and
each guide carries a slug (the full training key) so the two entries
link to distinct detail pages. The detail route strips the branch
prefix for display.
@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
vets-who-code-app Ready Ready Preview, Comment Jun 11, 2026 4:47pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Career Guide Add MOS 6333 Aviation Electronics Technician (Avionics)

1 participant