f0e8ef9b4f
Document the two-stage debugging pattern discovered while fixing
prepare-release.yml (Run #1996-2000):
1. PowerShell harness for workflow_dispatch trigger + poll-to-completion
- Working pattern for POST .../dispatches (204 = success)
- Known PowerShell/HttpClient limitation: cannot read error response
body via GetResponseStream() in PS7
2. SSH log-reading harness for when the Gitea API has no working
/logs endpoint (404 on job logs):
- Match runner container logs (task ID) to the triggered run
- Locate actions_log/{owner}/{repo}/{shard}/{taskId}.log.zst
- Stream-decompress with 'zstd -dc' and grep for 'Failure'/'exitcode'
3. Network debugging commands for dispatch 500s / stuck runners
(docker network inspect, restart timing, exec connectivity test)
4. Table of real failure patterns hit and their fixes (YAML multiline
notes, unset git identity, missing gh CLI in runner image)