framework tools/git: issue-create R1/R4 conversion + template bug fix (P1)

- issue-create: usage() default exit is now 2 (usage-error contract);
  unknown option, missing title, and value-less -t/-b/-l/-m land there
  with stderr messages; exit-code line added to help. Interactive
  -i/--interactive unchanged (boolean, no value arm). Existing
  body-safety and interactive-auth suites still green.
- Template bug fixed across ALL seven usage-contract suites:
  expect_stderr referenced an unbound $desc (should be $2); latent
  until issue-create's capitalized 'Unknown option' missed the
  case-sensitive grep and fired it. All seven re-verified green.
- Suite enrolled (population 79); mirrored to the brain tree.
This commit is contained in:
2026-08-28 18:01:12 -05:00
parent dff486b43a
commit c43b1a1293
10 changed files with 146 additions and 8 deletions
@@ -76,7 +76,7 @@ expect_rc() { # expect_rc <want> <desc> <args...>
}
expect_stderr() { # expect_stderr <pattern> <desc>
grep -q "$1" "$ERR_FILE" || fail "$desc: stderr missing '$1'"
grep -q "$1" "$ERR_FILE" || fail "$2: stderr missing '$1'"
}
# 1. Help exits 0 and prints usage.