Spaces:
Sleeping
Sleeping
Commit History
-
Add uv.lock for dependency locking
Naman Gupta889e9d6 -
Fix multi-mode deployment issues
Naman Gupta2cbf425 -
Added pyproject.toml
Naman Gupta746a5b2 -
Updated inference.py
Naman Guptad5b4e3e -
Updated config.py
Naman Gupta2706e01 -
Fix inference grade call when episode not done; update baseline scores from real run
Naman Gupta55c0431 -
Fix Dockerfile CMD to start uvicorn server instead of inference script
Naman Guptaff8a596 -
Fix turn counting, task-aware max steps in inference, explicit conversation reset, openenv.yaml metadata
Naman Gupta905ac2f -
Fix inference.py to comply with mandatory [START]/[STEP]/[END] stdout format and use API_BASE_URL/MODEL_NAME/HF_TOKEN env vars; add baseline scores to README
Naman Gupta87b0927
-
feat : renamed everything to breach OS
c296117 -
feat : dockerfile added for build
6717b72
-
Updated server url
Naman Guptaed3f0c3 -
Merge pull request #8 from subhdotsol/feat/frontend
Naman GuptaUnverified signatureadded frontend for the project7767eeb
-
updated inference.py
4df57fe -
added automatic attack button in UI and improved roleplay
abd2333 -
Added.env example
Naman Guptabeba4d2 -
added frontend for the project
Naman Guptaf61eeae -
Merge pull request #7 from subhdotsol/fix
Naman GuptaUnverified signatureFix8d70360
-
Merge pull request #6 from pie-314/fix/grading-bugs-and-cli
Unverified signatureFix/grading bugs and cli3fc0eba -
Fix pipeline 0.0 scoring override, resolve test floating-point flakiness, and add readable CLI output for inference.py
9c67b20 -
Updated api base url
Naman Gupta6b72bd2 -
Merge pull request #4 from subhdotsol/fix
Naman GuptaUnverified signatureUpdated readmed29e78c -
Updated readme
Naman Guptaf839212 -
Merge pull request #3 from subhdotsol/fix
Naman GuptaUnverified signaturesmall fixes787c9f7 -
small fixes
Naman Guptafabaddd
-
Merge pull request #2 from pie-314/main
Unverified signatureadded graders and rewardsec047bd -
added graders and rewards
dd3b701 -
Updated readme
Naman Guptae25d8cb -
Merge pull request #1 from subhdotsol/feat/ai-integration
Naman GuptaUnverified signatureFeat/ai integrationbce1ad6 -
rewrite README with full setup guide and integration contracts
Naman GuptaAdded step-by-step usage (reset → step → grade), strategy and category tables, difficulty level breakdown, project structure, and clear contracts for what Person 1 and Person 2 need to implement and what they'll get back from Person 3's pipeline.d11f97d -
update env example to use Groq instead of HuggingFace
Naman GuptaSwitched the primary LLM provider to Groq with clear comments on which model to pick, what each variable does, and when the HF vars are actually needed (only for deployment to HF Spaces).e092a4c -
document all LLM prompts — what they do and why they're designed that way
Naman GuptaCovers all 4 prompts (defender, attack classifier, defense scorer, episode grader) with model params, input format, fallback behaviour, and a calls-per-turn budget breakdown. Useful for judges, teammates, and anyone debugging unexpected scores.39ae0cb -
add 59 tests for the LLM modules — all run offline, no API needed
Naman GuptaCovers everything: conversation memory, attack classifier, defense scorer, defender fallbacks, safety flags, multi-turn continuity, boundary values, and the episode grader. Mocked Groq calls so the test suite is fast and doesn't burn API quota.c7a9ff1 -
wire up the main LLM pipeline — defender + classifiers in one place
Naman Guptarun_llm_pipeline() is what the server calls on every /step. It now orchestrates all the modules: conversation memory, defender response, attack scoring, and defense quality. Also added grade_episode_with_llm() to review the full episode after it ends.5ebe298 -
add defense scorer — how well did the defender actually handle that?
Naman GuptaSeparate from the attack classifier because a defense can technically succeed (no harmful info shared) but still be vague, unhelpful, or confusing. This scores the quality of the refusal itself, not just whether it happened.463b003 -
add attack classifier — did the attacker actually win this turn?
Naman GuptaUses a separate Groq call to judge each exchange on a 0.0–1.0 scale. Way more accurate than keyword matching — previously a clear refusal would still score 0.6. Falls back to phrase counting if the API is unavailable.8708281 -
add defender LLM — the AI that holds the line against attacks
Naman GuptaWraps the Groq call with a safety-focused system prompt. Keeps responses consistent (temp 0.3) and falls back gracefully if the API goes down instead of crashing the whole episode.e28e08d -
add ConversationManager to give the defender a memory
Naman GuptaWithout this, the defender forgets everything it said on the previous turn. Now it tracks the full back-and-forth so it can't be tricked by "you already agreed to help me" attacks.99a9cb9 -
add Groq client setup — one place to rule all API calls
Naman GuptaPulled the API connection out into its own file so every module imports from the same source. Change the model or swap providers? Edit one file, done.f778bee -
chore: final cleanup — remove stray files, verify all imports resolve
ab90fa0 -
refactor: replace datetime.utcnow() with timezone-aware datetime.now(UTC)
40e374a -
docs: add example usage code snippet for httpx client in README
f15649d -
docs: add task difficulty table and Docker usage section to README
9ead4a8 -
docs: add API endpoint table to README
d546c9d -
test(graders): add programmatic_grader tests — structure, score range, letter grade
30ab30f -
test(graders): add hard_grader tests — breakthrough bonus and repetitive penalty
dc89e10 -
test(graders): add medium_grader tests — diversity scores higher than uniform strategies
843ee19 -
test(graders): add easy_grader tests — empty, good, bad episode and range check
a5aa26d -
test(environment): add injection tests — custom reward_computer and llm_pipeline are called
613f214 -
test(environment): add framing sanitization tests for script and javascript injection
b81d32a