Truncated IDs in list output cannot be pasted into the view commands #36
Links
No links yet.
Several list commands shorten IDs for display, producing a value the companion command rejects.
runner listtruncates to 8 chars (src/commands/runner.rs:1834-1839,.chars().take(8).collect()), butrunner view <ID>wants the real ID — and its help is just/// Runner ID(runner.rs:180-181) with no hint where to get one.agent sessionstruncates the same way (agent.rs:228-233) feedingagent session <ID>.
So the documented workflow runner list → runner view <id> does not work by copy/paste.
Related: a sentinel rendered as a SHA
src/commands/ci.rs:488-517 sets display_sha = "(server-resolved)" when --sha is omitted, then prints &display_sha[..8.min(len)]:
Commit (server-
Related: byte-slicing on possibly non-ASCII strings
The same &s[..8.min(s.len())] idiom appears at auth.rs:305, agent.rs:266, :298, :314, runner.rs:1922, :1932. On a multi-byte boundary this panics rather than truncating.
Suggested fix
Print IDs in full (or print a short form the lookup also accepts), replace byte slicing with a char-safe truncation helper, and do not run sentinel strings through SHA formatting.
Found during a CLI-wide consistency audit.