devflow-kit 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/plugins/devflow-accessibility/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-ambient/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-code-review/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-core-skills/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-debug/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-frontend-design/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-go/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-implement/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-java/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-python/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-react/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-resolve/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-rust/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-self-review/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-specify/.claude-plugin/plugin.json +1 -1
- package/plugins/devflow-typescript/.claude-plugin/plugin.json +1 -1
- package/scripts/hooks/background-memory-update +26 -6
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to DevFlow will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.3.1] - 2026-03-08
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **Background memory updater silent Write failures** — Added Read permission for memory files (Claude Code enforces Read-before-Write), read-only git commands for fresh context, mtime validation to detect silent failures, and stdout logging for debugging
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
8
15
|
## [1.3.0] - 2026-03-08
|
|
9
16
|
|
|
10
17
|
### Added
|
|
@@ -815,6 +822,7 @@ devflow init
|
|
|
815
822
|
|
|
816
823
|
---
|
|
817
824
|
|
|
825
|
+
[1.3.1]: https://github.com/dean0x/devflow/compare/v1.3.0...v1.3.1
|
|
818
826
|
[1.3.0]: https://github.com/dean0x/devflow/compare/v1.2.0...v1.3.0
|
|
819
827
|
[1.2.0]: https://github.com/dean0x/devflow/compare/v1.1.0...v1.2.0
|
|
820
828
|
[1.1.0]: https://github.com/dean0x/devflow/compare/v1.0.0...v1.1.0
|
package/package.json
CHANGED
|
@@ -96,8 +96,10 @@ rotate_log
|
|
|
96
96
|
|
|
97
97
|
# Read existing memory for merge context
|
|
98
98
|
EXISTING_MEMORY=""
|
|
99
|
+
PRE_UPDATE_MTIME=0
|
|
99
100
|
if [ -f "$MEMORY_FILE" ]; then
|
|
100
101
|
EXISTING_MEMORY=$(cat "$MEMORY_FILE")
|
|
102
|
+
PRE_UPDATE_MTIME=$(get_mtime "$MEMORY_FILE")
|
|
101
103
|
fi
|
|
102
104
|
|
|
103
105
|
# Build instruction
|
|
@@ -119,7 +121,7 @@ else
|
|
|
119
121
|
If recurring patterns were observed during this session (coding conventions, architectural decisions, team preferences, tooling quirks), create $PATTERNS_FILE with entries formatted as: - **Pattern name**: Brief description (discovered: YYYY-MM-DD). Only create this file if genuine patterns were observed — do not fabricate entries."
|
|
120
122
|
fi
|
|
121
123
|
|
|
122
|
-
INSTRUCTION="
|
|
124
|
+
INSTRUCTION="First, Read the file $MEMORY_FILE to satisfy Claude Code's read-before-write requirement. Then update it with working memory from this session. The file already has content — possibly from a concurrent session that just wrote it moments ago. Merge this session's context with the existing content to produce a single unified working memory snapshot. Both this session and the existing content represent fresh, concurrent work — integrate both fully. Working memory captures what's active now, not a changelog. Deduplicate overlapping information. Keep under 120 lines total. Use the same structure: ## Now, ## Progress, ## Decisions, ## Modified Files, ## Context, ## Session Log.
|
|
123
125
|
|
|
124
126
|
## Progress tracks Done (completed items), Remaining (next steps), and Blockers (if any). Keep each sub-list to 1-3 items. This section reflects current work state, not historical logs.
|
|
125
127
|
|
|
@@ -144,7 +146,7 @@ $EXISTING_PATTERNS"
|
|
|
144
146
|
If recurring patterns were observed during this session (coding conventions, architectural decisions, team preferences, tooling quirks), create $PATTERNS_FILE with entries formatted as: - **Pattern name**: Brief description (discovered: YYYY-MM-DD). Only create this file if genuine patterns were observed — do not fabricate entries."
|
|
145
147
|
fi
|
|
146
148
|
|
|
147
|
-
INSTRUCTION="
|
|
149
|
+
INSTRUCTION="First, Read the file $MEMORY_FILE if it exists (to satisfy Claude Code's read-before-write requirement). Then create it with working memory from this session. Keep under 120 lines. Use this structure:
|
|
148
150
|
|
|
149
151
|
# Working Memory
|
|
150
152
|
|
|
@@ -178,12 +180,20 @@ TIMEOUT=120 # Normal runtime 30-60s; 2x margin
|
|
|
178
180
|
DEVFLOW_BG_UPDATER=1 env -u CLAUDECODE "$CLAUDE_BIN" -p \
|
|
179
181
|
--resume "$SESSION_ID" \
|
|
180
182
|
--model haiku \
|
|
181
|
-
--tools "Write" \
|
|
182
|
-
--allowedTools
|
|
183
|
+
--tools "Read,Write,Bash" \
|
|
184
|
+
--allowedTools \
|
|
185
|
+
"Read($CWD/.memory/WORKING-MEMORY.md)" \
|
|
186
|
+
"Read($CWD/.memory/PROJECT-PATTERNS.md)" \
|
|
187
|
+
"Write($CWD/.memory/WORKING-MEMORY.md)" \
|
|
188
|
+
"Write($CWD/.memory/PROJECT-PATTERNS.md)" \
|
|
189
|
+
"Bash(git status:*)" \
|
|
190
|
+
"Bash(git log:*)" \
|
|
191
|
+
"Bash(git diff:*)" \
|
|
192
|
+
"Bash(git branch:*)" \
|
|
183
193
|
--no-session-persistence \
|
|
184
194
|
--output-format text \
|
|
185
195
|
"$INSTRUCTION" \
|
|
186
|
-
|
|
196
|
+
>> "$LOG_FILE" 2>&1 &
|
|
187
197
|
CLAUDE_PID=$!
|
|
188
198
|
|
|
189
199
|
# Watchdog: kill claude if it exceeds timeout
|
|
@@ -191,7 +201,17 @@ CLAUDE_PID=$!
|
|
|
191
201
|
WATCHDOG_PID=$!
|
|
192
202
|
|
|
193
203
|
if wait "$CLAUDE_PID" 2>/dev/null; then
|
|
194
|
-
|
|
204
|
+
# Validate the file was actually modified (detect silent Write failures)
|
|
205
|
+
if [ -f "$MEMORY_FILE" ]; then
|
|
206
|
+
NEW_MTIME=$(get_mtime "$MEMORY_FILE")
|
|
207
|
+
if [ "$NEW_MTIME" -gt "$PRE_UPDATE_MTIME" ]; then
|
|
208
|
+
log "Update completed for session $SESSION_ID"
|
|
209
|
+
else
|
|
210
|
+
log "Update finished but file was not modified for session $SESSION_ID (possible Write tool failure)"
|
|
211
|
+
fi
|
|
212
|
+
else
|
|
213
|
+
log "Update finished but file does not exist for session $SESSION_ID"
|
|
214
|
+
fi
|
|
195
215
|
else
|
|
196
216
|
EXIT_CODE=$?
|
|
197
217
|
if [ "$EXIT_CODE" -gt 128 ]; then
|