eagle-mem 4.8.3 → 4.8.4
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/README.md +5 -1
- package/lib/common.sh +8 -0
- package/package.json +1 -1
- package/scripts/orchestrate.sh +10 -2
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
Eagle Mem turns AI coding sessions into compounding project knowledge. It gives Claude Code and Codex the same local memory, labels which agent created each memory, blocks risky release commands until affected features are verified, and lets broad work split into durable worker lanes.
|
|
13
13
|
|
|
14
|
-
**v4.8.
|
|
14
|
+
**v4.8.4 proves the worker-lane path end to end:** Codex can create an orchestration, route a lane to Claude Code by default, launch the Claude worker in an isolated worktree, mirror the lane into `agent_tasks`, and generate a durable handoff without crashing on Bash 3.2.
|
|
15
15
|
|
|
16
16
|
**Website:** [Product](https://eagleisbatman.github.io/eagle-mem/) |
|
|
17
17
|
[Architecture](https://eagleisbatman.github.io/eagle-mem/architecture.html) |
|
|
@@ -149,6 +149,10 @@ Eagle Mem prevents Claude from repeating past mistakes:
|
|
|
149
149
|
| `eagle-mem scan` | Scan codebase and generate overview |
|
|
150
150
|
| `eagle-mem index` | Index source files for FTS5 code search |
|
|
151
151
|
|
|
152
|
+
### v4.8.4 Patch
|
|
153
|
+
|
|
154
|
+
The orchestration handoff path is now Bash 3.2-safe, so `eagle-mem orchestrate handoff` works even when no lane options are present. This patch was verified with a real Codex coordinator -> Claude Code worker proof lane using `claude-opus-4-7` at `xhigh`; the completed lane is visible through `eagle-mem orchestrate --json`, `eagle-mem tasks completed`, and the generated handoff output. Release-boundary detection also ignores Eagle Mem's own `feature verify`/`waive` commands, so verification notes can mention dry-run checks without blocking themselves.
|
|
155
|
+
|
|
152
156
|
### v4.8.3 Patch
|
|
153
157
|
|
|
154
158
|
GitHub Pages now keeps hero text readable over the terminal background and the homepage explicitly explains installer-created/updated `CLAUDE.md` and `AGENTS.md` sections plus orchestrator/worker mode. Installer/update output also uses the new clean-output Codex wording instead of saying it added eagle-summary instructions.
|
package/lib/common.sh
CHANGED
|
@@ -378,6 +378,10 @@ eagle_is_release_boundary_command() {
|
|
|
378
378
|
function has_dry_run_flag(line) {
|
|
379
379
|
return line ~ /(^|[[:space:]])--dry-run([[:space:]]|$|=([Tt][Rr][Uu][Ee]|1|[Yy][Ee][Ss])([[:space:]]|$))/
|
|
380
380
|
}
|
|
381
|
+
function is_eagle_feature_command(line) {
|
|
382
|
+
return line ~ /(^|[[:space:]])([^[:space:]]*\/)?eagle-mem[[:space:]]+feature[[:space:]]+(verify|waive|pending|list)([[:space:]]|$)/
|
|
383
|
+
}
|
|
384
|
+
is_eagle_feature_command($0) { next }
|
|
381
385
|
/(^|[[:space:]])gh[[:space:]]+pr[[:space:]]+create([[:space:]]|$)/ ||
|
|
382
386
|
/(^|[[:space:]])npm[[:space:]]+publish([[:space:]]|$)/ ||
|
|
383
387
|
/(^|[[:space:]])pnpm[[:space:]]+publish([[:space:]]|$)/ ||
|
|
@@ -399,6 +403,10 @@ eagle_is_release_boundary_command() {
|
|
|
399
403
|
function has_dry_run_flag(line) {
|
|
400
404
|
return line ~ /(^|[[:space:]])--dry-run([[:space:]]|$|=([Tt][Rr][Uu][Ee]|1|[Yy][Ee][Ss])([[:space:]]|$))/
|
|
401
405
|
}
|
|
406
|
+
function is_eagle_feature_command(line) {
|
|
407
|
+
return line ~ /(^|[[:space:]])([^[:space:]]*\/)?eagle-mem[[:space:]]+feature[[:space:]]+(verify|waive|pending|list)([[:space:]]|$)/
|
|
408
|
+
}
|
|
409
|
+
is_eagle_feature_command($0) { next }
|
|
402
410
|
/(^|[[:space:]])git[[:space:]]+push([[:space:]]|$)/ {
|
|
403
411
|
if (!has_dry_run_flag($0)) found = 1
|
|
404
412
|
}
|
package/package.json
CHANGED
package/scripts/orchestrate.sh
CHANGED
|
@@ -452,7 +452,11 @@ parse_lane_options() {
|
|
|
452
452
|
esac
|
|
453
453
|
i=$((i + 1))
|
|
454
454
|
done
|
|
455
|
-
|
|
455
|
+
if [ "${#parsed[@]}" -gt 0 ]; then
|
|
456
|
+
args=("${parsed[@]}")
|
|
457
|
+
else
|
|
458
|
+
args=()
|
|
459
|
+
fi
|
|
456
460
|
}
|
|
457
461
|
|
|
458
462
|
lane_add() {
|
|
@@ -758,7 +762,11 @@ parse_spawn_options() {
|
|
|
758
762
|
esac
|
|
759
763
|
i=$((i + 1))
|
|
760
764
|
done
|
|
761
|
-
|
|
765
|
+
if [ "${#parsed[@]}" -gt 0 ]; then
|
|
766
|
+
args=("${parsed[@]}")
|
|
767
|
+
else
|
|
768
|
+
args=()
|
|
769
|
+
fi
|
|
762
770
|
}
|
|
763
771
|
|
|
764
772
|
orchestrate_worker_run_script() {
|