Career loop
Mounted at /api/v1/career. Core packages:
backend/src/services/career-loop/— tracks, coaching match, skills evidence, employer loopbackend/src/routes/career-loop.routes.tsfrontend/src/services/career-loop.service.ts
Evidence → verified
A skill becomes verified when the learner has all of:
WORK_SAMPLELIVE_REVIEWATTESTATION
Public profile: GET /career/profiles/:slug → app route /u/[slug].
Skill credential verify: GET /career/credentials/verify/:code → /credentials/[code].
Matching
Matching uses featured coaches, sample sessions, and no-show signals. Coaches see match ready on setup; featured is system-managed (display only). Admins can POST /career/admin/match-override.
Employer seats
Search requires seats. Employer creates invoice; admin marks paid → seats increment / MANUAL_ACTIVE. No self-serve PSP in MVP.