feat(rewards): add RewardComputer wrapper class with __call__ and reset() for injection a8b148d subhdotsol commited on Apr 1
feat(rewards): add reset_scorer() stub for novelty scorer reset between episodes 6e3f9a2 subhdotsol commited on Apr 1
feat(rewards): add compute_rewards() stub with correct return shape for Person 2 d683d9b subhdotsol commited on Apr 1
feat(graders): add letter grade, summary and full metrics dict to grade_episode() 081c6ca subhdotsol commited on Apr 1
feat(graders): implement all 5 scoring components in programmatic_grader 0b1e995 subhdotsol commited on Apr 1
feat(graders): add programmatic_grader scaffold and grade_episode() signature c5c7c2a subhdotsol commited on Apr 1
feat(graders): add breakthrough bonus and repetitive strategy penalty to hard_grader 22f020e subhdotsol commited on Apr 1
feat(graders): implement hard_grader β novelty + success + strategy + category scoring 7cad35c subhdotsol commited on Apr 1
feat(graders): implement medium_grader β 70% success rate + 30% strategy diversity 254a621 subhdotsol commited on Apr 1
feat(graders): add 0.0-1.0 clamp and round to easy_grader output 4664ce2 subhdotsol commited on Apr 1
feat(graders): implement easy_grader β pure attack success rate scoring 90fb130 subhdotsol commited on Apr 1
feat(graders): add easy_grader scaffold with docstring and interface 5abe068 subhdotsol commited on Apr 1
feat(app): add POST /grade endpoint with active-episode guard and programmatic grader f5810e8 subhdotsol commited on Apr 1
feat(app): add GET /history endpoint β returns full attack_history list 7d5c46d subhdotsol commited on Apr 1
feat(app): add GET /state endpoint β returns current EpisodeState snapshot fc70913 subhdotsol commited on Apr 1
feat(app): add POST /step endpoint β executes one attack turn, returns StepResult 202f5d9 subhdotsol commited on Apr 1
feat(app): add POST /reset endpoint β starts new episode, returns ResetResponse 0e662d7 subhdotsol commited on Apr 1
feat(app): add GET /health endpoint for HuggingFace Spaces liveness probe 574fde3 subhdotsol commited on Apr 1
feat(app): wire RewardComputer and run_llm_pipeline into environment on startup b0ac794 subhdotsol commited on Apr 1
feat(app): add lifespan hook β creates RedTeamEnvironment on startup 37ab50f subhdotsol commited on Apr 1
feat(app): add CORS middleware β allow all origins for Spaces compatibility a3c4cc9 subhdotsol commited on Apr 1
feat(app): scaffold FastAPI app with title, version and lifespan hook f183aea subhdotsol commited on Apr 1
feat(environment): add get_history() β returns copy of attack_history 35c659c subhdotsol commited on Apr 1
feat(environment): add get_state() β synchronous EpisodeState snapshot db1fcf1 subhdotsol commited on Apr 1
feat(environment): build and return StepResult with full observation 4ec98de subhdotsol commited on Apr 1
feat(environment): add termination logic β max_turns, attack_success, safety_flagged 348c096 subhdotsol commited on Apr 1
feat(environment): append turn data to attack_history after each step 1d7a191 subhdotsol commited on Apr 1
feat(environment): integrate reward_computer call in step() with mock fallback 333177f subhdotsol commited on Apr 1
feat(environment): integrate llm_pipeline call in step() with mock fallback c6ae20e subhdotsol commited on Apr 1
feat(environment): add conversation history builder from last 5 attack turns 8fa387f subhdotsol commited on Apr 1
feat(environment): add step() skeleton with active episode guard 6a29bd4 subhdotsol commited on Apr 1
feat(environment): call reward_computer.reset() in reset() to clear novelty scorer 348c725 subhdotsol commited on Apr 1
feat(environment): implement reset() β zeros state and generates new episode_id e4d4c65 subhdotsol commited on Apr 1
feat(environment): add set_llm_pipeline() injection method for Person 3 d289b48 subhdotsol commited on Apr 1
feat(environment): add set_reward_computer() injection method for Person 2 061383a subhdotsol commited on Apr 1
feat(environment): scaffold RedTeamEnvironment class with state fields b8bc48b subhdotsol commited on Apr 1
feat(config): add get_settings() with lru_cache for singleton pattern d44c135 subhdotsol commited on Apr 1
feat(config): add LLM fields β hf_token, api_base_url, model_name, provider 5389086 subhdotsol commited on Apr 1
feat(config): add Settings class extending pydantic BaseSettings 5726faa subhdotsol commited on Apr 1
feat(models): add RedTeamObservation model with all scoring fields 4b08451 subhdotsol commited on Apr 1
feat(models): add framing sanitizer validator to strip injection patterns 7532e50 subhdotsol commited on Apr 1
feat(models): add AttackAction model with intensity and framing fields e090821 subhdotsol commited on Apr 1