A bit more description
Problem description and stub functions.
Function stubs.
Test cases for the functions.
Implement is_valid_cycle(), improve logging.  Decide case-insensitive is okay.
Implement is_valid_date
Implemented parse_cycle_number
Implement list_sample_dirs.
Make the program executable; use argv for directories; group test fns out of main.