问题:TaskGuard::drop 中调用 tokio::task::id()。abort 路径下 future 的销毁若发生在非任务上下文,id() 直接 panic 刷日志; 若发生在调用方任务上下文,则拿到调用方的任务 id,把它从 任务组中误删,破坏任务组记账。 修复:spawn 时在任务上下文内获取自身 id 存入 TaskGuard, Drop 只使用保存的 id。 测试:test_abort_task_keeps_caller_bookkeeping 验证在同组任务内 abort 其他任务后,调用方条目不被误删、wait_all_stopped 正常返回。