Spaces:
Running
Running
File size: 1,283 Bytes
c39a084 6a714c3 c39a084 6a714c3 c39a084 6a714c3 c39a084 6a714c3 d7d0f99 c39a084 d7d0f99 c39a084 6a714c3 b512b22 6a714c3 b512b22 6a714c3 b512b22 6a714c3 b512b22 | 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 42 43 44 45 | # Configuration Guide (Consolidated)
This configuration reference has been intentionally simplified for the hackathon to keep the repository focused for judges and evaluators.
For the end-to-end demo and instructions, see:
- `docs/HACKATHON_SUBMISSION.md`
Advanced usage help is available via the CLI:
```bash
uv run court-scheduler --help
uv run court-scheduler generate --help
uv run court-scheduler simulate --help
uv run court-scheduler workflow --help
```
Note: uv is required for all commands.
### Deprecating Parameters
1. Move to config class first (keep old path working)
2. Add deprecation warning
3. Remove old path after one release cycle
## Validation Rules
All config classes validate in `__post_init__`:
- Value ranges (0 < learning_rate <= 1)
- Type consistency (convert strings to Path)
- Cross-parameter constraints (max_gap >= min_gap)
- Required file existence (rl_agent_path must exist)
## Anti-Patterns
**DON'T**:
- Hardcode magic numbers in algorithms
- Use module-level mutable globals
- Mix domain constants with tunable parameters
- Create "god config" with everything in one class
**DO**:
- Separate by lifecycle and ownership
- Validate early (constructor time)
- Use dataclasses for immutability
- Provide sensible defaults with named presets
|