You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stream parsing retains only text-bearing fields for deferred classification,
reducing allocations for metadata-heavy output without changing text or usage.
Fixed
Empty SUBJECT: and PATH: fields no longer consume the following output
line as a commit subject or file note.
Run-end summaries report the loops the run completed instead of always zero.
Agent configuration rejects case-variant duplicate fields, including nested
usage fields, instead of silently letting JSON key order override settings.
Release concurrency is scoped per tag so unrelated tag pushes cannot cancel
queued releases. Runs for the same tag remain serialized.
Launcher help exposes the focused control's full name, state, value, and
description in scrollable text when terminal panes clip them.
Stream lines, prompt descriptions, and PR summaries truncate at whole grapheme
boundaries within their rune budgets, preserving combining accents and flags.
Changelog validation accepts SemVer prerelease and build-metadata headings,
so the release checks no longer block release candidates before publication.
Versions sort by SemVer precedence, and negative version components are refused.
Narrow launcher panes retain concurrency and selected option values instead
of hiding them. Panel titles stay within their assigned width so long titles
cannot push adjacent panels past the terminal edge.
Deterministic-simulation guidance preserves cryptographic randomness in
production and confines seeded substitutes to tests or simulation mode.
Launcher help calls the existing state-summary helper instead of an undefined
method, restoring compilation.
Directory lock files keep their inode after release, preventing overlapping
starts from acquiring separate locks for the same tree. Release clears the
holder note instead of removing the file.
Reported subjects and file notes truncate at whole grapheme boundaries within
their rune limits, preserving combining accents, flags, and variation selectors.
Release tags with a prerelease suffix are published as GitHub prereleases,
including when retrying a draft, so stable installs and self-updates do not
select release candidates. Build metadata alone does not mark a prerelease.
Run summaries retain interrupted review counts, including summaries rebuilt
from journal events, instead of dropping that outcome from the status totals.
Build recipes pin GOAMD64=v1 and GOARM64=v8.0, preventing ambient CPU
settings from producing binaries that require newer processors.
Recovered run listings retain the original start time when hot reload or
multiple directories produce repeated run-start events.
Persistent review lanes discard staged and unstaged edits when advancing,
so failed attempts cannot carry tracked changes into the next review.
Stream parsing no longer treats tool-payload and user-turn text as assistant
output, so report lines and usage inside a tool result cannot replace the
run's own subject, file notes, or counters.
Version output exits with a failure and reports errors on stderr when stdout
or the --log destination cannot be written.
Output rate limiting starts its first window at the first line, including
when an injected clock starts near zero time.
Failed attempts stop retrying or falling back to another agent once the
runtime budget is exhausted, including when it expires during backoff.
Seeded review schedules retain their logical loop number after hot reload,
so subsequent shuffles and --max-reviews selections match uninterrupted runs.
Hot reload counts a sequential loop completed during its final review, so
the successor does not repeat finished work or exceed --max-loops.
--show-prompt exits with a failure and reports output errors on stderr
when the prompt cannot be written, including partial output.
Build and test recipes export GOWORK=off, so a go.work above the
checkout can no longer add workspace modules or replace directives to the
build; the dependency set is go.mod's and go.sum's alone.
Clearing a kept review search in the launcher moves the selection onto the
first visible review instead of leaving it stranded off the restored list.
--log tightens a pre-existing log file to owner-only permissions before
writing, instead of leaving permissions from an earlier looser creation.
make fmt handles Go formatter paths containing spaces, matching make check.
Commit steps retain their five-minute timeout when --timeout 0 leaves
reviews unlimited, rather than allowing a stalled commit to block the run.
Custom agent files reject duplicate agent names and configuration keys instead
of silently replacing earlier values.
Recovered run listings count completed loops across directories and hot reloads,
without counting an interrupted loop as finished.
Git status parsing preserves Unicode whitespace in filenames instead of
stripping it and reporting a different path.
The completed dashboard freezes elapsed time, budget consumption, and activity
history while it remains open for inspection.
Dashboard throughput sums lanes in stable order so replayed usage events
produce identical rates, counting repeated configured lanes only once.
Usage probes kill remaining process-group members on every exit, preventing
background helpers from accumulating between reviews.
The help overlays on the dashboard and launcher scroll when the terminal is
too short for them, so every instruction stays reachable by keyboard, and
wrap long lines instead of clipping them at the pane edge.
Suggestion parsing rejects malformed names instead of scheduling a review
whose name matches only a prefix of the response.
runs exits with a failure and reports output errors on stderr when its
listing cannot be written, including empty history and partial output.
Release builds stop when any binary's module inventory cannot be read,
instead of reporting success with an incomplete sbom.txt.
Database checks use saved query plans instead of connecting to existing
databases or executing statements through EXPLAIN ANALYZE.
URL credential redaction handles apostrophes and embedded @ characters
without mistaking query or fragment text for credentials.
Token usage parsing ignores fractional and exponential counts instead of
recording their leading digits as whole-token counts.
Custom agent files reject a top-level null instead of silently starting
with built-in definitions; use {} for an empty configuration.
The launcher no longer blocks stacked PRs on a dirty checkout because of a
saved concurrency setting that stack mode ignores. Leaving stack mode restores
the setting and its clean-tree requirement.
make vuln scans the selected build tags, including the sqlite driver in
the default CI scan, instead of silently scanning only the untagged build.
Custom agent files report validation errors in name order, so identical
definitions produce the same startup diagnostic across runs.
Timeout and cancellation kill remaining subprocess-group members even when
the leader exits before children that ignore SIGTERM.
show exits with a failure when replay output cannot be written, rather
than reporting success for a partial or missing replay.
Prompt discovery excludes --prompt-dir when a symlink gives the same
directory a different path, including macOS /var and /private/var aliases.
Recovering the run index no longer appends a reconstructed row for a run
that already Closed: when runs close out of start order (a long run still
going when a short later one finishes), the duplicate row could replace the
completed summary in runs listings, losing args, exit code, and measured
elapsed.
In-place retries and agent fallback stop when the starting tree could not
be snapshotted, preventing repeated writes on top of a failed attempt.
Releases reject whitespace-only and heading-only changelog sections instead
of publishing without release notes.
The launcher preserves all explicitly selected reviews when suggestions are
enabled, instead of silently running only the suggested subset.
make check analyzes all three shipped build modes even when TAGS is
overridden, keeping local checks aligned with CI.
show preserves exact JSON numbers, including 64-bit RNG seeds, so a
seed copied from a recorded run replays the original schedule.
A resumed run whose handoff was written before the wall clock was set
back no longer resumes in the future with extra runtime.