chore: enforce train vs README split, ignore SDFs, drop tracked trajectories.
Add pre-commit guard against staging train.py with README.md, document the two-commit workflow, gitignore *.sdf, and remove trajectory SDFs from the index so logs stay small. Made-with: Cursor
This commit is contained in:
@@ -16,7 +16,7 @@ This repository is intentionally pinned to CUDA 12.6 PyTorch wheels and matching
|
||||
|
||||
- Every attempt must update this README (append a short entry in `## Attempt Log`).
|
||||
- Attempt log is mandatory for both successful and failed trials.
|
||||
- **Branch-first attempts**: do training experiments on a **feature branch**; **commit each attempt** on that branch (typically include `train.py`, `reports/latest_eval.json`, and README log for that run). Pre-commit does **not** enforce the mean-RMSD improvement rule on feature branches.
|
||||
- **Branch-first attempts**: do training experiments on a **feature branch**; **commit each attempt** as **two commits** when both change: (1) `train.py` plus eval artifacts (`reports/latest_eval.json`, checkpoints, …) **without** `README.md`; (2) a **docs-only** commit with **only** `README.md` (attempt log). Pre-commit blocks staging `train.py` and `README.md` together. Pre-commit does **not** enforce the mean-RMSD improvement rule on feature branches.
|
||||
- **Main is the gate**: merging or committing to **`main`** with `train.py` staged triggers the performance gate (strictly better `mean_rmsd_100`, staged `latest_eval`, README log, auto-update of `BEST_PRACTICE.json` and best artifacts). Land work via merge or **cherry-pick** of the commits you still trust after re-evaluation.
|
||||
- **`## Attempt Log` on `main`**: new log lines written on a feature branch must be **replicated on `main`** (docs-only `README.md` commit if `train.py` is not landing yet). See `GUIDELINES.md` workflow step 6.
|
||||
- Flow-matching training time must stay random (middle-time supervision is mandatory).
|
||||
@@ -36,7 +36,7 @@ This repository is intentionally pinned to CUDA 12.6 PyTorch wheels and matching
|
||||
- `reports/latest_eval.json`: most recent measured metric.
|
||||
- `artifacts/latest_eval_best_model.pt`: checkpoint from latest run that produced `latest_eval`.
|
||||
- `artifacts/best_model.pt`: best checkpoint from latest improved run.
|
||||
- `reports/trajectories/`: 6 regenerated trajectories from current best model.
|
||||
- `reports/trajectories/`: trajectory SDFs are **gitignored** (`*.sdf`); regenerate locally after training when needed.
|
||||
- `scripts/precommit_performance_gate.py`: flow-matching token check on any branch when `train.py` is staged; **mean-RMSD gate and best-artifact refresh only on `main`**.
|
||||
|
||||
## Attempt Log
|
||||
|
||||
Reference in New Issue
Block a user