Files
msd-core/commands/gsd/review-backlog.md
Rezolv d3a79917fa feat: Phase 2 caller migration — gsd-sdk query in workflows, agents, commands (#2179)
* feat: Phase 2 caller migration — gsd-sdk query in workflows (#2122)

Cherry-picked orchestration rewrites from feat/sdk-foundation (#2008, 4018fee) onto current main, resolving conflicts to keep upstream worktree guards and post-merge test gate. SDK stub registry omitted (out of Phase 2 scope per #2122).

Refs: #2122 #2008
Made-with: Cursor

* docs: add gsd-sdk query migration blurb

Made-with: Cursor

* docs(workflows): extend Phase 2 gsd-sdk query caller migration

- Swap node gsd-tools.cjs for gsd-sdk query in review, plan-phase, execute-plan,
  ship, extract_learnings, ai-integration-phase, eval-review, next, thread
- Document graphify CJS-only in gsd-planner; dual-path in CLI-TOOLS and ARCHITECTURE
- Update tests: workstreams gsd-sdk path, thread frontmatter.get, workspace init.*,
  CRLF-safe autonomous frontmatter parse
- CHANGELOG: Phase 2 caller migration scope

Made-with: Cursor

* docs(phase2): USER-GUIDE + remaining gsd-sdk query call sites

- USER-GUIDE: dual-path CLI section; state validate/sync use full CJS path
- Commands: debug (config-get+tdd), quick (security note), intel Task prompt
- Agent: gsd-debug-session-manager resolve-model via jq
- Workflows: milestone-summary, forensics, next, complete-milestone/verify-work
  (audit-open CJS notes), discuss-phase, progress, verify-phase, add/insert/remove
  phase, transition, manager, quick workflow; remove-phase commit without --files
- Test: quick-session-management accepts frontmatter.get
- CHANGELOG: Phase 2 follow-up bullet

Made-with: Cursor

* docs(phase2): align gsd-sdk query examples in commands and agents

- init.* query names; frontmatter.get uses positional field name
- state.* handlers use positional args; commit uses positional paths
- CJS-only notes for from-gsd2 and graphify; learnings.query wording
- CHANGELOG: Phase 2 orchestration doc pass

Made-with: Cursor

* docs(phase2): normalize gsd-sdk query commit to positional file paths

- Strip --files from commit examples in workflows, references, commands
- Keep commit-to-subrepo ... --files (separate handler)
- git-planning-commit.md: document positional args
- Tests: new-project commit line, state.record-session, gates CRLF, roadmap.analyze
- CHANGELOG [Unreleased]

Made-with: Cursor

* feat(sdk): gsd-sdk query parity with gsd-tools and PR 2179 registry fixes

- Route query via longest-prefix match and dotted single-token expansion; fall back
  to runGsdToolsQuery (same argv as node gsd-tools.cjs) for full CLI coverage.
- Parse gsd-sdk query permissively so gsd-tools flags (--json, --verify, etc.) are
  not rejected by strict parseArgs.
- resolveGsdToolsPath: honor GSD_TOOLS_PATH; prefer bundled get-shit-done copy
  over project .claude installs; export runGsdToolsQuery from the SDK.
- Fix gsd-tools audit-open (core.output; pass object for --json JSON).
- Register summary-extract as alias of summary.extract; fix audit-fix workflow to
  call audit-uat instead of invalid init.audit-uat (PR review).

Updates QUERY-HANDLERS.md and CHANGELOG [Unreleased].

Made-with: Cursor

* fix(sdk): Phase 2 scope — Trek-e review (#2179, #2122)

- Remove gsd-sdk query passthrough to gsd-tools.cjs; drop GSD_TOOLS_PATH
- Consolidate argv routing in resolveQueryArgv(); update USAGE and QUERY-HANDLERS
- Surface @file: read failures in GSDTools.parseOutput
- execute-plan: defer Task Commit Protocol to gsd-executor
- stale-colon-refs: skip .planning/ and root CLAUDE.md (gitignored overlays)
- CHANGELOG [Unreleased]: maintainer review and routing notes

Made-with: Cursor
2026-04-15 22:46:31 -04:00

1.8 KiB

name, description, allowed-tools
name description allowed-tools
gsd:review-backlog Review and promote backlog items to active milestone
Read
Write
Bash
AskUserQuestion
Review all 999.x backlog items and optionally promote them into the active milestone sequence or remove stale entries.
  1. List backlog items:

    ls -d .planning/phases/999* 2>/dev/null || echo "No backlog items found"
    
  2. Read ROADMAP.md and extract all 999.x phase entries:

    cat .planning/ROADMAP.md
    

    Show each backlog item with its description, any accumulated context (CONTEXT.md, RESEARCH.md), and creation date.

  3. Present the list to the user via AskUserQuestion:

    • For each backlog item, show: phase number, description, accumulated artifacts
    • Options per item: Promote (move to active), Keep (leave in backlog), Remove (delete)
  4. For items to PROMOTE:

    • Find the next sequential phase number in the active milestone
    • Rename the directory from 999.x-slug to {new_num}-slug:
      NEW_NUM=$(gsd-sdk query phase.add "${DESCRIPTION}" --raw)
      
    • Move accumulated artifacts to the new phase directory
    • Update ROADMAP.md: move the entry from ## Backlog section to the active phase list
    • Remove (BACKLOG) marker
    • Add appropriate **Depends on:** field
  5. For items to REMOVE:

    • Delete the phase directory
    • Remove the entry from ROADMAP.md ## Backlog section
  6. Commit changes:

    gsd-sdk query commit "docs: review backlog — promoted N, removed M" .planning/ROADMAP.md
    
  7. Report summary:

    ## 📋 Backlog Review Complete
    
    Promoted: {list of promoted items with new phase numbers}
    Kept: {list of items remaining in backlog}
    Removed: {list of deleted items}