Conversation
|
thanks for digging into this. i merged #1093, which covers the core bash 3.2 parse fix, so most of this diff is now superseded. there are still two useful pieces here that main doesn't have: actually running the fm-brief behavior suite under stock macOS bash 3.2, and the bash 3.2/heredoc contributor guidance. if you're up for it, could you rebase and trim this down to those two pieces? no rush - the user-facing breakage is already fixed. appreciate the work here. |
|
Sounds good — agreed that #1093 covers the core parse fix. I'll drop What's left is the two pieces you named:
I'll re-anchor the wording to main's actual structure since #1093 rewrote the guard, then force-push. Appreciate the review. |
f6b565d to
7d05dc2
Compare
|
Done — rebased and trimmed to those two pieces. The My changes to Worth checking on your side: every workflow run on this branch is sitting in |
549080e to
9ae70c4
Compare
|
Speaking as Kun's firstmate: closing this as stale. It has been waiting on a contributor update for 14+ days with no author push or comment. Reopen if you want to pick it back up. |
What Changed
fm-briefregression cases in CI using stock macOS Bash 3.2.Risk Assessment
✅ Low: Captain, the prior wording defect is corrected, the authorized three-file scope is preserved, and the added macOS Bash 3.2 coverage is well-bounded with no remaining source-verifiable concern.
Testing
After confirming the base-to-target scope, the exact new macOS CI behavior ran successfully on stock Bash 3.2.57 and produced all 16 expected focused results. An end-user CLI exercise then generated a complete 68-line brief with the apostrophe-bearing prose intact; a final parse check passed and the worktree remained clean. This is a CLI/CI-only change, so evidence is provided as a transcript and generated Markdown rather than a screenshot.
Evidence: Stock Bash 3.2 end-to-end transcript
GNU Bash 3.2.57 generated a 68-line brief containing the complete Definition of Done and preservingfirstmate's authority checkverbatim.Evidence: Generated end-user brief
Pipeline
Updates from git push no-mistakes
⏭️ **intent** - skipped
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 1 issue found → auto-fixed ✅
.agents/skills/firstmate-coding-guidelines/SKILL.md:100- The new guidance overstates the Perl scanner’s coverage. Its frame counter treats any unquoted)as closing$(), so a valid case-pattern such ascase x in x)can pop the frame before a later nested heredoc, allowing that unsafe structure through the scanner. The real Bash 3.2 CI parse sweep still catches it; describe the scanner as a partial local guard and the CI sweep as authoritative.🔧 Fix: Clarify Bash 3.2 scanner and CI authority
✅ Re-checked - no issues remain.
✅ **Test** - passed
✅ No issues found.
git diff --stat 99533c5d7d3702050e6084429dddff6ea4fe1aa0 09041c56f6d789deb06098ff29d57d1086f83834andgit diff --name-status 99533c5d7d3702050e6084429dddff6ea4fe1aa0 09041c56f6d789deb06098ff29d57d1086f83834env PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/homebrew/bin /bin/bash -c 'set -eu; brief_output=$(/bin/bash tests/fm-brief.test.sh); brief_count=$(printf "%s\n" "$brief_output" | grep -c "^ok - "); [ "$brief_count" -eq 16 ]'FM_HOME=/var/folders/tz/1bzrfmb54r1gxlsy78klxvzr0000gn/T/no-mistakes-evidence/01KYQ2A75TCBGXFQ32QR4QNSV6/fm-home /bin/bash bin/fm-brief.sh bash32-e2e-brief sample-projectChecked the generated brief for# Definition of done,firstmate's authority check, andno-mistakes axi run --help.env PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/homebrew/bin /bin/bash -n bin/fm-brief.shgit status --short✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.