Skip to content

chore(deps): update fro-bot/agent to v0.98.1 - #323

Merged
fro-bot[bot] merged 1 commit into
mainfrom
renovate/github-actions
Aug 9, 2026
Merged

chore(deps): update fro-bot/agent to v0.98.1#323
fro-bot[bot] merged 1 commit into
mainfrom
renovate/github-actions

Conversation

@fro-bot

@fro-bot fro-bot Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change OpenSSF
fro-bot/agent action minor v0.97.0v0.98.1 OpenSSF Scorecard

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

fro-bot/agent (fro-bot/agent)

v0.98.1

Compare 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 state field 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 say data unavailable rather 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. #​1357

Full changelog

0.98.1 (2026-08-09)

Bug Fixes
  • workflow: count every open security alert in the maintenance report (#​1357) (c006768)
Miscellaneous Chores
  • deps: update bfra-me/renovate-config preset to v5.2.7 (#​1350) (c11014d)

v0.98.0

Compare 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 executeOpenCode path 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-5 at harness 1.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 fails planted-defect and a paranoid one fails clean-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 #​1351

Bug fixes

Retry now classifies what actually happened. Recovery previously collapsed every failure into a single shouldRetry boolean 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, or completed. 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 distinguish absent from unreadable, so an empty file from a mid-flight overflow no longer suppresses recovery. #​1343

The provider's retryability signal is now read. The SDK's APIError carries an isRetryable boolean that the harness never consulted. An APIError whose 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 consults isRetryable, sitting behind the terminal classifiers so auth and quota failures stay terminal regardless. Classification provenance (structured, name, fallback, or unclassified) is also recorded through the metrics layer to the job summary, which was previously absent. #​1345

Capped 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. #​1347

Internal

The prompt previously instructed the agent to run a fixed session_search then session_read sequence before investigating — but session-prep.ts already 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. #​1353

A duplicate execution stack in packages/runtime/src/agent/execution.ts, retry.ts, and prompt-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 in src/features/agent/ is a strict behavioral superset (deadline plumbing, remote abort, v2 session.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. #​1339

Full changelog

0.98.0 (2026-08-09)

Features
Build System
Bug Fixes
  • agent: classify attempt outcomes and stop fabricating the retry cause (#​1343) (f08f923)
  • agent: read the provider's own retryability signal (#​1345) (cbab866)
  • context: surface the newest evidence in capped threads (#​1347) (428c82b)
Documentation
  • close out the harness flexibility plan and record its learnings (#​1354) (7053176)
  • harness: record why each carried upstream patch exists (#​1346) (5cf33f4)
  • refresh living documentation against the current tree (#​1355) (7fe1cae)
  • solutions: capture eval-corpus design learnings (#​1342) (7dac631)
  • solutions: capture evidence-first scope correction (#​1348) (31abd76)
  • solutions: capture retry and recovery learnings (#​1344) (c32509e)
  • solutions: document trustworthy agent eval corpus design (#​1352) (956c71c)
Code Refactoring
  • agent: remove the duplicate runtime execution stack (#​1339) (f5b8d69)
  • prompt: offer session context instead of prescribing a search ritual (#​1353) (995f866)

Configuration

📅 Schedule: (in timezone America/Phoenix)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@fro-bot
fro-bot Bot enabled auto-merge (squash) August 9, 2026 21:06
@fro-bot
fro-bot Bot force-pushed the renovate/github-actions branch from c8c7c6e to 0b6b8a9 Compare August 9, 2026 21:06
@fro-bot
fro-bot Bot merged commit 75b8c36 into main Aug 9, 2026
11 checks passed
@fro-bot
fro-bot Bot deleted the renovate/github-actions branch August 9, 2026 21:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants