Skip to content
View abhishekcpp007's full-sized avatar

Block or report abhishekcpp007

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
abhishekcpp007/README.md

Hi, I'm Abhishek 👋

AI Engineer · RL environments and LLM evaluation · Python, Docker, AWS

I build the environments that LLM coding agents train and get graded in. My day job is turning real merged GitHub pull requests into reproducible Docker tasks with hidden tests, then checking that agents actually solve them instead of gaming the grader. I've shipped 2,000+ of these environments and 2,000+ agent trajectories for SFT and RL post-training.

I'm open to AI engineer, LLM eval and Python backend roles, remote or relocation.

LinkedIn Email LeetCode


🤝 Open-source contributions

I read the code of LLM eval and interpretability libraries I use, find real bugs, and send fixes with regression tests. Every one of these started as a bug I hit or spotted myself.

Merged PRs Open PRs Issues

Project ⭐ PR Status What I fixed
SAELens
decoderesearch
1.6k #776 status random_firing_probabilities built a fresh torch.Generator(), which starts from a fixed seed, so unseeded calls returned identical probabilities every time
delphi
EleutherAI
280 #192 status split_quantiles floored the per-quantile count, so 25 samples over 10 quantiles gave 20, and fewer samples than quantiles gave 0 with no warning
nnsight
ndif-team
1.1k #800 status Reassembling a multi-invoke .skip() lost the container type: namedtuple outputs raised TypeError and ModelOutput/OrderedDict came back as plain dicts
TransformerLens
TransformerLensOrg
4k #1965 status Eval helpers hardcoded "cuda", which crashed on CPU and Apple MPS machines
lighteval
huggingface
2.6k #1465 status The LiveCodeBench sandbox's fake stdout had no binary buffer, so correct solutions were graded as wrong
sparsify
EleutherAI
740 #146 status handle_arg_string used str.isnumeric(), so -5 silently became -5.0 and Unicode numerals like ½ crashed

Bug reports


🏗️ Gauntlet: leak-free RL environments from fresh GitHub PRs

My main open-source project. It mines PRs merged after a model's cutoff, rebuilds each repo at the base commit in Docker, and grades agents the way SWE-bench style benchmarks do. Then it tries hard to cheat its own grader.

Repo What it does
gauntlet-harness The core. PR mining, 3-run F2P/N2P/S2P/P2P test classification, an 8-check leak scan, rubric judging, a Gymnasium env (gauntlet/SWE-v0) and exports for SWE-bench, SFT, GRPO and DPO
gauntlet-cheatcatcher 11 reward-hacking rules that flag test tampering, conftest tricks and hardcoded outputs
gauntlet-repo2env Turns a repo into env images and SWE-style tasks, with grading hardened against test edits
gauntlet-sandbox Docker sandboxes that record every agent step as a trajectory
gauntlet-timemachine Replay, branch and diff trajectories, plus an HTML viewer
gauntlet-arena FastAPI app where a human and an AI agent race on the same task, with a leaderboard
gauntlet Umbrella repo. One docker compose up runs the whole thing

Gauntlet Live (Nov 2026): 53 verified tasks out of 186 PRs across 10 repos. The oracle solves 53/53 and the cheater policies get caught 53/53. Red-teaming my own grader found a "stealth" cheat that scored 7/10, so I rebuilt the canary tests until it dropped to 0/60. CI runs a nightly calibration on random tasks.


🧰 Tech I use

Daily: Python · Docker · pytest · Git · AWS (ECR, S3, Lambda, Glue) · Linux · GitHub Actions

LLM and RL: Claude, GPT and GLM APIs · LLM-as-judge · Hugging Face · PyTorch · Terminal-Bench / Harbor · Multi-SWE-bench · LangChain

Backend and data: FastAPI · PostgreSQL · Redis · SQL · Snowflake · ETL pipelines


💼 Experience

  • Ethara AI (via Quess Corp) · Software Engineer, RL Environments and Evaluation · 2026 to now
  • NavAdr Technologies · Software Engineer (Data) · 2025 to 2026. Python ETL into Snowflake, 200K+ records a day
  • GlobalLogic · Associate Analyst · 2024 to 2025. CI/CD with Docker and GitHub Actions on AWS

🎮 Side projects

Pinned Loading

  1. gauntlet gauntlet Public

    One docker compose up for the whole Gauntlet stack: mine fresh GitHub PRs into RL tasks, run agents, catch cheats

    Shell

  2. gauntlet-arena gauntlet-arena Public

    FastAPI arena where a human and an AI coding agent race on the same task, with a SQLite leaderboard

    Python

  3. gauntlet-cheatcatcher gauntlet-cheatcatcher Public

    11 reward-hacking detectors for coding agents: test edits, conftest tricks, hardcoded outputs and more

    Python

  4. gauntlet-harness gauntlet-harness Public

    Leak-free RL environments from freshly merged GitHub PRs, judged on F2P/N2P/S2P/P2P tests and rubrics

    Python

  5. gauntlet-repo2env gauntlet-repo2env Public

    Turn a GitHub repo into Docker env images and SWE-style tasks, with grading hardened against test tampering

    Python

  6. quizbuzz-night quizbuzz-night Public

    Live multiplayer trivia buzzer. 2 to 8 players join by room code from their own phones, no login.

    HTML