Repository navigation
State What the Highest-Tier Allowance Covers and Where the Guard Stops - #3523
Conversation
Requirement 10, the Claude kit README, and the guard's docstring each said an unreadable tier mapping refuses every dispatch naming a model, while a session launched with the allowance blocks no model and so needs none. Each now says so. The claim that an agent cannot set the allowance for itself is narrowed to what holds, that a tool call cannot change its own session's environment, and a nested session an agent launches with the allowance set is named as circumvention the guard does not tell apart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s Conduct Requirement 10 states that an agent never sets the tier allowance, for its own session or one it launches, as a conduct rule beside the nested-session bound it names. Requirement 3 and the Claude kit README make the same narrowing for the write-grant variable, that a tool call cannot change its own session's launch environment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
|
A recorded local strict-review pass covers head |
There was a problem hiding this comment.
🟢 Approval recommended
The documentation changes align with the existing implementation, and no unresolved review issues remain.
No open issues 🎉
What changed in this PR
This documentation-only pull request aligns the host-safety specification and Claude model-tier guard documentation with the guard’s existing allowance behavior and nested-session boundary.
Changes:
- Clarifies that
FLEET_ALLOW_HIGHEST=1bypasses model checks without requiring a tier mapping. - Documents that tool calls cannot alter their current session’s launch environment.
- Clarifies that nested sessions launched with the allowance are outside the guard’s good-faith mistake boundary.
| File | Description |
|---|---|
host-setup/agent-safety/README.md |
Updates requirements 3 and 10 to document allowance behavior and nested-session limits. |
host-setup/agent-safety/claude/README.md |
Aligns Claude kit documentation with the guard’s allowance and mapping behavior. |
host-setup/agent-safety/claude/model-tier-guard.py |
Updates the guard docstring to accurately describe allowance precedence and scope. |
Review effort: Lite
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3523 +/- ##
========================================
Coverage 81.54% 81.54%
========================================
Files 26 26
Lines 8967 8967
========================================
Hits 7312 7312
Misses 1655 1655
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:
|
…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 second round of review findings on the promotion pull request #3521, both on the model-tier guard. The code is unchanged. The docs stated more than it does.
classify()returns allow first whenFLEET_ALLOW_HIGHEST=1. That is correct, since a session launched with the allowance blocks no model and so needs no mapping. Each now says so.GOVERNANCE.md"Trust Boundaries and Hardening Effort". The docs now name that bound. They no longer claim an agent cannot set the allowance for itself, only that a tool call cannot change its own session's launch environment. Requirement 10 states the agent's side as a conduct rule. Requirement 3 and the Claude kit README make the same narrowing forGH_WRITE_GUARD_ALLOW.Pre-existing findings, not filed
host-setup/agent-safety/claude/gh-write-guard.py:1057and.agents/skills/repo-worktree/SKILL.md:155make the same "an agent cannot set it for itself" claim aboutGH_WRITE_GUARD_ALLOW, in files this change does not touch. (pre-existing, wording)Dropped findings
host-setup/agent-safety/README.md:35andhost-setup/agent-safety/claude/README.md:15carry sentences over 25 words that this change did not write. (style)🤖 Generated with Claude Code