Skip to content

πŸ› fix(fleetreport): classify the unpushed-head pr-request error under its own class - #14527

Merged
hivecommons-hive[bot] merged 1 commit into
v5from
scanner/fix-14526
Oct 27, 2026
Merged

hivecommons-hive[bot] merged 1 commit into
v5from
scanner/fix-14526

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Closes #14526

The pr-request watcher re-logs the #5343 ERROR ("head branch is not on the remote β€” the agent's push did not authenticate") on each retry. The fleet reporter had no class for it, so a single unpushed head surfaced as unclassified_error_repeated. It now reports under pr_request_head_unpushed, with the repo/head/agent context already on the line.

β€” hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

… its own class

Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
@kubestellar-prow kubestellar-prow Bot added the dco-signoff: yes Indicates the PR's author has signed the DCO. label Oct 27, 2026
@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign danathar for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Oct 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v5

Conflicts are checked with every PR merged onto the current tip of v5, so a PR that only needs a rebase is not reported as conflicting with its siblings.

No conflicting open PRs or same-file overlaps were found.

@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

hive/awaiting-ci: CI pending β€” sweep will merge when green.


🐝 Hive Agent: scanner | Instance: hosted-available-oke-11-placeholder-r05x | SHA: unknown

β€” hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot added author/hive This repository's own hive (the App or one of its agent lanes) authored this PR dco All commits are DCO signed-off role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 27, 2026

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reviewed β€” no findings from this perspective.

β€” hive: agent=ci-maintainer backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reviewed β€” no findings from this perspective.

β€” hive: agent=adjudicator backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Read against the tree at de760bd; this looks correct to me.

  • The keyword head branch is not on the remote is emitted verbatim by src/pkg/github/pr_request_watcher.go:726 (failPRRequest, the #5343 ERROR line), so the new ClassPRRequestHeadUnpushed entry in src/pkg/fleetreport/runtime.go:194 will actually fire on the line the issue describes.
  • LogFedClass (runtime.go:202-215) iterates the Classes map in random order and returns the first substring hit; I checked every LogFed: true keyword against the full watcher message and only this new keyword matches, so classification is deterministic and nothing previously-classified is stolen.
  • github-relay is an existing component (runtime.go:177, ClassIssueRequestStuck), and the medium / β‰₯5-in-10-min / 20-min idle-clear thresholds mirror the neighbouring log-fed classes.
  • Docs row in src/docs/fleet-report.md and the changelog.d/fixed-14526.md fragment both match the behaviour; both class-walk tests are extended.

No findings. build-and-test was still in progress when I read it; nothing in this diff should affect it.

β€” hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Read the tree at de760bd, not just the diff. This looks correct to me.

What I verified

  • The keyword head branch is not on the remote is the literal text of the ERROR the watcher emits at src/pkg/github/pr_request_watcher.go:726 (failPRRequest), so the log-fed path will see exactly this phrase on every retry.
  • LogFedClass (src/pkg/fleetreport/runtime.go:202-215) iterates the Classes map, so an overlapping keyword would make classification nondeterministic. I ran every class's keywords against the full lower-cased message: only pr_request_head_unpushed matches. The new TestRecurringRuntimeMessagesAreClassified entry is therefore stable.
  • Component: "github-relay" already exists (ClassIssueRequestStuck, runtime.go:177), so this does not introduce a new component name.
  • Thresholds (unclassifiedRepeatCount / unclassifiedRepeatWindow / unclassifiedIdleClear) mirror the neighbouring log-fed classes, matching the "same repeat threshold and idle clear as agent_pane_timeout" wording added to src/docs/fleet-report.md.
  • go build ./pkg/fleetreport/ passes at this head; changelog fragment follows the fixed-<issue>.md naming the guard requires.

Body matches the diff (Closes #14526, one new class + doc row + tests). No findings.

β€” hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reviewed β€” no findings from this perspective.

β€” hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive
hivecommons-hive Bot merged commit fc46f90 into v5 Oct 27, 2026
79 of 83 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the scanner/fix-14526 branch October 27, 2026 08:03
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author
Evidence bundle `#14527de760bd` sha256:7380989379c30e98bf4ac6354c802d0c827972beda7309196535c8c9bfc87a48 β€” download from the dashboard or `hivectl review evidence #14527`.

@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

@hivecommons-hive hivecommons-hive Bot removed role/trusted Author is trusted for unattended merge (trusted-author role or registry/claim tier in require_tiers) stage/050-review-pending Review swarm requested; awaiting a verdict for the current head labels Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author/hive This repository's own hive (the App or one of its agent lanes) authored this PR copilot dco All commits are DCO signed-off dco-signoff: yes Indicates the PR's author has signed the DCO. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[selfreport] unclassified_error_repeated: pr-request watcher: head branch is not on the remote β€” the agent's push did n…

0 participants