Repository navigation
Make the Model Tiers Tool Fallback Agree With the No-Model Rule - #3546
Conversation
The paragraph under the AGENTS.md tier table said a tool with no row runs every tier at the session's own model. The highest bullet says a dispatch naming no model runs at its agent definition's model where one is set. The paragraph now says only that such a dispatch names no model, and the spec/model-tiers.json note says the same, so the bullet alone decides what model it runs at. 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.
🟢 Approval recommended
No active review issues remain, and the tool-fallback wording in AGENTS.md, spec/model-tiers.json, and the generated skill copies now consistently states that a dispatch on a tool with no tier row names no model.
No open issues 🎉
What changed in this PR
This PR removes a conflict in the model-tier guidance. The AGENTS.md "Model Tiers" paragraph said that a tool with no row in the tier table runs every tier at the session's own model. The highest bullet says that a dispatch naming no model runs at the agent definition's pinned model. For a tool with no row whose agent definitions pin a model, these two rules gave different answers. The fix makes the paragraph say only that a dispatch on such a tool names no model, so the highest bullet alone decides what runs. The same wording is applied to the note in spec/model-tiers.json, and to the generated skill copies that carry the "Model Tiers" section.
Changes:
AGENTS.md: the tool-fallback sentence under the tier table now says that a dispatch on a tool with no row, or on one that cannot name a model per subagent, names no model.spec/model-tiers.json: thenotecarries the same wording, so the data file and the prose state the same rule.- Generated skill copies (
unattended-handoff,local-strict-review,backlog-burndown) are updated in the authored, distributed, and.agentstrees, with their.source-digestsvalues refreshed to match.
| File | Description |
|---|---|
| spec/model-tiers.json | Rewords the note to match the new no-model rule for tools with no tier row. |
| AGENTS.md | Replaces the unconditional "session's own model" fallback with the no-model wording. |
| .github/skills/unattended-handoff/SKILL.md | Carries the regenerated "Model Tiers" include with the new wording. |
| .github/skills/local-strict-review/SKILL.md | Carries the regenerated "Model Tiers" include with the new wording. |
| .github/skills/backlog-burndown/SKILL.md | Carries the regenerated "Model Tiers" include with the new wording. |
| .claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md | Distributed copy of the regenerated "Model Tiers" include. |
| .claude-plugin/fleet-skills/skills/local-strict-review/SKILL.md | Distributed copy of the regenerated "Model Tiers" include. |
| .claude-plugin/fleet-skills/skills/backlog-burndown/SKILL.md | Distributed copy of the regenerated "Model Tiers" include. |
| .claude-plugin/fleet-skills/.source-digests/unattended-handoff | Digest updated to match the regenerated skill tree. |
| .claude-plugin/fleet-skills/.source-digests/local-strict-review | Digest updated to match the regenerated skill tree. |
| .claude-plugin/fleet-skills/.source-digests/backlog-burndown | Digest updated to match the regenerated skill tree. |
| .agents/skills/unattended-handoff/SKILL.md | Hand-authored source of the regenerated "Model Tiers" include. |
| .agents/skills/local-strict-review/SKILL.md | Hand-authored source of the regenerated "Model Tiers" include. |
| .agents/skills/backlog-burndown/SKILL.md | Hand-authored source of the regenerated "Model Tiers" include. |
Review effort: Lite
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3546 +/- ##
========================================
Coverage 81.50% 81.50%
========================================
Files 26 26
Lines 9065 9065
========================================
Hits 7388 7388
Misses 1677 1677
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:
|
…irectories, and GOVERNANCE.md Sentence Length (#3553) ## Summary Promotes `develop` to `main`, carrying round 2 of the resync-issue burndown: - #3546: the paragraph under `AGENTS.md`'s tier table and the `spec/model-tiers.json` note no longer claim a no-model dispatch runs at the session's own model. The `highest` bullet is the one statement of that rule. Three skills are regenerated. - #3547: `AUDIT.md`, `RESYNC.md` section 4 and the `carried.hubonly.absent` assertion now name all three hub-only exclusions. They are the baseline, the paths a `trees` entry covers, and the repo-owned trees. - #3549: `python-codestyle` `profiles.md` and `CODESTYLE.md` state that a profile belongs to a declared directory. Each deliverable takes one build-profile directory, lint-only Python may sit beside the component it serves, and only a split by purpose alone is forbidden. - #3551: every `GOVERNANCE.md` sentence is 25 words or fewer, except two in "PR Review Etiquette" that other carried files copy. This is the first slice of the #3531 cleanup, so it does not close that issue. - #3555: promotion fix for Copilot's finding on this pull request. `profiles.md` says an undeclared root is gated only where it tracks a root `pyproject.toml`. Every carried `GOVERNANCE.md` section changes wording here, so each fleet repository's verbatim copy differs from the hub until its next resync. Fixes #3537 Fixes #3543 Fixes #3492 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Summary
The paragraph under the
AGENTS.md"Model Tiers" table said a tool with no row runs every tier at the session's own model. Thehighestbullet says a dispatch naming no model runs at its agent definition's model where one is set. A tool with no row whose agent definitions pin a model therefore got two different answers.AGENTS.md"Model Tiers": the sentence now says only that a dispatch on such a tool names no model. Thehighestbullet alone decides what it runs at.spec/model-tiers.json: thenotesays the same thing in the same words.Verification
spec/validate.py: OK, the tier table andspec/model-tiers.jsonstill agree.scripts/build_dist.py --check: generated distributions are current.tests/test_spec_validate.py: 187 tests OK.host-setup/agent-safety/claude/test_model_tier_guard.py: 18 tests OK.host-setup/agent-safety/file pins the oldnotetext.Pre-existing findings, not filed
AGENTS.md"Model Tiers",highestbullet,pre-existing: on a tool with no row, no tier can be named. A session launched onhighestthere cannot follow "names a tier on every dispatch meant to run below it". The old sentence had the same gap.Closes on promotion: #3537
🤖 Generated with Claude Code