2026-08-01 实测:Agent Island v1.7.1 对应源码提交的 14 个 macOS 分类测试全部通过。这些结果只证明表中情况的分类正确,不代表性能、真实用户数据或未来格式
测试方法
- 只使用公开测试套件中的合成 JSONL,不包含真实用户消息
- 让正式分类器读取每个用例
- 对比完成标记、语义活动时间和回合标识
- 保留侧链、元数据、过期记录、持续输出和 API 错误等容易误判的边界
实现和完整测试数据都在公开仓库:SessionTurnState.swift · SessionTurnStateTests.swift
结果
| 测试情况 | 工具 | 预期 | 结果 |
|---|---|---|---|
| Assistant 之后出现新用户消息 | Claude Code | 无需提醒 | 通过 |
| 完成后只有尾部元数据 | Claude Code | 需要你处理 | 通过 |
| 侧链结束 | Claude Code | 不结束主会话 | 通过 |
| 侧链后主会话结束 | Claude Code | 需要你处理 | 通过 |
| 任务完成后出现新用户消息 | Codex | 无需提醒 | 通过 |
| 完成后开始新任务 | Codex | 正在工作 | 通过 |
| task_complete | Codex | 需要你处理 | 通过 |
| 旧记录只更新文件时间 | Claude Code | 空闲 | 通过 |
| 刚刚写入 end_turn | Claude Code | 需要你处理 | 通过 |
| 更新的桌面端活动 | Claude Code | 正在工作 | 通过 |
| 桌面端记账宽限 | Claude Code | 需要你处理 | 通过 |
| end_turn 很久后重新活动 | Claude Code | 正在工作 | 通过 |
| Assistant 持续输出 | Claude Code | 正在工作 | 通过 |
| API 错误带 stop_sequence | Claude Code | 不误报完成 | 通过 |
这些测试能说明什么
- 只看到完成事件还不够,后面出现的新用户消息或新任务必须压过旧提醒
- Claude Code 的侧链事件不能结束主会话
- 文件修改时间不能直接当成语义活动时间
- 额度或 API 错误即使带有完成形态,也不能误报成需要你回来
边界
这次运行验证的是 macOS Swift 分类器和 14 个已提交用例,不包含 Windows 运行结果、延迟、CPU、未知未来格式或真实用户效果
