diff --git a/.cursor/BUGBOT.md b/.cursor/BUGBOT.md index 2f452276eb..306b915063 100644 --- a/.cursor/BUGBOT.md +++ b/.cursor/BUGBOT.md @@ -2,10 +2,16 @@ ## Changelog Enforcement -Any PR that modifies configuration structures or usage patterns must update `CHANGELOG.md`. This includes changes to config fields (added, removed, renamed, moved, or default value changes) in: +Any PR that introduces **breaking** configuration changes must update `CHANGELOG.md`. Breaking changes are those that require users to update existing configs: -- `src/prime_rl/*/config.py` -- `src/prime_rl/rl.py` -- `src/prime_rl/utils/config.py` +- **Renamed** config fields (old name no longer accepted) +- **Removed** config fields (field deleted or moved to a different path) +- **Moved** config fields (field relocated in the config hierarchy) -If such changes are detected without a corresponding `CHANGELOG.md` update, request that the author add an entry. +Additive changes (new fields with defaults, new optional features) and default value changes do **not** require a changelog entry. + +Config files live in: + +- `src/prime_rl/configs/` + +If breaking changes are detected without a corresponding `CHANGELOG.md` update, request that the author add an entry. diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f7bf13850..450e52356a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -Documenting changes which affect configuration usage patterns (added/moved/removed/renamed fields, notable logic changes). +Documenting **breaking** configuration changes — renamed, removed, or moved fields that require users to update existing configs. - **`log.file` and `log.env_worker_logs` removed**: Removed `log.file` (from `LogConfig` and `SharedLogConfig`) and `log.env_worker_logs` (from `LogConfig`). Python file logging is replaced by deployment-level capture. Existing configs using these fields must delete them. Log paths unified: `.stdout` files renamed to `.log`, SLURM logs moved from `slurm/` to `logs/`. (2026-03-31) - **`trainer.log.ranks_filter` (NEW)**: Added `ranks_filter: list[int]` to `TrainerLogConfig` (default: `[0]`). Controls which ranks appear in trainer console output via torchrun's `--local-ranks-filter`. (2026-03-31)