Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.6.0] - 2026-10-10¶
Added¶
- HyDE Query Synthesis: Hypothetical Document Embeddings service (
HyDEService) synthesizing candidate profiles before dense vector retrieval to eliminate query-resume terminology mismatch (ADR-019). - Hierarchical Parent-Document Chunking: Implemented
ParentDocumentServiceand thread-safe in-memoryParentDocumentStore, linking 150–250 token child chunks in ChromaDB to 1,000–1,500 character parent section blocks to eliminate context fragmentation during dual-rubric screening. - Air-Gapped Local Inference Engine: Turnkey local inference service (
LocalInferenceService) supporting Ollama and vLLM daemons via OpenAI-compatible endpoints with automated health probing for zero-cloud sovereign privacy deployments. - Pre-Retrieval Faceted Metadata Constraints: Implemented
FacetedFilterpruning candidates by experience years, education levels, and must-have skills with dynamic generative taxonomy expansions before hybrid scoring. - Architecture Diagram as Code: Published publication-grade architecture diagram (
hyde_parent_doc_rag.png) generated programmatically via Mingrammerdiagrams. - ADR-019: Published formal architecture decision record for advanced RAG architecture, parent-document chunking, and air-gapped local inference.
- Test Suite Expansion: Added 13 new unit and integration tests across HyDE, parent-document chunking, faceted filtering, and local inference daemons (140 tests total, 100% green pass rate).
Fixed¶
- Security Finding 6 (Stateless Credential Hygiene): Decoupled API keys from
AgentStatein node model factories, logging deprecation warnings and prioritizing runtimeRunnableConfig["configurable"]credentials. - Heading Anchor Rendering: Fixed attribute list heading syntax in
docs/CONVENTIONS.mdto render cleanly in standard markdown viewports.
[1.5.0] - 2026-10-09¶
Added¶
- Calibrated Margin-Based Intent Routing: Sub-2ms direct routing for high-confidence queries (\(\Delta \ge 0.12\)) at $0 token cost, with structured SLM escalation on ambiguity (ADR-018).
- Native LangGraph 1.x Command Traversal: Migrated workflow nodes to native
Command(goto=target, update={...})primitives with destination routing, eliminating conditional edge boilerplate. RoutingCommandBackward Compatibility: SubclassedCommandwith mapping interfaces to maintain 100% test fixture compatibility.- Parallel Dual-Rubric Structured Evaluation: Replaced sequential debate loops with concurrent structured scoring (Technical Architecture 60% + Domain Fit 40%) aggregated deterministically in ~1.2s.
- Modular Typed Subgraphs: Decomposed pipeline into isolated subgraphs (
JDAnalyzerSubgraph,TalentRetrievalSubgraph,DeepScreeningSubgraph,SynthesisSubgraph) inagent/subgraphs.py. - ADR-018: Published formal record on calibrated margin routing, native commands, and dual-rubric subgraphs.
- Test Suite: Expanded automated test suite to 127 tests (+11 tests covering margin gates, subgraphs, and dual-rubric evaluation).
[1.4.0] - 2026-09-29¶
Added¶
- Layout-Aware Section Document Parsing: PyMuPDF visual bounding block parsing for PDF, paragraph hierarchy for DOCX, and regex boundary analysis for TXT resumes, normalizing sections without mid-sentence truncation.
- Anthropic Contextual Retrieval Prepending: Prepends 50–80 word metadata banners to chunks before embedding and BM25 indexing while preserving clean candidate text for UI rendering.
- Two-Stage Cross-Encoder Reranking: Integrated
cross-encoder/ms-marco-MiniLM-L-6-v2with Sigmoid calibration and Reciprocal Rank Fusion (RRF) for joint query-candidate attention (ADR-017). - In-Memory Store Cloud Fallback: Built pure NumPy
InMemoryVectorStorefallback conforming toBaseVectorStoreprotocol for serverless/ephemeral container runtimes. - License Migration: Updated project license to Apache License 2.0.
[1.3.0] - 2026-09-28¶
Added¶
- Modular Presentation Layer: Decomposed monolithic
app.pyinto a<75-LOCconductor and testablesrc/agentic_profile_matching/ui/components. - Typewriter Response Streaming: Integrated
st.write_stream()token generator for fluid real-time chat output and dynamic execution status tracking. - Headless FastAPI Gateway Sidecar: Added decoupled ASGI sidecar (
api/) exposing REST endpoints (/jobs/extract,/candidates/match) and Server-Sent Events (SSE) streaming. - API & UI Test Suites: Added unit and integration tests for UI components and FastAPI routes.
[1.2.1] - 2026-09-13¶
Changed¶
- Zero-Scroll Sidebar: Compacted profile statistics and layout margins to ensure constraints editor is fully visible above the fold.
- Batched Vector Ingestion: Accelerated cold-start indexing by ~10x using batched encoding and upserts.
- Path Resolution: Hardened path discovery across
config.pyfor automated directory detection on cold boots. - Web Search Integration: Added optional Tavily API key configuration with automatic DuckDuckGo fallback.
[1.2.0] - 2026-09-12¶
Added¶
- Zero-Disk In-Memory Resume Ingestion: Implemented stream-based parsing (
io.BytesIO) without writing candidate files to disk (ADR-016). - Session-Scoped Ephemeral PII Isolation: Integrated
CompositeVectorStorelayering persistent baseline vectors with session-isolated in-memory collections (chromadb.EphemeralClient). - Dynamic Generative Skill Expansion: LLM-driven skill synonym generation replacing static taxonomies, with exact token word-boundary matching (ADR-013).
- LLM-Driven Intent Routing & Caching: Structured zero-shot intent classifier with dynamic anchor synthesis and sub-millisecond query cache (ADR-009).
- Anti-XSS Output Sanitization: Applied
html.escape()to candidate fields rendered in UI templates.
Security¶
- Stateless Credential Isolation: Removed API keys and secrets from serialized
AgentState, injecting them strictly viaRunnableConfig(ADR-011). - Copy-on-Write State Immutability: Enforced functional dictionary updates in graph nodes to prevent state mutation during retries (ADR-012).
[1.1.0] - 2026-08-30¶
Added¶
- Multi-Provider LLM Gateway: Added unified model provider registry with Sarvam AI (
sarvam-105b), Groq, Gemini, and OpenAI support (ADR-010). - Schema-Enforced Outputs: Added Pydantic V2 structured outputs and multi-tier JSON auto-repair for LLM tool invocations.
[1.0.0] - 2026-08-12¶
Added¶
- Multi-Factor Hybrid Candidate Scoring: Min-max normalized dense cosine similarity, BM25Okapi lexical retrieval, and qualification satisfaction ratio (ADR-008).
- Grounded Recommendation Hierarchy: Deterministic candidate screening status hierarchy enforcing mandatory safety guardrails.
- ADR Catalog: Published formal Architecture Decision Records ADR-001 through ADR-008.
[0.9.0] - 2026-08-11¶
Added¶
- Enterprise Observability & Tracing: Structured single-line JSON logging and
@trace_nodelatency instrumentation supporting Langfuse and OpenTelemetry (ADR-007). - RAG Evaluation Benchmarks: Ground-truth benchmark suite evaluating Retrieval Recall@K, Mean Reciprocal Rank (MRR), and response faithfulness.
[0.8.0] - 2026-08-06¶
Added¶
- Pluggable Vector Store Protocol: Introduced
BaseVectorStorestructural protocol with ChromaDB and Qdrant implementations (ADR-003). - BM25 Corpus Caching: Sparse matrix index caching with MD5 fingerprint validation (ADR-004).
- Idempotent Ingestion: Section-scoped deterministic chunk keys preventing collection bloat (ADR-005).
- Asynchronous Task Queue: Celery workers with Redis 7 message broker and Docker Compose orchestration (ADR-006).
- Ingestion Service: Decoupled document processing from transport gateways.
[0.7.0] - 2026-07-30¶
Changed¶
- Refactored monolithic agent script into decoupled
agent/package (state.py,prompts.py,nodes.py,routers.py). - Integrated Ruff linter and formatter into pre-commit and CI workflows.
[0.6.0] - 2026-07-29¶
Added¶
- Model Context Protocol (MCP) Dual Gateway: FastMCP filesystem and search servers operating over
stdioJSON-RPC 2.0 with local in-process toggle (ADR-001).
[0.5.0] - 2026-07-28¶
Added¶
- Created engineering conventions (
CONVENTIONS.md) and contributing guidelines (CONTRIBUTING.md).
[0.4.0] - 2026-07-26¶
Added¶
- Core candidate evaluation tools for requirement extraction, comparison matrix, and interview question generation.
[0.3.0] - 2026-07-25¶
Added¶
- Initial Streamlit recruiter interface with dual-pane chat and shortlist inspection.
[0.2.0] - 2026-07-24¶
Added¶
- Synthetic candidate resume dataset generator and hybrid semantic-BM25 matcher.
[0.1.0] - 2026-07-22¶
Added¶
- Initial project scaffolding and foundational LangGraph agent state machine.