Repository navigation
🐛 fix(automerge): warn once per author and repo for unsearchable contributor search - #18089
Conversation
…ributor search The contributor-lane 422 warning was keyed per (author, repository) pair, so one repository the App cannot see warned once for every contributor, and one unsearchable author warned once for every hive repository. TunaOS logged it 15 times in 10m and self-reported it as unclassified_error_repeated. Refusals are still remembered per pair for the TTL, but WARN now fires only when neither the author nor the searched repository has warned before; everything else logs at Debug. Fixes #18059 Hive-Run: #18059 Hive-Plan: selfreport-unclassified-error-repeated Hive-Spec: contributor-lane-auto-promotion#unsearchable-warn-once Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Danathar <Danathar@users.noreply.github.com>
|
[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 |
Mutation testing✅ Resolved: no surviving or uncovered mutants in changed files on the current head. Verdict: |
The mutation run on #18089 left both `len(...) > 4096` resets in noteContributorUnsearchable surviving as `>=`. Add a boundary test: a map holding exactly 4096 entries is kept, and one past the cap is reset. Each `>=` mutant now fails the test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Danathar <Danathar@users.noreply.github.com>
|
The mutation report's two surviving mutants were the 🤖 Generated with Claude Code 🐝 Hive Agent: |
…ributor search (#18089) * 🐛 fix(automerge): warn once per author and repo for unsearchable contributor search The contributor-lane 422 warning was keyed per (author, repository) pair, so one repository the App cannot see warned once for every contributor, and one unsearchable author warned once for every hive repository. TunaOS logged it 15 times in 10m and self-reported it as unclassified_error_repeated. Refusals are still remembered per pair for the TTL, but WARN now fires only when neither the author nor the searched repository has warned before; everything else logs at Debug. Fixes #18059 Hive-Run: #18059 Hive-Plan: selfreport-unclassified-error-repeated Hive-Spec: contributor-lane-auto-promotion#unsearchable-warn-once Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Danathar <Danathar@users.noreply.github.com> * 🧪 automerge: pin the 4096-entry cap on the unsearchable maps The mutation run on #18089 left both `len(...) > 4096` resets in noteContributorUnsearchable surviving as `>=`. Add a boundary test: a map holding exactly 4096 entries is kept, and one past the cap is reset. Each `>=` mutant now fails the test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Danathar <Danathar@users.noreply.github.com> --------- Signed-off-by: Danathar <Danathar@users.noreply.github.com> Co-authored-by: Danathar <Danathar@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Fixes #18059
TunaOS logged
contributor-lane auto-promotion search cannot see repository for this author15 times in 10m, so it self-reported asunclassified_error_repeated. #17151 had already stopped the same pair being re-asked and re-warned on every sweep. The WARN was still keyed per (author, repository) pair, though, so the number of warnings grew with authors × repositories:Change
noteContributorUnsearchablestill remembers each refused pair forcontributorUnsearchableTTL, so search skipping is unchanged.contributorUnsearchableWarnedset onEngineholdsauthor:<login>/repo:<owner/repo>keys. Like the TTL map, it is reset once it grows past 4096 entries.Tests
TestContributorUnsearchableWarnsOncePerAuthorAndRepositorycovers 3 authors × 2 refused repositories. It asserts exactly one WARN and that every pair is still remembered. Before this change it would have logged 6 warnings.gofmt -llocally; CI is the verdict.changelog.d/fixed-18059-contributor-unsearchable-warn.md.🤖 Generated with Claude Code
— hive: backend=claude model=claude-opus-5-5
🐝 Hive Agent:
contributor| SHA:d1cb42780