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 CHANGED
@@ -1,16 +1,29 @@
1
1
  ```
2
2
  ======================================
3
3
  Eagle Mem
4
- context that survives /compact
4
+ shared memory | guardrails | lanes
5
5
  ======================================
6
6
  ```
7
7
 
8
8
  # Eagle Mem
9
9
 
10
- **Context that survives `/compact`.**
10
+ **Shared memory, release guardrails, and worker lanes for Claude Code and Codex.**
11
11
 
12
- **v4.8.0 ships first-class cross-agent orchestration, compact Codex hook recall, enforced anti-regression checks, and configurable RTK token guardrails.**
13
- Claude Code and Codex can now share the same local Eagle Mem database, while every captured row records which agent created it.
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 Solution
34
+ ## The Product
22
35
 
23
- Eagle Mem is a recall and regression-control layer for Claude Code and Codex. Every session starts with context from previous sessions summaries, decisions, memories, tasks, project overviews, and relevant code — injected automatically via hooks. Both agents share the same SQLite database at `~/.eagle-mem/memory.db`, and captured rows are source-attributed as `Claude Code` or `Codex`.
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() { printf '%s\n' "$fm" | awk -F': *' -v k="$1" '$1==k{sub(/^[^:]+: */,""); gsub(/^"|"$/,""); print; exit}'; }
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=$(printf '%s\n' "$body" | sed '/^[[:space:]]*$/d' | head -1 | cut -c1-200)
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.0",
4
- "description": "Context that survives /compact for Claude Code and Codex SQLite + FTS5, no daemon, no bloat",
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}Context that survives /compact for Claude Code and Codex${RESET}"
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}Commands:${RESET}"
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 -e " ${CYAN}orchestrate${RESET} Durable worker-lane coordination"
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}feature${RESET} Track, verify, and unblock features"
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="context that survives /compact"
21
+ EAGLE_TAGLINE="shared memory | guardrails | lanes"
22
22
 
23
23
  eagle_header() {
24
24
  echo ""