Merged
Conversation
14 improvements across CLI, MCP, and daemon targeting better UX, correctness, and developer ergonomics per consolidated code review plan. - Show partial output on timeout instead of discarding (exec, read MCP) - Add cursor+snapshot/follow mutual exclusion validation (CLI + MCP) - Include cursor positions in info response - Snapshot no longer updates global read position (peek semantics) - Idempotent create with --if-not-exists / if_not_exists parameter - Stable list ordering by creation time - Better daemon startup error messages with socket path and hints - MCP settle_ms: 0 now means "don't wait" (use *int to distinguish) - Improved kill command help explaining destructive behavior - SocketPath() now returns error instead of silently failing - MemoryStorage.LoadMeta deep copies Cursors map and StoppedAt pointer - Search display respects --strip-ansi flag (was always stripping) - Remove redundant flock from FileStorage (Go mutex is sufficient) - Update stale docs: remove --raw references, update TUI guidance - Add quick-start examples to root --help
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Enhancement
Batch of 14 usability, correctness, and ergonomic improvements across CLI, MCP, and daemon. Follows the Phase 4 section of the consolidated code review plan.
Solution
Each fix targets a specific UX gap or correctness issue. Changes are intentionally small and independent per item, touching the minimal surface area needed.
Changes
Timeout handling (4.1):
execandread(both CLI and MCP) return partial output on timeout instead of discarding itwarningfield alongside partial outputInput validation (4.2):
--cursoris rejected when combined with--snapshotor--follow(CLI + MCP)Info endpoint (4.3):
inforesponse includescursorsmap showing all named cursor positionsSnapshot semantics (4.4):
ReadPos(pure peek, no side effects on normal reads)Idempotent create (4.5):
--if-not-existsflag (CLI) /if_not_existsparameter (MCP) returns existing running session instead of errorList ordering (4.6):
listreturns sessions sorted by creation time (oldest first) instead of random map orderError messages (4.7):
MCP settle semantics (4.8):
settle_ms: 0now means "don't wait" (previously treated as "use default 500ms")*intto distinguish "not provided" from "explicitly zero"Kill help (4.9):
killcommand help explains destructive behavior and suggestsstopas alternativeSocketPath error handling (4.10):
SocketPath()returns(string, error)instead of silently producing invalid path onUserHomeDirfailureMemory storage correctness (4.11):
LoadMetadeep copiesCursorsmap andStoppedAtpointer to prevent shared mutationSearch display (4.12):
--strip-ansiflag for display (was unconditionally stripping)Documentation (4.13):
--rawflag references from README (send always interprets escapes)FileStorage (4.14):
syscall.FlockfromAppend(Go mutex is sufficient for single-process daemon)Root help (5.1):
shelli --help