The post-begin_commit() waiter previously called unbounded future.result(), so the advertised compression.context_total_ceiling_seconds was silently unenforced for commit-phase hangs. The commit still must complete (abandoning an in-flight SessionDB mutation would diverge live messages from durable state), but the wait is now bounded in increments against the remaining ceiling: on ceiling breach the overrun is logged (WARNING escalating to ERROR), surfaced once through the user-visible warning channel via the new on_commit_overrun callback (wired to _emit_warning in run_agent.py), and the host keeps waiting in bounded slices until the commit finishes. Documented guarantee (config comment + docs, en/zh): summary phase bounded by the ceiling; commit phase logged + surfaced if it exceeds it — never silently hung, never abandoned mid-commit. Test updated to assert the surfacing fires (previously accepted a silent over-ceiling wait); adds coverage that a raising overrun callback cannot break the commit wait. |
||
|---|---|---|
| .. | ||
| egress | ||
| features | ||
| messaging | ||
| secrets | ||
| skills | ||
| _category_.json | ||
| checkpoints-and-rollback.md | ||
| cli.md | ||
| configuration.md | ||
| configuring-models.md | ||
| desktop.md | ||
| docker.md | ||
| git-worktrees.md | ||
| import-from-other-agents.md | ||
| managed-scope.md | ||
| multi-profile-gateways.md | ||
| profile-distributions.md | ||
| profiles.md | ||
| security.md | ||
| sessions.md | ||
| tui.md | ||
| windows-native.md | ||
| windows-wsl-quickstart.md | ||