Custom formats
All 5 scenarios hold
A project can generate a report in a format of its own, beside the three built-in ones. A pair of templates named after the format is the whole definition.
The name identifies the format, and every file of the report takes that name as its extension. The reporter therefore refuses a name that cannot be an extension. It refuses the name when the project declares the format, and not when it writes the first file.