checkpoint rules version 29.00 2025-11-19.

This is a work in progress towards an improved rule set for **IOCCC29**.

Links to rules elsewhere on the site were modified as needed.
This commit is contained in:
Landon Curt Noll committed 2025-11-19 22:43:00 -08:00
1 parent 1be0e93dbf
commit ea37a9f559
17 files changed
+1068 -1722

No files matched your search

+136 -66
View File
@@ -214,8 +214,8 @@ Jump to: [top](#)
This toolkit is from the [mkiocccentry
repo](https://github.com/ioccc-src/mkiocccentry) and it is **required** that you
use it to package your submission. Not doing so puts you at a great risk of
violating the [Rules](next/rules.html) and in particular [Rule
17](next/rules.html#rule17).
violating the [Rules](next/rules.html) and in particular
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
Jump to: [top](#)
@@ -385,7 +385,8 @@ is not a directory that can be written to. In **this** directory your **submissi
directory** will be created, with the name based on your IOCCC registration
username, which is **in the form of a UUID**, and submission number along with
the timestamp; see the [rules](next/rules.html) for more details on this, and in
particular [Rule 17](next/rules.html#rule17).
particular
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
**IMPORTANT NOTE**: the tools that require other tools, `mkiocccentry(1)` and
`txzchk(1)`, will, as of version `2.0.2 2025-03-11`, search under `$PATH`. If
@@ -574,7 +575,8 @@ rounds; we look at the author name only if an entry wins. See the
[guidelines](next/guidelines.html) **AND** [rules](next/rules.html) if this is not clear!
- leaving the remark section empty (which would also indicate that you did not
use `mkiocccentry(1)`, as it requires it to not be of size 0, though if you only
include whitespace you would still be violating [Rule 17](next/rules.html#rule17)).
include whitespace you would still be violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)).
Jump to: [top](#)
@@ -632,11 +634,13 @@ for more details.
See the
FAQ on "[Rule 17](#rule17)"
and [Rule 17](next/rules.html#rule17) itself.
and
[Rule 17 Packaging](next/rules.html#rule-17-packaging)
itself.
Do remember that if your submission requires different filenames, then you
**MUST** make a **COPY** of them in your `Makefile`. See also [Rule
11](next/rules.html#rule11).
**MUST** make a **COPY** of them in your `Makefile`. See also
[Rule 5 Purity](next/rules.html#rule-5-purity).
Jump to: [top](#)
@@ -848,12 +852,12 @@ itself is an extra file, meaning it counts **AS** an extra file.
This file does **NOT** need to pass the `txzchk(1)` tests; only your submission
tarball needs to pass these tests. However see below if you do do this.
Please pay careful attention to [Rule 17](next/rules.html#rule17) and in
Please pay careful attention to [Rule 17 Packaging](next/rules.html#rule-17-packaging) and in
particular the part about the maximum number of files per
submission, which not only discusses the maximum
number of files but also specific rules you must follow
if you do include a tarball. Not following these points puts you at great risk
of violating [Rule 17](next/rules.html#rule17)!
of violating [Rule 17 Packaging](next/rules.html#rule-17-packaging)!
Also, remember what the [guidelines](next/guidelines.html) say:
@@ -915,7 +919,7 @@ contains **IMPORTANT** tools and libraries such as:
- `chksubmit(1)` (which uses `jparse(3)` and is a wrapper to `chkentry(1)`)
The above mentioned tools will help you verify that your submission
conforms to [Rule 17](next/rules.html#rule17). Each of these tool has a `-h`
conforms to [Rule 17 Packaging](next/rules.html#rule-17-packaging). Each of these tool has a `-h`
option that provides command line help. For additional details of each tool, see
its man page, and in some cases, the [IOCCC guidelines](next/guidelines.html).
@@ -977,7 +981,8 @@ for help.
The `remarks.md` **MUST** be a **non**-empty file in markdown format
(`mkiocccentry(1)` only checks the file size but if you do not have any text in
it you still risk violating this rule). See also
[Rule 18](next/rules.html#rule18) and our
[Rule 17 Packaging](next/rules.html#rule-17-packaging)
and our
FAQ on "[remarks.md](#remarks_md)",
our
FAQ on "[markdown](#markdown)"
@@ -1083,7 +1088,8 @@ permissions and `mkiocccentry(1)` does this for you. In particular: directories
**MUST** be `drwxr-xr-x` (i.e. `0755`); any file ending with `.sh` **MUST** be
`-r-xr-xr-x` (i.e. `0555`); and all other files **MUST** be `-r--r--r--` (i.e.
`0444`). If any file or directory does not have the correct permissions, your
submission **WILL** be rejected for violating [Rule 17](next/rules.html#rule17)!
submission **WILL** be rejected for violating
[Rule 17 Packaging](next/rules.html#rule17)!
After `mkiocccentry(1)` creates the directories and copies the files with these
modes, it also verifies them after the fact and if they are not correct it is an
@@ -1091,7 +1097,10 @@ modes, it also verifies them after the fact and if they are not correct it is an
If you do need different permissions, then see the
FAQ on "[file permissions](#file_perms)". Also keep in mind
[Rule 4](next/rules.html#rule4), [Rule 5](next/rules.html#rule5) and [Rule 21](next/rules.html#rule21).
[Rule 4 Files](next/rules.html#rule-4-files),
[Rule 5 Purity](next/rules.html#rule-5-purity),
and
[Rule 16 Anonymous](next/rules.html#rule-16-anonymous).
The `txzchk(1)` tool will also verify file/directory permissions (and many other
things) for you, and so will `chksubmit(1)` (along with other checks on files and
@@ -1105,8 +1114,11 @@ page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug
The tarball filename **MUST** pass `fnamchk(1)`; the tool `txzchk(1)`
will run `fnamchk(1)` as part of its algorithm. If you use `mkiocccentry(1)`
there should be no problem but if you were to package things manually it is
possible there could be a problem and this poses a big risk of violating [Rule
17](next/rules.html#rule17).
possible there could be a problem and this poses a big risk of violating
[Rule 4 Files](next/rules.html#rule-4-files)
or
[Rule 17 Packaging](next/rules.html#rule17).
The `fnamchk(1)`, which `txzchk(1)` executes, will verify that the
filename is correct. But if you do package your tarball manually, and you have a
@@ -1114,7 +1126,10 @@ mismatch in what is in the tarball and the name, `txzchk(1)` will flag the
discrepancy as an error and exit with non-zero.
These checks **MUST PASS**. If they do not you stand a significant chance of
having your submission rejected for violating [Rule 17](next/rules.html#rule17)!
having your submission rejected for violating
[Rule 4 Files](next/rules.html#rule-4-files)
or
[Rule 17 Packaging](next/rules.html#rule17).
<div id="max-files">
#### Maximum number of files per submission
@@ -1154,7 +1169,11 @@ The `mkiocccentry(1)` tool uses the v7 format. For instance you might try:
<hr style="width:50%;text-align:left;margin-left:0">
**IMPORTANT**: where [Rule 17](next/rules.html#rule17) and the tools from the latest
**IMPORTANT**: where
[Rule 4 Files](next/rules.html#rule-4-files),
and
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
and the tools from the latest
release of the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry)
conflict, the [IOCCC judges](judges.html) will use their best judgment which
is likely to favor [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry) code.
@@ -1193,8 +1212,11 @@ page](https://github.com/ioccc-src/mkiocccentry/issues/new?assignees=&labels=bug
for help here and also read our
FAQ on "[mkiocccentry repo bugs](#mkiocccentry_bugs)".
At the risk of stating the obvious: submissions that violate [Rule
17](next/rules.html#rule17) **WILL BE REJECTED**, so **BE SURE** to use the latest release of the
At the risk of stating the obvious: submissions that violate
[Rule 4 Files](next/rules.html#rule-4-files),
or
[Rule 17 Packaging](next/rules.html#rule-17-packaging)
**WILL BE REJECTED**, so **BE SURE** to use the latest release of the
[mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry), to form and test
your submission's xz compressed tarball. Do **NOT** assume you have the most
recent release without pulling or downloading via GitHub and do **MAKE SURE** you
@@ -1851,7 +1873,10 @@ two JSON files, `.auth.json` and `.info.json` as well as the `prog.c`,
`Makefile` and `remarks.md` files along with all the other files listed in the
`.info.json` manifest. (Okay there is an option to skip files but this is for
the judges **ONLY**; use of this option to validate your submission puts you at
a great risk of violating [Rule 17](next/rules.html#rule17)!).
a great risk of violating
[Rule 4 Files](next/rules.html#rule-4-files),
or
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!).
As an example, if your submission directory is
`00000000-0000-4000-0000-000000000000-3/` then you should run the following
@@ -1877,7 +1902,11 @@ See the
FAQ on "[.auth.json](#auth_json)"
and the
FAQ on "[.info.json](#info_json)"
as well as [Rule 17](next/rules.html#rule17) for more information.
as well as
[Rule 4 Files](next/rules.html#rule-4-files),
and
[Rule 17 Packaging](next/rules.html#rule-17-packaging)
for more information.
**NOTE**: the `chksubmit(1)` tool invokes `chkentry(1)` but as a contestant you
do not need to worry about those details. One should use `chksubmit(1)` instead
@@ -1969,21 +1998,25 @@ In order of the file's contents we describe each required field, below:
- `IOCCC_contest_id` (double quoted string)
* The IOCCC contestant ID used as a username in the form of **in the form of
a UUID** and submission number; see the [Rules](next/rules.html) for more details
on this, and in particular [Rule 17](next/rules.html#rule17).
on this, and in particular
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
**NOTE:** if the contest ID is **NOT** in this format then `fnamchk` will
report it as an **error** and your submission **WILL BE** rejected for
violating [Rule 17](next/rules.html#rule17)!
violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
- `tarball` (double quoted string)
* The xz compressed tarball filename.
**IMPORTANT:** this **MUST** match the actual tarball's **filename** in order for
this to be valid. If there is a mismatch you stand a great risk of having
your submission rejected for violating [Rule 17](next/rules.html#rule17)!
your submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
Moreover, it is possible that `txzchk` will report a problem through
`fnamchk(1)` which also puts you at great risk of violating [Rule
17](next/rules.html#rule17). `txzchk` will use the output of `fnamchk` to
`fnamchk(1)` which also puts you at great risk of violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging). The
`txzchk(1)` tool will use the output of `fnamchk` to
obtain the correct directory _name_ in the tarball; if `fnamchk` fails to
validate your filename, or if you have the wrong directory name in the
tarball, this will be flaggd.
@@ -1996,7 +2029,8 @@ In order of the file's contents we describe each required field, below:
[soup/limit_ioccc.h](https://github.com/ioccc-src/mkiocccentry/blob/master/soup/limit_ioccc.h)
in the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry/)). If
this is not the case you stand a great risk of having your submission
rejected for violating [Rule 17](next/rules.html#rule17)!
rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
- `author_count` (number)
* How many authors this submission has.
@@ -2060,7 +2094,8 @@ author(s) of the submission:
[soup/limit_ioccc.h](https://github.com/ioccc-src/mkiocccentry/blob/master/soup/limit_ioccc.h)
in the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry/)). If
this is not the case you stand a great risk of having your submission
rejected for violating [Rule 17](next/rules.html#rule17)!
rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
**NOTE:** an **affiliation** does **NOT** have any affect on whether you will win or not.
@@ -2144,8 +2179,10 @@ will use it on the submission directory as part of the judging process.
At the risk of stating the obvious, if your `.auth.json` file is invalid JSON or
is reported invalid by `chksubmit(1)`, or if your submission directory is
reported invalid by `chksubmit(1)`, your submission will almost certainly be
rejected for violating the [Rules](next/rules.html) and in particular [Rule
17](next/rules.html#rule17).
rejected for violating the [Rules](next/rules.html) and in particular
[Rule 4 Files](next/rules.html#rule-4-files),
and
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
An obvious example where `chksubmit(1)` would fail to validate `.auth.json` is if
there is a mismatch of type in the JSON file with what is expected, for
@@ -2154,7 +2191,11 @@ not a string or is the wrong string. Another obvious example is when things are
out of range (see above for list). Two more examples would be if a field is
missing or if an unknown filed is in the file. In these cases (and any others
that must be established as valid by `chksubmit(1)`) your submission would be
rejected for violating [Rule 17](next/rules.html#rule17) and in particular
rejected for violating
[Rule 4 Files](next/rules.html#rule-4-files),
and
[Rule 17 Packaging](next/rules.html#rule-17-packaging)
and in particular
because `chksubmit(1)` would not validate the `.auth.json` file (and maybe other
things too).
@@ -2276,7 +2317,8 @@ In order of the file's contents we describe each required field, below:
- `IOCCC_contest_id` (double quoted string)
* The IOCCC contestant ID used as a username in the form of **in the form of
a UUID** and submission number; see the [rules](next/rules.html) for more details
on this, and in particular [Rule 17](next/rules.html#rule17).
on this, and in particular
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
- `submit_slot` (number)
* The submission number.
@@ -2286,7 +2328,8 @@ In order of the file's contents we describe each required field, below:
[soup/limit_ioccc.h](https://github.com/ioccc-src/mkiocccentry/blob/master/soup/limit_ioccc.h)
in the [mkiocccentry repo](https://github.com/ioccc-src/mkiocccentry/)). If
this is not the case you stand a great risk of having your submission
rejected for violating [Rule 17](next/rules.html#rule17)!
rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
- `title` (double quoted string)
* A short name (length >= 1 **THROUGH** `MAX_TITLE_LEN`, defined in
@@ -2295,7 +2338,8 @@ In order of the file's contents we describe each required field, below:
matches the regexp `[a-z0-9][a-z0-9_+-]*`.
**IMPORTANT:** if this is **NOT** the case you stand a great risk of having your submission
rejected for violating [Rule 17](next/rules.html#rule17)!
rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
- `abstract` (double quoted string)
* A one line summary of your submission, with a length of 1 **THROUGH**
@@ -2306,33 +2350,37 @@ In order of the file's contents we describe each required field, below:
The `abstract` may not contain a `;` (semicolon), nor `&` (ampersand), nor `,` (comma).
**IMPORTANT:** if your abstract is 0 in length or > the maximum abstract length you
stand a great risk of having your submission rejected for violating [Rule
17](next/rules.html#rule17)!
stand a great risk of having your submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
- `tarball` (double quoted string)
* The xz compressed tarball filename.
**IMPORTANT:** this **MUST** match the actual tarball's **filename** in order for
this to be valid. If there is a mismatch you stand a great risk of having
your submission rejected for violating [Rule 17](next/rules.html#rule17)!
your submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
Moreover, it is possible that `txzchk` will report a problem through
`fnamchk(1)` which also puts you at great risk of violating [Rule
17](next/rules.html#rule17). `txzchk` will use the output of `fnamchk` to
`fnamchk(1)` which also puts you at great risk of violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
The `txzchk(1)` tool will use the output of `fnamchk` to
obtain the correct directory _name_ in the tarball; if `fnamchk` fails to
validate your filename, or if you have the wrong directory name in the
tarball, this will be flaggd.
- `rule_2a_size` (number)
* The size calculated of [Rule 2a](next/rules.html#rule2a).
* The size calculated of [Rule 2a Gross Size](next/rules.html#rule-2a-gross-size).
**IMPORTANT:** if this violates [Rule 2a](next/rules.html#rule2a) you stand a great
chance of having your submission rejected for violating the
[Rules](next/rules.html)!
- `rule_2b_size` (number)
* The size calculated of [Rule 2b](next/rules.html#rule2b).
* The size calculated of [Rule 2b Next Size](next/rules.html#rule-2b-net-size).
**IMPORTANT:** if this violates [Rule 2b](next/rules.html#rule2b) you stand a great
**IMPORTANT:** if this violates
[Rule 2b Next Size](next/rules.html#rule-2b-net-size)
you stand a great
chance of having your submission rejected for violating the
[Rules](next/rules.html)!
@@ -2340,29 +2388,40 @@ In order of the file's contents we describe each required field, below:
* `true` if user override warning of an empty source file, else `false`.
- `rule_2a_override` (boolean)
* `true` if user overrides warning of [Rule 2a](next/rules.html#rule2a)
* `true` if user overrides warning of
[Rule 2a Gross Size](next/rules.html#rule-2a-gross-size)
violation, else `false`.
**IMPORTANT:** if the [Rule 2a](next/rules.html#rule2a) calculated size is **NOT**
**IMPORTANT:** if the
[Rule 2a Gross Size](next/rules.html#rule-2a-gross-size)
calculated size is **NOT**
violated but this is `true` then you stand a good chance of having your
submission rejected for violating [Rule 17](next/rules.html#rule17)!
submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
- `rule_2a_mismatch` (boolean)
* `true` if [Rule 2a](next/rules.html#rule2a) calculated size is not the
* `true` if
[Rule 2a Gross Size](next/rules.html#rule-2a-gross-size)
calculated size is not the
same as the file size.
- `rule_2b_override` (boolean)
* `true` if user overrides warning of [Rule 2b](next/rules.html#rule2b)
* `true` if user overrides warning of
[Rule 2b Next Size](next/rules.html#rule-2b-net-size)
violation, else `false`.
**IMPORTANT:** if the [Rule 2b](next/rules.html#rule2b) calculated size is **NOT**
**IMPORTANT:** if the
[Rule 2b Next Size](next/rules.html#rule-2b-net-size)
calculated size is **NOT**
violated but this is `true` then you stand a good chance of having your
submission rejected for violating [Rule 17](next/rules.html#rule17)!
submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging).
- `highbit_warning` (boolean)
* `true` if `iocccsize` detects a high bit (unescaped octets with the high
bit set - octet value >= 128); see [Rule 13](next/rules.html#rule13), else
`false`.
bit set - octet value >= 128); see
[Rule 12 UTF-8](next/rules.html#rule-12-utf-8),
else `false`.
- `nul_warning` (boolean)
* `true` if `iocccsize` detects a NUL character in the `prog.c`, else
@@ -2384,7 +2443,7 @@ In order of the file's contents we describe each required field, below:
**IMPORTANT:** if the `Makefile` file has no problems and this is `true` then
you stand a good chance of having your submission rejected for violating
[Rule 17](next/rules.html#rule17)!
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
See the
FAQ on "[Makefile](#makefile)"
@@ -2395,7 +2454,7 @@ In order of the file's contents we describe each required field, below:
**IMPORTANT:**: if the `Makefile` file does **NOT** have an `all` rule then
you stand a good chance of having your submission rejected for violating
[Rule 17](next/rules.html#rule17)!
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
See the
FAQ on "[Makefile](#makefile)"
@@ -2406,7 +2465,8 @@ In order of the file's contents we describe each required field, below:
**IMPORTANT:** if the `Makefile` file does **NOT** have an `all` rule and this
boolean is `true` then you stand a good chance of having your
submission rejected for violating [Rule 17](next/rules.html#rule17)!
submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
See the
FAQ on "[Makefile](#makefile)"
@@ -2417,7 +2477,8 @@ In order of the file's contents we describe each required field, below:
**IMPORTANT:** if the `Makefile` file does **NOT** have a `clean` rule and this
boolean is `true` then you stand a good chance of having your submission
rejected for violating [Rule 17](next/rules.html#rule17)!
rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
See the
FAQ on "[Makefile](#makefile)"
@@ -2428,7 +2489,8 @@ In order of the file's contents we describe each required field, below:
**IMPORTANT:** if the `Makefile` file does **NOT** have an `clobber` rule and this
boolean is `true` then you stand a good chance of having your submission
rejected for violating [Rule 17](next/rules.html#rule17)!
rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
See the
FAQ on "[Makefile](#makefile)"
@@ -2439,7 +2501,8 @@ In order of the file's contents we describe each required field, below:
**IMPORTANT:** if the `Makefile` file does **NOT** have a `try` rule and this
boolean is `true` then you stand a good chance of having your submission
rejected for violating [Rule 17](next/rules.html#rule17)!
rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
See the
FAQ on "[Makefile](#makefile)"
@@ -2464,8 +2527,8 @@ The `mkiocccentry(1)` tool will write it in this order:
for more information.
**IMPORTANT:** if this is **NOT** the case you stand a
great chance of having your submission rejected for violating [Rule
17](next/rules.html#rule17)!
great chance of having your submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
- `auth_JSON` (double quoted string)
* This `MUST` be `".auth.json"`, defined as `AUTH_JSON_FILENAME` in
@@ -2477,7 +2540,8 @@ The `mkiocccentry(1)` tool will write it in this order:
for more information.
**IMPORTANT:** if this is **NOT** the case you stand a great chance of having your
submission rejected for violating [Rule 17](next/rules.html#rule17)!
submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
- `c_src` (double quoted string)
* This `MUST` be `"prog.c"`, defined as `PROG_C_FILENAME` in
@@ -2486,7 +2550,8 @@ The `mkiocccentry(1)` tool will write it in this order:
is your submission source code.
**IMPORTANT:** if this is **NOT** the case you stand a great chance of having your
submission rejected for violating [Rule 17](next/rules.html#rule17)!
submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
- `Makefile` (double quoted string)
* This `MUST` be `"Makefile"`, defined as `MAKEFILE_FILENAME` in
@@ -2498,7 +2563,8 @@ The `mkiocccentry(1)` tool will write it in this order:
for more information.
**IMPORTANT:** if this is **NOT** the case you stand a great chance of having your
submission rejected for violating [Rule 17](next/rules.html#rule17)!
submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
- `remarks` (double quoted string)
* This `MUST` be `"remarks.md"`, defined as `REMARKS_FILENAME` in
@@ -2510,7 +2576,8 @@ The `mkiocccentry(1)` tool will write it in this order:
for more information.
**IMPORTANT:** if this is **NOT** the case you stand a great chance of having your
submission rejected for violating [Rule 17](next/rules.html#rule17)!
submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
The `manifest` **array** also **OPTIONALLY** has one or more of the field:
@@ -2522,8 +2589,9 @@ The `manifest` **array** also **OPTIONALLY** has one or more of the field:
and `chksubmit` will verify this for you; it is **ALSO** an **error** if the
filenames are not unique, not POSIX plus + safe chars only, if they are the
wrong permission and various other things. In these cases you stand a great
risk of having your submission rejected for violating [Rule
17](next/rules.html#rule17)! On the other hand, **ONLY** `mkiocccentry` will
risk of having your submission rejected for violating
[Rule 17 Packaging](next/rules.html#rule-17-packaging)!
On the other hand, **ONLY** `mkiocccentry` will
verify that the files exist and can be read; `txzchk(1)` will **NOT** do
this for you as it only **LISTS** the tarball: it does **NOT** extract it.
Even so, the [Judges](judges.html) **WILL** extract the tarball and if a
@@ -2585,7 +2653,9 @@ not a string or is the wrong string. Another obvious example is when things are
out of range (see above for list). Two more examples would be if a field is
missing or if an unknown filed is in the file. In these cases (and any others
that must be established as valid by `chksubmit`) your submission would be
rejected for violating [Rule 17](next/rules.html#rule17) and in particular
rejected for violating
Rule 17 Packaging](next/rules.html#rule-17-packaging),
and in particular
because `chksubmit` would not validate the `.info.json` file.
If you wish to **verify** that your `.info.json` file is valid **JSON** then see the