fix(rollback): enumerate persona before inventory-match#214
fix(rollback): enumerate persona before inventory-match#214cbeaulieu-gt merged 1 commit intomainfrom
Conversation
Step 6.3.5b was passing the image URL directly as \$1 to inventory-match.sh, but that script's contract requires a local JSON file produced by enumerate-persona.sh. Fix: add an enumerate step per overlay loop iteration, write output to a mktemp file, then pass that file to inventory-match.sh — mirroring the pattern in overlay-smoke.sh. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Claude finished @cbeaulieu-gt's task in 2m 14s —— View job PR Review Complete ✅SummaryVerdict: LGTM — This is a high-quality fix that correctly addresses the root cause identified in #213. The implementation follows established patterns, includes comprehensive error handling, and is thoroughly documented. Review Findings✅ Code Quality — ExcellentStrengths:
Minor observations:
✅ Security — No Issues
✅ Performance — Efficient
|
Summary
Closes #213
Step 6.3.5b in
.github/workflows/runtime-rollback.ymlwas passing the image URL directly as$1toruntime/scripts/inventory-match.sh. That script's contract (line 36) requires a local JSON file — the output ofenumerate-persona.sh. Passing a URL caused an immediateERROR enumeration_json_not_foundat line 39, failing every rollback dispatch.enumerate-persona.shcall per overlay inside the loop, writing to amktempfile$1toinventory-match.shSMOKE_UIDfromsteps.uid.outputs.uidvia the stepenv:block (required byenumerate-persona.sh)runtime/scripts/overlay-smoke.shlines 66–74Verification
python -c "import yaml; yaml.safe_load(open(...))"— cleanactionlint .github/workflows/runtime-rollback.yml— no output (clean pass)enumerate-persona.shcalled per overlay, (b) output captured tomktempfile, (c) that path passed as$1toinventory-match.sh, (d)for ov in review fix explainloop preserved, (e) all three overlays exercised${{ }}in single-quoted strings in the modified block)Post-merge follow-up
Once this lands, re-dispatch Task 6.9 rehearsal Step 6.9.4′ with
target_pubsha=b080630804cc5783be7060121a05db1b1523ad0f(Set B — known-good, in promote history at commit7a061b5) to confirm the live fix. Step 6.3.5c (Validate target digests via smoke-test) was left untouched — it runs separately and provides complementary coverage viasmoke-test.sh.🤖 Generated by Claude Code on behalf of @cbeaulieu-gt