framework tools/git: issue-assign R1/R4 conversion (P1)

usage() default exit 2; value guards on -i/-a/-l/-m; -r stays boolean.
Suite enrolled (population 82); mirrored to the brain tree.
This commit is contained in:
2026-08-28 18:06:42 -05:00
parent cf971f93f8
commit 0467d28191
3 changed files with 138 additions and 2 deletions
@@ -33,25 +33,36 @@ Examples:
$(basename "$0") -i 42 -l "in-progress" -m "0.2.0"
$(basename "$0") -i 42 -a @me
EOF
exit "${1:-1}"
exit "${1:-2}"
}
# Usage-error contract (R4, 2026-08-28): usage errors print to STDERR and exit 2,
# distinct from provider, credential, and verification failures (exit 1).
usage_error() {
echo "Error: $*" >&2
usage
}
# Parse arguments
while [[ $# -gt 0 ]]; do
case $1 in
-i|--issue)
[[ $# -ge 2 ]] || usage_error "option $1 requires a value"
ISSUE="$2"
shift 2
;;
-a|--assignee)
[[ $# -ge 2 ]] || usage_error "option $1 requires a value"
ASSIGNEE="$2"
shift 2
;;
-l|--labels)
[[ $# -ge 2 ]] || usage_error "option $1 requires a value"
LABELS="$2"
shift 2
;;
-m|--milestone)
[[ $# -ge 2 ]] || usage_error "option $1 requires a value"
MILESTONE="$2"
shift 2
;;