--- id: 8a2f30f0-137d-4390-9252-22c4eb565046 type: decision title: "Retrosheet card update agent definition created" tags: [paper-dynasty, claude-code, agents, architecture] importance: 0.7 confidence: 0.8 created: "2026-02-16T19:34:19.383497+00:00" updated: "2026-02-16T19:34:19.383497+00:00" --- Created .claude/agents/retrosheet-card-update-agent.md for Paper Dynasty card-creation project. Key design decisions: 1. **Minimal tool set**: Bash, Read, Grep, Glob, AskUserQuestion only — no Edit/Write. Agent is a pipeline executor, not a coder. 2. **Sonnet model**: Sequential CLI execution doesn't need heavy reasoning. 3. **8-step pipeline with validation gates**: dry-run → generate cards → validate positions → render images → validate groundball_b → S3 upload → scouting all → scouting upload. 4. **Environment verification**: Reads db_calls.py alt_database before executing, refuses to proceed if mismatch. Does NOT modify the file. 5. **Pre-flight parameter table**: Year, Cardset ID, Description, Start/End dates, Season %, Environment, Cardset name. Asks user for missing params via AskUserQuestion. 6. **Critical guardrails**: groundball_b validation is hardcoded as Step 5 with STOP gate. Scouting always runs for ALL cardsets (no --cardset-id filter). 7. **Structured report output**: Pass/fail for each step with counts. File location: /mnt/NV2/Development/paper-dynasty/card-creation/.claude/agents/retrosheet-card-update-agent.md Discovery issue: Custom agents from .claude/agents/ are only discovered at Claude Code startup — must restart session after creating new agent files. Agent name in frontmatter (retrosheet-card-update) must match the subagent_type used in Task tool calls.