Files
sar/.claude/skills/bmad-story-automator/data/stop-hook-recovery.md
julian 17c08e6392 chore: initial monorepo scaffold + WDS Phase 1+2 artifacts
- Nx 22.7 monorepo (pnpm 11.1, TypeScript 5.9, Node 24)
- apps/api: NestJS 11 (CJS conforme CODING-RULES.md PGD-DB-004)
- apps/web: React 19 + Vite 8 (ESM)
- libs/shared/api-interface: Zod contract base
- Docker Compose dev: Postgres 18, Valkey 8, MinIO, Mailpit
- WDS artifacts:
  - design-artifacts/A-Product-Brief/ (5 docs canônicos + 16 dialogs)
  - design-artifacts/B-Trigger-Map/ (hub + 4 personas + feature impact)
- Stack canon: STACK.md v2.2 + CODING-RULES.md v2.0 + brand.md
- AGENTS.md + README.md como entrada para devs/agentes

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 14:34:20 +00:00

3.5 KiB

Stop Hook Recovery

You are reading this because the Stop hook blocked your attempt to stop.


Decision Matrix

Find your scenario and follow the action exactly:

Scenario Action Why
Just finished a story, more in queue CONTINUE → Process next story Stopping between stories wastes progress
Session completed successfully CONTINUE → Check state, process output Session done ≠ orchestration done
Session failed/errored CONTINUE → Follow retry/fallback strategy Retries not exhausted yet
Feeling uncertain what to do CONTINUE → Check state document, follow step instructions Uncertainty is not a blocker
Want to "check in" with user CONTINUE → User will interrupt if needed User doesn't want status updates
Waiting at a menu for user input DECIDE → Use sub-agent to gather context, make informed decision Don't block on user, keep moving
Multiple valid paths forward DECIDE → Pick the path most likely to finish stories in order Your job is to finish, not ask
Unrecoverable error (all retries exhausted) STOP → Follow stop procedure below Cannot proceed without intervention
External dependency down (API, service) RETRY → Sleep with increasing delay (1m, 2m, 4m, 8m, 16m), max 5 attempts Often recovers on its own
User explicitly requested stop earlier STOP → Follow stop procedure below Honoring user intent

Quick Reference

CONTINUE (Most Scenarios)

  1. Read your state document
  2. Check currentStep, storyQueue, currentStoryId
  3. Resume execution from where you left off
  4. Process the next story in queue

DECIDE (Autonomous Decision Required)

  1. Spawn sub-agent to analyze current context
  2. Gather: state document, recent session output, story requirements
  3. Make the decision most likely to complete stories in order
  4. Document decision in state log, then execute
  5. Never wait for user - your job is to keep moving

RETRY (External Dependency Issues)

  1. Log the failure with timestamp
  2. Sleep with exponential backoff: 1m → 2m → 4m → 8m → 16m
  3. Retry the operation after each sleep
  4. After 5 failed attempts → treat as unrecoverable → STOP

STOP (Genuinely Unrecoverable)

  1. Update state document status to STOPPED
  2. Delete marker using the installed helper: orchestrator-helper marker remove
  3. Log WHY you stopped (be specific)
  4. Exit cleanly

Stop Hook Messages ≠ User Input

The stop hook fires when Claude pauses, not just when explicitly stopping.

If you see this while at a decision point:

  • This message is NOT telling you what to choose
  • Use a sub-agent to gather context and DECIDE autonomously
  • Do NOT wait for user - make the call yourself

Core Principle

Your job is to finish every story in the correct order.

Do whatever it takes. Make autonomous decisions. Only stop when genuinely unrecoverable (all retries exhausted, user explicitly requested stop).


Common Mistakes to Avoid

Mistake Correct Behavior
Stopping to report progress Continue silently, user sees state doc
Stopping after one story completes Continue to next story
Stopping because session errored Follow retry strategy first
Waiting for user at decision points Decide autonomously, keep moving
Stopping on first API/service failure Retry with exponential backoff (5 attempts)
Asking user which path to take Pick the path that finishes stories in order