os-backlog issue-edit NUMBER --body-file PATH edits an issue body without tea #728
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#728
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
os-backlog has no command that edits an issue body.
Agents fall back to
tea issues edit --description "$(cat file)".The worktree guard refuses that shape with "too complex to verify ... cannot be shown not to be git".
tea has no --description-file option.
In #712 one body edit cost 5 calls and ended in a hand-written Ruby script.
No backend (TeaBackend, GhBackend, FileBackend) has a body-edit method today.
Related: #658, which adds --body-file to issue-create.
Approach
Add
issue-edit NUMBER --body-file PATH [--title TITLE]to Backlog::CLI.Read the file in Ruby, never through shell substitution.
Route through Backlog::Issues to a new
editmethod on each backend, the same waycreateroutes.TeaBackend runs
tea issues edit --repo SLUG N --description BODY [--title T]as an argv array.GhBackend runs
gh issue edit N --repo SLUG --body-file PATH [--title T].FileBackend rewrites the issue file body in place.
issue-edit does not run the issue-create gates (scope, origin, filed-by).
Required work:
issue-editto cli.rb with --body-file (required) and --title (optional) — check:os-backlog issue-edit --helplists both.Backlog::Issues#editthrough route_to_backend with extra: [:title, :body].editto TeaBackend, GhBackend, and FileBackend.Acceptance criteria
os-backlog issue-edit N --body-file fruns on a forgejo tracker, then the tea backend receives the full file contents as one --description argv element.issue edit N --repo SLUG --body-file f.Owner sketch
Origin
VERDICT: CREATE
REASON: user-named ticket; observed failure in #712 with a clear root (no edit command).
os-backlog issue-edit accepts --body-fileto os-backlog issue-edit NUMBER --body-file PATH edits an issue body without teaWork started 2026-09-27 on branch ticket-728 via /os-sdlc:implement.
Resolution
Done: os-backlog issue-edit NUMBER --body-file PATH [--title] replaces an issue body verbatim through TeaBackend, GhBackend, or FileBackend; the file is read in Ruby, never through shell substitution; capture and ticket-decompose skill docs now point at issue-edit instead of tea.
Evidence: Implementation 50 on branch ticket-728, 16 dispatches, all gates green; new test plugins/os-backlog/tests/issue_edit_cli_test.rb; os-backlog suite green three times. Deviations: one phantom programmer dispatch from a resumed subagent stalled the run 15 minutes (captured as #773); one contract-auditor handoff was submitted by the orchestrator because the agent's loaded definition still named the retired os-sdlc-runner.
Follow-ups: gh temp body file written by GhBackend#edit is not deleted: dropped, one small file per edit under Dir.tmpdir, cleanup needs a test change and no harm observed.