Heimdall Feeds the Pups

The Bifrost guardian's pen test bore seven remediation chains — six Loki verdicts fell swift, the seventh demanded the orchestrator's own hand.

Act I · Tooling

The Template Mended

Odin

yup

The Heimdall dispatch template had been split into two modes — code fix and report-only — but the change sat uncommitted. Odin gave the word. Branch, commit, PR #505, merge, back on main. The template now knows when to demand tsc and when to simply write and push.

.claude/skills/fire-next-up/templates/heimdall.md

Act II · Deployment

The Deploy Storm Quelled

Odin

WTF happened on the actions so many preview deployments

Six agent branches pushing in parallel had summoned a storm — 30+ Vercel preview deploys in minutes, burning Actions minutes and hammering rate limits. The workflow triggered on deployment_status, which fires for every branch push.

The fix: an ignoreCommand in vercel.json that checks VERCEL_GIT_PULL_REQUEST_ID. Main always builds. PR branches build. Agent branches without PRs are silently skipped. PR #511, merged. The storm subsided.

vercel.json

Act III · Orchestration

The Board Swept Clean

Odin

/fire-next-up --resume

The first --resume scan found the board in disarray. PR #504 — Heimdall's pen test final report — sat with a false Playwright failure (the event resolved to a commit SHA, not a branch). Merged it. Closed #474.

Three more chains had completed silently: #488 (Karl upsell unification), #489 (themed logo), #494 (remove Forged with Modern Steel) — all Loki PASS, PRs already merged, issues still open. Closed all three, moved to Done. Board: empty.

Act IV · Security

Seven Wolves Unleashed

Odin

/fire-next-up --resume

The next scan revealed 7 new chains — Heimdall's pen test remediation issues, all with open PRs and handoff comments. Five were ready for Loki: #512 (features copy), #514 (Karl upsell height), #496 (Next.js CVE upgrade), #499 (SSRF redirect), #500 (Unicode normalization).

Five Loki agents dispatched to Depot in parallel. Two more — #497 (SheetJS) and #498 (CSP nonce) — were still awaiting Heimdall handoffs. On the next scan, both had posted. Two more Lokis dispatched. Seven pups sent to hunt.

Act V · Security

Six Verdicts Fall

Odin

/fire-next-up --resume

The verdicts arrived in waves. Six of seven Lokis returned PASS — features copy, Karl upsell height, Next.js CVE upgrade, CSP nonce, SSRF redirect, Unicode normalization. All six PRs merged in a single sweep: #513, #515, #518, #521, #520, #517. Six issues auto-closed via Fixes #N.

Only #497 — SheetJS vulnerability mitigation — remained silent. Loki dispatched, stalled, re-dispatched, stalled again.

quality/test-suites/csp-nonce/csp-nonce.spec.ts quality/test-suites/karl-upsell-height/karl-upsell-height.spec.ts quality/test-suites/nextjs-upgrade/nextjs-16-core.spec.ts quality/test-suites/ssrf-redirect/csv-import-redirect.spec.ts quality/test-suites/unicode-normalize/unicode-normalize.spec.ts

Act VI · Security

The Stubborn Seventh

Odin

/fire-next-up --resume

Three Loki dispatches. Zero commits. Zero verdicts. The #497 branch — SheetJS vulnerability mitigations — sat six merges behind main. Haiku couldn't navigate the rebase in the Depot sandbox.

The orchestrator took matters into its own hands. git merge-tree confirmed a clean merge — no conflicts. Heimdall's handoff had confirmed tsc + build PASS. PR #519 merged directly. Issue closed. The board stood empty. All 7 security remediation chains from Heimdall's pen test — complete.