Skip to content

fix(runtime): protect active ACP tasks from idle cleanup#561

Merged
piorpua merged 6 commits into
mainfrom
aionissue/task-20260701-002-004
Jul 2, 2026
Merged

fix(runtime): protect active ACP tasks from idle cleanup#561
piorpua merged 6 commits into
mainfrom
aionissue/task-20260701-002-004

Conversation

@piorpua

@piorpua piorpua commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a process-local active lease registry and authenticated, CSRF-protected conversation/team active lease endpoints.
  • Expand ACP idle cleanup to reclaim stale warmup-only tasks while skipping conversations with active foreground leases.
  • Add conversation runtime ensure, remove legacy warmup/config-options HTTP routes, and wait for team runtime rebuild kills before warmup.

Test Plan

  • cargo fmt --all -- --check
  • cargo clippy -p aionui-ai-agent -p aionui-conversation -p aionui-team -p aionui-app -- -D warnings
  • cargo test -p aionui-ai-agent -p aionui-conversation -p aionui-team -p aionui-app
  • cargo test --workspace
  • just push -u origin aionissue/task-20260701-002-004

Reviewer Notes

  • The active lease endpoints are state-changing routes with empty request bodies and must remain behind auth and CSRF protection.
  • Lease state is process-local and has no database migration or persistence behavior.
  • This backend change is intended to ship with the matching AionUi runtime ensure and foreground lease renewal changes.

zynx added 6 commits July 1, 2026 21:39
Add a shared active lease registry and renew endpoints for conversations and teams. Wire the registry into app services and skip ACP idle cleanup while a foreground lease is active.

Cover the registry, task cleanup selection, service renewal paths, and app HTTP renewal behavior.
…01-002-004

# Conflicts:
#	crates/aionui-conversation/src/service.rs
@piorpua piorpua merged commit 1fa7a54 into main Jul 2, 2026
6 checks passed
@piorpua piorpua deleted the aionissue/task-20260701-002-004 branch July 2, 2026 08:19
piorpua pushed a commit that referenced this pull request Jul 2, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.1.41](v0.1.40...v0.1.41)
(2026-07-02)


### Bug Fixes

* **assistant:** normalize avatar storage and identity
([#558](#558))
([155c278](155c278))
* **conversation:** derive assistant runtime type from metadata
([#555](#555))
([236217d](236217d))
* **conversation:** partition temp workspaces and logs by date
([#560](#560))
([9bb1f33](9bb1f33))
* **cron:** apply custom assistant rules in scheduled runs
([#495](#495))
([3840b77](3840b77))
* **cron:** lock team cron execution mode
([#562](#562))
([56f3873](56f3873))
* **cron:** route skill scheduling through helper
([#553](#553))
([c57970f](c57970f))
* **database:** require explicit corrupted database recovery
([#563](#563))
([203bd1b](203bd1b))
* resolve ACP backends from metadata
([#559](#559))
([6c15bb7](6c15bb7))
* **runtime:** harden managed Node command resolution
([#565](#565))
([e69b83a](e69b83a))
* **runtime:** protect active ACP tasks from idle cleanup
([#561](#561))
([1fa7a54](1fa7a54))
* **skill:** raise import size limits
([#564](#564))
([50d9aff](50d9aff))
* **skills:** correct AionUi Butler skill drift against current backend
([#557](#557))
([41c2c94](41c2c94))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant