Repository navigation
Reject a Repeated Tier Name and Name Every Hook the Installer Registers - #3527
Conversation
The tier validator rejects a tiers list that repeats a name, which the set comparison against each tool's models let through. The installer's module docstring names both PreToolUse hooks, the model-tier guard's mapping, and the three hooks it registers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lUse Hook Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he Write Guard Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved review comments request removing incidental hook counts and explicitly naming the write guard in the absent-registration message.
1 open issue
What changed in this PR
This pull request rejects repeated model-tier names and updates the Claude installer’s hook documentation and registration diagnostics.
Changes:
- Adds validation and regression coverage for duplicate tier names.
- Documents the installer’s model-tier guard and registered hooks.
- Clarifies hook-registration and write-guard diagnostics.
| File | Summary |
|---|---|
tests/test_spec_validate.py |
Adds coverage for repeated model-tier names. |
spec/validate.py |
Rejects duplicate entries in the tiers configuration. |
host-setup/agent-safety/claude/install.py |
Updates hook documentation and registration diagnostics. |
Review effort: Lite
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3527 +/- ##
===========================================
+ Coverage 81.56% 81.58% +0.02%
===========================================
Files 26 26
Lines 8970 8972 +2
===========================================
+ Hits 7316 7320 +4
+ Misses 1654 1652 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |
…ain (#3521) ## Summary This promotes three changes to `main`: - [#3516](#3516) maps model tiers in one config, `spec/model-tiers.json`, carries the "Model Tiers" rule into the skills that dispatch, and adds a guard that refuses a highest-tier dispatch the maintainer did not allow. - [#3518](#3518) has the agent-safety installer's hooks share one registration helper. - [#3520](#3520) has those hooks share one registration-check loop. It also carries the fixes for this promotion's own review findings, each landed on `develop` first: - [#3522](#3522) requires a non-empty model name per tier and names both edits a model release makes. - [#3523](#3523) states what the highest-tier allowance covers and where the guard stops. - [#3524](#3524) rejects a tier sharing the maintainer-only model and states the allowance as conduct. - [#3525](#3525) matches the guard's alias boundaries regardless of case. - [#3526](#3526) mirrors the guard's CI self-tests in the local runbook. - [#3527](#3527) rejects a repeated tier name and names every hook the installer registers. Closes #3517 Closes #3519 🤖 Generated with [Claude Code](https://claude.com/claude-code)

Summary
This answers the sixth round of review findings on the promotion pull request #3521:
model_tier_errorscompared each tool's models againsttiersas sets, so atierslist that repeats a name passed. It now reports "tiers must not repeat a name", and a test covers it.--reportcheck now labels the write guard as such, rather than as "the PreToolUse hook" or a bare "guard".🤖 Generated with Claude Code