Repository navigation
π fix: exclude contributor tier limits from runtime self-reports - #14430
hivecommons-hive[bot] merged 2 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Open PR overlap checkBase branch: Conflicts are checked with every PR merged onto the current tip of No conflicting open PRs or same-file overlaps were found. |
There was a problem hiding this comment.
Looks correct to me.
- The three strings match the emitters byte-for-byte:
src/pkg/dashboard/contribute_select.go:584(concurrency limit reached),:596(hourly rate limit reached),:605(daily rate limit reached).IsBenignMessagelowercases first (fleetreport.go:778) and the newswitchcomparesstrings.TrimSpace(m)exactly, so the whole-line match keeps:1202(lease could not be persisted β β¦) and the otherrefusing task:variants (:477,:515,:623) reportable, which the negative cases inTestHandlerSkipsContributorTierLimitspin. - It follows the same shape as the
#14346hourly-cap block directly above it, so no new matching mechanism is introduced.
On the red test (rest 3/4) shard: the only failure is TestHiveOpenPRScript_MultilineBodyIsValidJSONWithoutPython3 in pkg/github (dirname: command not found on the ubuntu-26.04 runner image), which this PR does not touch; #14429 adds dirname to that test's stub PATH. A rebase once that lands should turn the shard green.
β hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88
|
@thatguywob this PR is back in your court ( Failing checks:
Reply here or push a new head to this branch (same sign-off); CI and the review swarm re-run automatically and the PR returns to the normal path. Queued in your relay fix queue (1 waiting): fixes are handed out before new work as soon as you have capacity. |
|
Check report: the only red check, test (rest 3/4), is π Hive Agent: β hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 |
|
@thatguywob the hive has adopted this PR ( |
Match complete policy-refusal notices while preserving warnings and reporting genuine failures. Hive-Run: hivecommons#14414 Hive-Plan: contributor-tier-limit-selfreport-filter Hive-Spec: issue-14414#expected-policy-refusals Signed-off-by: thatguywob <thatguywob@users.noreply.github.com>
5ffe34b to
c831833
Compare
|
hive/awaiting-ci: rebased onto v5 (c831833) β the rest-shard failure ( π Hive Agent: β hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 |
There was a problem hiding this comment.
Style review β no blockers; one advisory.
- (advisory, in-scope) Test placement diverges from the package idiom. Every prior benign rule pairs a direct unit test in
src/pkg/fleetreport/runtime_test.go(TestIsBenignMessageContributorFailureStreakat :827,TestIsBenignMessageRequiredChecksOverrideMismatchat :842, β¦) with a slogfeed test named*LogsWithoutFleetReport(slogfeed_test.go:359,:403). This PR adds onlyTestHandlerSkipsContributorTierLimits(slogfeed_test.go:437), so the new exact-match cases atfleetreport.go:801-806have no directIsBenignMessagecoverage and the test name won't be found by the*LogsWithoutFleetReportgrep. Suggest addingTestIsBenignMessageContributorTierLimitsto runtime_test.go and renaming the slogfeed test toTestContributorTierLimitsLogWithoutFleetReport.
Verified the matched literals are byte-identical to the producers at src/pkg/dashboard/contribute_select.go:584,596,605, and the exact-match-after-TrimSpace shape follows the #14346 block directly above (fleetreport.go:794-797).
β hive: agent=ci-maintainer backend=copilot model=claude-fable-5.1 copilot=1.0.88
|
Shared CI baseline triage: the red π Hive Agent: β hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 |
|
@thatguywob is auto-promoted for contributor-lane merging on this PR: the last 5 merged PRs by this author in this repository have no revert or sentinel-alert evidence. CI, reviewer verdict, diff fences, soak, holds and branch protection still apply. |
|
The hive adopted this PR ( Blocker: check Moving to |
Base-sync: pick up hivecommons#14415 and hivecommons#14469 test fixes so CI runs against the current v5. Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
hive/awaiting-ci: base-synced this adopted branch with π Hive Agent: β hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 |
There was a problem hiding this comment.
Looks correct to me.
- The three literals match the emitters exactly:
src/pkg/dashboard/contribute_select.go:584(concurrency),:596(hourly),:605(daily). All three areWarncalls on the poll path, so a rate-limited contributor re-emits them every poll β the same shape as thecontributor failure streakrefusal already treated as benign atfleetreport.go:757(#14178). IsBenignMessagelowercases atfleetreport.go:772before the newstrings.TrimSpace(m)switch, so the upper-case/whitespace test case is exercising real behaviour.- Exact-match rather than prefix is the right call here:
refusing task: lease could not be persisted(contribute_select.go:1202) and anyβ¦: enforcement failedvariant stay reportable, which the second half ofTestHandlerSkipsContributorTierLimitspins down.slogfeed.go:93/111consultsIsBenignMessageon both the observe and classify paths, so the test covers the real feed. go build ./pkg/fleetreport/...clean with the diff applied; changelog fragment name followsfixed-<slug>.md.Fixes #14414is correct β the issue is the self-report this silences.
β hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88
There was a problem hiding this comment.
Read this against the v5 tree; looks correct to me.
- The three strings added to
IsBenignMessage(src/pkg/fleetreport/fleetreport.go) match theWarncalls insrc/pkg/dashboard/contribute_select.go:584,:596and:605byte-for-byte, andIsBenignMessagelowercases thenTrimSpaces before the switch, so the uppercase/whitespace test case is exercising the real normalization path. - Exact-match (not substring) means the lease-persist refusal at
contribute_select.go:1202,tier disabled(:515) andagent role not permitted(:477) stay reportable β consistent with the "limits only" scope of #14414. - Changelog fragment uses the
fixed-prefix the fragment guard requires.
Nothing blocking from my side; a maintainer approval is what this needs.
β hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88
|
Merged by hive contributor-lane auto-merge: CI green for β₯30m, reviewer verdict approve, head |
Repeated contributor polling after reaching a tier limit currently turns expected policy enforcement into an
unclassified_error_repeatedfleet issue. Treat the complete concurrency, hourly, and daily limit refusal notices as benign while keeping their WARN logs and assignment gates intact. Other task refusals and limit-related failures remain reportable.Fixes #14414
Validation: added slog-feed regression coverage for repeated refusals, preserved log output, case/whitespace normalization, and genuine failure messages.
gofmt -landgit diff --checkpassed. Tests were not run locally per AGENTS.md; CI runs the suite.β hive: backend=codex model=gpt-6.1-sol
π Hive Agent:
contributor| SHA:5ffe34b99