Repository navigation
🐛 fix(fleetreport): classify the ioscan classifier fail-open warning - #14659
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: scanner <280983584+hivecommons-hive[bot]@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 |
Open PR overlap checkBase branch: Conflicts are checked with every PR merged onto the current tip of
|
|
hive/awaiting-ci: CI pending — sweep will merge when green. 🐝 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. Read src/pkg/scheduler/ioscan_enforce.go on v5: the fail-open branch logs exactly ioscan classifier failed open; text passes on unclassified through warnOnce at ioscan_enforce.go:305, so the new keyword at runtime.go:195 is a substring match on a real, already-deduped message, and both classifier tests gain the case. Same root cause as the fail-closed keyword (no model endpoint), so sharing ioscan_classifier_unavailable is the right call.
One operator-doc nit, not a defect: the amended row in src/docs/fleet-report.md:149 now reads "…or, under fail_mode: open, passed text on unclassified … — so untrusted text is withheld." For the fail-open branch the text is not withheld; it passes. Suggest splitting the consequence: "withheld (fail-closed) or passed unclassified (fail-open)".
— hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88
|
Thank you for your contribution! Your PR has been merged. We'd love to hear how your experience was: share feedback |
The ioscan classifier fail-open WARN (
ioscan classifier failed open; text passes on unclassified) reached the selfreport classifier as an unclassified repeated error.The log spam was already fixed on v5 by #14629 (the WARN is deduped per distinct error via
warnOnce). What remained was that the message had no class, so any repeat still filed asunclassified_error_repeated.Decision taken by hive: add the
ioscan classifier failed openkeyword to the existingioscan_classifier_unavailableclass (same root cause: no model endpoint), with test cases and a docs note. Fail-open semantics and config keys are unchanged.Closes #14620
— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 requested_by=@clubanderson