Phase 7f-1: Deprecate issue-creator + issue-gate agent spawns

phase-7f-1-deprecate-issue-creator Phase

Goal: Remove the issue-creator agent type and change the agent spawn hook from requiring a plan/project reference to requiring a Forgejo issue reference. Issue scoping is a Betty Sue + Lucas responsibility — not an agent's job.
Owner: Dev agent
Repo: claude-custom
Parent: Phase 7f (Doc Cleanup + SOP Hardening)
Forgejo Issue: #57
PR: #58 (MERGED)
Status: COMPLETED — All deliverables complete. Stale worktree cleanup was in scope but deferred.

Why

The check-agent-spawn.sh hook currently requires plan-* or project-* in agent prompts. This was the right guard initially, but now that issues are the unit of work (issue-as-spec), the gate should be an issue reference. Benefits:
  • Tighter traceability: Every agent spawn traces to a specific Forgejo issue, not just a plan
  • Prevents undirected spawns: No issue = no agent. This blocks wasteful Explore agents, undirected research, etc.
  • Eliminates issue-creator agent: Betty Sue creates issues directly via mcp__forgejo__create_issue. Issue scoping is a planning conversation between Betty Sue and Lucas — not something to delegate to an agent.

Deliverables

  • Remove issue-creator agent type — delete agents/issue-creator.md, remove from settings.json, remove from inject-subagent-context.sh. COMPLETE.
  • Update check-agent-spawn.sh — change the grep from plan-|project- to check for issue reference (e.g. #[0-9] or issue # or Issue # or Forgejo issue). Dottie (general-purpose doc ops) is exempt — she uses plan references since her work isn't tied to Forgejo issues. COMPLETE.
  • Update agent-spawn-conventions — change the axiom from "no plan, no agent" to "no issue, no agent" with Dottie exception noted. COMPLETE.
  • Update agents/betty-sue.md — remove issue-creator references. COMPLETE.
  • Clean up stale worktrees — 3 stale worktrees in claude-custom/.claude/worktrees/. DEFERRED.

Hook Logic

New check-agent-spawn.sh logic:
  • If prompt contains issue reference (#[0-9]+, issue, Issue) → allow
  • If prompt contains plan reference (plan-) AND subagent_type is general-purpose → allow (Dottie exception)
  • Otherwise → deny with message: "No issue, no agent."
  • agent-spawn-conventions — the convention to update
  • phase-postgres-7f-doc-cleanup-sop — parent phase
  • sop-post-merge-docs — related SOP hardening