Skip to content

Releases: Darpan00720/career-intelligence-engine

v7.2.0 — Netherlands + Italy focus, English-only, Apify removed

Choose a tag to compare

@Darpan00720 Darpan00720 released this 25 Jun 10:17

Minor release. Two new search rules + Apify removal.

1. Geography — Netherlands + Italy only

  • GEO_COUNTRIES=it,nl (set by run_graph.py / .env) restricts search, ingestion, prefilter AND the Excel export to NL + IT (plus generic remote/Europe-wide). Germany/Spain/UK/France/etc. are dropped.
  • Whole-word matching ("roma" inside "Romania" no longer false-matches Italy) + Italian/Dutch provinces & administrative markers ("Provincia di", "Citta Metropolitana", Noord-Holland, ...), so e.g. "Cameri, Provincia di Novara" is correctly kept as Italy.
  • Code default is empty (legacy EU-wide) so pipeline tests stay valid — same convention as INTERN_ONLY / ENABLE_*.

2. Language — English-sufficient roles only

  • The eligibility language gate now strips HTML before matching and catches the "Italian (fluent)" word-order (e.g. Doctolib's "Italian (fluent) and English (fluent)"), which previously slipped through because HTML tags split the words. A mandatory non-English language => rejected; "a plus / preferred" => kept.
  • NON_ENGLISH_AUTO_REJECT is now env-driven (was hardcoded, ignoring .env) and drops JDs written in a non-English language.
  • The export re-runs the gate per row, so roles scored before the fix are also dropped from the dashboard.

3. Apify removed

  • agents/apify_search.py deleted; no imports remain; requirements.txt & .env.example Apify-free; code comments cleaned; docs updated (+ SUPERSEDED banner on the Phase-2 spec). Sourcing is now Adzuna API + native ATS APIs (Greenhouse/Lever/Ashby/SmartRecruiters) + career-site connectors.

Result: jobs_master.xlsx is NL+IT, intern-only, English-sufficient (Doctolib PM dropped for mandatory Italian; Novara role recovered). 1204 tests passing.

v7.1.3 — Intern-only filter

Choose a tag to compare

@Darpan00720 Darpan00720 released this 24 Jun 08:59

Patch on v7.1.2.

  • Intern-only mode (INTERN_ONLY=1, default): keeps ONLY internship / graduate-program / trainee roles; drops mid/senior roles (Product Manager, Senior PM, Analyst, Associate).
  • Applied in the prefilter, job_ingestion, AND the Excel export (so legacy non-intern rows already scored in the DB no longer appear).
  • Effect: jobs_master.xlsx went from 447 rows to 94, all internship/graduate.
  • 1199 tests passing.

v7.1.2 — Adzuna search + every-run pipeline

Choose a tag to compare

@Darpan00720 Darpan00720 released this 22 Jun 15:05

Patch on v7.1.1.

  • Adzuna source: official free REST API connector (aggregates LinkedIn/Indeed/company-site roles across EU countries — no scraping, no Apify). Enable with ADZUNA_APP_ID / ADZUNA_APP_KEY.
  • Search every run: run_graph.py now runs the full pipeline on every run with no opt-in — search -> filter -> score -> documents (>=80%) -> Excel.
  • Wired into both the graph and CLI search paths through the existing prefilter/score/export flow.
  • 1197 tests passing.

v7.1.1 — Intern-level seniority filter

Choose a tag to compare

@Darpan00720 Darpan00720 released this 22 Jun 14:33

Patch on v7.1.0.

  • Seniority filter: the graph pipeline now drops clearly-senior roles (senior/staff/lead/principal/director/VP/chief) so only internship/junior/entry roles are scored and shown. Intern/graduate signals override (e.g. "Senior … Internship" passes).
  • Applied in both the PreFilter node and job_ingestion (the read path used when acquisition is off).
  • Effect: scored set ~413 -> ~288; no Senior/Staff/Lead titles in matches.
  • 1195 tests passing.

v7.1.0 — Career Intelligence: multi-source search, PreFilter & observability

Choose a tag to compare

@Darpan00720 Darpan00720 released this 22 Jun 14:10

Built on v7.0.0.

  • Multi-source job search: Greenhouse, Lever, Ashby, SmartRecruiters, CareerSiteSource (JSON-LD/RSS); Apify (LinkedIn/Indeed/WTTJ) wired, off until verified actor ids.
  • PreFilter LangGraph node + lightweight checkpoint state (~110x smaller).
  • Observability: pipeline metrics, /api/v2/metrics/{funnel,scoring,acquisition}, and a /dashboard page.
  • Fix: nested candidate_profile.json schema mapping.
  • run_graph.py one-command runner.
  • VERSION bumped to 7.1.0.
  • 1193 tests passing.

v7.0.0 — LangGraph Coexistence Release

Choose a tag to compare

@Darpan00720 Darpan00720 released this 20 Jun 12:42

v7.0.0 — LangGraph Coexistence Release

Overview

v7.0.0 marks the completion of the LangGraph convergence initiative.

The repository has evolved from a read-only analysis overlay into a replay-safe, effect-capable graph execution engine that can coexist with the legacy pipeline while keeping full replacement as an intentionally deferred architectural option.

Highlights

LangGraph Capability Convergence

  • Added replay-safe, side-effect-capable LangGraph execution
  • Migrated all six legacy side-effect classes:
    • Acquisition
    • Score persistence
    • Research
    • Document generation
    • Export
    • Tracker updates
  • Introduced terminal-stage orchestration for optional stages

Security Hardening

  • API-key authentication
  • Tenant isolation enforcement
  • Tenant-aware LLM cache keys
  • Improved rate limiting
  • SQLite concurrency improvements
  • Worker-pool retry and termination fixes
  • CORS configuration support
  • Dependency pinning and documentation updates

Reliability Improvements

  • Real checkpoint/resume replay testing
  • Idempotency guarantees across all side-effect classes
  • Atomic document writes using temp-file + fsync + atomic replace
  • Extensive replay and security test coverage

Architecture Decision

Adopted operating model:

  • Legacy pipeline → Authoritative system of record
  • LangGraph → Opt-in execution engine
  • Replacement of the legacy orchestrator → Explicitly deferred

Validation

  • Test suite: 1,151 passed, 2 skipped
  • Replay safety validated through end-to-end checkpoint/resume tests
  • All convergence work documented in docs/CONVERGENCE.md

Status

Production-ready for coexistence mode.

Future work will focus on product capabilities and business value creation rather than architectural migration.

Career Intelligence Engine v6.0.0 – Planner-Driven DAG Orchestration Platform

Choose a tag to compare

@Darpan00720 Darpan00720 released this 18 Jun 13:39

Career Intelligence Engine v6.0.0

🚀 Highlights

  • Planner-driven DAG orchestration platform
  • Deterministic intent classification
  • Dynamic dependency-based routing
  • LangGraph checkpoint persistence
  • Semantic matching and recommendation engine
  • Opportunity intelligence and prioritization framework
  • Parallel execution infrastructure
  • Production-ready APIs and observability stack
  • Extensive documentation and architecture specifications
  • 1,101 automated tests passing

🏗️ Architecture Improvements

  • ExecutionPlan and Task schemas
  • Planner node with dependency resolution
  • Dynamic router supporting scoped execution plans
  • Supervisor completion tracking via completed_tasks reducer
  • Persistent checkpoints and resumable workflows
  • Modular agent runtime and orchestration framework

🧪 Quality Metrics

  • Total tests: 1,103
  • Passed: 1,101
  • Skipped: 2
  • Failures: 0

📦 Release Status

Production Ready ✅

This release establishes the foundation for planner-driven, dependency-aware, stateful AI workflow orchestration and advances the Career Intelligence Engine into a scalable multi-agent platform.