release-kit 0.3.14

A canonical release workflow: a technology-agnostic method, per-technology bindings, and the rk CLI that lands and serves them.
Documentation
#!/usr/bin/env sh
# Prove issue intake without claiming a project-wide private reporting switch.
set -eu
: "${RK_REPO:?rk sets this; run this script through rk setup}"

project="$(printf '%s' "$RK_REPO" | sed 's|/|%2F|g')"
body="$(glab api "projects/$project")"
compact="$(printf '%s' "$body" | tr -d ' \t\r\n')"
refuse() { echo "$1; see setup guide step 3g" >&2; exit 1; }
case "$compact" in
  *'"issues_access_level":"enabled"'*) ;;
  *'"issues_access_level":"private"'*) refuse 'issue intake is restricted' ;;
  *'"issues_access_level":"disabled"'*) refuse 'issue intake is disabled' ;;
  *) refuse 'issue intake access is unreadable' ;;
esac
case "$compact" in
  *'"issues_enabled":false,'*|*'"issues_enabled":false}'*) refuse 'issue intake is disabled' ;;
  *'"issues_enabled":true,'*|*'"issues_enabled":true}'*) ;;
  *'"issues_enabled":'*) refuse 'legacy issue intake flag is unreadable' ;;
esac
echo 'check: issue intake is enabled; confidentiality remains a per-report choice subject to reporter access'