github / github/app

Archived child sessions cannot be restored with their conversation history

Đang mở
#2,990 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
2.1k
Fork
153
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

## Summary

A coordinated child session repeatedly emitted identical idle notifications after completing its work. To stop the notifications, the parent agent archived the session. When asked to restore it, no restore tool was available. Opening the associated PR created a new session with the same branch but without the original conversation history.

## Steps to reproduce

1. Create a coordinated child session with `notify_on_idle: "always"`.
2. Let the child finish and become idle.
3. Observe repeated idle notifications across subsequent turns.
4. Archive the child session.
5. Attempt to restore it.
6. Call `open_pr_session` for its PR.

## Actual behavior

- Repeated notifications continue after the child is already idle.
- An `archive_session` tool exists, but there is no corresponding restore tool.
- `open_pr_session` creates a new session instead of restoring the archived one.
- The new session retains the branch and PR but not the original transcript.
- Context must be manually reconstructed and sent to the replacement session.

## Expected behavior

- Idle notifications should be deduplicated or stop after acknowledgment.
- Archiving should require explicit user confirmation when restoration is unavailable.
- A `restore_session` operation should restore the original workspace and transcript.
- Opening a PR with an existing archived session should offer to restore that session instead of silently creating a new one.

## Impact

The commits and pull request were preserved, but the active session history and working context were lost from the restored workspace. This created confusion and required a manual context handoff.

## Suggested safeguards

- Treat archiving as a user-directed lifecycle action rather than a notification-management mechanism.
- Warn that an archived session cannot currently be restored through agent tools.
- Deduplicate repeated idle notifications.
- Add an agent-accessible `restore_session` operation.
- Detect archived sessions associated with a pull request before creating a replacement session.

---
| Field | Value |
| --- | --- |
| App version | 1.1.10 |
| OS | macOS 26.6.1 |
| Theme | GitHub |
| Path | /chat |
| Tenure | Week 9 |

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu trong luồng /chat và theo dõi các thao tác archive_session và open_pr_session được mô tả trong các bước tái hiện. So sánh cách chúng xử lý các session đã lưu trữ, branch, pull request và lịch sử cuộc trò chuyện với hành vi khôi phục như mong đợi. Done cần bao gồm việc loại bỏ thông báo trùng lặp, một cảnh báo lưu trữ rõ ràng, khôi phục bản ghi nguyên gốc và mở lại PR mà không âm thầm tạo một session thay thế.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Lĩnh vực
desktop
Loại issue
Lỗi
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.