career-ops-v1.33.0
mermaid-js/mermaidcareer-ops-v1.33.0Sep 16, 2026by github-actions[bot]
Upgrading?
AI Summary
A comprehensive update adding support for reading job descriptions from public ATS APIs (Greenhouse, Lever, Ashby) and new scanning capabilities, alongside various bug fixes for CV rendering and dashboard data resolution.
Key Highlights
- Browser-extract feature reads JDs from Greenhouse, Lever, and Ashby public APIs.
- Added batch evaluation support for multi-CLI evaluation.
- New job board providers including Gem Job Board REST API and Telegram channel posts.
- Improved scan summaries with machine-findable markers.
New Features
- Batch evaluation with --cli flag for multi-CLI evaluation.
- Browser-extract reading JDs from public APIs.
- Education entry location rendering on HTML CV.
- JD archival enforcement in every report.
- Portal content auditing.
- Gem Job Board REST API provider.
- Telegram channel posts via t.me/s/ (zero-auth).
- Collage HR public job provider.
- Per-company title_filter_overrides for scan-ats-full.mjs.
- Server-side Algolia filters for WTTJ scans.
Full Release Notes
## [1.33.0](https://github.com/career-ops-hq/career-ops/compare/career-ops-v1.32.0...career-ops-v1.33.0) (2026-09-16) ### Features * **batch:** add --cli flag for multi-CLI batch evaluation (opencode, gemini, qwen) ([6255cc2](https://github.com/career-ops-hq/career-ops/commit/6255cc200be7aabe45bf1d5c2ec2e6f52337fd7f)) * **browser-extract:** read Greenhouse, Lever and Ashby JDs from their public APIs, and add fetch-jd.mjs ([#3654](https://github.com/career-ops-hq/career-ops/issues/3654)) ([1923ee1](https://github.com/career-ops-hq/career-ops/commit/1923ee14b2edc635e6ea59a447d0f4fbce02ad48)), closes [#2582](https://github.com/career-ops-hq/career-ops/issues/2582) * **cv:** render an education entry's location on the HTML CV ([#3776](https://github.com/career-ops-hq/career-ops/issues/3776)) ([8e5c65d](https://github.com/career-ops-hq/career-ops/commit/8e5c65dfaedfe5d10d31926a72d79c0d9fef4a10)), closes [#3773](https://github.com/career-ops-hq/career-ops/issues/3773) * **oferta/pdf:** enforce JD archival in every report ([4726e05](https://github.com/career-ops-hq/career-ops/commit/4726e05312e40a1a9e2d61b2e4ccf6851fbd5a4e)) * **portals:** audit board content, not just reachability ([#3610](https://github.com/career-ops-hq/career-ops/issues/3610)) ([9b896b5](https://github.com/career-ops-hq/career-ops/commit/9b896b50a426dd4c07b342f7b79253296aeea684)) * **providers:** add the Gem Job Board REST API as a verified-URL mode alongside the GraphQL provider ([#3783](https://github.com/career-ops-hq/career-ops/issues/3783)) ([0e5a95c](https://github.com/career-ops-hq/career-ops/commit/0e5a95c57d5a6fd40057d1ff7717e509c3524036)) * **providers:** telegram-channel, public channel posts via t.me/s/ (zero-auth) ([#3668](https://github.com/career-ops-hq/career-ops/issues/3668)) ([ab4e5e4](https://github.com/career-ops-hq/career-ops/commit/ab4e5e4821ced4464f468b7a4f7687234d3c4e31)) * **scan:** add Collage HR public job provider ([#3787](https://github.com/career-ops-hq/career-ops/issues/3787)) ([bf2b647](https://github.com/career-ops-hq/career-ops/commit/bf2b64779d659f19df24d82ccd768ab09432d389)) * **scan:** one machine-findable marker line above every scan summary ([#3747](https://github.com/career-ops-hq/career-ops/issues/3747)) ([339ee57](https://github.com/career-ops-hq/career-ops/commit/339ee57e5ac8e31baeb1ea09a12bab1ce3c1d6f6)), closes [#3560](https://github.com/career-ops-hq/career-ops/issues/3560) * **scan:** per-company title_filter_overrides for scan-ats-full.mjs ([#3710](https://github.com/career-ops-hq/career-ops/issues/3710)) ([5fb18d7](https://github.com/career-ops-hq/career-ops/commit/5fb18d7cd2c2f3aa6d5c836eb1416be1d0d3cf5a)), closes [#3708](https://github.com/career-ops-hq/career-ops/issues/3708) * **web:** opt-in origin allowlist for the local dashboard API ([#3597](https://github.com/career-ops-hq/career-ops/issues/3597)) ([0754973](https://github.com/career-ops-hq/career-ops/commit/075497329a55d7c1e5184cfffb21fd0efeaf13ba)) * **wttj:** server-side Algolia filters so a scan can be exhaustive ([#3757](https://github.com/career-ops-hq/career-ops/issues/3757)) ([c1df875](https://github.com/career-ops-hq/career-ops/commit/c1df875c768071369045caaf8c79f06a2fbf3059)) ### Bug Fixes * **analysis:** funnel-velocity, calibrate and weekly-digest read the configured data root ([#3715](https://github.com/career-ops-hq/career-ops/issues/3715)) ([d7ff406](https://github.com/career-ops-hq/career-ops/commit/d7ff4062269f4f1afa38c6615561288ff314f343)), closes [#3714](https://github.com/career-ops-hq/career-ops/issues/3714) * **analyze-patterns:** parse report headers written in French ([#3808](https://github.com/career-ops-hq/career-ops/issues/3808)) ([29f065f](https://github.com/career-ops-hq/career-ops/commit/29f065f1bed9872574c8999343b0102e698b25f4)), closes [#3807](https://github.com/career-ops-hq/career-ops/issues/3807) * **analyze-patterns:** read archetype headers from every localized mode ([#3866](https://github.com/career-ops-hq/career-ops/issues/3866)) ([9d182a9](https://github.com/career-ops-hq/career-ops/commit/9d182a9c2360fbabcfbb9e043fa96b359ef9255e)), closes [#3865](https://github.com/career-ops-hq/career-ops/issues/3865) * **check-jd-archive:** credit jds/ captures named by a tracker row ([5bcaddc](https://github.com/career-ops-hq/career-ops/commit/5bcaddc7fb2cceed869780b4fe36e2786a42e7d3)) * **check-jd-archive:** credit jds/ captures named by a tracker row ([3f9a3fc](https://github.com/career-ops-hq/career-ops/commit/3f9a3fc846ffcbb5b06b5c79e1e61d312ad5681a)) * **check-jd-archive:** reject login-wall/404/paywall/JS-shell text as non-content ([#3837](https://github.com/career-ops-hq/career-ops/issues/3837)) ([3834b91](https://github.com/career-ops-hq/career-ops/commit/3834b91843b903734447633f66fdefd41a42a3d1)), closes [#3829](https://github.com/career-ops-hq/career-ops/issues/3829) * **cli:** validate analyze-patterns flags through lib/cli-flags.mjs ([#3848](https://github.com/career-ops-hq/career-ops/issues/3848)) ([4d82beb](https://github.com/career-ops-hq/career-ops/commit/4d82beb4d3fc40baaef5a1f5d5817b9f797879a8)), closes [#2979](https://github.com/career-ops-hq/career-ops/issues/2979) * **cv:** render the ATS template's contact row ([#3838](https://github.com/career-ops-hq/career-ops/issues/3838)) ([e1aebed](https://github.com/career-ops-hq/career-ops/commit/e1aebed5bb6fd6d55e1cf47808bded623a0e4b48)), closes [#3775](https://github.com/career-ops-hq/career-ops/issues/3775) * **dashboard:** serve:dashboard respects CAREER_OPS_DATA_DIR ([#3929](https://github.com/career-ops-hq/career-ops/issues/3929)) ([b4bd6aa](https://github.com/career-ops-hq/career-ops/commit/b4bd6aa27582f1659085a5804f3c8cd5751eff18)), closes [#3924](https://github.com/career-ops-hq/career-ops/issues/3924) * **discover-ats:** a refused redirect is an answer, not a status to re-run ([#3804](https://github.com/career-ops-hq/career-ops/issues/3804)) ([80885c9](https://github.com/career-ops-hq/career-ops/commit/80885c9c45d288e3a86fa043db635d755afb1630)) * **doctor:** detect project-scoped Playwright MCP plugin installs ([#3711](https://github.com/career-ops-hq/career-ops/issues/3711)) ([719d1a4](https://github.com/career-ops-hq/career-ops/commit/719d1a4c64735fec4eb6f5f4b1616db4d181476c)) * **doctor:** keep git's "not a git repository" off stderr in --json ([#3722](https://github.com/career-ops-hq/career-ops/issues/3722)) ([8058eba](https://github.com/career-ops-hq/career-ops/commit/8058ebac18f248a36efa1dedcfac0a8ea9779b99)), closes [#3721](https://github.com/career-ops-hq/career-ops/issues/3721) * **doctor:** make CLI-resolution tests hermetic against a repo .env ([#2617](https://github.com/career-ops-hq/career-ops/issues/2617)) ([95225c1](https://github.com/career-ops-hq/career-ops/commit/95225c1be267116f44d5758b85e20c029602d33b)) * **eval:** parse the score in gemini-eval instead of concatenating it ([#3799](https://github.com/career-ops-hq/career-ops/issues/3799)) ([eedc6d9](https://github.com/career-ops-hq/career-ops/commit/eedc6d921c2988cfc26fca930044f731292db2c0)), closes [#3707](https://github.com/career-ops-hq/career-ops/issues/3707) * **eval:** persist openai/ollama evaluations as tracker additions ([#3797](https://github.com/career-ops-hq/career-ops/issues/3797)) ([090c2b4](https://github.com/career-ops-hq/career-ops/commit/090c2b4b89b762e32b53e191da06883d82e1f559)) * **followup-cadence:** accept --json, the flag both web follow-up routes pass ([#3862](https://github.com/career-ops-hq/career-ops/issues/3862)) ([57de2ea](https://github.com/career-ops-hq/career-ops/commit/57de2ea1c9dd9d891959926d5e00c2411c05ff60)) * four defects invisible in the maintainer's own checkout ([7f72883](https://github.com/career-ops-hq/career-ops/commit/7f72883d3965430db6aacb264a18be77c5e8358d)) * **garena:** route id encoding through _safe-url so one bad posting drops, not the page ([7bee848](https://github.com/career-ops-hq/career-ops/commit/7bee8480f4a3571d47fd9b2ba888122a21e52c0c)) * **gemini-eval:** write the **URL:** report header so its rows reach the URL dedup key ([#3876](https://github.com/career-ops-hq/career-ops/issues/3876)) ([f8e9201](https://github.com/career-ops-hq/career-ops/commit/f8e9201f2cd0f55f82291482ca57ea313037a8c5)), closes [#3795](https://github.com/career-ops-hq/career-ops/issues/3795) * **gitignore:** ignore the tracker and follow-ups file in the legacy root layout ([#3718](https://github.com/career-ops-hq/career-ops/issues/3718)) ([fc8ee60](https://github.com/career-ops-hq/career-ops/commit/fc8ee60419a56804924f00e7cde7f040a4effc41)), closes [#3717](https://github.com/career-ops-hq/career-ops/issues/3717) * **icims:** read every jobLocation entry when picking the location ([#3728](https://github.com/career-ops-hq/career-ops/issues/3728)) ([d5a5bc9](https://github.com/career-ops-hq/career-ops/commit/d5a5bc90a84e128ad095ad0775535187c73dcf05)), closes [#3727](https://github.com/career-ops-hq/career-ops/issues/3727) * **invite-match:** extract company names in any script, not just ASCII ([#3864](https://github.com/career-ops-hq/career-ops/issues/3864)) ([48513e7](https://github.com/career-ops-hq/career-ops/commit/48513e7951765161ce9ea5c51bc5d43222abd33a)), closes [#3861](https://github.com/career-ops-hq/career-ops/issues/3861) * **invite-match:** resolve set-status.mjs from the code root, not the data root ([cfc6b01](https://github.com/career-ops-hq/career-ops/commit/cfc6b0190eac5a1c919aefeb28a008a97b4d8864)) * **invite-match:** resolve set-status.mjs from the code root, not the data root ([5c65257](https://github.com/career-ops-hq/career-ops/commit/5c652575fd43e818ee0f1be7dc0aff646a3e773e)) * **jd-skill-gap:** resolve cv.md against the data root ([680f847](https://github.com/career-ops-hq/career-ops/commit/680f847d9c58486240141c8b5002b26797ea7e2d)) * **jd-skill-gap:** resolve cv.md against the data root ([#4209](https://github.com/career-ops-hq/career-ops/issues/4209)) ([4795dc1](https://github.com/career-ops-hq/career-ops/commit/4795dc19b8b9a232860c29d8c89210f2efa97277)) * **linkedin-join:** use the real people-search route ([#3811](https://github.com/career-ops-hq/career-ops/issues/3811)) ([b2aa0a9](https://github.com/career-ops-hq/career-ops/commit/b2aa0a976926952e874e7f5bf264ad3e3bdce072)) * **liveness:** stop reusing the headed page after its browser closes ([0baa692](https://github.com/career-ops-hq/career-ops/commit/0baa692755d2d3c1aa3d747910853683dcfbd0f9)) * **liveness:** stop reusing the headed page after its browser closes ([17d83e9](https://github.com/career-ops-hq/career-ops/commit/17d83e942502e90a41abe459f5b86f65ef747114)), closes [#4176](https://github.com/career-ops-hq/career-ops/issues/4176) * **merge-tracker:** --help exits early and post-merge hooks resolve from the code root under an external data root ([#3761](https://github.com/career-ops-hq/career-ops/issues/3761)) ([7a75b99](https://github.com/career-ops-hq/career-ops/commit/7a75b994cb1136513c1353403cd571e30cca9f69)) * **merge-tracker:** a corporate-form merge keeps the row's employer name and prefers an exact company match ([#3812](https://github.com/career-ops-hq/career-ops/issues/3812)) ([fd6cf93](https://github.com/career-ops-hq/career-ops/commit/fd6cf935776fcf8b15be0ad94475747aac55053e)) * **meta:** point CITATION.cff and package.json at career-ops.org, and stop the blurb drifting across five files ([2c76ca4](https://github.com/career-ops-hq/career-ops/commit/2c76ca434555dee6bf6236573225f257bbbdca24)) * **ollama-eval:** stream the response and make num_ctx configurable via OLLAMA_NUM_CTX ([#3922](https://github.com/career-ops-hq/career-ops/issues/3922)) ([fe06051](https://github.com/career-ops-hq/career-ops/commit/fe06051ba57c78934b89355bebe2c67f3a5cdb14)) * **pdf:** recognize Chinese section titles in SECTION_ALIASES ([#3803](https://github.com/career-ops-hq/career-ops/issues/3803)) ([49b6586](https://github.com/career-ops-hq/career-ops/commit/49b6586e5212e7d5e8553e6189f8978484a05387)), closes [#3658](https://github.com/career-ops-hq/career-ops/issues/3658) * **plugin-install:** add --help and reject unknown flags ([#3857](https://github.com/career-ops-hq/career-ops/issues/3857)) ([45f11b7](https://github.com/career-ops-hq/career-ops/commit/45f11b7b9058ec035a3bf3ba251322a2d9fdb392)) * **providers:** a lone surrogate in one id/slug no longer aborts the whole page ([7cdd684](https://github.com/career-ops-hq/career-ops/commit/7cdd6845278948b4d8379fb2fcebf39304e54994)) * **providers:** a lone surrogate in one id/slug no longer aborts the whole page ([d76bea0](https://github.com/career-ops-hq/career-ops/commit/d76bea0e1c3f9a8f3aab20ce583812774ceda23c)) * **providers:** apply default headers case-insensitively ([b12016b](https://github.com/career-ops-hq/career-ops/commit/b12016be15aeddf780ffc30a0010371a140c4319)) * **providers:** coerce before the try; drop tkms encode of the config locale ([94eebce](https://github.com/career-ops-hq/career-ops/commit/94eebced04e524572e201ee65df275a60f370771)) * **providers:** pin accept-encoding so zstd bodies are not truncated ([2049537](https://github.com/career-ops-hq/career-ops/commit/2049537c420e396d08425c6950203718cc55567c)) * **providers:** pin accept-encoding so zstd bodies are not truncated ([3b3a80d](https://github.com/career-ops-hq/career-ops/commit/3b3a80dfdbc14be9be17dd869b036c1a42537e6f)) * **providers:** radancy stops trusting totalResults, cache-busts JSON, retries every fetch ([#3839](https://github.com/career-ops-hq/career-ops/issues/3839)) ([4086d45](https://github.com/career-ops-hq/career-ops/commit/4086d4546b16b00d1de7b0b320933a83c7355835)) * **providers:** route feishu-jobs and mokahr id encoding through _safe-url ([fd3966a](https://github.com/career-ops-hq/career-ops/commit/fd3966aa50fbe8e2b603cf6a226c8b8ae777f3e1)) * **rejection-latency:** report placeholder-employer applications instead of dropping them silently ([#3712](https://github.com/career-ops-hq/career-ops/issues/3712)) ([d9fe917](https://github.com/career-ops-hq/career-ops/commit/d9fe9174d051a551dfd8b26ac4ece5445a509849)) * **rheinmetall:** guard the slug-fallback decode against a malformed percent-escape ([6efda1c](https://github.com/career-ops-hq/career-ops/commit/6efda1c1003188d70a1323685d44fd3882e6c3ed)) * **scan:** opt-in location-aware company+role dedupe ([#3751](https://github.com/career-ops-hq/career-ops/issues/3751)) ([ae97912](https://github.com/career-ops-hq/career-ops/commit/ae979122628b3c3b1746213c29af3a91f1b7f8ce)), closes [#3750](https://github.com/career-ops-hq/career-ops/issues/3750) * **scan:** prioritize configured locations in Workday facet recovery ([#3851](https://github.com/career-ops-hq/career-ops/issues/3851)) ([efede1c](https://github.com/career-ops-hq/career-ops/commit/efede1ce24257411629c37084e5e6c44428bf4e5)), closes [#3850](https://github.com/career-ops-hq/career-ops/issues/3850) * **templates:** make the CV template's second hardcoded color themeable ([#3699](https://github.com/career-ops-hq/career-ops/issues/3699)) ([351f7f5](https://github.com/career-ops-hq/career-ops/commit/351f7f5240b8ef1e7231cee7f906a583b7073834)), closes [#3695](https://github.com/career-ops-hq/career-ops/issues/3695) * **test-all:** discovered-suite guards ignore calls mentioned only in comments ([363b990](https://github.com/career-ops-hq/career-ops/commit/363b990eed503dca486c0e54b79358ebaa37ef2c)) * **test-all:** discovered-suite guards ignore calls mentioned only in comments ([e5c985d](https://github.com/career-ops-hq/career-ops/commit/e5c985d7d6f1dbf47f89bf4432bda890b117288f)) * **tests:** guard subtree-anchored walkers against nested checkouts ([#3792](https://github.com/career-ops-hq/career-ops/issues/3792)) ([5726853](https://github.com/career-ops-hq/career-ops/commit/5726853924fd5d2885413667fbbc0d06809cc3e9)) * **tests:** pass --confirm to apply in the local-paths regression leg ([#3755](https://github.com/career-ops-hq/career-ops/issues/3755)) ([e979d4e](https://github.com/career-ops-hq/career-ops/commit/e979d4e04c35807a3905ebfb3cc87f8d621192ce)) * **tests:** skip nested checkouts by marker, not by the name .git ([#3681](https://github.com/career-ops-hq/career-ops/issues/3681)) ([35a7cdb](https://github.com/career-ops-hq/career-ops/commit/35a7cdb22cd25fcb0ad59795606dfe660baf91c5)), closes [#3499](https://github.com/career-ops-hq/career-ops/issues/3499) * **tkms:** re-encode the config locale, hoisted out of the row loop to fail loud ([5b8f1f0](https://github.com/career-ops-hq/career-ops/commit/5b8f1f0d6cf5900c1cc557bd9c391239801fe4ff)) * **token-tracker:** add MiniMax-M3 and MiniMax-M2.7 rates ([#3800](https://github.com/career-ops-hq/career-ops/issues/3800)) ([8aef9e0](https://github.com/career-ops-hq/career-ops/commit/8aef9e057472972987edca0e3b36fd23c865e283)) * **tracker:** carry the tracker layout through the export round-trip ([#3794](https://github.com/career-ops-hq/career-ops/issues/3794)) ([4f12d84](https://github.com/career-ops-hq/career-ops/commit/4f12d845ed347766a808a1995f2a8bfdf1e6b48e)), closes [#3703](https://github.com/career-ops-hq/career-ops/issues/3703) * **tracker:** map "fecha" to the date column ([#3767](https://github.com/career-ops-hq/career-ops/issues/3767)) ([843d179](https://github.com/career-ops-hq/career-ops/commit/843d179624e09c5b9bc9ec372a2b21dd338ef94e)), closes [#3705](https://github.com/career-ops-hq/career-ops/issues/3705) * **tracker:** resolve addition columns by name so score and status cannot transpose ([00b0296](https://github.com/career-ops-hq/career-ops/commit/00b0296c6071eb955f38404e60a10ceaccad45b5)) * **tracker:** strip invisible control characters at the cell sanitizer ([#3902](https://github.com/career-ops-hq/career-ops/issues/3902)) ([dadc8f6](https://github.com/career-ops-hq/career-ops/commit/dadc8f645388678ae64e38300363586fd3a9fc24)), closes [#3892](https://github.com/career-ops-hq/career-ops/issues/3892) * **triage:** weights sum to 1.00 and a test pins prose against the formula ([#3831](https://github.com/career-ops-hq/career-ops/issues/3831)) ([6a8e876](https://github.com/career-ops-hq/career-ops/commit/6a8e8762168f1302daaa6928460dd027a7c06596)), closes [#3738](https://github.com/career-ops-hq/career-ops/issues/3738) * **update:** resolve preserved files before staging so :(exclude) never reaches --literal-pathspecs ([#3742](https://github.com/career-ops-hq/career-ops/issues/3742)) ([bbfae51](https://github.com/career-ops-hq/career-ops/commit/bbfae511a84964177022bcf44cf7d93aa385390e)), closes [#3740](https://github.com/career-ops-hq/career-ops/issues/3740) * **url-key:** preserve existing fragment comparison params ([02e632e](https://github.com/career-ops-hq/career-ops/commit/02e632e634280ef7224ec268279adbbe9f0650ce)) * **url-key:** preserve hash-route posting identity ([52f314c](https://github.com/career-ops-hq/career-ops/commit/52f314cd268bd0b2de56b71ba236ce288138dac0)) * **url-key:** preserve hash-route posting identity ([965fff3](https://github.com/career-ops-hq/career-ops/commit/965fff30149eff1da2f6b1a937ca3738260b9a2e)) * **verify-cv-facts:** a proposed plan horizon is not a metric claim ([#3656](https://github.com/career-ops-hq/career-ops/issues/3656)) ([ad2e6e8](https://github.com/career-ops-hq/career-ops/commit/ad2e6e8cc41329855645bc5f2a07f6f3af0d49e3)) * **verify-cv-facts:** require a real word, not a bare capital letter, for a title claim ([#3909](https://github.com/career-ops-hq/career-ops/issues/3909)) ([914cac3](https://github.com/career-ops-hq/career-ops/commit/914cac3605dd2473d7765c31a7add127c3a1781d)), closes [#3907](https://github.com/career-ops-hq/career-ops/issues/3907) * **verify-cv-facts:** stop flagging ordinary prose as tool claims ([#3643](https://github.com/career-ops-hq/career-ops/issues/3643)) ([6043ef8](https://github.com/career-ops-hq/career-ops/commit/6043ef811f2c3449ddfe1e658419526fe7aaeda2)), closes [#3639](https://github.com/career-ops-hq/career-ops/issues/3639) * **verify-cv-facts:** tell a disabled fact gate apart from one that ran clean ([#3901](https://github.com/career-ops-hq/career-ops/issues/3901)) ([60f0146](https://github.com/career-ops-hq/career-ops/commit/60f014696822c1744794816c12e51f1bc1d840f2)), closes [#3894](https://github.com/career-ops-hq/career-ops/issues/3894) * **web:** detect a real tailored CV/cover on disk, not just the tracker flag ([0fb2080](https://github.com/career-ops-hq/career-ops/commit/0fb2080db1a5c90b3655bff7fdf74593026adf04)) * **web:** don't let a failed fetch become a scored report ([#3826](https://github.com/career-ops-hq/career-ops/issues/3826)) ([10ede60](https://github.com/career-ops-hq/career-ops/commit/10ede60522f1abd71dfd8c93266f9176180213ac)) * **web:** fence agent CLIs at the spawn boundary ([1d2cb1e](https://github.com/career-ops-hq/career-ops/commit/1d2cb1e125ea3034ff01b464e9a5e2628c0e315f)) * **web:** give grok a parser, and make the token fold per-CLI ([#2689](https://github.com/career-ops-hq/career-ops/issues/2689)) ([c7549fb](https://github.com/career-ops-hq/career-ops/commit/c7549fb3593f9ee456d7118beb80b0ee6e76747c)) * **web:** identify the verdict block by its heading, not by the letter ([#3502](https://github.com/career-ops-hq/career-ops/issues/3502)) ([0ef1bfb](https://github.com/career-ops-hq/career-ops/commit/0ef1bfbe2385551af415e05858900710d0aadd23)) * **web:** parseCliJson misses set-status.mjs's pretty-printed success ([#3602](https://github.com/career-ops-hq/career-ops/issues/3602)) ([848ca44](https://github.com/career-ops-hq/career-ops/commit/848ca440fb2d243ae08205ab3d0bc12903a36c65)) * **web:** resolve the tailored cover for THIS application, not the company's newest ([8fc2bb4](https://github.com/career-ops-hq/career-ops/commit/8fc2bb41db2aad7bf50902ad8a26e726c9637eec)) * **workday:** tag a split whose chosen facet under-covers the board ([#3874](https://github.com/career-ops-hq/career-ops/issues/3874)) ([51a45d9](https://github.com/career-ops-hq/career-ops/commit/51a45d9c3802b0d8ab0de052dc723b2afd33df06))
Related Repositories
openclaw/openclaw★ 392,722
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,094
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 360,596
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,877
The open source coding agent.
n8n-io/n8n★ 208,283
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.