chore(deps): update fro-bot/agent to v0.98.1 - #323
Merged
Conversation
fro-bot
Bot
force-pushed
the
renovate/github-actions
branch
from
August 9, 2026 21:06
c8c7c6e to
0b6b8a9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.97.0→v0.98.1Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
fro-bot/agent (fro-bot/agent)
v0.98.1Compare Source
What's new
The Daily Maintenance Report was silently undercounting open security alerts and then narrating the missing ones as resolved. A run could report "5 open (down from 9 last run)" while all nine alerts remained open — the four that disappeared were repository-level Scorecard findings (branch protection, known vulnerabilities, fuzzing, best-practices badge) that carry no file path by nature, causing them to drop out of the agent's view.
The report prompt now names both API queries explicitly, designates each alert's own
statefield as the sole authority on whether it is open, and states that a finding without a file location still counts. When a source cannot be read, the report must saydata unavailablerather than present a partial count as complete — the same failure mode already documented after a prior incident where a check that cannot observe a category silently reports that category as clean. #1357Full changelog
0.98.1 (2026-08-09)
Bug Fixes
Miscellaneous Chores
v0.98.0Compare Source
What's new
This release delivers a new agent-outcome evaluation corpus, two targeted bug fixes in the retry and context-hydration paths, and two cleanup changes that reduce operational risk in the execution layer.
Features
The harness now has an agent-outcome evaluation corpus that runs the real
executeOpenCodepath against a disposable fixture git repo and scores results by hard executable gates. Before this, 237 test files covered plumbing thoroughly but nothing measured whether the agent's actual output was any good — so prompt edits, model swaps, and OpenCode pin bumps were merged on judgement rather than evidence.The corpus starts at six scenarios — PR review (clean and planted-defect variants), issue answer with known files, continuation-context correctness, and unchanged-constraint detection — with a committed baseline recorded from a six-scenario live run against
claude-sonnet-5at harness1.18.14+harness.202732ae. Scenarios use a differential design: identical neutral prompts differing only in whether the defect or problem is present, so a rubber-stamp agent failsplanted-defectand a paranoid one failsclean-pr. Live corpus runs are opt-in (FRO_BOT_EVAL=1) so normal CI remains fast and offline, while the gate functions that define scoring run in every build for free. #1340 #1351Bug fixes
Retry now classifies what actually happened. Recovery previously collapsed every failure into a single
shouldRetryboolean and, when retrying, always sent the hardcoded message "The previous request was interrupted by a network error (fetch failed). Please continue where you left off." — a fabricated cause for two of the three retryable error types, and exactly the instruction most likely to make a model redo a write that had already landed.Attempts now carry a discriminated outcome:
submit_failed,turn_failed_retryable,turn_failed_terminal,timeout, orcompleted. The original prompt is resent only when nothing was accepted by the server; once a turn has run, recovery names the observed error type and, on credential-provisioned events, tells the model to verify what already landed before acting. Two additional safety gaps are closed: a submission failure is reclassified as a failed turn when stream activity was already observed (preventing replay of an accepted turn), and the response-file check now parses the file to distinguishabsentfromunreadable, so an empty file from a mid-flight overflow no longer suppresses recovery. #1343The provider's retryability signal is now read. The SDK's
APIErrorcarries anisRetryableboolean that the harness never consulted. AnAPIErrorwhose summary matched no prose pattern and wasn't a 429 fell through to a terminal configuration-error classification — so a provider that flagged a request as safely retryable would have it treated as unretryable anyway. The generic classification branch now consultsisRetryable, sitting behind the terminal classifiers so auth and quota failures stay terminal regardless. Classification provenance (structured,name,fallback, orunclassified) is also recorded through the metrics layer to the job summary, which was previously absent. #1345Capped threads now show the newest evidence. When a long comment, review, or commit thread exceeds its cap, the harness was keeping the oldest entries. The GraphQL queries are switched to
last:so the final N items are returned in natural ascending order; the REST fallback, which has no direction parameter, now pages to the end of bounded collections before selecting. Without this fix, the two hydration paths silently disagreed about which evidence the model saw, and on long threads the decisive recent context was systematically dropped. #1347Internal
The prompt previously instructed the agent to run a fixed
session_searchthensession_readsequence before investigating — butsession-prep.tsalready ran those queries and injected the results before the prompt was sent. The prompt now states the affordance instead: prior context may already be present, and the session tools are available when more history helps. All delivery contracts (response-file path, verdict tokens, one-response rule, delivery-mode authority) are unchanged. #1353A duplicate execution stack in
packages/runtime/src/agent/—execution.ts,retry.ts, andprompt-sender.ts— is removed. This second implementation had no production consumers; the gateway and workspace-agent both import other runtime symbols and never used these. The live path insrc/features/agent/is a strict behavioral superset (deadline plumbing, remote abort, v2session.wait, artifact reconciliation). Keeping a parallel implementation with zero consumers meant a correct fix to the wrong file could silently leave the real behavior unchanged. #1339Full changelog
0.98.0 (2026-08-09)
Features
Build System
Bug Fixes
Documentation
Code Refactoring
Configuration
📅 Schedule: (in timezone America/Phoenix)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.