fix: address Oracle + Cubic review feedback for background-agent refactoring

- Revert getMessageDir to original join(MESSAGE_STORAGE, sessionID) behavior
- Fix dead subagentSessions.delete by capturing previousSessionID before tryFallbackRetry
- Add .unref() to process cleanup setTimeout to prevent 6s hang on Ctrl-C
- Add missing isUnstableAgent to fallback retry input mapping
- Fix process-cleanup tests to use exit listener instead of SIGINT at index 0
- Swap test filenames in compaction-aware-message-resolver to exercise skip logic correctly
This commit is contained in:
YeonGyu-Kim
2026-02-22 12:14:26 +09:00
parent ed43cd4c85
commit d1e5bd63c1
5 changed files with 21 additions and 12 deletions
@@ -64,7 +64,9 @@ describe("process-cleanup", () => {
registerManagerForCleanup(manager)
const [, listener] = processOnCalls[0]
const exitEntry = processOnCalls.find(([signal]) => signal === "exit")
expect(exitEntry).toBeDefined()
const [, listener] = exitEntry!
listener()
expect(mockShutdown).toHaveBeenCalled()
@@ -83,7 +85,9 @@ describe("process-cleanup", () => {
registerManagerForCleanup(manager2)
registerManagerForCleanup(manager3)
const [, listener] = processOnCalls[0]
const exitEntry = processOnCalls.find(([signal]) => signal === "exit")
expect(exitEntry).toBeDefined()
const [, listener] = exitEntry!
listener()
expect(shutdown1).toHaveBeenCalledTimes(1)
@@ -144,7 +148,9 @@ describe("process-cleanup", () => {
registerManagerForCleanup(manager1)
registerManagerForCleanup(manager2)
const [, listener] = processOnCalls[0]
const exitEntry = processOnCalls.find(([signal]) => signal === "exit")
expect(exitEntry).toBeDefined()
const [, listener] = exitEntry!
unregisterManagerForCleanup(manager2)
listener()