eagle-mem 4.8.0 → 4.8.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/README.md +31 -6
- package/lib/db-mirrors.sh +9 -2
- package/package.json +2 -2
- package/scripts/help.sh +17 -6
- package/scripts/style.sh +1 -1
package/README.md
CHANGED
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
```
|
|
2
2
|
======================================
|
|
3
3
|
Eagle Mem
|
|
4
|
-
|
|
4
|
+
shared memory | guardrails | lanes
|
|
5
5
|
======================================
|
|
6
6
|
```
|
|
7
7
|
|
|
8
8
|
# Eagle Mem
|
|
9
9
|
|
|
10
|
-
**
|
|
10
|
+
**Shared memory, release guardrails, and worker lanes for Claude Code and Codex.**
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
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
|
+
|
|
14
|
+
**v4.8.1 ships the communication refresh for the new architecture:** cross-agent orchestration, compact Codex hook recall, enforced anti-regression checks, configurable RTK token guardrails, and a memory-sync fix for large memory files.
|
|
15
|
+
|
|
16
|
+
**Website:** [Product](https://eagleisbatman.github.io/eagle-mem/) |
|
|
17
|
+
[Architecture](https://eagleisbatman.github.io/eagle-mem/architecture.html) |
|
|
18
|
+
[About](https://eagleisbatman.github.io/eagle-mem/about.html)
|
|
19
|
+
|
|
20
|
+
## Why People Install It
|
|
21
|
+
|
|
22
|
+
- **Start warmer** - every new session can recall project overviews, decisions, gotchas, summaries, hot files, mirrored memories, plans, and tasks.
|
|
23
|
+
- **Ship safer** - feature-mapped changes create pending verification records, and release-boundary commands stay blocked until the current diff is verified or waived.
|
|
24
|
+
- **Waste fewer tokens** - Eagle Mem injects compact context, nudges duplicate reads, and can route noisy shell output through RTK.
|
|
25
|
+
- **Coordinate agents** - Codex and Claude Code can share one project memory while worker lanes record owner, model, effort, worktree, logs, validation, and handoff.
|
|
26
|
+
- **Stay local** - no daemon, no hosted memory service, no vector database. The core is hooks plus SQLite/FTS5.
|
|
14
27
|
|
|
15
28
|
## The Problem
|
|
16
29
|
|
|
@@ -18,9 +31,17 @@ Claude Code and Codex start every session with amnesia. They don't remember what
|
|
|
18
31
|
|
|
19
32
|
The longer you work with Claude Code, the worse this gets. Projects accumulate history — decisions, gotchas, architectural patterns, feature dependencies — and none of it survives across sessions.
|
|
20
33
|
|
|
21
|
-
## The
|
|
34
|
+
## The Product
|
|
22
35
|
|
|
23
|
-
Eagle Mem is a
|
|
36
|
+
Eagle Mem is a local runtime layer for AI coding agents. It adds three things that ordinary agent sessions do not have by default:
|
|
37
|
+
|
|
38
|
+
| Layer | What users feel | What Eagle Mem does |
|
|
39
|
+
|-------|-----------------|---------------------|
|
|
40
|
+
| **Recall** | "The agent remembers this repo." | Loads project overviews, summaries, decisions, memories, tasks, plans, and relevant indexed code. |
|
|
41
|
+
| **Guardrails** | "The agent cannot casually undo known decisions or push unverified feature changes." | Surfaces decisions before edits and enforces feature verification on push, PR, and publish boundaries. |
|
|
42
|
+
| **Lanes** | "A big task can survive compaction and split across agents." | Persists orchestrations, worker lanes, worktrees, logs, validation commands, and handoffs. |
|
|
43
|
+
|
|
44
|
+
Both agents share the same SQLite database at `~/.eagle-mem/memory.db`, and captured rows are source-attributed as `Claude Code` or `Codex`.
|
|
24
45
|
|
|
25
46
|
**Zero per-instance overhead.** No daemon, no vector DB, no MCP server. Just bash scripts, sqlite3 (WAL mode, FTS5 full-text search), and jq.
|
|
26
47
|
|
|
@@ -128,6 +149,10 @@ Eagle Mem prevents Claude from repeating past mistakes:
|
|
|
128
149
|
| `eagle-mem scan` | Scan codebase and generate overview |
|
|
129
150
|
| `eagle-mem index` | Index source files for FTS5 code search |
|
|
130
151
|
|
|
152
|
+
### v4.8.1 Patch
|
|
153
|
+
|
|
154
|
+
`eagle-mem memories sync` is now safe on large Claude Code/Codex memory files. The memory mirror parser no longer uses early-exit pipelines under `pipefail`, avoiding exit `141` during sync.
|
|
155
|
+
|
|
131
156
|
### Search Modes
|
|
132
157
|
|
|
133
158
|
```bash
|
package/lib/db-mirrors.sh
CHANGED
|
@@ -23,7 +23,7 @@ eagle_capture_agent_memory() {
|
|
|
23
23
|
body=$(cat "$file_path")
|
|
24
24
|
fi
|
|
25
25
|
|
|
26
|
-
_fm_field() {
|
|
26
|
+
_fm_field() { awk -F': *' -v k="$1" '$1==k{sub(/^[^:]+: */,""); gsub(/^"|"$/,""); print; exit}' <<< "$fm"; }
|
|
27
27
|
|
|
28
28
|
local mname mdesc mtype morigin
|
|
29
29
|
mname=$(_fm_field "name")
|
|
@@ -41,7 +41,14 @@ eagle_capture_agent_memory() {
|
|
|
41
41
|
fi
|
|
42
42
|
[ -z "$mtype" ] && mtype="$agent"
|
|
43
43
|
if [ -z "$mdesc" ]; then
|
|
44
|
-
mdesc=$(
|
|
44
|
+
mdesc=$(awk '
|
|
45
|
+
/^[[:space:]]*$/ { next }
|
|
46
|
+
{
|
|
47
|
+
line = substr($0, 1, 200)
|
|
48
|
+
print line
|
|
49
|
+
exit
|
|
50
|
+
}
|
|
51
|
+
' <<< "$body")
|
|
45
52
|
fi
|
|
46
53
|
|
|
47
54
|
local fp_sql proj_sql name_sql desc_sql type_sql content_sql hash_sql origin_sql agent_sql
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eagle-mem",
|
|
3
|
-
"version": "4.8.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "4.8.1",
|
|
4
|
+
"description": "Shared memory, release guardrails, RTK token protection, and worker lanes for Claude Code and Codex",
|
|
5
5
|
"bin": {
|
|
6
6
|
"eagle-mem": "bin/eagle-mem"
|
|
7
7
|
},
|
package/scripts/help.sh
CHANGED
|
@@ -13,24 +13,35 @@ version=$(jq -r .version "$PACKAGE_DIR/package.json" 2>/dev/null || echo "unknow
|
|
|
13
13
|
eagle_banner
|
|
14
14
|
|
|
15
15
|
echo -e " ${BOLD}Eagle Mem${RESET} ${DIM}v${version}${RESET}"
|
|
16
|
-
echo -e " ${DIM}
|
|
16
|
+
echo -e " ${DIM}Shared memory, release guardrails, RTK token protection, and worker lanes${RESET}"
|
|
17
|
+
echo -e " ${DIM}for Claude Code and Codex.${RESET}"
|
|
17
18
|
echo ""
|
|
18
|
-
echo -e " ${BOLD}
|
|
19
|
+
echo -e " ${BOLD}Core commands:${RESET}"
|
|
19
20
|
echo -e " ${CYAN}install${RESET} First-time setup: hooks, database, skills"
|
|
20
21
|
echo -e " ${CYAN}update${RESET} Re-deploy hooks and run migrations"
|
|
21
22
|
echo -e " ${CYAN}uninstall${RESET} Remove hooks and optionally delete data"
|
|
22
23
|
echo -e " ${CYAN}search${RESET} Search past sessions, memories, and code"
|
|
23
24
|
echo -e " ${CYAN}health${RESET} Diagnose pipeline health and background automation"
|
|
24
|
-
echo -e " ${CYAN}config${RESET} View or change provider and token-guard settings"
|
|
25
|
-
echo -e " ${CYAN}guard${RESET} Manage regression guardrails for files"
|
|
26
25
|
echo -e " ${CYAN}overview${RESET} Build or view project overview"
|
|
27
26
|
echo -e " ${CYAN}memories${RESET} View/sync agent memories"
|
|
28
27
|
echo -e " ${CYAN}tasks${RESET} View mirrored tasks"
|
|
29
|
-
echo
|
|
28
|
+
echo ""
|
|
29
|
+
echo -e " ${BOLD}Safety and token controls:${RESET}"
|
|
30
|
+
echo -e " ${CYAN}feature${RESET} Track, verify, and unblock feature changes"
|
|
31
|
+
echo -e " ${CYAN}guard${RESET} Manage regression guardrails for files"
|
|
32
|
+
echo -e " ${CYAN}config${RESET} View/change providers, RTK, and token guard settings"
|
|
33
|
+
echo ""
|
|
34
|
+
echo -e " ${BOLD}Automation and coordination:${RESET}"
|
|
30
35
|
echo -e " ${CYAN}curate${RESET} Run curator (co-edits, hot files, guardrails)"
|
|
31
|
-
echo -e " ${CYAN}
|
|
36
|
+
echo -e " ${CYAN}orchestrate${RESET} Durable worker-lane coordination"
|
|
32
37
|
echo -e " ${CYAN}prune${RESET} Clean old sessions and stale data"
|
|
33
38
|
echo ""
|
|
39
|
+
echo -e " ${BOLD}What it protects:${RESET}"
|
|
40
|
+
echo -e " ${DIM}Recall${RESET} Project overview, summaries, memories, plans, tasks, code index"
|
|
41
|
+
echo -e " ${DIM}Guardrails${RESET} Decisions, gotchas, feature verification, stale memory warnings"
|
|
42
|
+
echo -e " ${DIM}Tokens${RESET} Compact hook recall and optional RTK shell-output routing"
|
|
43
|
+
echo -e " ${DIM}Lanes${RESET} Cross-agent worker status, worktrees, logs, validation, handoffs"
|
|
44
|
+
echo ""
|
|
34
45
|
echo -e " ${BOLD}Search modes:${RESET}"
|
|
35
46
|
echo -e " ${DIM}\$${RESET} eagle-mem search \"auth bug\" ${DIM}# keyword search${RESET}"
|
|
36
47
|
echo -e " ${DIM}\$${RESET} eagle-mem search --timeline ${DIM}# recent sessions${RESET}"
|
package/scripts/style.sh
CHANGED
|
@@ -18,7 +18,7 @@ CROSS="${RED}✗${RESET}"
|
|
|
18
18
|
ARROW="${CYAN}→${RESET}"
|
|
19
19
|
DOT="${DIM}·${RESET}"
|
|
20
20
|
EAGLE_RULE="======================================"
|
|
21
|
-
EAGLE_TAGLINE="
|
|
21
|
+
EAGLE_TAGLINE="shared memory | guardrails | lanes"
|
|
22
22
|
|
|
23
23
|
eagle_header() {
|
|
24
24
|
echo ""
|