mirror of
https://github.com/akitaonrails/ai-memory.git
synced 2026-10-02 03:24:46 +08:00
Pool joins as a first-class AgentKind for lifecycle-hook capture: - AgentKind::Pool (wire `pool`, alias `poolside`) in ai-memory-core, added to ALL, serde, and from_wire. SessionStart handoff injection stays off: Pool tolerates hook stdout, but model-visible context injection is not demonstrated, and accepting a handoff is destructive — it remains available via the MCP memory_handoff_accept tool. - V50 forward migration rebuilds the sessions CHECK constraint and the scope-pairing triggers with the `pool` value without losing rows, following the V47 (command-code) pattern. - Hook ingestion recognizes Pool's documented snake_case session_id / cwd / tool_name / tool_input payload for concrete session attribution and closed tool-family titles, and enforces [capture] ignore_paths for Pool's read/edit/write/remove file tools; unknown payload shapes degrade to metadata-only capture. - hooks/pool/ bundle: five events (SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop) as .sh scripts with .ps1 peers, covered by the bundle parity test. - install-hooks --agent pool and setup-agent --agent pool stage the scripts and print a ready-to-paste repo-root .poolside/settings.yaml hooks: snippet — Pool's hook config is project-scoped YAML, so ai-memory deliberately never writes project-local files. finalize-session --agent pool closes sessions: Pool has no true session-end event (Stop is a turn boundary), the same class as Codex and Antigravity CLI. - README support matrix and docs/install.md record the hooks-only tier. No first-party install-mcp client and no managed workstream (ai-memory run pool) are claimed: Pool's native session-store contract is not demonstrated, per docs/managed-harness-contributions.md. Verified against Poolside CLI v1.0.16 (macOS). Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: AkitaOnRails <fabioakita@gmail.com>