Skip to content

chore(main): release 1.40.0 - #187

Merged
TylerStaplerAtFanatics merged 1 commit into
mainfrom
release-please--branches--main
Jul 27, 2026
Merged

chore(main): release 1.40.0#187
TylerStaplerAtFanatics merged 1 commit into
mainfrom
release-please--branches--main

Conversation

@TylerStaplerAtFanatics

@TylerStaplerAtFanatics TylerStaplerAtFanatics commented Jul 25, 2026

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

1.40.0 (2026-07-27)

Features

  • backlog: add BacklogItemEvent proto schema and WatchBacklogItems RPC (fd80654)
  • backlog: add backlogItemsSlice with normalized state and memoized selectors (92fa823)
  • backlog: add column-transition fade to Kanban board on live status changes (bf04a6a)
  • backlog: add flash-on-update visual treatment respecting prefers-reduced-motion (fc370b9)
  • backlog: add ItemChangePublisher interface and event-bus adapter (57ceff6)
  • backlog: add useWatchBacklogItems hook with idle-staleness backstop (d366c26)
  • backlog: configurable WIP cap + queued status for backlog work items (#199) (32405b1)
  • backlog: expose item ID + deep link, restore board detail pane (#216) (b7bfb30)
  • backlog: fade out list rows that leave the active filter live (Epic 6.3) (6da72a0)
  • backlog: implement WatchBacklogItems streaming RPC handler (00c49a5)
  • backlog: mount ConnectionIndicator across all backlog live views (36dabca)
  • backlog: PostToolUse git-drift steering hook for autonomous sessions (1ac4bbd)
  • backlog: progressive disclosure + session diagnostics for item detail panel (#208) (8b37535)
  • backlog: publish BacklogItemEvent from remaining mutation methods (9e39106)
  • backlog: publish BacklogItemEvent from TransitionBacklogItemStatus (36286d6)
  • backlog: report_pr_created MCP tool + orphaned-PR reconciliation backstop (547eeda)
  • backlog: seed an sdd PipelineMode and an opt-in default-selection flag (c2adbc7)
  • backlog: wire /backlog list to live WatchBacklogItems stream (6ab62d0)
  • backlog: wire /backlog/board to live WatchBacklogItems stream (be7f46c)
  • backlog: wire BacklogItemDetail to live WatchBacklogItems stream (241bdb6)
  • backlog: wire BacklogItemPanel to live WatchBacklogItems stream (31b774d)
  • events: add BacklogItemChanged event type and payload (ef2f9f7)
  • git-history-cutover: add 05-local-resync.sh for post-rewrite pull-down (63581ed)
  • session-list: add collapsible category headers (#211) (bc31485)
  • session: add workspace peer awareness across sessions (#215) (cce887b)
  • shell: stream shell tabs through the control-mode pipeline (716bd91)
  • skills: add git-history-cutover skill to drive the LFS purge runbook (0a7026b)
  • unfinished: rebrand to "Up Next" with backlog queue + GitHub issue import (#212) (2d8560f)
  • web: always stream log/warn/error to server, gate only console.debug behind toggle (30010bf)
  • workflows: add Simple/Advanced cron schedule widget (#218) (23ea31e)

Bug Fixes

  • backlog: add missing live-update flash to /backlog list rows (ab13ec2)
  • backlog: add missing readOnly prop to GateVerdictBox, backfill required mock fields (175e698)
  • backlog: check for already-shipped work before reopening a closed PR (365e98c)
  • backlog: check RemediationBlocked(bouncing) before renotifying no-verdict review exits (1b1fb20)
  • backlog: close remaining publish-hook bypasses on ItemSession mutations (902a8de)
  • backlog: darken InlineNotice's accent text/icon color for WCAG AA contrast (7013060)
  • backlog: debounce reconnecting->live flicker, announce status changes (3bbc99a)
  • backlog: eager-load ItemSessions so live events don't blank verdict/triage data (65c53b7)
  • backlog: give stuck review-role autonomous_stuck rows a remediation path (BUG-048) (36249ac)
  • backlog: guard commit/push staging against already-tracked scaffolding files (#206) (92c1c71)
  • backlog: harden TriggerReReview's diff/codebase-read path against a gone worktree (fee6ad2)
  • backlog: implement GitHub issue import + reachable Approve Plan action (#220) (2f3fe9e)
  • backlog: make main-sync a precondition of review, not a PR-fix side effect (4aca93c)
  • backlog: notify operator when reopen is blocked by a stale-but-alive work session (86665d2)
  • backlog: nudge work sessions toward isolated manual testing (6c8e788)
  • backlog: pin edit-mode buffered-update banner outside scrollArea (Epic 6.4) (cf37d10)
  • backlog: publish live event when ReconcileStuckItems transitions status (959715d)
  • backlog: recalibrate stale-session thresholds + durable rework-block trace (#219) (b2a12ea)
  • backlog: record status-change audit events on all mutation paths (#198) (5d6b41e)
  • backlog: refuse codebase-read review fallback to shared main checkout (BUG-045) (20eeaa8)
  • backlog: render queued/pr_pending/refining items on the kanban board (23d173e)
  • backlog: resolve any stuck reason on terminal status, not just autonomous_stuck/push_failed (#204) (a758b3a)
  • backlog: resolve orphaned push_failed rows on item completion (#203) (a5053cc)
  • backlog: restore status-change audit trail (events, triggeredBy, empty state) (#214) (c20be97)
  • backlog: show gate verdict in BacklogItemPanel (e71c06b)
  • backlog: show last review verdict read-only after item leaves review status (897d3de)
  • backlog: stop a fresh worktree's own base commit from reading as shipped (31fb6d4)
  • backlog: stop abandoned_review from burning its budget on respawns the bouncing gate will discard (d9aa2b5)
  • backlog: stop AutonomousDriver's orchestrator-inferred DONE from forcing premature review (#222) (03e6414)
  • backlog: stop flagging bouncing items whose PR already merged (e310108)
  • backlog: stop pr_pending items from losing their PR reference forever (b235f86)
  • backlog: stop the stuck-review liveness checker from starving review-gate sessions (b653b4f)
  • backlog: stop trusting a stale base-commit SHA as proof of shipped work (eda0e0e)
  • backlog: stop unprocessed-review-verdict sweep from renotifying the same dead session every tick (78f5bf7)
  • backlog: stop wasted rework cycles from two review-reconciliation gaps (3203fbe)
  • backlog: stop WatchBacklogItems hanging when nothing to report (3df0d29)
  • backlog: surface queued items permanently blocked by the planning gate (68f1c9a)
  • backlog: surface swallowed AutoReopenAfterFailedReview spawn+rollback failures (3b7f3ba)
  • backlog: unstick bouncing items whose code shipped without a PR (fdf3522)
  • backlog: update remaining TransitionBacklogItemStatus call sites for merged 5-arg signature (3b6efd6)
  • backlog: wire pr_pending_no_pr remediation action (df9f558)
  • gogitstore: replace direct exec.Command with safeexec.CommandContext (#223) (42808a2)
  • headless: surface swallowed ctx-timeout errors, revert bypassPermissions, add failure telemetry (#221) (2403d8f)
  • mcp: resolve terminal tool mutations against the live instance, not a fresh deferred-start reload (76c9076)
  • omnibar: bound worktree/session-create requests to fix indefinite hangs (#207) (3482017)
  • server: bind both loopback addresses on dual-stack hosts (9d3b455)
  • session: avoid tmux command-too-long failure on large claude prompts (219e4d9)
  • session: keep external tmux streamers in sync with shell lifecycle (187f9c4)
  • session: notify backlog lifecycle listeners on operator-initiated session stop (dd32916)
  • session: rate-limit backlog nudge retry on SendKeys failure (BUG-041) (b8763c6)
  • session: refuse to persist a worktree session's WorkingDir if it escaped the worktree (e67f85e)
  • session: split autonomous-driver turn injection into separate paste+submit writes (96a2d22)
  • session: use carriage return not newline to submit WriteToSession input (4d2fab6)
  • shell: fall back to capture-pane polling after early control-mode exit (d146b96)
  • terminal: fix xterm theme flip and unpainted rows beyond 80x24 (01cc299)
  • tmux: kill orphaned control-mode clients left over from a prior process instance (b6e76be)
  • unfinished: fix mobile sizing on Unfinished page and its modals (#210) (aa976a7)
  • unfinished: stop the scanner's watch list from growing forever (8fd954d)

This PR was generated with Release Please. See documentation.

@TylerStaplerAtFanatics TylerStaplerAtFanatics changed the title chore(main): release 1.37.1 chore(main): release 1.38.0 Jul 25, 2026
@TylerStaplerAtFanatics
TylerStaplerAtFanatics force-pushed the release-please--branches--main branch 2 times, most recently from e662df2 to 0be723d Compare July 25, 2026 23:42
tstapler added a commit that referenced this pull request Jul 26, 2026
)

push_failed had zero automated remediation — MarkStuck fired once on a
non-fast-forward push rejection and nothing ever retried, so an item with
no active session stayed stuck forever. Live-repro'd 2026-07-20:
backlog item c2ad7bf3-91bf-4d47-8654-0f2f20869080 (stelekit PR smtg-ai#251) sat
stuck since 2026-07-19T17:06 with no path to self-resolve.

Adds reconcilePushFailedItems, a new periodic detector wired into
ReconcileStuck, gated through the existing Storage.RemediationDue backoff
schedule (Phase A) the same way autoReopenWithBackoffGate/bouncing does.
On each due attempt, attemptPushRemediation fetches+merges the branch's
current remote ref into the worktree (via a new injectable
branchReconciler, defaulting to git.MergeMainIntoWorktree) and, on a clean
merge, retries the full push+PR flow via the existing pushAndCreatePR. A
real content conflict is left alone — not auto-resolved — with a distinct
"Manual rebase needed" notification naming the conflicting files.

Verified live against the repro item after redeploy: the sweep detected
the item, ran a real git fetch+merge against the actual GitHub remote,
correctly identified the genuine conflict in .backlog-context.md
(independently confirmed via a manual dry-run merge), declined to
force-resolve it, and correctly respected the backoff schedule on
subsequent ticks rather than hammering retries.


Claude-Session: https://claude.ai/code/session_01BxNAMeGteuzNyN46Q4zAn1

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions github-actions Bot changed the title chore(main): release 1.38.0 chore(main): release 1.40.0 Jul 26, 2026
@github-actions
github-actions Bot force-pushed the release-please--branches--main branch from 0be723d to 633dbf3 Compare July 26, 2026 18:20
@github-actions
github-actions Bot force-pushed the release-please--branches--main branch from 633dbf3 to c95130a Compare July 27, 2026 15:16
@TylerStaplerAtFanatics
TylerStaplerAtFanatics merged commit 7657f76 into main Jul 27, 2026
@TylerStaplerAtFanatics
TylerStaplerAtFanatics deleted the release-please--branches--main branch July 27, 2026 16:36
@github-actions

Copy link
Copy Markdown

🤖 Created releases:

🌻

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.

1 participant