Spaces:
Configuration error
CommitGuard - Project Context & Instructions
This file provides the foundational context and operational mandates for the CommitGuard project, a Meta OpenEnv RL environment for commit-time vulnerability detection.
Project Overview
CommitGuard is a specialized RL environment designed to train LLM agents (primarily Llama-3.2-3B-Instruct) to identify exploitable vulnerabilities in single-file code commits. It uses Reinforcement Learning from Verifiable Rewards (RLVR), where rewards are grounded in dataset truth (Devign) rather than LLM judgment.
- Goal: Close the asymmetry between AI-paced code generation and human-paced security review.
- Core Framework: Meta OpenEnv (v0.2.3+).
- Training Algorithm: GRPO via TRL + Unsloth.
- Dataset: Preprocessed Devign (C-based commits, <80 LOC).
Building and Running
Environment Server
The server is built with FastAPI and can be run locally or via Docker.
- Install:
pip install -e . - Run Local:
server(Runs onhttp://localhost:8000) - Run Docker:
docker build -t commitguard . && docker run -p 8000:8000 commitguard - Health Check:
curl http://localhost:8000/health
Training & Evaluation
- Train (GRPO):
python scripts/train_grpo.py - Baseline Curve:
python scripts/run_and_plot_baseline.py --episodes 200 - Test:
pytest(Standard Python testing)
Development Conventions & Mandates
1. The "No-Leak" Rule (Critical)
The agent must NEVER see ground truth labels (is_vulnerable, cwe, etc.).
- Constraint: Observations and HTTP responses must never contain label fields.
- Verification:
tests/test_no_leak.pymust remain green at all times.
2. Action Format (XML-Tagged)
Models must emit actions in XML format to ensure robust parsing.
- Structure:
<action><action_type>...</action_type>...</action> - Types:
request_context,analyze,verdict.
3. Systematic Documentation (.agent/)
This project uses a structured .agent/ directory for internal state and contracts. Always consult these before changes:
.agent/project_context.md: Single source of truth for project state..agent/architecture.md: Technical contracts and schemas..agent/test_contracts.md: Merge-blocking requirements.
4. Deadline Operations (Hackathon Mode)
- Scope Freeze: Midnight Saturday IST. No new features after this point.
- Pivots: If technical blockers arise (e.g., OOM, slow queues), immediately use the pre-approved fallbacks documented in
prd.mdand.agent/project_context.md.
Directory Structure
commitguard_env/: Core environment logic, FastAPI server, and reward modeling.scripts/: Training entrypoints, preprocessing scripts, and GCE runbooks.data/: Dataset placeholders (devign_filtered.jsonl) and CWE mapping.plots/: Generated reward curves and performance artifacts.tests/: Smoke tests, reward validation, and leak detection..agent/: High-priority architectural and process documentation.
Key Endpoints
POST /reset: Initialize episode, returns diff + available files.POST /step: Submit XML action, returns{observation, reward, done, info}.GET /health: Server status.GET /state: Episode metadata (safe for agent logs).