You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
watch: signal handling and termination semantics #34
From the UX audit: no signal handlers, SIGTERM kills with 143, bounded exits always 0 whether --count or --timeout stopped the loop, and the jsonl fallback can write a raw non-JSON line into the stream (Sources/aps/Aps.swift:148-157).
Acceptance criteria
SIGINT/SIGTERM stop the loop cleanly (DispatchSourceSignal), exit 0 on SIGINT after final flush
Bounded exit reason is observable: terminal jsonl event or stderr line with reason count|timeout|signal
Termination: both channels. Terminal JSONL event {type:end, reason:count|timeout|signal} in machine mode and a stderr line in human mode; exit codes 0 (count) / 124 (timeout, GNU convention) / 130 (SIGINT). Bare unbounded watch prints a one-time stderr hint suggesting --count/--timeout.
Activity
0xLeif commentedon Jul 19, 2026
Claimed by kimi. Working branch:
kimi/issue-34-watch-signals(worktree../aps-cli-wt/issue-34).0xLeif commentedon Jul 19, 2026
PR open: #54 - releasing the kimi claim.