eagle-mem 4.10.1 → 4.10.3
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 +130 -0
- package/README.md +20 -99
- package/architecture.html +40 -19
- package/hooks/pre-tool-use.sh +2 -6
- package/integrations/__pycache__/google_antigravity_hook.cpython-314.pyc +0 -0
- package/integrations/google_antigravity_hook.py +416 -0
- package/lib/codex-hooks.sh +17 -0
- package/lib/common.sh +8 -1
- package/lib/hooks-posttool.sh +10 -0
- package/lib/hooks.sh +17 -0
- package/package.json +5 -3
- package/scripts/grok-bootstrap.sh +26 -4
- package/scripts/install.sh +9 -1
- package/scripts/memories.sh +79 -1
- package/scripts/session.sh +2 -1
- package/scripts/uninstall.sh +7 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the **Eagle Mem** project are documented here.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## v4.10.2 Patch
|
|
8
|
+
|
|
9
|
+
This release expands the Eagle Mem adapter layer and addresses multi-agent planning synchronization and gap remediations across all four supported agents:
|
|
10
|
+
|
|
11
|
+
- **Google Antigravity SDK Hook**: Fully integrated programmatic, asynchronous Python async hooks (`google_antigravity_hook.py`) mapping turn lifecycles (`SessionStart` to `Stop`/`SessionEnd`) and context survival.
|
|
12
|
+
- **Automatic Brain Artifact Synchronization**: Extracted and mirrored `implementation_plan.md`, `task.md`, and `walkthrough.md` generated by Claude, Codex, and Antigravity directly to SQLite and FTS5 search indexes.
|
|
13
|
+
- **PreToolUse Codex Enhancement**: Removed early-exits to enable full advisory, command rewrite, and feature verification support on Codex shell paths.
|
|
14
|
+
- **Agent Settings Backups**: Added timestamped configurations backups (`settings.json.bak` and `config.toml.bak`) before any mutations by the installer/update process.
|
|
15
|
+
- **Unified 4-Agent Documentation**: Generalization of the architecture tutorial (`architecture.html`), product README (`README.md`), and developer instructions (`AGENTS.md`) to treat all four agents as first-class, natively supported surfaces.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## v4.10.1 Patch
|
|
20
|
+
|
|
21
|
+
This documentation patch clarifies npm download-count behavior and Eagle Mem privacy expectations:
|
|
22
|
+
|
|
23
|
+
- npm download counts are aggregate tarball-serving statistics.
|
|
24
|
+
- Package maintainers cannot identify who downloaded the package from npm's public stats.
|
|
25
|
+
- Eagle Mem remains local-first and does not include install telemetry or phone-home analytics.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## v4.10.0 Minor Release
|
|
30
|
+
|
|
31
|
+
This release makes Eagle Mem broader and safer across agent workflows:
|
|
32
|
+
|
|
33
|
+
- Grok is now a first-class skill/CLI target: install detects `~/.grok`, links Eagle Mem skills into `~/.grok/skills`, and adds `eagle-mem grok-bootstrap`.
|
|
34
|
+
- `eagle-mem compaction` reports Compaction Survival readiness from shared project state: enriched summaries, durable tasks, stale tasks, active lanes, and last durable update.
|
|
35
|
+
- `eagle-mem test` provides a built-in smoke harness for the memory layer.
|
|
36
|
+
- `eagle-mem tasks stale` and `[STALE - Nd]` warnings make long-running task drift visible.
|
|
37
|
+
- `eagle-mem health` now surfaces orchestration lanes, learned command rules, and curator timing.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## v4.9.7 Patch
|
|
42
|
+
|
|
43
|
+
This patch is a release-readiness and UX-hardening pass:
|
|
44
|
+
|
|
45
|
+
- `eagle-mem doctor` reports the install footprint, selected SQLite binary, FTS5 availability, hook registration, statusline wiring, install-manifest health, and runtime drift.
|
|
46
|
+
- Install/update show a clear preflight plan, refresh the manifest, and keep rollback backups aware of the manifest/version files.
|
|
47
|
+
- Uninstall supports `--dry-run`, backs up config files, removes Claude/Codex hook and instruction integrations, cleans up skill links, and preserves runtime data by default.
|
|
48
|
+
- Claude statusline/HUD rendering is centralized through `scripts/statusline-em.sh --hud`.
|
|
49
|
+
- Statusline project resolution now prefers the live session row and avoids `$HOME` ancestor leakage, so new projects show their own sessions/memories instead of stale counts from older workspaces.
|
|
50
|
+
- Default hook/search/memory output follows the visible-surface UX contract: branded, compact, freshness-aware, and free of raw IDs/paths unless `--raw`, `--debug`, or `--json` is requested.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## v4.9.6 Patch
|
|
55
|
+
|
|
56
|
+
`eagle-mem update` now queues project-key backfill in the background by default, so install/update can finish, write the installed version marker, and return control to the user. Use `EAGLE_MEM_UPDATE_BACKFILL=sync eagle-mem update` only when you intentionally want to wait for a full backfill.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## v4.9.5 Patch
|
|
61
|
+
|
|
62
|
+
Stop hooks now use a fast path: they save heuristic summaries immediately, extract explicit summary blocks when present, and queue LLM enrichment in the background so Codex/Claude lifecycle hooks do not time out. SQLite access now goes through a shared FTS5-capable binary resolver used by migrations, DB helpers, updater backups, install checks, and the statusline, avoiding Android SDK or other PATH shims that shadow working SQLite builds.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## v4.9.4 Patch
|
|
67
|
+
|
|
68
|
+
Project-key hardening for agents that move between folders: hooks now keep a per-session project identity instead of recalculating from every new cwd, and statuslines prefer the stored session project before falling back to folder paths. Install/update also repairs older embedded Eagle Mem statusline blocks so nested-repo projects stop showing `Memories: 0` when the session belongs to the parent workspace.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## v4.9.3 Patch
|
|
73
|
+
|
|
74
|
+
Follow-up hardening for the v4.9.2 project-key repair: Claude transcript workspace detection now reads complete early JSONL records instead of a fixed byte slice, so large SessionStart hook context cannot hide the first `cwd`. Metadata-only memory/plan/task repairs also avoid touching FTS-indexed columns, preventing SQLite FTS update triggers from firing during safe project/source rekeys.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## v4.9.2 Patch
|
|
79
|
+
|
|
80
|
+
Nested-repo Claude Code projects now use one stable project key. When a Claude workspace contains a git repo subdirectory, hooks prefer the Claude transcript workspace root while repo-local CLI commands can still use git-root keys where appropriate. Memory sync and backfill also repair unchanged memory rows whose content hash stayed the same but whose project key was stale. FTS5 update triggers now ignore metadata-only project rekeys, avoiding SQLite virtual-table errors during safe repairs.
|
|
81
|
+
|
|
82
|
+
Installer parity also improved: first-time install now auto-provisions RTK when Cargo is available, the Eagle Mem statusline shows version/session/memory/turn counts, `eagle-mem statusline` is available as a CLI command, and Codex instructions explicitly call out that Codex currently has hook recall plus the statusline command rather than Claude Code's persistent custom statusline UI.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## v4.9.1 Patch
|
|
87
|
+
|
|
88
|
+
`eagle-mem updates status` now refreshes the npm version live, and install/update seed the local latest-version cache with the installed version. This avoids confusing status output immediately after an update.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## v4.9.0 Patch
|
|
93
|
+
|
|
94
|
+
Eagle Mem now auto-updates by default for patch bug fixes. SessionStart performs a throttled background npm check, applies eligible patch releases with a lock and runtime/database backup, runs `eagle-mem update`, and records a one-time notice for the next session. Minor and major releases stay outside the default auto-apply range unless users opt in with `eagle-mem updates enable minor` or `eagle-mem updates enable major`.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## v4.8.6 Patch
|
|
99
|
+
|
|
100
|
+
`eagle-mem session save --summary "..."` now exists as a clean manual fallback for agents that need to persist an explicit session note. It writes through the same `sessions` and `summaries` tables used by Stop hooks, keeps Claude Code/Codex source attribution, and is immediately searchable through normal recall.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## v4.8.5 Patch
|
|
105
|
+
|
|
106
|
+
First-run configuration no longer exits silently when Ollama is not listening on `localhost:11434`; Eagle Mem falls through to the installed Codex/Claude CLI provider or API-key providers. SQLite/FTS5 failures are now surfaced before DB-backed commands run, including the exact `sqlite3` binary being used and PATH guidance for common macOS Android SDK shadowing. Worker worktree paths are also canonicalized back to the main project key so backfill cannot move feature guardrails into disposable orchestration worktrees.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## v4.8.4 Patch
|
|
111
|
+
|
|
112
|
+
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.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## v4.8.3 Patch
|
|
117
|
+
|
|
118
|
+
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.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## v4.8.2 Patch
|
|
123
|
+
|
|
124
|
+
Codex no longer gets instructed to print large user-visible `<eagle-summary>` XML blocks. The installer/update path rewrites existing `~/.codex/AGENTS.md` Eagle Mem instructions to the clean-output contract, context-pressure nudges use normal prose, and Codex-oriented skills/worker prompts avoid raw capture templates.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## v4.8.1 Patch
|
|
129
|
+
|
|
130
|
+
`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.
|
package/README.md
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
# Eagle Mem
|
|
9
9
|
|
|
10
|
-
**Shared memory, release guardrails, and worker lanes for Claude Code, Codex, and
|
|
10
|
+
**Shared memory, release guardrails, and worker lanes for Claude Code, Codex, Grok, and Google Antigravity.**
|
|
11
11
|
|
|
12
|
-
Eagle Mem turns AI coding sessions into compounding project knowledge. It gives Claude Code and
|
|
12
|
+
Eagle Mem turns AI coding sessions into compounding project knowledge. It gives Claude Code, Codex, and Google Antigravity hook-backed shared memory, gives Grok the same skills and CLI memory surface, 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.10.
|
|
14
|
+
**v4.10.2 and onward focuses on Grok, Google Antigravity support, and Compaction Survival:** Grok users get first-class skill linking and `eagle-mem grok-bootstrap`, while Antigravity users get native Python SDK hook integration via `google_antigravity_hook.py`. Claude Code, Codex, and Antigravity receive the deepest automatic lifecycle support through hooks; Grok currently uses the shared CLI and skill workflow.
|
|
15
15
|
|
|
16
16
|
**Website:** [Product](https://eagleisbatman.github.io/eagle-mem/) |
|
|
17
17
|
[Architecture](https://eagleisbatman.github.io/eagle-mem/architecture.html) |
|
|
@@ -22,12 +22,12 @@ Eagle Mem turns AI coding sessions into compounding project knowledge. It gives
|
|
|
22
22
|
- **Start warmer** - every new session can recall project overviews, decisions, gotchas, summaries, hot files, mirrored memories, plans, and tasks.
|
|
23
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
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
|
|
25
|
+
- **Coordinate agents** - Claude, Codex, Grok, and Antigravity can share one project memory while worker lanes record owner, model, effort, worktree, logs, validation, and handoff.
|
|
26
26
|
- **Stay local** - no daemon, no hosted memory service, no vector database. The core is hooks plus SQLite/FTS5.
|
|
27
27
|
|
|
28
28
|
## The Problem
|
|
29
29
|
|
|
30
|
-
Claude Code and
|
|
30
|
+
Claude Code, Codex, Grok, and Google Antigravity start every session with amnesia. They don't remember what you built yesterday, what decisions you made, what files matter, or what broke last time. Every `/compact` wipes context. Every new session is a cold start. You waste tokens re-explaining your project, re-reading files, and watching agents repeat mistakes you already corrected.
|
|
31
31
|
|
|
32
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.
|
|
33
33
|
|
|
@@ -41,9 +41,9 @@ Eagle Mem is a local runtime layer for AI coding agents. It adds three things th
|
|
|
41
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
42
|
| **Lanes** | "A big task can survive compaction and split across agents." | Persists orchestrations, worker lanes, worktrees, logs, validation commands, and handoffs. |
|
|
43
43
|
|
|
44
|
-
Claude Code and
|
|
44
|
+
Claude Code, Codex, and Google Antigravity share the same SQLite database at `~/.eagle-mem/memory.db`, and captured rows are source-attributed as `Claude Code`, `Codex`, or `Antigravity`. Grok uses the same database through skills and CLI commands.
|
|
45
45
|
|
|
46
|
-
**Zero per-instance overhead.** No daemon, no vector DB, no MCP server. Just bash
|
|
46
|
+
**Zero per-instance overhead.** No daemon, no vector DB, no MCP server. Just bash/python hooks, sqlite3 (WAL mode, FTS5 full-text search), and jq.
|
|
47
47
|
|
|
48
48
|
```
|
|
49
49
|
======================================
|
|
@@ -66,17 +66,17 @@ eagle-mem install
|
|
|
66
66
|
eagle-mem doctor
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
That's it. `doctor` should report a healthy install. Open Claude Code or Codex in
|
|
69
|
+
That's it. `doctor` should report a healthy install. Open Claude Code or Codex, or import the Antigravity hook in your agent config, and Eagle Mem activates automatically. For Grok, run `eagle-mem grok-bootstrap` after install to confirm the linked skills and CLI workflow.
|
|
70
70
|
|
|
71
|
-
For Claude Code and
|
|
71
|
+
For Claude Code, Codex, and Google Antigravity, everything is automatic. Eagle Mem scans your codebase, indexes source files, captures session summaries, mirrors memories and tasks (including planning-mode artifacts like `implementation_plan.md`, `task.md`, and `walkthrough.md`), learns which commands are noisy, and prunes stale data — all in the background via hooks.
|
|
72
72
|
|
|
73
|
-
For Codex, the installer enables `codex_hooks` in `~/.codex/config.toml`, registers hooks in `~/.codex/hooks.json`, symlinks Eagle Mem skills into `~/.codex/skills`, and patches `~/.codex/AGENTS.md`. For Claude Code, it integrates with `~/.claude/settings.json`, `CLAUDE.md`, and `~/.claude/skills`. Grok users get skill symlinks into `~/.grok/skills/` and can run `eagle-mem grok-bootstrap` for setup guidance and self-linking.
|
|
73
|
+
For Google Antigravity, the installer copies the native Python integration to `~/.eagle-mem/integrations/google_antigravity_hook.py`. For Codex, the installer enables `codex_hooks` in `~/.codex/config.toml`, registers hooks in `~/.codex/hooks.json`, symlinks Eagle Mem skills into `~/.codex/skills`, and patches `~/.codex/AGENTS.md`. For Claude Code, it integrates with `~/.claude/settings.json`, `CLAUDE.md`, and `~/.claude/skills`. Grok users get skill symlinks into `~/.grok/skills/` and can run `eagle-mem grok-bootstrap` for setup guidance and self-linking.
|
|
74
74
|
|
|
75
75
|
### Prerequisites
|
|
76
76
|
|
|
77
77
|
- `sqlite3` with FTS5 support (ships with macOS; Eagle Mem prefers known system/Homebrew SQLite binaries before PATH shims)
|
|
78
78
|
- `jq` (the installer offers to install if missing)
|
|
79
|
-
- [Claude Code](https://docs.anthropic.com/en/docs/claude-code), Codex, or a Grok environment (`~/.grok/`)
|
|
79
|
+
- [Claude Code](https://docs.anthropic.com/en/docs/claude-code), Codex, Google Antigravity SDK, or a Grok environment (`~/.grok/`)
|
|
80
80
|
|
|
81
81
|
## How It Works
|
|
82
82
|
|
|
@@ -110,7 +110,7 @@ Eagle Mem actively reduces token consumption:
|
|
|
110
110
|
|
|
111
111
|
### Compaction Survival
|
|
112
112
|
|
|
113
|
-
One of the core promises of Eagle Mem is protecting against `/compact` and session amnesia. Compaction Survival is project-level
|
|
113
|
+
One of the core promises of Eagle Mem is protecting against `/compact` and session amnesia. Compaction Survival is project-level: it reads shared Eagle Mem state such as durable tasks, enriched summaries, stale work, and orchestration lanes. Claude Code, Codex, and Google Antigravity get automatic hook-backed recovery through `SessionStart`, `Stop`/`post_turn`, and context-pressure nudges. Grok can inspect and use the same state through `eagle-mem compaction`, `eagle-mem tasks`, and the linked skills.
|
|
114
114
|
|
|
115
115
|
Run `eagle-mem compaction` anytime to check readiness.
|
|
116
116
|
|
|
@@ -134,7 +134,7 @@ Eagle Mem prevents Claude from repeating past mistakes:
|
|
|
134
134
|
- **Gotcha surfacing** — past surprises and gotchas are surfaced when editing related files
|
|
135
135
|
- **Stale memory detection** — warns when edits may contradict stored memories
|
|
136
136
|
- **Token guard** — when `rtk` is installed, raw shell output commands are rewritten or blocked with an RTK equivalent so large output is compacted before it enters agent context
|
|
137
|
-
- **Orchestration lanes** — long-running work can be split into durable worker lanes with owners, validation commands, worktree paths, status notes, and handoff output shared
|
|
137
|
+
- **Orchestration lanes** — long-running work can be split into durable worker lanes with owners, validation commands, worktree paths, status notes, and handoff output shared across Claude Code, Codex, Grok, and Google Antigravity
|
|
138
138
|
|
|
139
139
|
## Commands
|
|
140
140
|
|
|
@@ -175,7 +175,7 @@ eagle-mem uninstall --dry-run
|
|
|
175
175
|
|
|
176
176
|
Install and update print the files/configs they intend to touch before they change the runtime. The installed runtime writes `~/.eagle-mem/install-manifest.json` with file sizes, modes, and SHA-256 hashes, so `doctor` can tell whether hooks, scripts, libraries, and database helpers still match the package that installed them.
|
|
177
177
|
|
|
178
|
-
Uninstall removes Claude Code and
|
|
178
|
+
Uninstall removes Claude Code, Codex, Grok, and Google Antigravity hook registrations, Eagle Mem instruction blocks, custom Claude statusline integration, and skill links. It backs up user config files before editing them and keeps `~/.eagle-mem/memory.db` unless you explicitly confirm data deletion.
|
|
179
179
|
|
|
180
180
|
### Download Counts, Privacy, and Telemetry
|
|
181
181
|
|
|
@@ -199,88 +199,9 @@ curl https://api.npmjs.org/downloads/range/last-month/eagle-mem
|
|
|
199
199
|
|
|
200
200
|
Use these numbers as directional popularity signals only. They are useful for spotting broad distribution patterns, but they are not a reliable count of users, installs, projects, or companies.
|
|
201
201
|
|
|
202
|
-
###
|
|
202
|
+
### Changelog
|
|
203
203
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
- npm download counts are aggregate tarball-serving statistics.
|
|
207
|
-
- Package maintainers cannot identify who downloaded the package from npm's public stats.
|
|
208
|
-
- Eagle Mem remains local-first and does not include install telemetry or phone-home analytics.
|
|
209
|
-
|
|
210
|
-
### v4.10.0 Minor Release
|
|
211
|
-
|
|
212
|
-
This release makes Eagle Mem broader and safer across agent workflows:
|
|
213
|
-
|
|
214
|
-
- Grok is now a first-class skill/CLI target: install detects `~/.grok`, links Eagle Mem skills into `~/.grok/skills`, and adds `eagle-mem grok-bootstrap`.
|
|
215
|
-
- `eagle-mem compaction` reports Compaction Survival readiness from shared project state: enriched summaries, durable tasks, stale tasks, active lanes, and last durable update.
|
|
216
|
-
- `eagle-mem test` provides a built-in smoke harness for the memory layer.
|
|
217
|
-
- `eagle-mem tasks stale` and `[STALE - Nd]` warnings make long-running task drift visible.
|
|
218
|
-
- `eagle-mem health` now surfaces orchestration lanes, learned command rules, and curator timing.
|
|
219
|
-
|
|
220
|
-
### v4.9.7 Patch
|
|
221
|
-
|
|
222
|
-
This patch is a release-readiness and UX-hardening pass:
|
|
223
|
-
|
|
224
|
-
- `eagle-mem doctor` reports the install footprint, selected SQLite binary, FTS5 availability, hook registration, statusline wiring, install-manifest health, and runtime drift.
|
|
225
|
-
- Install/update show a clear preflight plan, refresh the manifest, and keep rollback backups aware of the manifest/version files.
|
|
226
|
-
- Uninstall supports `--dry-run`, backs up config files, removes Claude/Codex hook and instruction integrations, cleans up skill links, and preserves runtime data by default.
|
|
227
|
-
- Claude statusline/HUD rendering is centralized through `scripts/statusline-em.sh --hud`.
|
|
228
|
-
- Statusline project resolution now prefers the live session row and avoids `$HOME` ancestor leakage, so new projects show their own sessions/memories instead of stale counts from older workspaces.
|
|
229
|
-
- Default hook/search/memory output follows the visible-surface UX contract: branded, compact, freshness-aware, and free of raw IDs/paths unless `--raw`, `--debug`, or `--json` is requested.
|
|
230
|
-
|
|
231
|
-
### v4.9.6 Patch
|
|
232
|
-
|
|
233
|
-
`eagle-mem update` now queues project-key backfill in the background by default, so install/update can finish, write the installed version marker, and return control to the user. Use `EAGLE_MEM_UPDATE_BACKFILL=sync eagle-mem update` only when you intentionally want to wait for a full backfill.
|
|
234
|
-
|
|
235
|
-
### v4.9.5 Patch
|
|
236
|
-
|
|
237
|
-
Stop hooks now use a fast path: they save heuristic summaries immediately, extract explicit summary blocks when present, and queue LLM enrichment in the background so Codex/Claude lifecycle hooks do not time out. SQLite access now goes through a shared FTS5-capable binary resolver used by migrations, DB helpers, updater backups, install checks, and the statusline, avoiding Android SDK or other PATH shims that shadow working SQLite builds.
|
|
238
|
-
|
|
239
|
-
### v4.9.4 Patch
|
|
240
|
-
|
|
241
|
-
Project-key hardening for agents that move between folders: hooks now keep a per-session project identity instead of recalculating from every new cwd, and statuslines prefer the stored session project before falling back to folder paths. Install/update also repairs older embedded Eagle Mem statusline blocks so nested-repo projects stop showing `Memories: 0` when the session belongs to the parent workspace.
|
|
242
|
-
|
|
243
|
-
### v4.9.3 Patch
|
|
244
|
-
|
|
245
|
-
Follow-up hardening for the v4.9.2 project-key repair: Claude transcript workspace detection now reads complete early JSONL records instead of a fixed byte slice, so large SessionStart hook context cannot hide the first `cwd`. Metadata-only memory/plan/task repairs also avoid touching FTS-indexed columns, preventing SQLite FTS update triggers from firing during safe project/source rekeys.
|
|
246
|
-
|
|
247
|
-
### v4.9.2 Patch
|
|
248
|
-
|
|
249
|
-
Nested-repo Claude Code projects now use one stable project key. When a Claude workspace contains a git repo subdirectory, hooks prefer the Claude transcript workspace root while repo-local CLI commands can still use git-root keys where appropriate. Memory sync and backfill also repair unchanged memory rows whose content hash stayed the same but whose project key was stale. FTS5 update triggers now ignore metadata-only project rekeys, avoiding SQLite virtual-table errors during safe repairs.
|
|
250
|
-
|
|
251
|
-
Installer parity also improved: first-time install now auto-provisions RTK when Cargo is available, the Eagle Mem statusline shows version/session/memory/turn counts, `eagle-mem statusline` is available as a CLI command, and Codex instructions explicitly call out that Codex currently has hook recall plus the statusline command rather than Claude Code's persistent custom statusline UI.
|
|
252
|
-
|
|
253
|
-
### v4.9.1 Patch
|
|
254
|
-
|
|
255
|
-
`eagle-mem updates status` now refreshes the npm version live, and install/update seed the local latest-version cache with the installed version. This avoids confusing status output immediately after an update.
|
|
256
|
-
|
|
257
|
-
### v4.9.0 Patch
|
|
258
|
-
|
|
259
|
-
Eagle Mem now auto-updates by default for patch bug fixes. SessionStart performs a throttled background npm check, applies eligible patch releases with a lock and runtime/database backup, runs `eagle-mem update`, and records a one-time notice for the next session. Minor and major releases stay outside the default auto-apply range unless users opt in with `eagle-mem updates enable minor` or `eagle-mem updates enable major`.
|
|
260
|
-
|
|
261
|
-
### v4.8.6 Patch
|
|
262
|
-
|
|
263
|
-
`eagle-mem session save --summary "..."` now exists as a clean manual fallback for agents that need to persist an explicit session note. It writes through the same `sessions` and `summaries` tables used by Stop hooks, keeps Claude Code/Codex source attribution, and is immediately searchable through normal recall.
|
|
264
|
-
|
|
265
|
-
### v4.8.5 Patch
|
|
266
|
-
|
|
267
|
-
First-run configuration no longer exits silently when Ollama is not listening on `localhost:11434`; Eagle Mem falls through to the installed Codex/Claude CLI provider or API-key providers. SQLite/FTS5 failures are now surfaced before DB-backed commands run, including the exact `sqlite3` binary being used and PATH guidance for common macOS Android SDK shadowing. Worker worktree paths are also canonicalized back to the main project key so backfill cannot move feature guardrails into disposable orchestration worktrees.
|
|
268
|
-
|
|
269
|
-
### v4.8.4 Patch
|
|
270
|
-
|
|
271
|
-
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.
|
|
272
|
-
|
|
273
|
-
### v4.8.3 Patch
|
|
274
|
-
|
|
275
|
-
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.
|
|
276
|
-
|
|
277
|
-
### v4.8.2 Patch
|
|
278
|
-
|
|
279
|
-
Codex no longer gets instructed to print large user-visible `<eagle-summary>` XML blocks. The installer/update path rewrites existing `~/.codex/AGENTS.md` Eagle Mem instructions to the clean-output contract, context-pressure nudges use normal prose, and Codex-oriented skills/worker prompts avoid raw capture templates.
|
|
280
|
-
|
|
281
|
-
### v4.8.1 Patch
|
|
282
|
-
|
|
283
|
-
`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.
|
|
204
|
+
All notable releases and patch updates are documented in the separate [CHANGELOG.md](CHANGELOG.md) file.
|
|
284
205
|
|
|
285
206
|
### Search Modes
|
|
286
207
|
|
|
@@ -339,12 +260,12 @@ Each lane is stored in `orchestration_lanes` and mirrored into `agent_tasks`, so
|
|
|
339
260
|
|
|
340
261
|
Both agents write to `~/.eagle-mem/memory.db`:
|
|
341
262
|
|
|
342
|
-
- `sessions.agent` records whether a session came from Claude Code or
|
|
263
|
+
- `sessions.agent` records whether a session came from Claude Code, Codex, or Antigravity
|
|
343
264
|
- `summaries.agent` records which agent produced the session summary
|
|
344
265
|
- mirrored memories, plans, and tasks include `origin_agent`
|
|
345
|
-
- SessionStart recall labels sources as `Claude Code` or `
|
|
266
|
+
- SessionStart recall labels sources as `Claude Code`, `Codex`, or `Antigravity`
|
|
346
267
|
|
|
347
|
-
That means opening the same project in Claude Code and
|
|
268
|
+
That means opening the same project in Claude Code, Codex, and Google Antigravity does not create isolated memory worlds. They recall the same project history while preserving the source of each memory. Grok can search, inspect, and update that same project memory through the linked skills and CLI commands.
|
|
348
269
|
|
|
349
270
|
## Skills (Inside Claude Code, Codex, and Grok)
|
|
350
271
|
|
|
@@ -354,7 +275,7 @@ That means opening the same project in Claude Code and Codex does not create two
|
|
|
354
275
|
| `/eagle-mem-overview` | Build a rich project briefing from README, entry points, and git history |
|
|
355
276
|
| `/eagle-mem-memories` | View and search mirrored agent memories and plans |
|
|
356
277
|
| `/eagle-mem-tasks` | TaskAware Compact Loop — break complex work into tasks that survive `/compact` |
|
|
357
|
-
| `/eagle-mem-orchestrate` | Orchestrator/worker lane handoffs across Claude Code
|
|
278
|
+
| `/eagle-mem-orchestrate` | Orchestrator/worker lane handoffs across Claude Code, Codex, Grok, and Google Antigravity |
|
|
358
279
|
|
|
359
280
|
## Data
|
|
360
281
|
|
package/architecture.html
CHANGED
|
@@ -683,7 +683,7 @@
|
|
|
683
683
|
<div class="brand">
|
|
684
684
|
<span class="brand-label">Eagle Mem</span>
|
|
685
685
|
<h1>Agent Architecture Tutorial</h1>
|
|
686
|
-
<p>Technical architecture plus UX architecture for Claude Code, Codex, Grok, and future coding agents.</p>
|
|
686
|
+
<p>Technical architecture plus UX architecture for Claude Code, Codex, Grok, Google Antigravity, and future coding agents.</p>
|
|
687
687
|
</div>
|
|
688
688
|
|
|
689
689
|
<p class="nav-title">Start Here</p>
|
|
@@ -719,7 +719,7 @@
|
|
|
719
719
|
<main id="main">
|
|
720
720
|
<section class="hero" id="purpose">
|
|
721
721
|
<div class="hero-inner">
|
|
722
|
-
<p class="eyebrow">Architecture guide - technical + UX - updated 2026-05-
|
|
722
|
+
<p class="eyebrow">Architecture guide - technical + UX - updated 2026-05-26</p>
|
|
723
723
|
<h2>Eagle Mem is a local memory and safety layer that makes AI coding agents start warmer, ship safer, and coordinate better.</h2>
|
|
724
724
|
<p class="hero-summary">
|
|
725
725
|
This tutorial explains the project from first principles. You do not need to know the codebase first. Read it like a guided tour: what problem Eagle Mem solves, how hooks move data through the system, how SQLite stores shared memory, and why the user experience is intentionally quiet until the agent needs help.
|
|
@@ -728,11 +728,11 @@
|
|
|
728
728
|
<div class="hero-meta">
|
|
729
729
|
<div class="meta-box">
|
|
730
730
|
<strong>Runtime</strong>
|
|
731
|
-
<span>Bash hooks,
|
|
731
|
+
<span>Bash hooks, Python integrations, SQLite/FTS5, jq, optional RTK.</span>
|
|
732
732
|
</div>
|
|
733
733
|
<div class="meta-box">
|
|
734
734
|
<strong>Agents</strong>
|
|
735
|
-
<span>Claude Code and
|
|
735
|
+
<span>Claude Code, Codex, and Google Antigravity with hooks; Grok via skills.</span>
|
|
736
736
|
</div>
|
|
737
737
|
<div class="meta-box">
|
|
738
738
|
<strong>Core Promise</strong>
|
|
@@ -793,7 +793,7 @@
|
|
|
793
793
|
|
|
794
794
|
<div class="callout">
|
|
795
795
|
<h3>Compaction Survival is shared state</h3>
|
|
796
|
-
<p><code>eagle-mem compaction</code>
|
|
796
|
+
<p><code>eagle-mem compaction</code> reads project-level state from SQLite: enriched summaries, durable tasks, stale tasks, active orchestration lanes, and recent durable updates. Claude Code, Codex, and Google Antigravity have hook-backed automatic recovery around compact and clear events. Grok can use the same state through linked skills and CLI commands.</p>
|
|
797
797
|
</div>
|
|
798
798
|
|
|
799
799
|
<h3>Vocabulary</h3>
|
|
@@ -862,7 +862,7 @@
|
|
|
862
862
|
<text x="40" y="42" class="label">User Layer</text>
|
|
863
863
|
<rect x="40" y="58" width="220" height="72" class="box-cyan"></rect>
|
|
864
864
|
<text x="62" y="90">Developer</text>
|
|
865
|
-
<text x="62" y="112" class="small">Works in Claude
|
|
865
|
+
<text x="62" y="112" class="small">Works in Claude, Codex, Grok, or Antigravity</text>
|
|
866
866
|
|
|
867
867
|
<text x="40" y="178" class="label">Agent Layer</text>
|
|
868
868
|
<rect x="40" y="194" width="220" height="78" class="box"></rect>
|
|
@@ -871,6 +871,12 @@
|
|
|
871
871
|
<rect x="300" y="194" width="220" height="78" class="box"></rect>
|
|
872
872
|
<text x="322" y="225">Codex</text>
|
|
873
873
|
<text x="322" y="247" class="small">config.toml, hooks.json, AGENTS.md</text>
|
|
874
|
+
<rect x="560" y="194" width="220" height="78" class="box"></rect>
|
|
875
|
+
<text x="582" y="225">Grok</text>
|
|
876
|
+
<text x="582" y="247" class="small">skills link, grok-bootstrap</text>
|
|
877
|
+
<rect x="820" y="194" width="220" height="78" class="box"></rect>
|
|
878
|
+
<text x="842" y="225">Antigravity (AGY)</text>
|
|
879
|
+
<text x="842" y="247" class="small">google_antigravity_hook.py</text>
|
|
874
880
|
|
|
875
881
|
<text x="40" y="320" class="label">Hook Runtime</text>
|
|
876
882
|
<rect x="40" y="336" width="160" height="68" class="box-soft"></rect>
|
|
@@ -902,8 +908,12 @@
|
|
|
902
908
|
|
|
903
909
|
<path d="M150,130 L150,190" class="arrow"></path>
|
|
904
910
|
<path d="M260,232 L300,232" class="arrow"></path>
|
|
911
|
+
<path d="M520,232 L560,232" class="arrow"></path>
|
|
912
|
+
<path d="M780,232 L820,232" class="arrow"></path>
|
|
905
913
|
<path d="M150,272 L150,330" class="arrow"></path>
|
|
906
914
|
<path d="M410,272 L410,330" class="arrow"></path>
|
|
915
|
+
<path d="M670,272 L670,330" class="arrow"></path>
|
|
916
|
+
<path d="M870,272 L870,330" class="arrow"></path>
|
|
907
917
|
<path d="M840,404 L735,462" class="arrow"></path>
|
|
908
918
|
<path d="M660,404 L452,462" class="arrow"></path>
|
|
909
919
|
<path d="M300,404 L182,462" class="arrow"></path>
|
|
@@ -964,7 +974,7 @@
|
|
|
964
974
|
<div class="step-num">5</div>
|
|
965
975
|
<div>
|
|
966
976
|
<h3>Agent hooks are registered</h3>
|
|
967
|
-
<p>Claude Code hooks are patched into <code>~/.claude/settings.json</code>. Codex hooks are registered in <code>~/.codex/hooks.json</code
|
|
977
|
+
<p>Claude Code hooks are patched into <code>~/.claude/settings.json</code>. Codex hooks are registered in <code>~/.codex/hooks.json</code>. Google Antigravity SDK hooks are registered programmatically in <code>google_antigravity_hook.py</code> using native Python async hooks. Grok has skills and CLI access.</p>
|
|
968
978
|
</div>
|
|
969
979
|
</article>
|
|
970
980
|
|
|
@@ -972,7 +982,7 @@
|
|
|
972
982
|
<div class="step-num">6</div>
|
|
973
983
|
<div>
|
|
974
984
|
<h3>Skills and instructions are linked</h3>
|
|
975
|
-
<p>Eagle Mem skills are symlinked into each agent's skill directory. Claude receives <code>CLAUDE.md</code>
|
|
985
|
+
<p>Eagle Mem skills are symlinked into each agent's skill directory. Claude receives <code>CLAUDE.md</code> instructions. Codex receives <code>AGENTS.md</code> instructions. Google Antigravity SDK maps and mirrors standard brain planning artifacts (plans, tasks, walkthroughs). Grok receives skills under <code>~/.grok/skills</code>.</p>
|
|
976
986
|
</div>
|
|
977
987
|
</article>
|
|
978
988
|
</div>
|
|
@@ -1015,7 +1025,7 @@
|
|
|
1015
1025
|
<tr>
|
|
1016
1026
|
<td><code>~/.eagle-mem/memory.db</code></td>
|
|
1017
1027
|
<td>Single source of local memory</td>
|
|
1018
|
-
<td>Stores shared state across Claude Code, Codex, Grok skills, compactions, and sessions.</td>
|
|
1028
|
+
<td>Stores shared state across Claude Code, Codex, Grok skills, Google Antigravity hooks, compactions, and sessions.</td>
|
|
1019
1029
|
</tr>
|
|
1020
1030
|
</tbody>
|
|
1021
1031
|
</table>
|
|
@@ -1087,7 +1097,7 @@
|
|
|
1087
1097
|
<p class="section-number">06 / Technical Architecture</p>
|
|
1088
1098
|
<h2>The Agent Adapter Layer</h2>
|
|
1089
1099
|
<p class="lead">
|
|
1090
|
-
The project is agent-generic below the adapter layer. Claude Code
|
|
1100
|
+
The project is agent-generic below the adapter layer. Claude Code, Codex, and Google Antigravity have direct lifecycle hook adapters, while Grok participates through skills and CLI commands. Eagle Mem normalizes each supported surface into the same project memory model.
|
|
1091
1101
|
</p>
|
|
1092
1102
|
|
|
1093
1103
|
<div class="grid-2">
|
|
@@ -1125,6 +1135,17 @@
|
|
|
1125
1135
|
<span class="tag">tasks</span>
|
|
1126
1136
|
</div>
|
|
1127
1137
|
</article>
|
|
1138
|
+
|
|
1139
|
+
<article class="adapter-rule">
|
|
1140
|
+
<h3>Google Antigravity SDK adapter</h3>
|
|
1141
|
+
<p>Integrated programmatically via <code>integrations/google_antigravity_hook.py</code>. Connects Antigravity's async Python hook triggers directly to Eagle Mem's lifecycle events, enabling direct database writes and background curation/sync.</p>
|
|
1142
|
+
<div class="tag-row">
|
|
1143
|
+
<span class="tag">on_session_start</span>
|
|
1144
|
+
<span class="tag">pre_tool_call_decide</span>
|
|
1145
|
+
<span class="tag">post_tool_call</span>
|
|
1146
|
+
<span class="tag">on_compaction</span>
|
|
1147
|
+
</div>
|
|
1148
|
+
</article>
|
|
1128
1149
|
</div>
|
|
1129
1150
|
|
|
1130
1151
|
<h3>Normalization rules</h3>
|
|
@@ -1275,7 +1296,7 @@
|
|
|
1275
1296
|
</tr>
|
|
1276
1297
|
<tr>
|
|
1277
1298
|
<td><code>agent_memories</code>, <code>agent_plans</code>, <code>agent_tasks</code></td>
|
|
1278
|
-
<td>What durable agent artifacts should be shared across Claude Code and
|
|
1299
|
+
<td>What durable agent artifacts should be shared across Claude Code, Codex, Grok, and Antigravity?</td>
|
|
1279
1300
|
<td>PostToolUse, SessionEnd, skills, search CLI</td>
|
|
1280
1301
|
</tr>
|
|
1281
1302
|
<tr>
|
|
@@ -1464,7 +1485,7 @@
|
|
|
1464
1485
|
|
|
1465
1486
|
<h3>Default routing</h3>
|
|
1466
1487
|
<p>
|
|
1467
|
-
Eagle Mem can route broad work to
|
|
1488
|
+
Eagle Mem can route broad work to different agents by default. For example, a Codex or Antigravity coordinator can spawn Claude Code or Grok workers; any agent can coordinate or execute worker lanes. The goal is not to make agents compete, but to let each lane have one owner and one validation path.
|
|
1468
1489
|
</p>
|
|
1469
1490
|
|
|
1470
1491
|
<pre><code># Agent-run protocol, not usually a user task
|
|
@@ -1476,7 +1497,7 @@ eagle-mem orchestrate handoff --write docs/handoff-context.md</code></pre>
|
|
|
1476
1497
|
|
|
1477
1498
|
<h3>Why lanes matter for all agents</h3>
|
|
1478
1499
|
<p>
|
|
1479
|
-
Context windows end. Tools fail. A user may switch from Claude Code to Codex. A worker may finish while the coordinator is compacted. Lanes make this survivable because the state is outside any one transcript.
|
|
1500
|
+
Context windows end. Tools fail. A user may switch from Claude Code to Codex, Grok, or Antigravity. A worker may finish while the coordinator is compacted. Lanes make this survivable because the state is outside any one transcript.
|
|
1480
1501
|
</p>
|
|
1481
1502
|
</div>
|
|
1482
1503
|
</section>
|
|
@@ -1492,7 +1513,7 @@ eagle-mem orchestrate handoff --write docs/handoff-context.md</code></pre>
|
|
|
1492
1513
|
<div class="grid-2">
|
|
1493
1514
|
<article class="principle">
|
|
1494
1515
|
<h3>1. Stay in the agent's flow</h3>
|
|
1495
|
-
<p>Users already live in Claude Code or
|
|
1516
|
+
<p>Users already live in Claude Code, Codex, Grok, or Antigravity. Eagle Mem should not require them to open a dashboard before every task. Hooks/skills inject context where the agent already is.</p>
|
|
1496
1517
|
</article>
|
|
1497
1518
|
<article class="principle">
|
|
1498
1519
|
<h3>2. Show up only when useful</h3>
|
|
@@ -1512,7 +1533,7 @@ eagle-mem orchestrate handoff --write docs/handoff-context.md</code></pre>
|
|
|
1512
1533
|
</article>
|
|
1513
1534
|
<article class="principle">
|
|
1514
1535
|
<h3>6. Respect each agent's display model</h3>
|
|
1515
|
-
<p>Claude can handle richer hook context. Codex should keep user-facing replies clean and let Stop capture summaries from normal prose.</p>
|
|
1536
|
+
<p>Claude and Antigravity can handle richer hook context. Codex and Grok should keep user-facing replies clean and let Turn Stop/Stop capture summaries from normal prose.</p>
|
|
1516
1537
|
</article>
|
|
1517
1538
|
</div>
|
|
1518
1539
|
</div>
|
|
@@ -1583,7 +1604,7 @@ eagle-mem orchestrate handoff --write docs/handoff-context.md</code></pre>
|
|
|
1583
1604
|
<p class="section-number">13 / Tutorial</p>
|
|
1584
1605
|
<h2>Walkthrough: From Empty Memory To Safer Release</h2>
|
|
1585
1606
|
<p class="lead">
|
|
1586
|
-
This walkthrough explains how the system feels to a beginner. The same flow works whether the active agent is Claude Code or
|
|
1607
|
+
This walkthrough explains how the system feels to a beginner. The same flow works whether the active agent is Claude Code, Codex, Grok, or Antigravity.
|
|
1587
1608
|
</p>
|
|
1588
1609
|
|
|
1589
1610
|
<div class="step-list">
|
|
@@ -1641,7 +1662,7 @@ eagle-mem install</code></pre>
|
|
|
1641
1662
|
<div class="step-num">7</div>
|
|
1642
1663
|
<div>
|
|
1643
1664
|
<h3>The turn ends with durable memory</h3>
|
|
1644
|
-
<p>Stop saves what happened so the next session can recall it. Codex can keep the final reply clean; Claude can use richer summary fields when appropriate. Either way, the durable memory lands in SQLite.</p>
|
|
1665
|
+
<p>Stop saves what happened so the next session can recall it. Codex and Grok can keep the final reply clean; Claude and Antigravity can use richer summary fields/artifacts when appropriate. Either way, the durable memory lands in SQLite.</p>
|
|
1645
1666
|
</div>
|
|
1646
1667
|
</article>
|
|
1647
1668
|
</div>
|
|
@@ -1661,7 +1682,7 @@ eagle-mem install</code></pre>
|
|
|
1661
1682
|
<p class="section-number">14 / All-Agent Applicability</p>
|
|
1662
1683
|
<h2>How To Add Another Agent</h2>
|
|
1663
1684
|
<p class="lead">
|
|
1664
|
-
The project supports Claude Code and
|
|
1685
|
+
The project natively supports Claude Code, Codex, and Google Antigravity with lifecycle hooks, and Grok with skills plus CLI workflows. The architecture should scale to any coding agent that can run local hooks, wrapper scripts, or a skill-like command surface. The integration work should live at the edge, not inside the database model.
|
|
1665
1686
|
</p>
|
|
1666
1687
|
|
|
1667
1688
|
<h3>Minimum viable adapter</h3>
|
|
@@ -1705,7 +1726,7 @@ eagle-mem install</code></pre>
|
|
|
1705
1726
|
<h3>Adapter checklist</h3>
|
|
1706
1727
|
<ol>
|
|
1707
1728
|
<li>Register the agent's lifecycle events to call the installed scripts in <code>~/.eagle-mem/hooks/</code>.</li>
|
|
1708
|
-
<li>Set <code>EAGLE_AGENT_SOURCE</code> to a stable value, such as <code>codex</code>, <code>claude-code</code>, or a future agent key.</li>
|
|
1729
|
+
<li>Set <code>EAGLE_AGENT_SOURCE</code> to a stable value, such as <code>codex</code>, <code>claude-code</code>, <code>grok</code>, <code>antigravity</code>, or a future agent key.</li>
|
|
1709
1730
|
<li>Map the agent's shell and file tools into Eagle Mem's known categories.</li>
|
|
1710
1731
|
<li>Pass enough JSON to identify <code>session_id</code>, <code>cwd</code>, tool name, tool input, and optional transcript path.</li>
|
|
1711
1732
|
<li>Teach output formatting for the agent: compact JSON, plain additional context, or deny decisions.</li>
|
package/hooks/pre-tool-use.sh
CHANGED
|
@@ -318,12 +318,8 @@ esac
|
|
|
318
318
|
|
|
319
319
|
[ -z "$context" ] && [ -z "$updated_input" ] && exit 0
|
|
320
320
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
# additionalContext or updatedInput. Deny paths above already returned JSON;
|
|
324
|
-
# non-blocking reminders are delivered through SessionStart/UserPromptSubmit.
|
|
325
|
-
exit 0
|
|
326
|
-
fi
|
|
321
|
+
# Codex PreToolUse now natively receives both blocking decisions and advisory context.
|
|
322
|
+
# Removing the old early-exit to align Codex's pre-tool capabilities with Claude and Antigravity.
|
|
327
323
|
|
|
328
324
|
if [ -n "$updated_input" ]; then
|
|
329
325
|
jq -nc --arg ctx "$context" --argjson ui "$updated_input" \
|
|
Binary file
|