Skip to content

feat(precommit): make mix precommit the canonical repository quality gate - #225

Merged
ruby-automation merged 6 commits into
mainfrom
EXT-31-precommit-canonical-quality-gate
Sep 5, 2026
Merged

feat(precommit): make mix precommit the canonical repository quality gate#225
ruby-automation merged 6 commits into
mainfrom
EXT-31-precommit-canonical-quality-gate

Conversation

@ruby-automation

Copy link
Copy Markdown
Contributor

Summary

  • Completes the 11-step sequence in mix precommit by inserting root mix format --check-formatted and mix test (steps 3–4) between the metadata guards and the app checks. These ensure the root project's own sources and validator/task tests are covered by the gate.
  • Converts mix ci into a thin alias that fully delegates to Mix.Tasks.Precommit (both run/1 for production and run/2 for testability).
  • Updates precommit_test.exs to assert all 11 steps in sequence.
  • Replaces ci_test.exs's independent 7-step list with delegation assertions (also adds the previously missing deps.audit and credo --strict coverage).
  • Updates .ai/prompts/implement.md and Readme.adoc to present mix precommit as the canonical quality command.

Depends on

Out of scope

  • .github/workflows/ci.yaml — the workflow still calls mix ci, which now aliases to mix precommit. Workflow updates are EXT-32's scope.

Test plan

  • mix test at repo root: 42 passed (2 new ci_test cases replacing old 1)
  • mix format --check-formatted at repo root: clean
  • All 11 steps verified in precommit_test.exs via injected shell
  • ci_test.exs verifies full 11-step delegation and argument rejection

Closes EXT-31

🤖 Generated with Claude Code

ruby-automation and others added 6 commits September 4, 2026 23:30
- Insert root `mix format --check-formatted` and `mix test` (steps 3-4)
  between the metadata guards and the app checks in mix precommit.
  These cover the root project's own sources and validator tests.
- Update the moduledoc to list all 11 steps with correct numbering.
- Convert mix ci into a thin alias that delegates entirely to
  Mix.Tasks.Precommit (both run/1 and the testable run/2 passthrough).
- Update precommit_test to assert all 11 steps in order.
- Replace ci_test's independent step list with delegation assertions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- .ai/prompts/implement.md: replace `mix ci` with `mix precommit` in
  the quality-suite step.
- Readme.adoc: present `mix precommit` as the canonical full-repository
  quality command; retain focused single-project commands below it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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