Skip to content

Canonicalize 21-hook pre-commit template for adoption across production repos #186

@avrabe

Description

@avrabe

Part of the V&V coverage initiative.

Problem

rivet ships a 21-hook .pre-commit-config.yaml that is the reference for the workspace. Other production repos have drifted — loom has 12 hooks, meld 7, spar 7, gale only 3; relay and sigil have no pre-commit config at all. Divergence is noise that weakens the assessor story.

Acceptance

  • Publish the canonical template as a versioned, copyable asset (e.g. rivet/templates/pre-commit/.pre-commit-config.yaml)
  • Document the rationale per-hook in docs/pre-commit.md: why each hook matters, which standard clause it helps satisfy
  • Define tiers (optional but recommended):
    • Tier 1 (baseline): 11 hooks — formatting, file hygiene, cargo-fmt/clippy/test, rivet-validate
    • Tier 2 (safety-critical): + cargo-audit, cargo-deny, cargo-bench-check
    • Tier 3 (verification-heavy): + cargo-mutants
  • Open adoption follow-up issues on repos that need alignment: kiln, loom, meld, relay, sigil, synth, spar, gale, wohl
  • Rivet CI gate that verifies adopter repos are at their declared tier (optional; stretch goal)

Notes

  • Rust versions in hooks must match rust-toolchain in each adopter; provide a variable-substitution pattern
  • cargo-mutants is slow; Tier 3 can use stages: [manual] to keep interactive dev fast
  • Document the opt-outs that are acceptable vs unacceptable per tier

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions