qtzx06 commited on
Commit
165e54c
·
1 Parent(s): f8ef003

chore: add project scaffolding

Browse files
.gitignore ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ __pycache__/
2
+ .DS_Store
3
+ .pytest_cache/
4
+ .venv/
5
+ build/
6
+ dist/
7
+ outputs/
8
+ *.egg-info/
9
+ *.pyc
10
+
README.md ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 0x960
2
+
3
+ 0x960 is an OpenEnv-oriented environment where a model improves a minimal Chess960 engine by editing a bounded evaluation file and getting rewarded by match outcomes.
4
+
5
+ ## repo layout
6
+
7
+ - `docs/`: concept, architecture, and scope docs
8
+ - `src/zero960/`: shared engine and episode runtime logic
9
+ - `src/zero960_env/`: OpenEnv-facing models, server, and client
10
+ - `train/`: minimal TRL/Colab-oriented training entrypoints
11
+
12
+ ## current status
13
+
14
+ This repo currently contains a thin but functional skeleton:
15
+
16
+ - minimal Chess960 engine core
17
+ - workspace-based bounded file editing runtime
18
+ - OpenEnv wrapper scaffold
19
+ - minimal TRL rollout stub
20
+
21
+ ## next steps
22
+
23
+ 1. tighten the engine and reward harness
24
+ 2. validate the OpenEnv app structure against `0.2.1`
25
+ 3. add a small Colab notebook around the training stub
26
+ 4. deploy the server to HF Spaces
27
+
pyproject.toml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [build-system]
2
+ requires = ["hatchling>=1.27.0"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "zero960"
7
+ version = "0.1.0"
8
+ description = "OpenEnv-oriented Chess960 self-improvement environment"
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ dependencies = [
12
+ "chess>=1.11.2",
13
+ "fastapi>=0.115.0",
14
+ "httpx>=0.28.0",
15
+ "pydantic>=2.11.0",
16
+ "uvicorn>=0.34.0",
17
+ ]
18
+
19
+ [project.optional-dependencies]
20
+ train = [
21
+ "torch>=2.6.0",
22
+ "transformers>=4.52.0",
23
+ "trl>=0.19.0",
24
+ ]
25
+ openenv = [
26
+ "openenv>=0.2.1",
27
+ ]
28
+
29
+ [tool.hatch.build.targets.wheel]
30
+ packages = ["src/zero960", "src/zero960_env"]
31
+
src/zero960/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ """Core runtime and engine logic for 0x960."""
2
+
src/zero960/engine/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ """Chess960 engine primitives."""
2
+
src/zero960/runtime/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ """Episode runtime helpers."""
2
+
src/zero960/workspace_template/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ """Template workspace files copied into each episode."""
2
+
src/zero960_env/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ """OpenEnv-facing package for 0x960."""
2
+
src/zero960_env/server/__init__.py ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ """Server entrypoints for the OpenEnv deployment."""
2
+
train/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """Training entrypoints for local and Colab demos."""