zorch-specific documentation lint. Wraps /workflow:lint-docs for the universal checks, then layers zorch's two non-negotiables on top: subsystem doc-coverage parity (every zorch/<subsystem>/ has a docs/**/<subsystem>.md and a hub row), the two-section subsystem skeleton (why-the-shape/agnostic + fusion-by-construction), Fractalyze XLA field-dtype gotcha dedup (stated canonically only in poly.md), the CLAUDE.md = pointer + two-non-negotiables + dev-env rule, and agnostic naming (a scheme/zkVM is named only as the consumer boundary). The subsystem list is auto-detected from zorch/, so a new block inherits every check the moment its directory lands. TRIGGER when: (1) /lint-zorch-docs, (2) after touching CLAUDE.md / README.md / docs/, (3) after adding a new subsystem, (4) before a docs PR. SKIP when: outside the zorch repo; the universal pass already ran clean and only zorch-specific scope changed.
zorch-specific source-tree lint enforcing the two non-negotiables. Detects consumer/zkVM leakage into zorch/ code (the proving-scheme- and zkVM-agnostic rule), consumer/zkVM names in tests or fixtures, kernel-splitting ops inside a fused_region body or a Round's _round_poly/_fold (the fusion-by-construction rule), and bare asserts in tests. Companion to /lint-zorch-docs — the same agnostic + fusion philosophy applied to code. Auto-detects subsystems from zorch/, so a new block inherits every check the moment its directory lands. TRIGGER when: (1) /lint-zorch-srcs, (2) after touching zorch/ source, (3) after adding a subsystem, (4) before a src PR. SKIP when: outside the zorch repo; nothing under zorch/ changed since the last clean run.