Skip to content

feat(contracts,devices,mobile,web): adopt 2026-09-22 upstream resilience and polish batch - #731

Merged
rynfar merged 107 commits into
pylonfrom
upstream/2026-09-22-contracts-devices-models-polish
Sep 25, 2026
Merged

rynfar merged 107 commits into
pylonfrom
upstream/2026-09-22-contracts-devices-models-polish

Conversation

@rynfar

@rynfar rynfar commented Sep 22, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #730

Summary

Adopts upstream commits from 2026-09-22 covering server contracts resilience, device maintenance & updates, Opus 5.5 docs, and mobile/web polish:

  1. Contracts (#12763): Allow legacy turnId: null on message events during schema decoding so old events don't block server startup.
  2. Devices (#12819): Device tool cleanup reviewed but excluded: the install lock ends before helper spawn, so process scanning cannot prove an older install is unused. Existing completed installs are retained until a cross-host install-to-spawn lease makes pruning safe.
  3. Devices (#12877): Offer manual updates in tool version details and register RpcAuthorization.
  4. Models (#13094): Claude Opus 5.5 docs and model manifest timestamp update. The bundle date now matches its final Pylon content edit (2026-09-24T07:48:28Z), after GPT-6 and Opus classification edits. Refresh retains a newer bundled/live manifest when the hosted catalog lags; newer remote manifests still apply.
  5. Mobile (#12855): SF Symbol fallback arrow.triangle.pull -> Tabler IconGitPullRequest on iOS.
  6. Mobile (#12949): Disable autocorrect/autocapitalize on iOS search queries in react-native-screens.
  7. Web (#10338): Retry failed composer attachment uploads after reconnect.

Validation

  • Reviewed final head 4b2070a0f7: scoped server, web, and mobile typechecks passed; model timestamp correction passed an additional t3 typecheck.
  • Focused original batch: 147 tests across seven files passed.
  • Final model-manifest, local device host, and SSH device script regressions: 25 tests passed; scoped lint passed.
  • Independent adversarial review cleared the final source changes and one-line timestamp correction. At exact heads 4b2070a0f7 + provider-refresh PR fix(server): bypass provider caches on explicit refresh #743 1f7cf3f949, 247 combined focused model/registry/Cursor/provider tests and t3 typecheck passed with no merge conflict. Browser/device runtime verification awaits the user’s explicit approval; final-head CI is pending.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Mnigos and others added 7 commits September 22, 2026 12:30
… the server from starting (#12763)

(cherry picked from commit 80d9c181da41ee3890791c9b65018ce093e7bc9e)
(cherry picked from commit 790be6d755026d61bd13a970dd77176c12ca0425)
(cherry picked from commit 1de563c1491c7d82563e4553bf5bf689ce6adbb9)
Co-authored-by: Anco <anco@bluebarry.ai>
Co-authored-by: Exotic <118054752+extoci@users.noreply.github.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
(cherry picked from commit f25a8e4b72c1164f2ab7b1c8481496f168d17f55)
(cherry picked from commit 1eeeabb26f654c679efe265cd03edf69c3df3a6f)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
(cherry picked from commit 33cb911ceb89d55b812f486d4e001d0f86d77680)
(cherry picked from commit aff9318bf46beaf05cc7155b428d3f0b8711efd2)
@vercel

vercel Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
pylon-marketing Ignored Ignored Preview Sep 24, 2026 8:57am UTC

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Sep 22, 2026
@rynfar
rynfar force-pushed the upstream/2026-09-22-contracts-devices-models-polish branch from efe83ad to 7aa6a8c Compare September 22, 2026 18:51
@github-actions

github-actions Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 14.0 KiB 14.0 KiB −43 B (−0.3%) 15.1 KiB ✅
Codex Thread snapshot wire 7.2 KiB 7.2 KiB −3 B (−0.0%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.8 KiB 6.7 KiB −40 B (−0.6%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 58.0 KiB 58.0 KiB −44 B (−0.1%) 66.4 KiB ✅
Codex Live turn messages 10 9 −1 (−10.0%) 21 ✅
Claude Total thread wire 14.0 KiB 14.0 KiB −45 B (−0.3%) 15.1 KiB ✅
Claude Thread snapshot wire 7.2 KiB 7.2 KiB −3 B (−0.0%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.8 KiB 6.7 KiB −42 B (−0.6%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.9 KiB 58.9 KiB −44 B (−0.1%) 66.4 KiB ✅
Claude Live turn messages 10 9 −1 (−10.0%) 21 ✅

Baseline: eab374a · PR result: 6653fea · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 115.6 KiB
  • Claude decoded thread snapshot: 116.3 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar

rynfar commented Sep 24, 2026

Copy link
Copy Markdown
Collaborator Author

Combined integration verification for #731 and #743, without merging either PR: I applied #743 head 1f7cf3f949 onto #731 head 0776b0b05a in an isolated scratch worktree. The merge had no conflicts. The resulting ModelManifest keeps the #731 freshness guard after #743's TTL-bypassing forceRefresh path, so a valid hosted catalog older than the live/bundled manifest is rejected for both normal and forced refresh. The existing tests cover older-hosted retention/reboot and forced refresh with newer hosted data; the combined ModelManifest and ProviderService suites passed 155/155, and the server typecheck passed. No combined branch was pushed. Browser/device verification remains subject to the repository's explicit-approval boundary.

@rynfar

rynfar commented Sep 24, 2026

Copy link
Copy Markdown
Collaborator Author

Final-head correction and combined verification: 4b2070a0f779cc984fc3722a90d3cf55f69fb341 dates the bundled model catalog at its Pylon content edit (2026-09-24T07:48:28Z). The old 2026-09-22T17:51:55Z date predated Pylon's GPT-6 classification edit and this PR's Opus 5.5 classification edit. The currently hosted Pylon catalog (blob 80318721a716f74e261de2accf62e6e8cba92cdb) has no updatedAt; the dated-bundle guard treats it as older. Existing model aliases and explicit selections are unchanged.

Independent one-line source review passed. The isolated combined tree merges this exact head with provider-refresh PR #743 at 1f7cf3f9492b894d1877c9005919ec485c8b8bd2 without conflict. ModelManifest, ProviderRegistry, CursorProvider and ProviderService focused tests pass (247/247), and t3 typecheck passes. No combined PR or push was created. Final-head CI is pending; browser/device interaction still awaits explicit approval.

rynfar and others added 25 commits September 24, 2026 23:15
* feat(web): add bounded route history shortcuts

* fix(web): provide browser shortcut context for history navigation

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

* fix(usage): distinguish unavailable limits from empty limits (#781)

* fix(mobile): send terminal delete from software keyboard (#770)

* feat(mobile): copy thread IDs from list actions (#795)

* fix(mobile): retain archive list during iOS search (#797)

* fix(web): sort equally relevant thread search results by activity (#809)

* feat(web): improve command and settings discovery

* fix(web): sort equally relevant thread matches by activity

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>

* fix(usage): refresh limits when the tab opens (#789)

* fix(web): keep sidebar shelf rows moving together (#793)

* fix(web): dismiss host menus on browser guest focus (#775)

* fix(web): restore composer focus after option menus close (#782)

* Use PR summary for hover previews (#831)

* fix(web): match notification icons to thread events (#813)

* fix(web): reveal composer context labels in tooltips (#829)

* fix(agents): keep orphaned shell tasks out of the subagent cards (#853)

A task's agent-vs-background identity was judged one row at a time. The
next provider process settles a watcher it never launched and reports
only the task id and status, so ingestion stamped that bare row "agent"
even though the task had started as local_bash. The timeline then minted
a subagent card per orphan, and the Agents panel — which still read the
task as background — could never resolve it, so each card sat on
"Ran 1 subagent · Status unavailable" forever.

Resolve the classification across the thread instead: a task that names
a background type anywhere keeps that identity, so a later bare row
cannot promote it. Only a named background type makes the claim sticky,
because Relay workers and native subagents legitimately carry no type at
all and must keep deciding by their stamp.

* fix(mobile): expose connection trace copy actions accessibly (#827)

* feat(web): show timestamps on timeline work rows (#825)

* fix(mobile): ignore bare wake links without navigation routes (#772)

* fix(web): show pull request edit actions on touch (#802)

* docs(upstream): correct deferred thought preview disposition (#773)

* docs(upstream): correct deferred thought preview disposition

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(…
* test(server): allow realistic socket cleanup before post-kill assertion

* test(server): disable background Git GC in PR template fixture
* fix(relay): stop replaying stale Relay workers into reopened threads

The startup receipt scan adopts every Relay MCP tool call ever recorded,
so the first boot after the worker bridge shipped bound 284 long-finished
jobs across 207 old turns. None could be observed, and each one published
an idle "Relay observer unavailable" row into its original turn, dated
now -- a wall of stale subagent cards on reopening the thread.

An outage row now only explains a worker the thread already started, and
an announced outage pushes its recheck back out instead of spawning the
Relay CLI on every sweep for the life of the process.

* fix(relay): clear the stale Relay outage rows already written

The bridge no longer announces a worker it never started, but every
projection that booted the earlier build still holds the idle rows it
wrote. Drop the outage rows whose task has no start in the same thread,
leaving the ones that explain a worker the thread really ran.

* fix(relay): retire adopted jobs Relay reports as gone

An outage that had already been announced returned before pushing its
recheck back out, so every binding kept a Relay CLI spawn on each sweep.
Adopted history made that 284 spawns a sweep on one projection.

Push the recheck out for a worker that may still return, and retire a
binding outright once Relay itself reports the job gone and nothing
about it ever reached the thread. Absent Relay says nothing about the
job, so that case keeps the binding and only slows the recheck. The four
copies of the teardown are now one helper.

* fix(relay): type the test engine helper against the SqlClient service

* Use PR summary for hover previews (#831)

* fix(web): match notification icons to thread events (#813)

* fix(web): reveal composer context labels in tooltips (#829)

* fix(agents): keep orphaned shell tasks out of the subagent cards (#853)

A task's agent-vs-background identity was judged one row at a time. The
next provider process settles a watcher it never launched and reports
only the task id and status, so ingestion stamped that bare row "agent"
even though the task had started as local_bash. The timeline then minted
a subagent card per orphan, and the Agents panel — which still read the
task as background — could never resolve it, so each card sat on
"Ran 1 subagent · Status unavailable" forever.

Resolve the classification across the thread instead: a task that names
a background type anywhere keeps that identity, so a later bare row
cannot promote it. Only a named background type makes the claim sticky,
because Relay workers and native subagents legitimately carry no type at
all and must keep deciding by their stamp.

* fix(mobile): expose connection trace copy actions accessibly (#827)

* feat(web): show timestamps on timeline work rows (#825)

* fix(mobile): ignore bare wake links without navigation routes (#772)

* fix(web): show pull request edit actions on touch (#802)

* docs(upstream): correct deferred thought preview disposition (#773)

* docs(upstream): correct deferred thought preview disposition

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

* fix(usage): distinguish unavailable limits from empty limits (#781)

* fix(mobile): send terminal delete from software keyboard (#770)

* feat(mobile): copy thread IDs from list actions (#795)

* fix(mobile): retain archive list during iOS search (#797)

* fix(web): sort equally relevant thread search results by activity (#809)

* feat(web): improve command and settings discovery

* fix(web): sort equally relevant thread matches by activity

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>

* fix(usage): refresh limits when the tab opens (#789)

* fix(web): keep sidebar shelf rows moving together (#793)

* fix(web): dismiss host menus on browser guest focus (#775)

* fix(web): restore composer focus after option menus close (#782)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>

* fix(web): make provider accent color controls keyboard accessible (#805)

* fix(web): show pull request state in context chips (#812)

* fix(web): keep media controls clear and restore gallery arrows (#814)

* fix(relay): retire a lost job for good instead of re-probing every boot

Retirement only lived in memory, so every job the environment had ever
run was adopted and re-probed on each start -- a cost that grows with
history and never settles.

Record the retirement on the binding row itself. The activity upserts on
its id, so this writes no new row and stays out of the transcript, and
boot skips the binding unless an activation was recorded after the
watermark. A resume outranks the retirement and wakes the worker, then
answers to the ordinary rules again.

* fix(web): preserve browser tab shortcuts (#791)

* fix(web): leave browser Mod-digit tabs to the browser

* fix(server): distinguish persisted shortcut defaults from custom sets

* fix(server): migrate only the complete legacy shortcut family

* fix(mobile): keep screen awake during dictation (#799)

* feat(web): allow manual disconnect of offline remote threads (#823)

* fix(codex): explain a writer-locked conversation instead of the raw refusal (#854)

Codex allows one writer per conversation across every app on the machine. When
another Codex host holds that lock, `thread/resume` fails with `thread <id>
already has an active writer`, which Pylon passed straight through to the
thread as a provider adapter error. Nothing told the user which app held the
conversation or that closing it there was the fix.

Detect that refusal at the resume site and replace it with a message naming the
conversation and the action that releases it. The error stays a failure on
purpose: falling back to `thread/start` here would strand the conversation's
history behind a fresh one, so the recoverable-resume path must keep ignoring
it. Adds a triage entry for the same symptom.

* chore(mobile): check indexed access and overrides (#822)

* fix(web): keep PR panel handoffs in the current thread (#826)

* fix(web): keep PR panel handoffs in the current thread

* Complete shortcut context fixture for web

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762…
* fix(mobile): keep ordinary offline outbox retries out of warnings

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

* fix(usage): distinguish unavailable limits from empty limits (#781)

* fix(mobile): send terminal delete from software keyboard (#770)

* feat(mobile): copy thread IDs from list actions (#795)

* fix(mobile): retain archive list during iOS search (#797)

* fix(web): sort equally relevant thread search results by activity (#809)

* feat(web): improve command and settings discovery

* fix(web): sort equally relevant thread matches by activity

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>

* fix(usage): refresh limits when the tab opens (#789)

* fix(web): keep sidebar shelf rows moving together (#793)

* fix(web): dismiss host menus on browser guest focus (#775)

* fix(web): restore composer focus after option menus close (#782)

* Use PR summary for hover previews (#831)

* fix(web): match notification icons to thread events (#813)

* fix(web): reveal composer context labels in tooltips (#829)

* fix(agents): keep orphaned shell tasks out of the subagent cards (#853)

A task's agent-vs-background identity was judged one row at a time. The
next provider process settles a watcher it never launched and reports
only the task id and status, so ingestion stamped that bare row "agent"
even though the task had started as local_bash. The timeline then minted
a subagent card per orphan, and the Agents panel — which still read the
task as background — could never resolve it, so each card sat on
"Ran 1 subagent · Status unavailable" forever.

Resolve the classification across the thread instead: a task that names
a background type anywhere keeps that identity, so a later bare row
cannot promote it. Only a named background type makes the claim sticky,
because Relay workers and native subagents legitimately carry no type at
all and must keep deciding by their stamp.

* fix(mobile): expose connection trace copy actions accessibly (#827)

* feat(web): show timestamps on timeline work rows (#825)

* fix(mobile): ignore bare wake links without navigation routes (#772)

* fix(web): show pull request edit actions on touch (#802)

* docs(upstream): correct deferred thought preview disposition (#773)

* docs(upstream): correct deferred thought preview disposition

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposi…
Adapt T3 Code sources da6a85b1365993d0ff2a79698cd82498de247d8a, 7c2702d68ae2e10fa9d3a08c996ed47c393dcffd, and 68607c5a99147710b92228e0642f6c0a642e32a6 for Pylon composer and context controls.
* fix(desktop): keep preview picking active across subframe navigation (#9741)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit 1ab2dfb5a7bd2996f79407b5d02cae6132a7626c)

* fix(web): keep browser pages aligned during panel animations (#12329)

(cherry picked from commit 4cc984fedc33184c0a0fb67ea17fb02902ae2224)

* fix(preview): preserve picking and align animated surfaces

Keep element picking armed across subframe navigation, observe inline preview panel movement, and use the shared resize lifecycle for the sidebar rail.

---------

Co-authored-by: Simone <lucenz@proton.me>
Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
* feat(mobile): rename threads from list menus

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

* fix(usage): distinguish unavailable limits from empty limits (#781)

* fix(mobile): send terminal delete from software keyboard (#770)

* feat(mobile): copy thread IDs from list actions (#795)

* fix(mobile): retain archive list during iOS search (#797)

* fix(web): sort equally relevant thread search results by activity (#809)

* feat(web): improve command and settings discovery

* fix(web): sort equally relevant thread matches by activity

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>

* fix(usage): refresh limits when the tab opens (#789)

* fix(web): keep sidebar shelf rows moving together (#793)

* fix(web): dismiss host menus on browser guest focus (#775)

* fix(web): restore composer focus after option menus close (#782)

* Use PR summary for hover previews (#831)

* fix(web): match notification icons to thread events (#813)

* fix(web): reveal composer context labels in tooltips (#829)

* fix(agents): keep orphaned shell tasks out of the subagent cards (#853)

A task's agent-vs-background identity was judged one row at a time. The
next provider process settles a watcher it never launched and reports
only the task id and status, so ingestion stamped that bare row "agent"
even though the task had started as local_bash. The timeline then minted
a subagent card per orphan, and the Agents panel — which still read the
task as background — could never resolve it, so each card sat on
"Ran 1 subagent · Status unavailable" forever.

Resolve the classification across the thread instead: a task that names
a background type anywhere keeps that identity, so a later bare row
cannot promote it. Only a named background type makes the claim sticky,
because Relay workers and native subagents legitimately carry no type at
all and must keep deciding by their stamp.

* fix(mobile): expose connection trace copy actions accessibly (#827)

* feat(web): show timestamps on timeline work rows (#825)

* fix(mobile): ignore bare wake links without navigation routes (#772)

* fix(web): show pull request edit actions on touch (#802)

* docs(upstream): correct deferred thought preview disposition (#773)

* docs(upstream): correct deferred thought preview disposition

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider r…
* feat(web): choose themes from command palette

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

* fix(usage): distinguish unavailable limits from empty limits (#781)

* fix(mobile): send terminal delete from software keyboard (#770)

* feat(mobile): copy thread IDs from list actions (#795)

* fix(mobile): retain archive list during iOS search (#797)

* fix(web): sort equally relevant thread search results by activity (#809)

* feat(web): improve command and settings discovery

* fix(web): sort equally relevant thread matches by activity

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>

* fix(usage): refresh limits when the tab opens (#789)

* fix(web): keep sidebar shelf rows moving together (#793)

* fix(web): dismiss host menus on browser guest focus (#775)

* fix(web): restore composer focus after option menus close (#782)

* Use PR summary for hover previews (#831)

* fix(web): match notification icons to thread events (#813)

* fix(web): reveal composer context labels in tooltips (#829)

* fix(agents): keep orphaned shell tasks out of the subagent cards (#853)

A task's agent-vs-background identity was judged one row at a time. The
next provider process settles a watcher it never launched and reports
only the task id and status, so ingestion stamped that bare row "agent"
even though the task had started as local_bash. The timeline then minted
a subagent card per orphan, and the Agents panel — which still read the
task as background — could never resolve it, so each card sat on
"Ran 1 subagent · Status unavailable" forever.

Resolve the classification across the thread instead: a task that names
a background type anywhere keeps that identity, so a later bare row
cannot promote it. Only a named background type makes the claim sticky,
because Relay workers and native subagents legitimately carry no type at
all and must keep deciding by their stamp.

* fix(mobile): expose connection trace copy actions accessibly (#827)

* feat(web): show timestamps on timeline work rows (#825)

* fix(mobile): ignore bare wake links without navigation routes (#772)

* fix(web): show pull request edit actions on touch (#802)

* docs(upstream): correct deferred thought preview disposition (#773)

* docs(upstream): correct deferred thought preview disposition

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider…
* Sync linked PR changes and settle configured threads on events

* feat(web): show fenced optimistic pull request row actions

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

* fix(usage): distinguish unavailable limits from empty limits (#781)

* fix(mobile): send terminal delete from software keyboard (#770)

* feat(mobile): copy thread IDs from list actions (#795)

* fix(mobile): retain archive list during iOS search (#797)

* fix(web): sort equally relevant thread search results by activity (#809)

* feat(web): improve command and settings discovery

* fix(web): sort equally relevant thread matches by activity

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>

* fix(usage): refresh limits when the tab opens (#789)

* fix(web): keep sidebar shelf rows moving together (#793)

* fix(web): dismiss host menus on browser guest focus (#775)

* fix(web): restore composer focus after option menus close (#782)

* Use PR summary for hover previews (#831)

* fix(web): match notification icons to thread events (#813)

* fix(web): reveal composer context labels in tooltips (#829)

* fix(agents): keep orphaned shell tasks out of the subagent cards (#853)

A task's agent-vs-background identity was judged one row at a time. The
next provider process settles a watcher it never launched and reports
only the task id and status, so ingestion stamped that bare row "agent"
even though the task had started as local_bash. The timeline then minted
a subagent card per orphan, and the Agents panel — which still read the
task as background — could never resolve it, so each card sat on
"Ran 1 subagent · Status unavailable" forever.

Resolve the classification across the thread instead: a task that names
a background type anywhere keeps that identity, so a later bare row
cannot promote it. Only a named background type makes the claim sticky,
because Relay workers and native subagents legitimately carry no type at
all and must keep deciding by their stamp.

* fix(mobile): expose connection trace copy actions accessibly (#827)

* feat(web): show timestamps on timeline work rows (#825)

* fix(mobile): ignore bare wake links without navigation routes (#772)

* fix(web): show pull request edit actions on touch (#802)

* docs(upstream): correct deferred thought preview disposition (#773)

* docs(upstream): correct deferred thought preview disposition

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refres…
)

* fix(server): skip device hosts that resolve to the local machine (#11698)

(cherry picked from commit 1ced38a6647b7f466b535b4b413ca4a74303da8e)

* fix(web): check SSH device hosts across selected environments

Adapt upstream 8984f8103d0836c0b340fe70cd053428d622a8c3 to Pylon's selected-environment host ownership and retry UI.

* fix(web): validate SSH host draft and fence scoped checks

* fix(web): guard SSH host submit against blank labels

* test(web): include scoped environments in integrations fixture

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
* fix(deps): update desktop packaging and security parents

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

* fix(usage): distinguish unavailable limits from empty limits (#781)

* fix(mobile): send terminal delete from software keyboard (#770)

* feat(mobile): copy thread IDs from list actions (#795)

* fix(mobile): retain archive list during iOS search (#797)

* fix(web): sort equally relevant thread search results by activity (#809)

* feat(web): improve command and settings discovery

* fix(web): sort equally relevant thread matches by activity

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>

* fix(usage): refresh limits when the tab opens (#789)

* fix(web): keep sidebar shelf rows moving together (#793)

* fix(web): dismiss host menus on browser guest focus (#775)

* fix(web): restore composer focus after option menus close (#782)

* Use PR summary for hover previews (#831)

* fix(web): match notification icons to thread events (#813)

* fix(web): reveal composer context labels in tooltips (#829)

* fix(agents): keep orphaned shell tasks out of the subagent cards (#853)

A task's agent-vs-background identity was judged one row at a time. The
next provider process settles a watcher it never launched and reports
only the task id and status, so ingestion stamped that bare row "agent"
even though the task had started as local_bash. The timeline then minted
a subagent card per orphan, and the Agents panel — which still read the
task as background — could never resolve it, so each card sat on
"Ran 1 subagent · Status unavailable" forever.

Resolve the classification across the thread instead: a task that names
a background type anywhere keeps that identity, so a later bare row
cannot promote it. Only a named background type makes the claim sticky,
because Relay workers and native subagents legitimately carry no type at
all and must keep deciding by their stamp.

* fix(mobile): expose connection trace copy actions accessibly (#827)

* feat(web): show timestamps on timeline work rows (#825)

* fix(mobile): ignore bare wake links without navigation routes (#772)

* fix(web): show pull request edit actions on touch (#802)

* docs(upstream): correct deferred thought preview disposition (#773)

* docs(upstream): correct deferred thought preview disposition

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upst…
* feat(chat): attach large pasted text without eager context

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

* fix(usage): distinguish unavailable limits from empty limits (#781)

* fix(mobile): send terminal delete from software keyboard (#770)

* feat(mobile): copy thread IDs from list actions (#795)

* fix(mobile): retain archive list during iOS search (#797)

* fix(web): sort equally relevant thread search results by activity (#809)

* feat(web): improve command and settings discovery

* fix(web): sort equally relevant thread matches by activity

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* Start provider event worker before service exposure (#828)

* fix(server): bind retained usage to verified accounts (#833)

* fix: bind retained provider usage to verified accounts

* fix(server): tag Codex reset identity failures

* Sync linked PR changes and settle configured threads on events (#834)

* fix(devices): identify legacy Android SDK command-line tools (#780)

* feat(server): configure worktree submodule initialization (#800)

* feat(server): configure worktree submodule initialization

Adapt upstream 1262d2f3, 742173a1, and 0141bc2b for Pylon project settings and worktree entry points.

* test(server): assert default submodule resolution in worktree recovery

* perf(server): scope worktree fetch and parallel checkout (#820)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup (#741)

* fix(desktop): bound WSL runtime cache retries and scratch cleanup

* test(desktop): release WSL fixture lock with its holder

* test(desktop): clean up WSL lock fixture on failure

* test(desktop): trace WSL scratch lock shell regression

* test(desktop): synchronize WSL prune lock fixture

* fix(desktop): bound backend shutdown during quit (#763)

* fix(desktop): bound backend shutdown wait during quit (#7599)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 8ddd9f7efcdfb6e32b614595242b5986942d37b0)

* fix(desktop): bound whole backend stop during quit

---------

Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>

* docs(claude): clarify OpenRouter model selection (#816)

* fix(web): label message copy action accurately (#779)

* fix(web): keep PR checkout command during detail loading (#785)

* fix(web): expose selected menu choices to assistive tech (#806)

* fix(web): keep provider account emails readable (#810)

* fix(web): expose switch state to screen readers (#755)

* fix(mobile): show Move down icon on Android (#776)

* fix(web): allow selecting text while renaming a thread (#807)

* fix(server): preserve sibling checkpoint refs during rollback (#847)

* fix(server): keep checkpoint failures out of public output (#851)

* fix(server): reject stale Prime rollback responses after reconnect (#848)

* feat(web): improve command and settings discovery (#801)

* fix(web): keep settled threads closed when adding projects (#792)

* fix(web): keep selection actions dismissed after button presses (#808)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Ishaan Kothari <ishaanko.mail@gmail.com>

* fix(usage): refresh limits when the tab opens (#789)

* fix(web): keep sidebar shelf rows moving together (#793)

* fix(web): dismiss host menus on browser guest focus (#775)

* fix(web): restore composer focus after option menus close (#782)

* Use PR summary for hover previews (#831)

* fix(web): match notification icons to thread events (#813)

* fix(web): reveal composer context labels in tooltips (#829)

* fix(agents): keep orphaned shell tasks out of the subagent cards (#853)

A task's agent-vs-background identity was judged one row at a time. The
next provider process settles a watcher it never launched and reports
only the task id and status, so ingestion stamped that bare row "agent"
even though the task had started as local_bash. The timeline then minted
a subagent card per orphan, and the Agents panel — which still read the
task as background — could never resolve it, so each card sat on
"Ran 1 subagent · Status unavailable" forever.

Resolve the classification across the thread instead: a task that names
a background type anywhere keeps that identity, so a later bare row
cannot promote it. Only a named background type makes the claim sticky,
because Relay workers and native subagents legitimately carry no type at
all and must keep deciding by their stamp.

* fix(mobile): expose connection trace copy actions accessibly (#827)

* feat(web): show timestamps on timeline work rows (#825)

* fix(mobile): ignore bare wake links without navigation routes (#772)

* fix(web): show pull request edit actions on touch (#802)

* docs(upstream): correct deferred thought preview disposition (#773)

* docs(upstream): correct deferred thought preview disposition

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* fix(grok): show monitor and background shell lifecycle (#753)

* fix(agents): suppress stale awareness alerts after restart (#758)

* fix(server): stop replaying old agent alerts on restart (#13340)

(cherry picked from commit e4eb9977f0b02b29cb2ee361b0c433c685e87615)

* fix(relay): suppress stale agent awareness terminal alerts

* fix(relay): accept live lifecycle events in startup millisecond

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>

* fix(usage): attribute shared homes by transcript source (#784)

* fix(usage): attribute shared homes by transcript source

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

---------

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(cursor): preserve internal agent errors (#754)

* fix(ci): compare transfer ceilings only within a scenario (#759)

* fix(usage): retain saved totals after transcript cleanup (#762)

* fix(shared): keep the newest shared usage scan (#10315)

Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
(cherry picked from commit d4d5d12e8ba086cfbf79ca3adeb4156b46ead665)

* fix(usage): preserve saved totals after transcript cleanup (#12304)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit 675869d2b0f9e059d5950b80390c0cad1cb1590e)

* fix(usage): preserve Pylon native scan limits during retention

* fix(usage): retain standalone Antigravity history after cleanup

* fix(usage): prune retired source identities

---------

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: maria <maria@kuuro.net>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>

* fix(ssh): find Linuxbrew Node on WSL hosts (#769)

* fix(server): generate PR diffs from branch changes (#13170) (#742)

(cherry picked from commit f22331240ed1a97fae560e314bffb75fe39db8ca)

Co-authored-by: Yash Singh <saiansh2525@gmail.com>

* feat(observability): honor OpenTelemetry export kill switch (#746)

* feat(observability): honor OpenTelemetry export kill switch

* docs(upstream): record OTLP kill switch disposition

* fix(server): release orphaned input after provider session stops (#739)

* fix(server): release orphaned input after provider session stops

* fix(server): repair cached orphaned request counts on upgrade

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(upstream): format provider refresh decision row

* fix(git): prevent stale ref checkout from restoring files (#751)

* fix(shared): preserve final quoted empty CSV records (#761)

* fix(server): reduce background GitHub PR quota use (#749)

* fix(server): background PR checks spend less GitHub quota (#13189)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5975ec78b7eaff654e6183b99f8de7a05591e99d)

* fix(server): background PR sync reads summaries in batches (#13198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 18de6bb328059703b5d1b0661610076e3c0fa2d4)

* fix(server): GitHub PR lookups stop probing owner-qualified heads (#13200)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eafb4a9340bd2c2271b7c8fac7eddd55beea3972)

* fix(server): adapt quota tests to Pylon APIs

* test(server): cover skipped terminal PR recheck

* docs(upstream): link GitHub quota adoption

* fix(server): avoid PR summary fallback on GraphQL quota failures

* fix(server): preserve pending turn admission during provider bind (#752)

A reused provider can still report its previous turn as running when a new exact turn is reserved. Bind that reservation as starting so matching turn.started can be accepted, reject malformed and terminal binds, and retain strict incarnation fences.

* feat(chat): deliver buffered prose at natural boundaries (#757)

* fix(server): show Claude subagent tool progress (#745)

* fix(server): show Relay workers from installed CLI results (#744)

* fix(relay): accept delegated thread IDs in activity routes (#756)

* feat(prime): show child progress notes in Agents view (#748)

* fix(server): bypass provider caches on explicit refresh (#743)

* fix(server): bypass provider caches on explicit refresh

* docs(upstream): record provider refresh disposition

* style(…
@vercel

vercel Bot commented Sep 25, 2026

Copy link
Copy Markdown

Deployment failed for project pylon-marketing with the following error:

Resource is limited - try again in 24 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/pylon-code?upgradeToPro=build-rate-limit

@rynfar

rynfar commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator Author

Final-head reconciliation at 6653feaa43732e7ae674f931724ac05b96372b11 against current pylon: 295 focused tests across the changed contracts, server, web, and mobile paths pass; server, web, mobile, and contracts typechecks pass; scoped lint and format pass. The only merge conflict was pnpm-lock.yaml; the resolution retained current dependency versions and updated the native patch hash. A frozen offline install and supply-chain policy check pass. Review of the combined diff found no new source blocker.

All final-head checks are green, including Vercel, Check, Test, server tests, Rust, release smoke, and Linux/Windows packaged smoke. Native visual and browser interaction remain unverified as noted in the PR body.

@rynfar
rynfar merged commit 89e17c6 into pylon Sep 25, 2026
20 checks passed

This branch was successfully deployed

1 active deployment
Preview — 6653feaa Deployed Sep 25, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adopt 2026-09-22 upstream batches: server contracts resilience, device maintenance, mobile polish, and Opus 5.5

4 participants