A FastAPI host that runs YAML agent workflows with human gates. Swappable agents; includes a resume-tailoring module.
- Workflow runner and module registry
- Stateless tools plus one folder per agent
- YAML modules (steps, gates, inputs/outputs)
- HTTP API: health, list modules, invoke, resume after a gate
Builders who want a small orchestration host instead of a full agent platform. Resume tailoring is one bundled workflow, not the whole product.
- core/ — Orchestration engine, agent runner, routing, module registry
- tools/ — Stateless shared utilities (echo stub; embeddings, web fetch, etc. in later phases)
- agents/ — One folder per agent: prompt + config; referenced by modules
- modules/ — Workflow definitions (YAML): steps, gates, inputs/outputs
- store/ — Persistent data (artifacts, vector indexes)
- api/ — FastAPI app: health, list modules, invoke workflow, resume after gate
pip install -e .
uvicorn api.main:app --reload --host 127.0.0.1 --port 8000- GET /health — Health check
- GET /modules — List registered modules
- POST /workflow/invoke — Start a run:
{"module_id": "resume_tailoring", "payload": {"job_description": "...", "mode": "dev"}} - POST /workflow/resume — Resume after gate:
{"run_id": "...", "resume_after_gate": "selection_gate"} - POST /resume_tailoring/run — Convenience:
job_description=andmode=dev
Bind to 127.0.0.1 for local work. Use 0.0.0.0 only when you intend to expose the API on a network you control.
- Phase 1: Stub workflow (echo agent), core registry/runner/API.
- Phase 2: Artifact schema, JD intake, signal extraction, artifact retriever, rewrite, selection gate, dashboard.
- Phase 3: Extended signal map (team_culture, seniority_tells), persona injection, profile lock (ops cap for dev mode).
- Phase 4: Living graph (semantic_edges), vector index, retrieval v2, distribution checker, latent skills.
- Phase 5: Cover letter, consistency gate, evaluation (ATS, factual drift, entropy, narrative, skim), dashboard metrics.
- Phase 6: Hiring-manager pass, hybrid framing agents; risk controls and audit logging.
- Overfit to JD: Rewrite and cover letter agents never receive raw JD—only signal map.
- Resume mode bleed: Profile lock caps % of ops-tagged artifacts when mode=dev (
config/risk_controls.yaml, payloadmax_ops_pct). - Cover letter/resume mismatch: Consistency gate runs after cover letter; run fails if check does not pass.
- Audit: Dropped artifacts (profile lock) are logged in step output
_profile_lock_dropped.