Skip to content

Commit 7509f87

Browse files
committed
chore: finalize repo polish and reproducibility docs
Add contributing guidance and reproducibility notes, add a CLI script entrypoint, and remove tracked OS metadata files for cleaner repository hygiene. Made-with: Cursor
1 parent 3ba2e5b commit 7509f87

5 files changed

Lines changed: 62 additions & 0 deletions

File tree

‎CONTRIBUTING.md‎

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Contributing to NCG
2+
3+
Thanks for your interest in improving NCG.
4+
5+
## Development Setup
6+
7+
```bash
8+
git clone https://github.com/rsd-darshan/NCG.git
9+
cd NCG
10+
pip install -e ".[dev]"
11+
```
12+
13+
## Running Tests
14+
15+
Run the fast unit-test suite (same policy as CI):
16+
17+
```bash
18+
pytest -q tests -m "not integration"
19+
```
20+
21+
Run all tests including dataset-dependent integration tests:
22+
23+
```bash
24+
pytest -q tests
25+
```
26+
27+
## CI Behavior
28+
29+
GitHub Actions runs tests on Python 3.9 and 3.11.
30+
Tests marked `integration` are excluded in CI because they require dataset downloads.
31+
32+
## Reproducibility Guidance
33+
34+
- Always report the seed list you used.
35+
- Prefer multiple-seed summaries rather than single-seed claims.
36+
- Keep final tables in `results*/results_table.csv`.
37+
38+
## Code Style
39+
40+
- Keep modules small and focused.
41+
- Add tests for behavior changes.
42+
- Avoid committing local environment files (`.venv*`, `.DS_Store`) or checkpoints.

‎README.md‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,23 @@ python scripts/main.py --benchmark split_cifar10 --seeds 42 43 44 45 46 47 48 49
173173

174174
CI note: GitHub Actions runs unit tests on Python 3.9/3.11, excluding `integration` tests that require dataset downloads.
175175

176+
Results policy: this repository tracks curated result tables/figures used in the README, while large training artifacts (checkpoints, raw dumps) are ignored.
177+
178+
## Reproducibility
179+
180+
- Environment: Python 3.9+ and PyTorch 2.0+.
181+
- Determinism: set a fixed seed via `ncg.set_seed(seed)` and run multiple seeds for robust reporting.
182+
- Suggested command:
183+
184+
```bash
185+
python scripts/main.py --benchmark split_cifar10 --seeds 42 43 44 45 46
186+
```
187+
188+
- Output locations:
189+
- `results/results_table.csv`
190+
- `results_cifar10/results_table.csv`
191+
- `results*/figures/`
192+
176193
## Convergence Diagnostics
177194

178195
```python

‎pyproject.toml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ Homepage = "https://github.com/rsd-darshan/NCG"
4444
Repository = "https://github.com/rsd-darshan/NCG"
4545
Issues = "https://github.com/rsd-darshan/NCG/issues"
4646

47+
[project.scripts]
48+
ncg-run = "scripts.main:main"
49+
4750
[tool.setuptools.packages.find]
4851
where = ["."]
4952
include = ["ncg*"]

‎results/.DS_Store‎

-6 KB
Binary file not shown.

‎results_cifar10/.DS_Store‎

-6 KB
Binary file not shown.

0 commit comments

Comments
 (0)