Skip to content

policy(contributor): per-vendor Frontier floor; state model gate by exact model#6584

Merged
matthewevans merged 1 commit into
mainfrom
ship/frontier-per-vendor-model-floor
Jul 24, 2026
Merged

policy(contributor): per-vendor Frontier floor; state model gate by exact model#6584
matthewevans merged 1 commit into
mainfrom
ship/frontier-per-vendor-model-floor

Conversation

@matthewevans

@matthewevans matthewevans commented Jul 24, 2026

Copy link
Copy Markdown
Member

The Frontier-only table used family wildcards (claude-sonnet-*,
claude-haiku-*), which excluded claude-sonnet-5 — a current-generation
frontier model — while the accepted row still admitted claude-opus-4-7.
State the floor per vendor by exact model instead:

Anthropic claude-opus-4-8+, claude-sonnet-5+
OpenAI gpt-5-5+
Codex codex-5-5+

and name the exclusions explicitly (opus-4-7 and below, sonnet-4-6 and
below, all haiku incl. haiku-4-5, all composer, gpt-5-4/5-3 and below,
codex-5-4 and below) so no wildcard reading can misclassify a model.

Also document how commit evidence is read. A Co-Authored-By trailer is
weighed against the commits carrying the implementation: a session that
falls back to a sub-Frontier model part-way through leaves sub-Frontier
trailers without the change having been generated below the floor, and
that is a declaration to confirm rather than dishonesty. The account-level
problem is a Model:/Tier: line that contradicts the trailers in the
direction that clears the gate.

Extend the pre-cutoff grandfather clause to name Haiku, since
claude-haiku-4-5 sat in the Standard row until 2026-07-24T02:03:45Z.

Summary by CodeRabbit

  • Documentation
    • Updated AI contributor tier guidance to include claude-sonnet-5 among accepted Frontier-tier models.
    • Clarified exact-model requirements and out-of-policy behavior for non-Frontier models.
    • Expanded grandfathering guidance for submissions opened before July 24, 2026, including treatment of claude-haiku-4-5.

…xact model

The Frontier-only table used family wildcards (`claude-sonnet-*`,
`claude-haiku-*`), which excluded `claude-sonnet-5` — a current-generation
frontier model — while the accepted row still admitted `claude-opus-4-7`.
State the floor per vendor by exact model instead:

  Anthropic  claude-opus-4-8+, claude-sonnet-5+
  OpenAI     gpt-5-5+
  Codex      codex-5-5+

and name the exclusions explicitly (opus-4-7 and below, sonnet-4-6 and
below, all haiku incl. haiku-4-5, all composer, gpt-5-4/5-3 and below,
codex-5-4 and below) so no wildcard reading can misclassify a model.

Also document how commit evidence is read. A Co-Authored-By trailer is
weighed against the commits carrying the implementation: a session that
falls back to a sub-Frontier model part-way through leaves sub-Frontier
trailers without the change having been generated below the floor, and
that is a declaration to confirm rather than dishonesty. The account-level
problem is a Model:/Tier: line that contradicts the trailers in the
direction that clears the gate.

Extend the pre-cutoff grandfather clause to name Haiku, since
claude-haiku-4-5 sat in the Standard row until 2026-07-24T02:03:45Z.
@matthewevans
matthewevans enabled auto-merge July 24, 2026 04:21
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Updated AI contributor documentation to add claude-sonnet-5 to the Frontier model list, clarify exact-model enforcement and abort behavior, and expand the pre-2026-07-24 grandfathering rules.

Changes

Tier gate documentation

Layer / File(s) Summary
Model eligibility and cutoff rules
docs/AI-CONTRIBUTOR.md
Adds claude-sonnet-5 as an explicitly accepted Frontier model, disallows family wildcard interpretation, and clarifies exact-model enforcement, commit evidence, and pre-cutoff declaration grandfathering.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

  • phase-rs/phase#6579: Updates the same AI contributor tier-gating documentation and non-Frontier model handling.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the contributor policy update and the shift to exact-model Frontier gating.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ship/frontier-per-vendor-model-floor

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/AI-CONTRIBUTOR.md`:
- Line 38: Replace the date-only cutoff in the grandfathering paragraph with the
precise UTC timestamp 2026-07-24T02:03:45Z, and explicitly state whether PRs
opened at that exact instant are included. Use this same inclusive or exclusive
comparison consistently for both the policy applicability and the historical
claude-haiku-4-5 explanation.
- Around line 32-34: The model-trailer policy in the “How commit evidence is
read” section gives conflicting outcomes for sub-Frontier commits. Reconcile the
statements so they define one authoritative hard-gate outcome, including the
required declaration correction and re-evaluation flow for
Frontier-to-sub-Frontier fallback, while retaining the account-level escalation
for contradictory Model/Tier claims.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 3ec0901b-ec55-431b-9af4-f237c00143c1

📥 Commits

Reviewing files that changed from the base of the PR and between 8c52465 and 02dc2c1.

📒 Files selected for processing (1)
  • docs/AI-CONTRIBUTOR.md

Comment thread docs/AI-CONTRIBUTOR.md
Comment on lines +32 to +34
**Frontier-tier models only.** There is no longer a Standard tier. The floor is per-vendor and is stated by exact model, not by family wildcard — `claude-sonnet-5` is accepted while `claude-sonnet-4-6` is not, so a `claude-sonnet-*` reading of this table is wrong. **Not accepted:** `claude-opus-4-7` and below, `claude-sonnet-4-6` and below, every `claude-haiku-*` including `claude-haiku-4-5`, every `composer-*`, `gpt-5-4` and below including `gpt-5-3`, and `codex-5-4` and below. If that is your model, abort per §0 rather than opening a PR. A PR declaring a non-Frontier model, or whose commits show one, will be closed as out-of-policy without an implementation review. This is not a judgement about those models generally; it reflects that review capacity here is the scarce resource, and sub-Frontier runs have consistently consumed several maintainer rounds per PR to reach a standard a Frontier run reaches on the first pass.

**How commit evidence is read.** The gate is about the model that *wrote the change*, so a `Co-Authored-By:` trailer is read against the commits that carry the implementation. A session that starts on a Frontier model and falls back to a sub-Frontier one part-way through — a usage limit, a harness default — leaves sub-Frontier trailers on later commits without the PR having been generated below the floor. That is a fixable declaration problem, not dishonesty: expect to be asked to confirm which model did the work. What earns a close is the whole run sitting below the floor; what escalates to an account-level problem is a `Model:`/`Tier:` line that contradicts the trailers in a direction that clears the gate.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Resolve the contradictory handling of sub-Frontier commit trailers.

Line 32 says any commit showing a non-Frontier model closes the PR, while Line 34 says a Frontier-to-sub-Frontier fallback is only a fixable declaration problem. These rules produce opposite outcomes for the same evidence and conflict with .claude/skills/pr-review-loop/SKILL.md’s hard-gate behavior. Define one authoritative outcome and the required remediation/re-evaluation flow.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/AI-CONTRIBUTOR.md` around lines 32 - 34, The model-trailer policy in the
“How commit evidence is read” section gives conflicting outcomes for
sub-Frontier commits. Reconcile the statements so they define one authoritative
hard-gate outcome, including the required declaration correction and
re-evaluation flow for Frontier-to-sub-Frontier fallback, while retaining the
account-level escalation for contradictory Model/Tier claims.

Comment thread docs/AI-CONTRIBUTOR.md
If you cannot determine your model, abort — do not guess and do not proceed on the assumption that you qualify. Tier cannot satisfy the artifact gate or authorize architecture scope.

**Applies to PRs opened on or after 2026-07-24.** Pull requests opened before that date are judged on their code, not their declared tier — the Standard tier was accepted policy when they were written, and a contributor who reported a Sonnet or Composer run accurately was following the rules as published. Do not close an older PR for a declaration that was correct when it was made. This grandfathering covers the declaration only: every other gate in this document applies to open PRs regardless of age.
**Applies to PRs opened on or after 2026-07-24.** Pull requests opened before that date are judged on their code, not their declared tier — the Standard tier was accepted policy when they were written, and a contributor who reported a Sonnet, Haiku, or Composer run accurately was following the rules as published. `claude-haiku-4-5` in particular was named in the Standard row of the tier table until 2026-07-24T02:03:45Z, so Haiku trailers on a PR opened before that are evidence of compliance, not of a violation. Do not close an older PR for a declaration that was correct when it was made. This grandfathering covers the declaration only: every other gate in this document applies to open PRs regardless of age.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Use one precise UTC cutoff boundary.

This paragraph uses the date-only boundary 2026-07-24, but explains the prior policy using 2026-07-24T02:03:45Z. A PR opened between 00:00:00Z and 02:03:44Z on July 24 can therefore be both grandfathered and non-grandfathered depending on which sentence a reviewer applies. State the exact timestamp and whether the comparison is inclusive.

🧰 Tools
🪛 LanguageTool

[style] ~38-~38: You can shorten this phrase to improve clarity and avoid wordiness.
Context: ...violation. Do not close an older PR for a declaration that was correct when it was made. This grandfathering c...

(NNS_THAT_ARE_JJ)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/AI-CONTRIBUTOR.md` at line 38, Replace the date-only cutoff in the
grandfathering paragraph with the precise UTC timestamp 2026-07-24T02:03:45Z,
and explicitly state whether PRs opened at that exact instant are included. Use
this same inclusive or exclusive comparison consistently for both the policy
applicability and the historical claude-haiku-4-5 explanation.

@matthewevans
matthewevans added this pull request to the merge queue Jul 24, 2026
Merged via the queue into main with commit b262864 Jul 24, 2026
15 checks passed
@matthewevans
matthewevans deleted the ship/frontier-per-vendor-model-floor branch July 24, 2026 05:06
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.

1 participant