| Path | Role |
|---|---|
config.yaml |
Default dev settings (backup paths, Notion, Chrome) |
drives.yaml |
Cloud drive upload targets (shared by dev and CI) |
ci/config.yaml |
Docker test harness overrides (CLI_CONFIG_DIR=config/ci) |
notion/ |
Task pair manifest + header/body scaffolds |
contest/ |
Contest validate defaults + generator/brute templates |
config/ci/ contains only overrides needed inside Docker test runs (fixture paths, fake database id, scratch tags_dir). It does not duplicate drives.yaml — load_config falls back to the parent file when config/ci/drives.yaml is absent.
CLI_CONFIG_DIR=config/ci is set automatically in Docker test scripts and in tests/conftest.py (autouse) so integration never writes to iCloud or home config paths.
contest/templates/— copy-paste scaffolds for real problems (lib.py,generator.py,brute.py)tests/fixtures/contest/toy/— working toy problem for harness tests; importslibfromconfig/contest/templates/
notion/tasks.pairs.json— production manifest (paths relative to privatenotion.task_root)tests/fixtures/notion/**/tasks.pairs.json— isolated test workspaces (not duplicates of config)