Commit History

feat(rewards): add RewardComputer wrapper class with __call__ and reset() for injection
a8b148d

subhdotsol commited on

feat(rewards): add reset_scorer() stub for novelty scorer reset between episodes
6e3f9a2

subhdotsol commited on

feat(rewards): add compute_rewards() stub with correct return shape for Person 2
d683d9b

subhdotsol commited on

chore(rewards): add rewards package __init__.py
62b425a

subhdotsol commited on

feat(graders): add letter grade, summary and full metrics dict to grade_episode()
081c6ca

subhdotsol commited on

feat(graders): implement all 5 scoring components in programmatic_grader
0b1e995

subhdotsol commited on

feat(graders): add programmatic_grader scaffold and grade_episode() signature
c5c7c2a

subhdotsol commited on

feat(graders): add breakthrough bonus and repetitive strategy penalty to hard_grader
22f020e

subhdotsol commited on

feat(graders): implement hard_grader β€” novelty + success + strategy + category scoring
7cad35c

subhdotsol commited on

feat(graders): add hard_grader scaffold with interface
0785e05

subhdotsol commited on

feat(graders): implement medium_grader β€” 70% success rate + 30% strategy diversity
254a621

subhdotsol commited on

feat(graders): add medium_grader scaffold with interface
deef219

subhdotsol commited on

feat(graders): add 0.0-1.0 clamp and round to easy_grader output
4664ce2

subhdotsol commited on

feat(graders): implement easy_grader β€” pure attack success rate scoring
90fb130

subhdotsol commited on

feat(graders): add easy_grader scaffold with docstring and interface
5abe068

subhdotsol commited on

chore(graders): add graders package __init__.py
01ee947

subhdotsol commited on

feat(app): add POST /grade endpoint with active-episode guard and programmatic grader
f5810e8

subhdotsol commited on

feat(app): add GET /history endpoint β€” returns full attack_history list
7d5c46d

subhdotsol commited on

feat(app): add GET /state endpoint β€” returns current EpisodeState snapshot
fc70913

subhdotsol commited on

feat(app): add POST /step endpoint β€” executes one attack turn, returns StepResult
202f5d9

subhdotsol commited on

feat(app): add POST /reset endpoint β€” starts new episode, returns ResetResponse
0e662d7

subhdotsol commited on

feat(app): add GET /health endpoint for HuggingFace Spaces liveness probe
574fde3

subhdotsol commited on

feat(app): wire RewardComputer and run_llm_pipeline into environment on startup
b0ac794

subhdotsol commited on

feat(app): add lifespan hook β€” creates RedTeamEnvironment on startup
37ab50f

subhdotsol commited on

feat(app): add CORS middleware β€” allow all origins for Spaces compatibility
a3c4cc9

subhdotsol commited on

feat(app): scaffold FastAPI app with title, version and lifespan hook
f183aea

subhdotsol commited on

feat(environment): add get_history() β€” returns copy of attack_history
35c659c

subhdotsol commited on

feat(environment): add get_state() β€” synchronous EpisodeState snapshot
db1fcf1

subhdotsol commited on

feat(environment): build and return StepResult with full observation
4ec98de

subhdotsol commited on

feat(environment): add termination logic β€” max_turns, attack_success, safety_flagged
348c096

subhdotsol commited on

feat(environment): append turn data to attack_history after each step
1d7a191

subhdotsol commited on

feat(environment): integrate reward_computer call in step() with mock fallback
333177f

subhdotsol commited on

feat(environment): integrate llm_pipeline call in step() with mock fallback
c6ae20e

subhdotsol commited on

feat(environment): add conversation history builder from last 5 attack turns
8fa387f

subhdotsol commited on

feat(environment): add step() skeleton with active episode guard
6a29bd4

subhdotsol commited on

feat(environment): call reward_computer.reset() in reset() to clear novelty scorer
348c725

subhdotsol commited on

feat(environment): implement reset() β€” zeros state and generates new episode_id
e4d4c65

subhdotsol commited on

feat(environment): add set_llm_pipeline() injection method for Person 3
d289b48

subhdotsol commited on

feat(environment): add set_reward_computer() injection method for Person 2
061383a

subhdotsol commited on

feat(environment): scaffold RedTeamEnvironment class with state fields
b8bc48b

subhdotsol commited on

feat(config): add get_settings() with lru_cache for singleton pattern
d44c135

subhdotsol commited on

feat(config): add LLM fields β€” hf_token, api_base_url, model_name, provider
5389086

subhdotsol commited on

feat(config): add Settings class extending pydantic BaseSettings
5726faa

subhdotsol commited on

chore(server): add server package __init__.py
625ed28

subhdotsol commited on

refactor(models): clean up imports and add module docstring
c651e61

subhdotsol commited on

feat(models): add StepResult and ResetResponse models
f15e9b2

subhdotsol commited on

feat(models): add EpisodeState model for GET /state response
04130ef

subhdotsol commited on

feat(models): add RedTeamObservation model with all scoring fields
4b08451

subhdotsol commited on

feat(models): add framing sanitizer validator to strip injection patterns
7532e50

subhdotsol commited on

feat(models): add AttackAction model with intensity and framing fields
e090821

subhdotsol commited on