Skip to content

Commit d4a9aa1

Browse files
fix(panicbot): rename colon-named findings file + fail-loud filename guard (#350)
Panicbot Sweep failed 3 consecutive weeks: `actions/upload-artifact` rejects `:` in paths and one legacy file (`…/2026-02-14T00:00:00Z.json`, the only colon path in the tree) sank the whole sweep's upload. Writer already emits colon-free names → renamed the residue + added a fail-loud pre-upload guard that names any future offender. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent d66ecdd commit d4a9aa1

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

.github/workflows/panicbot-sweep.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,21 @@ jobs:
107107
echo "- **Mode**: ${{ inputs.mode || 'advisor' }}" >> "$GITHUB_STEP_SUMMARY"
108108
echo "- **Scope**: ${{ inputs.scope || 'all' }}" >> "$GITHUB_STEP_SUMMARY"
109109
110+
# upload-artifact rejects ':' in paths; a single legacy colon-named file
111+
# failed the whole sweep for 3 consecutive weeks. The writer
112+
# (scripts/submit-finding.sh) already emits colon-free names — this guard
113+
# fails LOUDLY (naming the offender) if any regressed writer reintroduces
114+
# one, instead of the upload step failing cryptically.
115+
- name: Guard — no artifact-illegal filenames
116+
if: always()
117+
run: |
118+
BAD=$(find shared-context/findings -name '*:*' -print)
119+
if [ -n "$BAD" ]; then
120+
echo "::error::Colon-named findings file(s) break artifact upload — fix the writer, then rename:"
121+
echo "$BAD"
122+
exit 1
123+
fi
124+
110125
- name: Upload findings artifact
111126
if: always()
112127
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1

shared-context/findings/indieweb2-bastion/2026-02-14T00:00:00Z.json renamed to shared-context/findings/indieweb2-bastion/2026-02-14T00-00-00Z.json

File renamed without changes.

0 commit comments

Comments
 (0)