Problem
rhei complete can only take its result as a single command-line string, so a
result containing backticks, quotes, or newlines cannot be handed over
verbatim from a non-interactive shell.
Concretely, this invocation:
rhei complete operations.3.4 --result "... prints 'Replayed onto `origin/you/ABC-42-retry`' ..."
The markdown code spans inside the double-quoted word are command
substitutions to the shell. Both origin/… spans were executed as commands
("no such file or directory"), and the result was written with the refs
silently missing. rhei complete reported success.
Shell quoting is not rhei's to fix — that expansion happens before rhei sees
an argv. The gap is that rhei offers no way to bypass it.
Current state
Complete { result: String }
(crates/rhei-cli/src/cli/cli_declarations.rs:493-495) is a required
flag. There is no --result-file, no --means-stdin, and no alternative
input path — grep for result_file finds only internal path construction
(crates/rhei-cli/src/cli/complete_reset_rewrites.rs:338), never a CLI input.
This is the shape the shipped worker skill actively prescribes:
rhei complete <plan> --task <id> --result "<one-line summary>"
(crates/rhei-cli/skills/rhei-plan-worker/SKILL.md:33) — while nearly every
useful ticket summary in this ecosystem wants backticked ids, paths, and refs.
Expected
--result-file <path> (and/or --result - reading stdin), mutually exclusive
with --result, so a result carrying code spans, quotes, or newlines reaches
runtime/results/<task-id>.md byte-for-byte. Worth updating
crates/rhei-cli/skills/rhei-plan-worker/SKILL.md to prefer it once it exists.
Workaround
Avoid backticks in --result, or repair runtime/results/<id>.md by hand
after completing.
Problem
rhei completecan only take its result as a single command-line string, so aresult containing backticks, quotes, or newlines cannot be handed over
verbatim from a non-interactive shell.
Concretely, this invocation:
The markdown code spans inside the double-quoted word are command
substitutions to the shell. Both
origin/…spans were executed as commands("no such file or directory"), and the result was written with the refs
silently missing.
rhei completereported success.Shell quoting is not rhei's to fix — that expansion happens before rhei sees
an argv. The gap is that rhei offers no way to bypass it.
Current state
Complete { result: String }(
crates/rhei-cli/src/cli/cli_declarations.rs:493-495) is a requiredflag. There is no
--result-file, no--means-stdin, and no alternativeinput path — grep for
result_filefinds only internal path construction(
crates/rhei-cli/src/cli/complete_reset_rewrites.rs:338), never a CLI input.This is the shape the shipped worker skill actively prescribes:
rhei complete <plan> --task <id> --result "<one-line summary>"(
crates/rhei-cli/skills/rhei-plan-worker/SKILL.md:33) — while nearly everyuseful ticket summary in this ecosystem wants backticked ids, paths, and refs.
Expected
--result-file <path>(and/or--result -reading stdin), mutually exclusivewith
--result, so a result carrying code spans, quotes, or newlines reachesruntime/results/<task-id>.mdbyte-for-byte. Worth updatingcrates/rhei-cli/skills/rhei-plan-worker/SKILL.mdto prefer it once it exists.Workaround
Avoid backticks in
--result, or repairruntime/results/<id>.mdby handafter completing.