Add the ticket, project, and label command groups with logged aliases #1622
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#1622
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
The command names do not show the domain objects, and they do not form a consistent set. Skills call the old names, so the new names must arrive with aliases.
Approach
Add Thor groups
ticket,project, andlabel, with the 19 names from the design record. Each of the 18 old names stays as an alias. Each alias call writes one line to~/.cc-os/os-backlog-old-names.log. An alias call also keeps its old output and exit status.Required work:
os-backlog-old-names.loginplugins/os-backlog/lib/backlog/**/*.rbAcceptance criteria
os-backlog help, when it prints, then the three groups appear.Owner sketch
Each group command calls the same
IssueCommandsorProjectCommandsmethod as its old name, with the same options, so output and exit status match. Thorsubcommandpasses the parent config to each group.OldNames.recordruns only in the top-levelstart, becauseclose,comment, andcategorizeare also names insideticket. The log path comes fromstate_dir:bin/os-backlogsets it fromCC_OS_HOME, or else$HOME/.cc-os. Tests give a temporarystate_dir.issue-createticket createissue-showticket showissuesticket listissue-editticket editcategorizeticket categorizecommentticket commentissue-commentsticket commentsvalidate-templateticket checkbounceticket returncloseticket closeclose --needs-review)ticket review, with a required--needs-reviewoccurrenceticket log-occurrencecheckoutticket claimprojectsproject listinspectproject inspectconfig-writeproject configureresolveproject routelabelslabel listensure-labelslabel syncNon-goals
No caller changes here. Slice 10 changes them.
Blocking edges
Blocked by #1621
Origin
docs/system-design-format/proof/2026-11-06-os-backlog-domain-objects.md, slice 9plugins/os-backlog/CONTEXT.md)VERDICT: CREATE
Work started on branch ticket-1622.
Resolution
Done: Thor groups ticket, project, and label give the 19 new names. The 18 old names stay as aliases with unchanged output and exit status, and each alias call appends one line to os-backlog-old-names.log in the state directory. ticket review is the new name with no old name; it takes the required --needs-review option of close.
Evidence: Implementation 259 complete (16 dispatches, 17 min), commits
30e24f8cande04da24bon ticket-1622. os-backlog 528 runs, os-sdlc 3502 runs, takedown 623 runs, 0 failures. Rubocop clean on the 14 changed files. Live check: six old/new read-only pairs give identical output and exit status, the log gains one line per alias call, and help shows the three groups.Follow-ups: none; callers move in #1623 and the aliases go in #1624