Agent Companion v0.3.21
Agent Companion v0.3.21
- 长 TUI 会话状态:大日志首次扫描在 4 MiB 总预算内扣除 metadata 实际读取量,再将余额用于尾部事件,避免较大的工具输出遮住最近的状态事件。已从事件确认的运行/等待任务独立检查 writer lock,不再依赖兼容数据库才能保持十五分钟以上的活动状态。已释放的锁仍表示断开;锁本身不会创建任务或复活已完成任务。
- 临时读取失败:数据库缓存无法重新确认 writer lock 时,撤销存活证明并继续按事件时间判断;不再把“无法判断”直接标为断开并覆盖较新的日志状态。
- 状态顺序与锁协调:在当前进程内保留已确认的停止证据,重获锁或重放旧回合不会把任务重新标为运行;新回合仍可正常开始。日志与数据库按回合和时间精度合并,同一回合的明确完成状态优先。查询分页或暂时读取失败不会丢弃停止证据;锁探针遵循写入协调顺序,避免干扰 TUI 启动。
- macOS 主应用发现:兼容系统或用户“应用程序”目录下的
Codex.app和ChatGPT.app。仅接受 Codex 应用身份与预期执行文件,拒绝重定向到其他运行包的路径;保留 Codex 路径优先级。打开应用、桌面任务跳转、额度运行程序发现及首次双开部署使用一致的候选规则,部署继续验证官方签名。
状态颜色含义不变:运行蓝色、等待或失败黄色、全部完成绿色、空闲或停止等状态灰色。圆点表示任务状态,百分比表示每周剩余额度。
读取保持有界:如果最新状态事件在首次读取预算之外,且没有兼容数据库,状态仍可能暂时不可用;新的有效事件到来后可恢复。缺少兼容写入锁时,继续使用十五分钟事件超时策略。不会仅凭进程存在推测任务正在运行。
回归使用合成日志、锁、数据库和应用目录;真实账号、凭据、配置、会话及本机构建产物不纳入发布。发布附件由 GitHub Actions 构建,经过校验和、归档内容、隐私、架构、macOS 完整性签名和构建来源检查后公开。macOS 包适用于 macOS 14+ Apple Silicon,使用 ad-hoc 完整性签名,未做 Apple 公证。
English
- Long-running TUI state. Initial scans of large logs use the remaining 4 MiB allowance after metadata reads, so a larger tool result is less likely to hide the latest lifecycle event. Known running or waiting tasks check writer locks independently of compatible history databases and remain visible during long periods without output. Released locks still indicate disconnection; locks alone never create tasks or revive completed work.
- Temporary read failures. Cached database state drops its liveness proof when writer-lock status is unknown and falls back to event age. It no longer interprets an unavailable lock check as a disconnection that overrides newer rollout state.
- Event ordering and lock coordination. Retain confirmed stop evidence within the current process so reacquiring a lock or replaying an old turn cannot restart a finished task. Genuine new turns still start normally. Merge history and rollouts using turn identity and timestamp precision, prioritizing explicit completion of the same turn. Query pagination and temporary read failures preserve stop evidence, and lock probes follow writer coordination to avoid interfering with TUI startup.
- Primary macOS application discovery. Recognize
Codex.appandChatGPT.appin the system or user Applications directory only when they carry the Codex bundle identity and expected executables. Reject redirected paths and preserve Codex path priority. Application opening, desktop navigation, quota executable discovery and fresh second-instance deployment share the candidate rules; deployment still verifies the official signature.
Status colors retain their meanings: blue for running, yellow for waiting or failure, green when all tasks completed, and gray for idle or stopped states. Dots show task activity; percentages show weekly quota remaining.
Reads remain bounded. If the latest lifecycle event is outside the initial read allowance and no compatible database exists, state can remain unavailable until a new valid event arrives. Clients without compatible writer locks retain the fifteen-minute event-age policy. Process presence alone is never treated as a running task.
Regression fixtures use synthetic logs, locks, databases and application directories. Real accounts, credentials, configuration, sessions and locally compiled binaries are excluded from releases. GitHub Actions builds release assets, which are published after checksum, archive-content, privacy, architecture, macOS integrity-signature and provenance checks. The macOS package requires macOS 14+ on Apple Silicon and uses an ad-hoc integrity signature without Apple notarization.
Build verification
Source: a89322e022f185751ab93456233dc659106540eb.
Build: GitHub Actions release run 36288342239.
The macOS arm64 and Windows x86_64 archives are verified against their SHA-256 checksums and GitHub build provenance. The macOS bundle passes integrity-signature verification. Automated checks passed on both platforms; this does not claim a manual Windows desktop test.