test(issue-18): acknowledge with started in the remaining working-agent scenarios; refresh the subscriber help capture

T1-14 and T1-20 model an agent that goes `working` and completes late. Under
the liveness contract an agent that never publishes `started` is a delivery
failure, so the watcher threads now acknowledge (non-blocking: the record
lands in events.log before the wire publish) and the late completion is
honoured inside the K x N grace as before. help-job_subscriber.txt records
the intended --ack-timeout option.

Full suite at 66f23c7: 888 passed, 3 failed (these), 0 leaked daemons.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VCgu9Fa9iT7TbJUSzdq4Ff
This commit is contained in:
GodopuandClaude Fable 5.1 committed 2026-09-13 19:43:16 +09:00
1 parent 66f23c7cbd
commit c17c87439d
2 files changed
+36 -24

No files matched your search

+6 -1
View File
@@ -1,5 +1,6 @@
usage: job_subscriber.py [-h] (--job JOB | --wait-any) [--timeout TIMEOUT]
[--idle-timeout IDLE_TIMEOUT] [--expect-retention]
[--idle-timeout IDLE_TIMEOUT]
[--ack-timeout ACK_TIMEOUT] [--expect-retention]
[--expect-dispatch-token EXPECT_DISPATCH_TOKEN]
[--attempt-id ATTEMPT_ID]
[--registry-dir REGISTRY_DIR] [--remote] [-v]
@@ -15,6 +16,10 @@ optional arguments:
--idle-timeout IDLE_TIMEOUT
max seconds with no new event (default:
job.idle_timeout_sec or 120)
--ack-timeout ACK_TIMEOUT
extra idle budget before the first event, for the
injection to produce `started` (default:
job.ack_timeout_sec; Issue #18)
--expect-retention warn if no retained terminal event arrives promptly
--expect-dispatch-token EXPECT_DISPATCH_TOKEN
expected dispatch token for CAS verification