diff --git a/spec/2025-09.md b/spec/2025-09.md index 3bab37e4..4da8f1d3 100644 --- a/spec/2025-09.md +++ b/spec/2025-09.md @@ -23,18 +23,15 @@ unless it is indicated as meant to be shared with those attempting to solve the - The package must consist of a single directory containing files as described below. The directory name must consist solely of lowercase letters a–z and digits 0–9. Alternatively, the package can be a ZIP-compressed archive of such a directory with identical base name and extension `.kpp` or `.zip`. -- All file names for files included in the package must match the regexp +- All file and directory names included in the package must match the regexp ```regex - ^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,253}[a-zA-Z0-9]$ + ^[a-zA-Z0-9_][a-zA-Z0-9_.-]{0,254}$ ``` -that is, they must be of length at least 2, at most 255, consist solely of lower- or uppercase letters a–z, A–Z, digits 0–9, period, dash, or underscore, - but must not begin or end with a period, dash, or underscore. -- All directory names inside the package must match the regexp - ```regex - ^[a-zA-Z0-9]([a-zA-Z0-9_-]{0,253}[a-zA-Z0-9])?$ - ``` -that is, they must be of length at least 1, at most 255, consist solely of lower- or uppercase letters a–z, A–Z, digits 0–9, dash, or underscore, - but must not begin or end with a dash, or underscore. + that is, they must be of length at least 1, at most 255, consist solely of lower- or uppercase letters a–z, A–Z, digits 0–9, period, dash, or underscore, + but must not begin with a dash or period. +- Auxiliary files and directories beginning with a dash or period (such as `.gitignore` and `.git/`) or containing invalid characters are allowed in the problem package for convenience when interoperating with external tools. + However, the judging system shall behave as if all such files and directories were removed before the system interacts with the package. + Package preparation tools are encouraged to warn the user if a file or folder that is ignored in this way appears intended as a test case, submission, or other file integral to the package. - All text files for a problem must be UTF-8 encoded and not have a byte-order mark (BOM). - All text files must have Unix-style line endings (newline/LF byte only). Note that LF is line-ending and not line-separating in POSIX, which means that all non-empty text files must end with a newline.