Skip to content

feat: BFS optimizations, bug fixes, shared tool helpers, and plugin improvements#44

Merged
jpicklyk merged 8 commits intomainfrom
feat/output-style-restructure
Mar 5, 2026
Merged

feat: BFS optimizations, bug fixes, shared tool helpers, and plugin improvements#44
jpicklyk merged 8 commits intomainfrom
feat/output-style-restructure

Conversation

@jpicklyk
Copy link
Owner

@jpicklyk jpicklyk commented Mar 5, 2026

Summary

  • Performance: Batch BFS traversal in query_dependencies and batch note fetching in findStalledItems to eliminate N+1 queries
  • Bug fixes: Resolved 9 bugs in GetContextTool, CompleteTreeTool, and 3 skill docs; added BLOCKED item rejection in advance_item and complete_tree
  • Refactor: Extracted shared helpers into BaseToolDefinition to reduce duplication across MCP tools
  • Plugin: Added schema-workflow skill, rewrote work-summary skill with hierarchical inventory, overhauled workflow-orchestrator output style, moved plugin version bump to prepare-release skill
  • Tests: Added 1100+ lines of new tests covering BFS batching, blocked item rejection, context tool, and repository batch operations

Changes since v2.1.0

Commit Description
af84733 Move plugin version bump to prepare-release skill
eee8750 Batch BFS traversal in query_dependencies (N+1 fix)
4ad0557 Remove output-style work-summary shortcuts that bypass skill triggering
647a47a Rewrite work-summary skill with hierarchical inventory
77fb292 Batch note fetching in findStalledItems (N+1 fix)
f83540b Add BLOCKED item rejection tests for advance_item and complete_tree
7854ab9 Extract shared helpers, reduce duplication across MCP tools
924bc12 Resolve 9 bugs found during skill testing
26a9bf0 Add schema-workflow skill, overhaul output style

🤖 Generated with Claude Code

jpicklyk and others added 8 commits March 5, 2026 16:23
…leteTreeTool, and 3 skill docs

GetContextTool fixes:
- guidancePointer now filters by current phase (no cross-phase leakage after transitions)
- canAdvance returns false for terminal items (was misleadingly true)
- Health-check and session-resume modes include guidancePointer per stalled item

CompleteTreeTool fix:
- Added includeRoot parameter (default true) so root item is completed/cancelled
  alongside descendants. Root processes last after topological sort.

Skill documentation fixes:
- batch-complete: gate check now previews children (not root); cancel label fixed
- create-item: added signal keywords to category table; note batching example; config error handling
- work-summary: clarified that guidancePointer requires item-mode get_context calls

662 tests pass, 13 new tests added.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Extract checkGate() in CompleteTreeTool — eliminates duplicate gate-check
  logic between Steps 4 and 5, collapses triple-nested if/else to flat structure
- Replace Triple with StalledItemEntry data class in GetContextTool —
  named fields instead of opaque positional access
- Promote buildAncestorsArray to BaseToolDefinition — removes 4 inline
  duplicates across GetNextItemTool, GetBlockedItemsTool, QueryItemsTool
- Add 6 new tests covering checkGate paths (notes filled, cancel bypass,
  unmatched tags) and stalled item edge cases (multiple missing notes,
  includeAncestors on stalled items in health-check and session-resume)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tree

Confirms that advance_item rejects complete/start triggers on BLOCKED items
and that complete_tree skips BLOCKED items with a descriptive reason. Adds
batch isolation test verifying BLOCKED failures don't affect other items.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add findByItemIds(Set<UUID>) to NoteRepository for batch retrieval,
replacing per-item findByItemId calls in GetContextTool.findStalledItems.
Reduces DB queries from N+1 to 2 on the health-check/session-resume hot path.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replaces the aggregate-focused dashboard with a PM-ready view that shows:
- Full project inventory grouped by container with children tables
- Short IDs, tags, priority, and status on every item
- Children column showing grandchild role summaries
- Adaptive standalone grouping: tag-based when multiple tags, flat otherwise
- Short ID only in output; agent retains full UUID mapping internally

Adds search call (limit=200) for tag/priority enrichment that overview
children lack. Bumps plugin version to 2.4.1.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…kill triggering

Remove Session Start section and 2-call work summary pattern from
workflow-orchestrator output style — these taught agents to construct
dashboards manually instead of invoking the work-summary skill.

Strengthen work-summary skill description with explicit "never construct
manually" directive and expanded trigger phrases for consistent activation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace per-node findByItemId calls in buildGraphJson() with frontier-based
batch fetching using a new findByItemIds(Set<UUID>) repository method.
Reduces database roundtrips from O(N) to O(D) where D is graph diameter.

Also fixes a redundant findByItemId call in execute() when direction=all
by reusing the already-fetched result.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove per-change plugin version bump requirement from
claude-plugins/CLAUDE.md. Plugin versions are now bumped at release
time by /prepare-release, either alongside a project release or as a
standalone plugin-only PR.

Updated prepare-release skill with:
- Step 4d: plugin change detection and version read from plugin.json
- Step 6: confirmation block includes plugin version and release type
- Step 8b: plugin version file updates (plugin.json, marketplace.json, CLAUDE.md)
- Step 8d: standalone plugin release path (chore: commit, release/plugin-v* branch)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jpicklyk jpicklyk force-pushed the feat/output-style-restructure branch from af84733 to c3821e1 Compare March 5, 2026 21:24
@jpicklyk jpicklyk merged commit d1549fc into main Mar 5, 2026
2 checks passed
@jpicklyk jpicklyk deleted the feat/output-style-restructure branch March 5, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant