Workspace removal deletes a sub-agent's spend when the usage roll-up fails
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- backend
Hướng nghiên cứu
Start in the workspace removal path of src/node/services/workspaceService.ts, where rollUpUsageIntoParent and rollUpTimingIntoParent are called before the child's session folder under ~/.xum/sessions is deleted. Trace how getSessionUsage errors are caught and logged, then make a roll-up throw in a test to reproduce the lost session-usage.json. Done when a failed roll-up no longer deletes the only copy of the child's spend, either by retrying once or by keeping the usage file, and a test covers that path. Pick an option with a maintainer first, since the issue lists two.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
When workspace removal cannot roll a sub-agent's usage into its parent, Xum still deletes the sub-agent's session folder. The parent then loses that sub-agent's spend for good.
Where
WorkspaceService removal path (src/node/services/workspaceService.ts, the rollUpUsageIntoParent call). A failure in getSessionUsage or rollUpUsageIntoParent (for example a one-time EIO) is caught and logged with log.error("Failed to roll up child session usage into parent"). Removal then continues and deletes ~/.xum/sessions/<child>/, which holds the only copy of session-usage.json.
The timing roll-up just above it (rollUpTimingIntoParent) has the same shape.
Expected
A failed roll-up does not destroy the only copy of the child's spend. Options:
- Retry the roll-up once before deleting the folder.
- Keep the child's usage file (or move it under the parent) when the roll-up fails, so a later read can fold it in.
Context
Found during #7862 follow-up work (a prep owner on #7868 reported it). It does not fail a user action, so it was out of scope there. The behavior exists on main today (96a0916ecc).
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high
- Ngôn ngữ chính
- TypeScript
- Star
- 2.1k
- Fork
- 139
- Merge trung bình
- 4 giờ 38 phút
- Pull request đã merge (30 ngày)
- 926
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của coder/xum
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
🤖 fix: xum api exits 0 when a procedure returns success: falseCó thể đã có người làm @twotnguyen đã nhận 4 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
coder/xum#7733 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Bug: Cloudflare Pages static _redirects identity rule causes RSC Flight to reload as HTMLCó thể đã có người làm @Donvero đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Mantitup-Org/vista#210 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
simstudioai/sim#9831 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
status: waiting for maintainer
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
mui/material-ui#49751 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
diplodoc-platform/transform#1184 ·
Maintainer thường phản hồi trong vòng 1 ngày