[PR #2814] [MERGED] fix(ida): retain cleanup facts and let one-shot commands exit #5411

Closed
opened 2026-10-31 01:06:26 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/2814
Author: @morluto
Created: 10/13/2026
Status: ✅ Merged
Merged: 10/13/2026
Merged by: @morluto

Base: main ← Head: codex/review-1841-retained-inventory-facts


📝 Commits (10+)

  • 5fd536c fix(ida): let one-shot commands exit after retaining cleanup
  • 66a6ed8 fix(ida): report an unverified upstream worker after failed cleanup
  • 256f4c7 Merge branch 'main' of https://github.com/morluto/rea into fix/ida-one-shot-exit-after-retained-cleanup
  • cc54f30 fix(ida): name the inventory sessions that block worker release
  • 1a26388 fix(ida): keep blocker evidence and backend in cleanup diagnostics
  • b354111 fix(ida): stop naming a worker after its close was confirmed
  • d782961 test(ida): group cleanup diagnostic cases in their own suite
  • 9ac858d fix(ida): keep ownership and pre-close peers in cleanup diagnostics
  • bed0f46 fix(ida): drop a confirmed worker from retained cleanup blockers
  • e84cd8f test(ida): retry cleanup through a detached stdio connection

📊 Changes

3 files changed (+80 additions, -10 deletions)

View changed files

📝 src/ida/IdaSessionClient.test.ts (+57 -0)
📝 src/ida/IdaSessionClient.ts (+22 -10)
📝 tests/boundary/cli/idaRetainedCleanupCli.test.ts (+1 -0)

📄 Description

Continues #1841, originally contributed by @AS9929 (Max). The original fork rejected the maintainer push with permission denied, so this replacement preserves the contribution on a writable branch.

The live original head b864f133c76e8456869fb510f63120d8ec562d2b is an ancestor of this branch. Original commits, author attribution, and merge history are preserved without squashing, including the concurrent requested-ID recovery fix by Xingchuan Ma and its coauthor credit. The source correction e00cf3d3a31f17b548fae43bc4920847533747ac and merge b49e62dd28010f3c462487366a3c8a91cdd81854 preserve that authored fix and add the remaining diagnostic corrections.

Captured main c6503edfc4afdc0de6812ba3f7cd0909df5555f7 is incorporated by merge commit 384ff1ec940fbea3c7b79de432df316d6fc1e816. The merge preserves the retained-session activity facts, explicit rejected-open semantics, contributor history and regression coverage. No tests, checks, builds, provider execution or CI reruns were run for this refresh.

The inherited contribution lets one-shot IDA commands exit after reporting incomplete cleanup. The reviewed ownership boundary now retains sessions matching either the requested ID or private input, carries observed registry activity (including false) into diagnostics with null for unknown, and suppresses an invented worker fallback after an explicit open rejection while retaining actual inventory blockers. Existing cleanup owners retain the workspace when release is unconfirmed; no unowned session is closed.

Source and affected-consumer inspection, targeted formatting with two threads, and git diff --check completed. Regressions were authored for conflicting requested IDs, activity false/unknown, and unavailable/malformed recovery inventory after explicit open rejection. Tests, builds, typechecks, lint, provider execution and CI reruns were skipped at the user's request. No fresh real IDA/provider verification is claimed. Directly related source cleanup is complete.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/2814 **Author:** [@morluto](https://github.com/morluto) **Created:** 10/13/2026 **Status:** ✅ Merged **Merged:** 10/13/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `codex/review-1841-retained-inventory-facts` --- ### 📝 Commits (10+) - [`5fd536c`](https://github.com/morluto/rea/commit/5fd536c09efbdc5f9d26eece177b6acf12ad5018) fix(ida): let one-shot commands exit after retaining cleanup - [`66a6ed8`](https://github.com/morluto/rea/commit/66a6ed84d370eb2ba5c6c3024b1d8c39383386bf) fix(ida): report an unverified upstream worker after failed cleanup - [`256f4c7`](https://github.com/morluto/rea/commit/256f4c7d0b3aa811df9e93b484b52f18c65e0904) Merge branch 'main' of https://github.com/morluto/rea into fix/ida-one-shot-exit-after-retained-cleanup - [`cc54f30`](https://github.com/morluto/rea/commit/cc54f30c103fa5a93be064fa1c7119f08ab9c6ee) fix(ida): name the inventory sessions that block worker release - [`1a26388`](https://github.com/morluto/rea/commit/1a263883c150d344236def31004a5b0ade85bfc2) fix(ida): keep blocker evidence and backend in cleanup diagnostics - [`b354111`](https://github.com/morluto/rea/commit/b3541115404e352cf6592bb9dfd7c303c08946fc) fix(ida): stop naming a worker after its close was confirmed - [`d782961`](https://github.com/morluto/rea/commit/d7829613ac48ae10b61650b81e0a4707fc8863d4) test(ida): group cleanup diagnostic cases in their own suite - [`9ac858d`](https://github.com/morluto/rea/commit/9ac858df044f414aea142ef00ffcc5321e119cf5) fix(ida): keep ownership and pre-close peers in cleanup diagnostics - [`bed0f46`](https://github.com/morluto/rea/commit/bed0f46ea846a9ae774f661d875a61dcaf1b6fcd) fix(ida): drop a confirmed worker from retained cleanup blockers - [`e84cd8f`](https://github.com/morluto/rea/commit/e84cd8fd907e60b5fc69d53dc5db4df96b806555) test(ida): retry cleanup through a detached stdio connection ### 📊 Changes **3 files changed** (+80 additions, -10 deletions) <details> <summary>View changed files</summary> 📝 `src/ida/IdaSessionClient.test.ts` (+57 -0) 📝 `src/ida/IdaSessionClient.ts` (+22 -10) 📝 `tests/boundary/cli/idaRetainedCleanupCli.test.ts` (+1 -0) </details> ### 📄 Description Continues [#1841](https://github.com/morluto/rea/pull/1841), originally contributed by @AS9929 (Max). The original fork rejected the maintainer push with permission denied, so this replacement preserves the contribution on a writable branch. The live original head `b864f133c76e8456869fb510f63120d8ec562d2b` is an ancestor of this branch. Original commits, author attribution, and merge history are preserved without squashing, including the concurrent requested-ID recovery fix by Xingchuan Ma and its coauthor credit. The source correction `e00cf3d3a31f17b548fae43bc4920847533747ac` and merge `b49e62dd28010f3c462487366a3c8a91cdd81854` preserve that authored fix and add the remaining diagnostic corrections. Captured main `c6503edfc4afdc0de6812ba3f7cd0909df5555f7` is incorporated by merge commit `384ff1ec940fbea3c7b79de432df316d6fc1e816`. The merge preserves the retained-session activity facts, explicit rejected-open semantics, contributor history and regression coverage. No tests, checks, builds, provider execution or CI reruns were run for this refresh. The inherited contribution lets one-shot IDA commands exit after reporting incomplete cleanup. The reviewed ownership boundary now retains sessions matching either the requested ID or private input, carries observed registry activity (including false) into diagnostics with null for unknown, and suppresses an invented worker fallback after an explicit open rejection while retaining actual inventory blockers. Existing cleanup owners retain the workspace when release is unconfirmed; no unowned session is closed. Source and affected-consumer inspection, targeted formatting with two threads, and git diff --check completed. Regressions were authored for conflicting requested IDs, activity false/unknown, and unavailable/malformed recovery inventory after explicit open rejection. Tests, builds, typechecks, lint, provider execution and CI reruns were skipped at the user's request. No fresh real IDA/provider verification is claimed. Directly related source cleanup is complete. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:06:26 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#5411
No description provided.