fix(cli): unify teardown drain into a single bounded flush mode
Draft
KH
2mo ago+441+441+012345678901234567890123456789-97-97-01234567890123456789
Fixes #305.
--flush-outbox-once is now the sole bounded teardown mode in both relayfile-mount and the relayfile CLI, replacing the --flush-outbox-once/--push-local-once split. File watcher observations are durably journaled before debounce under .relay/outbox/local-pending so a flush ingests only journaled paths with scan-free state saves (O(pending), never O(tree)), then force-flushes persisted outbox records. Generation-checked clearing prevents an in-flight upload from erasing a newer event.
Test plan
-
go build ./... -
go test ./cmd/relayfile-cli/... -count=1 -
go test ./cmd/relayfile-mount/... -count=1 -
go test ./internal/mountsync/... -count=1
Real watcher, mountsync, generation-race, and CLI end-to-end regression tests added.