# Career loop

Mounted at **`/api/v1/career`**. Core packages:

- `backend/src/services/career-loop/` — tracks, coaching match, skills evidence, employer loop  
- `backend/src/routes/career-loop.routes.ts`  
- `frontend/src/services/career-loop.service.ts`  

## Evidence → verified

A skill becomes verified when the learner has all of:

- `WORK_SAMPLE`  
- `LIVE_REVIEW`  
- `ATTESTATION`  

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.
