This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+11 more
Affected surfaces
Summary
AI summaryNew AI‑driven career orientation page generates best‑fit archetype profiles from a user's CV.
Full changelog
[1.96.0] — 2026-07-04
Career orientation (Epic 27). A new #/orientation page answers "which directions actually fit me?" — the read you'd get from a vocational test, but inferred from your own CV and profile instead of a questionnaire. Click Generate profile and the model returns your best-fit career vectors (which of the eight archetypes — Functionalist, Administrator, Communicator, Specialist, Analyst, Innovator, Manager, Entrepreneur — fit, with evidence), a career-type leaning, recommended roles, professional strengths tied to your CV, working-style tendencies, and development recommendations. It is an AI reflection of how your CV reads — not a psychometric test: it never invents achievements and never reports numeric scores as if measured. Export it to Markdown or PDF; nothing is written to disk.
- New route
server/lib/routes/orientation.mjs(24th route module) —POST /api/orientation/generatebuilds the profile prompt from CV+profile+two-pager+memory via the shared provider cascade, with a copy-paste manual fallback and no file writes. - Reuses
report-export.jsfor Markdown/PDF/copy, under the Growth nav group. - Tests:
tests/orientation-routes.test.mjs(reflection framing / no fabricated scores, CV/profile-seeded manual mode). 7 new i18n keys ×16 locales, Help §28 ×16.
New: #/orientation; server/lib/routes/orientation.mjs.
Also in this release — review-driven fixes & hardening. A sweep of the AI-review logs across recent PRs surfaced several real defects, all fixed here:
- Duplicate i18n keys removed (30 CodeQL
js/duplicate-propertyalerts). The v1.94.0 statistics fan-out had inserted thestats.*/export.*block twice in five locale dicts (ar,ja,ko,zh-CN,zh-TW) — last-wins silently shadowed the first copy. Each doubled block is removed; snapshot regenerated; parity green. cv-diagnostics.jsdead code (CodeQLjs/useless-comparison). Thewords === 0length branch was unreachable after thewords < 20early-return guard — removed.cv-privacy.jsfalse redactions.PHONE_REnow skips date-like runs (a2018-2022year range, a2026-07-04ISO date) that its ≥7-digit guard would otherwise mask;ADDRESS_REnow requires a real address boundary (comma / ZIP / end-of-line) so a mid-sentence "…Full Stack Dev St building…" isn't redacted. New tests cover both.i18n-dict.fr.jsshipped-bundle noise. Stripped the trailing English// glosscomment from every French entry — consistent with the other 15 locales.- AI-review workflow.
ai-review.yml's rubric now names all 16 locales (was a stale 8), and the reviewer diff is ordered code-first (server/,public/,tests/) so the 200 KB cap truncates bulky localized CHANGELOG/README churn rather than the security-relevant code it kept reporting as "not in the diff." - Doc drift. Refreshed stale counts in
docs/sdd/CONVENTIONS.md(test total, H3 parity number),CLAUDE.md, and.claude/PROJECT-CONTEXT.md.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Career Ops UI
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]