Skip to content

docs(pre-commit): canonical 21-hook template + tier docs (#186)#222

Merged
avrabe merged 1 commit into
mainfrom
feat/issue-186-canonical-pre-commit-template
Apr 29, 2026
Merged

docs(pre-commit): canonical 21-hook template + tier docs (#186)#222
avrabe merged 1 commit into
mainfrom
feat/issue-186-canonical-pre-commit-template

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented Apr 26, 2026

Refs: #186

Summary

First in-scope cut at the canonical pre-commit template story. Two new files:

  • templates/pre-commit/.pre-commit-config.yaml — copy-pasteable source of truth, mirroring rivet's own 21-hook config but with CUSTOMIZE: markers for per-project knobs.
  • docs/pre-commit.md — per-hook rationale table, standard-clause mapping, advisory T1 / T2 / T3 tier system, adoption recipe, drift policy.

Acceptance-criteria mapping (from #186)

AC bullet Status here
Publish canonical template as versioned, copyable asset Done — templates/pre-commit/.pre-commit-config.yaml
Document rationale per-hook + standard clause Done — docs/pre-commit.md per-hook table
Define T1 / T2 / T3 tiers Proposal only — tier labels included as inline annotations, doc explicitly notes the partition is open for review
Open adoption follow-up issues on kiln/loom/meld/relay/sigil/synth/spar/gale/wohl Out of scope — automated GitHub access is restricted to pulseengine/rivet; needs a session with broader org scope (or manual filing)
CI gate that verifies adopter tier compliance Stretch goal; not addressed

Why draft

Two open decisions need maintainer review before this leaves draft:

  1. Tier partition. The 21-hook → T1 / T2 / T3 split in Canonicalize 21-hook pre-commit template for adoption across production repos #186 totals 15 hooks (T1=11 + T2=3 + T3=1), leaving 6 of the file-hygiene hooks unassigned. The template assigns all 21 to a tier under a defensible reading; the doc flags this explicitly. Confirm or adjust.
  2. cargo +stable pinning. Hard-coded for the template; if adopters should template-substitute the channel from their rust-toolchain.toml instead, say the word and I'll switch the example to a placeholder.

Test plan

  • Template parses as valid YAML; hook count = 21 (matches issue claim)
  • No artifact YAML touched, so rivet validate is unaffected
  • CI green
  • Maintainer confirms tier assignment
  • Cross-repo adoption issues filed separately (see "Out of scope" above)

Generated by Claude Code

Adds `templates/pre-commit/.pre-commit-config.yaml` as the
versioned, copy-pasteable source of truth for PulseEngine Rust
repositories, and `docs/pre-commit.md` documenting the rationale
per hook plus an advisory T1 / T2 / T3 tier system.

Each hook in the template carries an inline tier annotation so
adopters can grep-trim to their assurance level. `CUSTOMIZE`
markers flag the per-project knobs (rust-toolchain pinning,
artifact-path globs, mutation crate selection).

Refs: #186
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@avrabe avrabe marked this pull request as ready for review April 29, 2026 04:41
@avrabe avrabe merged commit 4b42559 into main Apr 29, 2026
23 of 27 checks passed
@avrabe avrabe deleted the feat/issue-186-canonical-pre-commit-template branch April 29, 2026 04:42
avrabe added a commit that referenced this pull request Apr 30, 2026
…246)

Workspace, vscode-rivet, and npm root package versions bumped to 0.7.0.
Platform packages stay on the release-npm.yml override path.

What's in 0.7.0:

- feat(schema): rivet schema migrate Phase 2 (#242) — full git-rebase
  conflict-resolution UX. Conflict markers in YAML, --continue,
  --skip, --edit. New MigrationConflict invariant in rivet docs check.
- feat(docs-check): subcommand-coverage gate (#241) — walks the live
  clap CLI tree and asserts each path has an embedded docs topic.
  Default warn-only; --strict makes it enforcing.
- feat(validate): prose-mention-without-typed-link warning (#234,
  closes #207).
- feat(schemas): vv-coverage repo-status type (#232, partial #188).
- feat(mutants): canonical cargo-mutants template (#229, closes #185).
- docs(pre-commit): canonical 21-hook template (#222, closes #186).
- fix(ci): Release workflow now idempotent on existing tag (#244).

Known issue: v0.5.0 / v0.5.1 / v0.6.0 release pages have no binary
assets attached because the workflow's Create Release step failed
on each (race with manual gh release create). The fix in #244 lands
in this release; v0.7.0 onward is unaffected. Older releases need
a manual gh release upload to backfill.

Verified: cargo check, cargo clippy --workspace -- -D warnings,
cargo test -p rivet-cli, rivet docs check (clean), rivet docs check
--coverage reports 48/81 paths covered (warn-only).

Trace: skip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants