0002: The family audit is a program in this repository
Decision: the audit of every member is a local check here, run weekly by a workflow, and not a check of the standard.
Status: accepted, 2026-11-02. Shape: decision record.
Context
- On 2026-10-29 each genre owner audited the family by hand and with one script per genre.
- The standard depends on no extension (rule), so it cannot hold a check that clones and runs its extensions.
- Alternatives: a script in each extension; a job in the standard; a program in this repository.
Decision
- family_audit.py clones every member named in the State table, runs the standard's program tier on it, and writes one table of errors, warnings and open questions.
- It fails only when a member has errors. A member it cannot reach is reported, not failed.
- It runs weekly and on demand, and as a registered check only when asked for online.
Consequences
- The audit is repeated by CI rather than remembered, and the table is read from one place.
- Bad: it runs each member's own local checks, which is code from that member; it is safe only for members of this family.
- The meaning and syntax tiers are left to each member's own CI.