Reverts af7a057 "feat: add GSD Memory cross-project knowledge system"
The memory system needs more work before shipping:
- Workflow integration is incomplete (writes but doesn't query)
- UX requires too much manual intervention
- Setup friction exceeds value for most users
Preserved on branch `memory-wip` for continued development.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements MCP server for semantic search across GSD projects:
MCP Tools:
- gsd_memory_search: Search across all registered projects
- gsd_memory_decisions: Find decisions from SUMMARY/PROJECT.md
- gsd_memory_patterns: Find patterns from SUMMARY.md
- gsd_memory_pitfalls: Find pitfalls from RESEARCH.md
- gsd_memory_stack: Find tech stack entries
- gsd_memory_register: Register project with memory
- gsd_memory_index: Trigger indexing/update
- gsd_memory_status: Show system status
Architecture:
- QMD wrapper with grep fallback when QMD unavailable
- YAML frontmatter extractors for GSD document types
- Project registry at ~/.gsd/projects.json
- Auto-install via bin/install.js for Claude Code
Workflow integrations:
- new-project: Registers project with memory
- plan-phase: Indexes after planning
- execute-phase: Indexes after execution
- complete-milestone: Indexes milestone completion
- Researcher agents query memory before Context7
Tests: 117 passing (66 unit + 51 integration)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
set-profile and settings commands hard-errored when .planning/config.json
did not exist, blocking users from changing model profile before running
new-project. Create config.json with balanced defaults when missing.
Executor self-check after SUMMARY.md creation verifies key-files exist
on disk and commit hashes exist in git log. Orchestrator spot-checks
SUMMARY claims before trusting and proceeding to next wave. Segmented
execution (execute-plan.md) gets the same self-check inline.
Fixes#363
The update command was hardcoded to use --global flag, which would
convert a local installation to a global one during updates.
Changes:
- Detect install type by checking ./.claude/ first, then ~/.claude/
- Use --local flag when updating a local install
- Use --global flag when updating a global install
- Update cache cleanup path to match install location
- Clarify warning message paths to be relative to install location
Fixes#343
The agent was misinterpreting commit_docs=false as 'skip file write'
when it should only skip git commit operations.
Changes:
- Explicitly state Write tool is mandatory in Step 5
- Clarify commit_docs only affects git operations, not file writes
- Rename Step 6 to indicate it's optional
- Make the file-write-then-commit order explicit
When updating GSD, the installer renames statusline.js to gsd-statusline.js
but didn't update existing settings.json references. Users with the old
config would see their status line disappear.
Now cleanupOrphanedHooks() also checks for and updates any statusLine
config pointing to the old path.
Fixes#330
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* prompt(001): map dependencies for new-project command
* fix(#326): enforce context fidelity in planning pipeline
Root cause: User decisions from CONTEXT.md were available but not
enforced throughout the RESEARCH → PLAN → VERIFY chain.
Changes:
- gsd-planner: Add <context_fidelity> section requiring agents to
parse and honor user decisions BEFORE creating tasks. Includes
self-check checklist and conflict handling guidance.
- gsd-phase-researcher: Add User Constraints as FIRST section in
downstream consumer table. Require researcher to copy CONTEXT.md
decisions verbatim to RESEARCH.md so planner sees them even if
it only skims.
- research.md template: Add <user_constraints> section that must
be populated first. Locked decisions, Claude's discretion, and
deferred ideas copied verbatim from CONTEXT.md.
The command file (commands/gsd/plan-phase.md) already passes
CONTEXT_CONTENT to all agents. These changes add the enforcement
layer in the agent instructions.
Fixes#326, #216, #206
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Add Character Preservation section to GSD-STYLE.md
- Clarify 'no special chars' applies to FILENAME only in add-todo
- Use 'box-drawing' terminology for tree structure visualization
Co-authored-by: FlightCore Dev <dev@flightcore.pl>
CONTEXT.md from /gsd:discuss-phase now flows through entire pipeline:
- Loaded early in step 4, stored for all agent spawns
- Researcher: constrains research scope (locked decisions vs discretion)
- Planner: explicit guidance to honor locked decisions
- Checker: new Context Compliance dimension to verify plans respect user vision
- Revision: reminder to maintain context compliance during fixes
Adds Dimension 7 (Context Compliance) to gsd-plan-checker:
- Verifies locked decisions have implementing tasks
- Flags if tasks contradict locked decisions
- Flags if deferred ideas included in plans
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add "Squash merge" as recommended option at complete-milestone
- Keep "Merge with history" (--no-ff) as alternative
- Document merge options in planning-config reference
Improves on #298 based on community feedback from @oojacoboo.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Gemini CLI to supported runtimes
- Update install examples with --gemini and --all flags
- Note native Gemini/OpenCode support in Community Ports section
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The if/else branches in copyFlattenedCommands were identical.
This function is only used by OpenCode (Gemini uses copyWithPathReplacement).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Claude Code enforces an 80% context window limit as a safety mechanism.
The statusline was showing the raw percentage, which meant the bar never
reached 100% before Claude ran out of context.
This change scales the percentage so that:
- 0% real usage = 0% displayed
- 80% real usage (the actual limit) = 100% displayed
Color thresholds are adjusted accordingly to maintain the same visual
progression (green -> yellow -> orange -> red with skull).
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Add configurable git branching with three strategies:
- none (default): commit to current branch
- phase: create branch per phase (gsd/phase-{N}-{slug})
- milestone: create branch per milestone (gsd/{version}-{slug})
Changes:
- planning-config.md: add git.branching_strategy and templates
- execute-phase.md: handle branch creation based on strategy
- settings.md: add branching strategy to settings UI
- complete-milestone.md: handle branch merging at milestone end
/gsd:update already shows changelog before updating, with cancel option.
Two commands for nearly the same purpose adds unnecessary cognitive load.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>