feat(memory): working memory system enhancements#72
Merged
Conversation
added 2 commits
March 1, 2026 19:10
…apshots - Add ## Progress section (Done/Remaining/Blockers) to working memory template - Require date and status on ## Decisions entries (YYYY-MM-DD [ACTIVE|SUPERSEDED]) - Raise line limit 100 → 120 to accommodate new section - Cap patterns.md at 40 entries with consolidation instruction - Snapshot WORKING-MEMORY.md into pre-compact backup JSON - Inject pre-compact snapshot in SessionStart when fresher than working memory - Backward compatible: old backups without memory_snapshot field gracefully ignored
…rantee Add `devflow memory --enable/--disable/--status` CLI command and `devflow init --memory/--no-memory` flags for user-controlled memory hook management. Memory defaults to enabled (foundational feature). Three hooks managed as a group (Stop, SessionStart, PreCompact) with partial-state detection (e.g., "enabled (2/3 hooks)"). Uninstall removes memory hooks before blanket hook prompt. Fix: ensure .docs/ exists when memory is enabled during init, since all 3 hooks silently exit without it. Previously user-scope installs never got .docs/, making memory hooks no-ops. 25 new tests (22 in memory.test.ts + 3 re-export tests). 162/162 pass.
added 4 commits
March 2, 2026 00:31
Replace vague "proportional quality enforcement" with concrete description: "auto-loads relevant skills based on each prompt". More intuitive for users encountering the feature for the first time via `devflow list`. Updated across: CLI option/prompt, plugin descriptions, README, CLAUDE.md, marketplace.json, ambient plugin files, skill description, and hook script.
…t permissions Move memory files to dedicated .memory/ directory, separating memory lifecycle from documentation artifacts. Replace --dangerously-skip-permissions with --tools "Write" --allowedTools restricted to exactly two files. - Hook scripts: all 4 updated (.docs/ → .memory/, patterns.md → PROJECT-PATTERNS.md) - CLI: add createMemoryDir() + migrateMemoryFiles() with per-project migration - CLI: init/memory --enable create .memory/ and migrate existing files - CLI: uninstall adds .memory/ cleanup (respects --keep-docs) - CLI: .gitignore now includes .memory/ - Tests: 6 new migration tests (168/168 passing) - Docs: CLAUDE.md, README, file-organization, docs-framework updated
Stop and PreCompact hooks now mkdir -p .memory/ instead of bailing when the directory doesn't exist. SessionStart already guards on the memory file itself. Removes the need to run devflow init per-project.
…k run Extract shared ensure-memory-gitignore.sh helper sourced by stop and pre-compact hooks. Uses a marker file (.memory/.gitignore-configured) to gate a single stat check per session — skips entirely after first run. Also adds .docs/ to the CLI's updateGitignore() entries.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
devflow memory --enable/--disable/--statusanddevflow init --memory/--no-memory.docs/→.memory/migration — separates session state from review artifacts, with no-clobber migration and ephemeral cleanup--tools "Write"+--allowedToolsreplaces--dangerously-skip-permissions.memory/and.docs/to.gitignoreon first run via marker file gate (~1μs skip after setup)Changes
6 commits across 24 files (+913 / -76):
memorycommand, updatedinit/uninstallwith migration utilitiesTest plan
npm run build— 26 skills, 9 pluginsnpm test— 168/168 pass, no regressions--dangerously-skip-permissionsremains;--allowedToolsconfirmed.docs/memory paths migrated to.memory/.memory/→ start session → verify.memory/recreated,.gitignoreupdated, marker file created