File size: 1,800 Bytes
3eae4cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Project Structure (Judge-Friendly)

This repository keeps runtime-critical files in their original paths for deployment safety.
No existing files were deleted.

## Top-Level Layout

- `app/` - core environment logic and FastAPI server
- `app/web/` - deployed React frontend assets served by backend at `/ui`
- `frontend/` - frontend ownership docs and reserved source folder for future split components
- `rl/` - reinforcement-learning wrappers, training, evaluation, configs
- `tests/` - deterministic unit/integration test suites
- `scripts/` - operational scripts (local run, validation, benchmark ladder)
- `docs/` - judge-facing documentation and phase notes
- `openenv.yaml` - OpenEnv manifest
- `inference.py` - OpenEnv inference entrypoint
- `baseline_openai.py` - CLI baseline workflow
- `Dockerfile` - deployment image

## Deployment-Critical Paths

- API app import path: `app.main:app`
- Frontend route: `/ui` (served from `app/web/index.html`)
- RL training entrypoint: `python -m rl.train_ppo`
- RL evaluation entrypoint: `python -m rl.evaluate`
- OpenEnv config: `openenv.yaml`

## Phase Mapping

- Phase 1: `rl/feature_builder.py`, `rl/action_mask.py`, `rl/gym_wrapper.py`, `rl/train_ppo.py`
- Phase 2: `rl/curriculum.py`, `rl/configs/curriculum.yaml`, `tests/test_curriculum.py`
- Phase 3: `rl/train_recurrent.py`, `rl/configs/recurrent.yaml`, `tests/test_rl_evaluate.py`
- Phase 3+: reserved in existing `rl/` module structure

## Judge Quick Navigation

1. Environment behavior: `app/env.py`, `app/reward.py`, `app/graders.py`
2. OpenEnv compliance + inference: `openenv.yaml`, `inference.py`
3. Frontend behavior: `app/web/react_app.js`, `docs/FRONTEND_WORKFLOW.md`
4. RL implementation: `rl/`
5. Validation: `tests/`, `scripts/validate_env.py`, `scripts/validate-submission.sh`