hackathon_code4change / docs /CONFIGURATION.md
RoyAalekh's picture
Submission ready
c39a084
|
raw
history blame
1.28 kB

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:

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