Context
E2E testing on venus (2026-04-02) exposed several deployment friction points. The notification bridge works end-to-end but requires manual steps that should be automated.
Issues Found During E2E
P0: Stale sshd RemoteForward port cleanup
- Old SSH sessions leave sshd child processes in CLOSE_WAIT holding port 18339
- New SSH connections' RemoteForward silently fails
cc-clip connect should detect and offer to clean up stale processes on remote
- At minimum: fail-fast with actionable error message instead of silent failure
P1: cc-clip doctor diagnostic command
- One-command diagnosis of entire notification chain
- Check: daemon running, tunnel alive, shim installed, hook script version, nonce registered, Claude Code hooks configured, Codex notify configured
- Offer auto-fix for detected issues
P2: Daemon binary version consistency
- After rebuild, old daemon must be restarted manually
cc-clip serve should detect version mismatch and warn/auto-restart
- Consider
cc-clip service upgrade for launchd-managed daemon
P3: SSH LocalCommand for automatic port cleanup (docs only)
- Document optional SSH config with
PermitLocalCommand + LocalCommand for users who prefer plain ssh over cc-clip connect
- Not a default recommendation, just a documented option
Relates to
Context
E2E testing on venus (2026-04-02) exposed several deployment friction points. The notification bridge works end-to-end but requires manual steps that should be automated.
Issues Found During E2E
P0: Stale sshd RemoteForward port cleanup
cc-clip connectshould detect and offer to clean up stale processes on remoteP1:
cc-clip doctordiagnostic commandP2: Daemon binary version consistency
cc-clip serveshould detect version mismatch and warn/auto-restartcc-clip service upgradefor launchd-managed daemonP3: SSH LocalCommand for automatic port cleanup (docs only)
PermitLocalCommand+LocalCommandfor users who prefer plainsshovercc-clip connectRelates to