Fix epilogue nits: stale refs, jq flag, spawn gate comment #92
No reviewers
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/claude-custom!92
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "91-epilogue-nits-stale-refs-jq-flag-spawn-gate"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Fixes 4 non-blocking nits from plan-pal-e-agency epilogue (nits #14-17), batched from QA reviews of PRs #87, #88, and #90.
Changes
commands/update-docs.md-- replaced stale sprint tool references (get_sprint_board,move_sprint_item) with board tool equivalents (list_board_items,update_board_item). Updated "Sprint name" gather context field and summary output to use "Board" terminology.hooks/check-mcp-servers.sh-- added guard for scoped npm packages without@versionsuffix (e.g.@scope/pkg) where${package%@*}produces an empty string. Falls back to the original package name.hooks/check-agent-spawn.sh-- removed unnecessary-rflag fromjq ... | lengthcall (raw output has no effect on numeric output).hooks/check-agent-spawn.sh-- updated header comment from "no issue, no agent" axiom to "capability-based agent spawn gate" to reflect the pass-through model introduced in PR #90.Test Plan
bash -nsyntax check passes on both modified shell scripts@scope/pkg->@scope/pkg,@playwright/mcp@latest->@playwright/mcp,some-package@1.0.0->some-packageReview Checklist
Related
plan-pal-e-agency(traceability)Self-Review: LGTM
Reviewed all 3 changed files (19 additions, 14 deletions) against the 4 acceptance criteria in issue #91.
Nit #14 --
update-docs.md: All 6 sprint references replaced with board equivalents. Staleremind-sprint-update.shnote removed (hook no longer exists). No sprint terminology remains.Nit #15 --
check-mcp-servers.sh: Empty fingerprint guard added. Edge cases verified:@scope/pkg(no version) falls back to original,@playwright/mcp@lateststrips correctly,some-package@1.0.0strips correctly.Nit #16 --
check-agent-spawn.sh:-rflag removed fromjq ... | length. Correct ---ronly affects string output, not numeric.Nit #17 --
check-agent-spawn.sh: Header comment updated to "capability-based agent spawn gate" with clarification about pass-through for types with no patterns.No issues found. All changes are minimal and scoped to the nits described in the issue.
PR #92 Review
BLOCKERS
None.
NITS
settings.jsonstill referencesremind-sprint-update.sh(line 206). The file itself still exists athooks/remind-sprint-update.sh. This is outside the scope of this PR (the hook was already updated for board terminology in PR #83), but worth noting as a future cleanup -- the hook filename still says "sprint." Not blocking since the hook's internal text was already updated.Test Plan checkbox -- the
[ ] Manual: verify hooks still work in a live session after mergeitem is unchecked. Since these hooks are hardlinked and go live immediately on pull, post-merge manual verification is the right call. Just noting the test plan is honest about what hasn't been verified yet.ANALYSIS
Nit #14 -- Stale sprint refs in
update-docs.md: Correct. All 6 occurrences of sprint terminology replaced with board equivalents. The staleget_sprint_boardandmove_sprint_itemMCP tool names are replaced withlist_board_itemsandupdate_board_item, which match the actual MCP tools available in the pal-e-docs-mcp server. The removal of theremind-sprint-update.shoverlap note (the old blockquote warning about duplicate reminders) is appropriate -- it referenced behavior from the pre-board era. Grep confirms zeroget_sprint_boardormove_sprint_itemreferences remain in the repo.Nit #15 -- Scoped npm fingerprint edge case in
check-mcp-servers.sh: Correct and necessary. For a scoped package without a version suffix (e.g.,@scope/pkg), bash${package%@*}performs shortest-suffix removal matching@*. Since the only@is at position 0, the entire string is the shortest (and only) matching suffix, producing an empty string. The guard (if [[ -z "$stripped" ]]) correctly falls back to the original package name. The fix preserves existing behavior for versioned packages (@playwright/mcp@lateststill strips to@playwright/mcp) and unscoped packages (some-package@1.0.0still strips tosome-package).Nit #16 -- Unnecessary
-rflag incheck-agent-spawn.sh: Correct.jq -r(raw output) only affects string values by removing surrounding quotes. The| lengthfilter always returns a bare integer regardless of-r. Removing the flag eliminates misleading intent without changing behavior.Nit #17 -- Stale header comment in
check-agent-spawn.sh: Correct. The old comment ("no issue, no agent" axiom) described the pre-PR#90 behavior where all agent types required pattern matching. After PR #90 introduced the pass-through model for types with emptyrequired_patternsarrays (like Explore), the new comment ("capability-based agent spawn gate") and the expanded description accurately reflect current behavior. The schema atschemas/agent-spawn-requirements.jsonconfirms Explore has"required_patterns": [].SOP COMPLIANCE
91-epilogue-nits-stale-refs-jq-flag-spawn-gatereferences issue #91)plan-pal-e-agency)Closes #91present in PR bodyVERDICT: APPROVED
Tight, well-scoped batch of non-blocking nit fixes. All 4 changes are correct. The scoped npm edge case fix (nit #15) is the most substantive -- it addresses a real bug where
@scope/pkgwould produce an empty fingerprint and cause a false-positive "missing MCP server" warning. Since hooks are hardlinked and go live on pull, the low blast radius here (comment updates, a no-op jq flag removal, and a defensive guard) is appropriate.