Initial commit: matchmaking-v2 on-demand multi-board job-search agent

On-demand Scout service (replaces the nightly aggregator):
- FastAPI agent-mesh service; card name "matchmaking-service" (HTTP /a2a/tasks
  + Redis-stream worker matching the sibling-service pattern)
- run_search: parallel multi-board sweep (Naukri/blackfalcondata + Foundit +
  LinkedIn), city-filtered at the board, cheapest-per-result first
- per-board adapters + normalizers -> ScoutJob with rich read-only details and
  offsite apply links; recall mode + MVQ guard
- result cache for dev replay ($0); per-board cost knobs; retry-on-5xx
- research/: engine design, board cost economics, India-actor shortlist, POC
This commit is contained in:
raulgupta
2026-06-18 19:22:03 +05:30
commit 89ca9ad647
78 changed files with 4424 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
# matchmaking-v2 — copy to .env (git-ignored). On-demand: no corpus DB required.
ENV=development
LOG_LEVEL=INFO
API_PORT=8000
AGENT_URL=http://localhost:8006
# A2A bearer the orchestrator presents (match the mesh's shared key in prod)
A2A_ALLOWED_KEYS=dev-a2a-key
# Orchestrator comms (optional in dev — worker no-ops if unset/unreachable)
ORCHESTRATOR_REDIS_URL=
REDIS_URL=redis://localhost:6379/0
# Inputs / engine (wired in later slices)
APIFY_TOKEN=
OPENAI_API_KEY=
# QScore (consumed)
QSCORE_BASE_URL=http://localhost:8004
QSCORE_AUTH_TOKEN=
# Feedback/label store (NOT the old corpus) — optional until the learning loop
DATABASE_URL=