feat: package Recall as a native Codex plugin#245
Merged
Conversation
This was referenced Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.codex-pluginplus repository marketplace,.mcp.json, and nine generated Codex skill adaptersmemory_dumpwith explicit source/session/messages for portable capture without inventing a Codex transcript pathRECALL_HOME, and teach the lifecycle installer to preserve nested host adaptersClaude-coupling inventory and disposition
The pre-implementation inventory is recorded locally at
.agents/atlas/artifacts/2026-07-22-recall-host-coupling-inventory.md.It identified hidden coupling in MCP log paths, doctor/config repair, migration config shapes, transcript discovery/parsing, Claude project-path decoding, installed hook execution, direct model commands/auth, hook lifecycle payload mapping, and hook path encoding.
The resulting seams are:
src/hosts/for native paths, config owners, diagnostics, and transcript adapterssrc/providers/for Claude CLI and Fabric process/auth/model ownershiphooks/lib/hosts/plusExtractionProviderand host-neutral event contracts for lifecycle codeRECALL_HOMEfor Recall-owned logs, installed helpers, and cross-host drop storageRemaining Claude references outside those adapters are explicit legacy maintenance/help text or persisted legacy
claude-codesource defaults retained for compatibility.Codex package
The native bundle is
plugins/recall/, discovered by.agents/plugins/marketplace.json.Codex loads
recall-memoryfrom the plugin's.mcp.jsonand all ninerecall-*skills from its generatedskills/directory.recall-dumptranslates Claude's unsupporteddisable-model-invocationfrontmatter into Codex-nativeagents/openai.yamlpolicy withallow_implicit_invocation: false; byte identity is not treated as behavioral parity.MCP reach and lifecycle limit
MCP covers all nine operations:
memory_search,memory_hybrid_search,memory_recall,context_for_agent,memory_add,memory_stats,loa_show,memory_dump, anddecision_update.MCP does not provide session-stop, session-start, or pre-compaction lifecycle events.
This package therefore does not claim Codex lifecycle auto-capture, automatic L0/L1 injection, or pre-compaction flushes.
Codex
memory_dumpuses caller-supplied visible messages.Isolated validation
No test opened the production database for mutation.
The complete suite ran with a disposable worktree-local
RECALL_DB_PATHandRECALL_HOME:The native plugin e2e ran in a disposable
CODEX_HOMEagainst another temporary database:Additional verification:
bun run lintbun run buildbash -n install.sh update.sh uninstall.sh lib/install-lib.shbun run build:codex-pluginplus generated-output equality test: PASSUnresolved by design
These do not block MCP operations, but they block any lifecycle-parity claim.
Tracker check
Open and closed issues were searched before implementation.
No issue currently tracks this Codex-native packaging work; closed #48 and #228 provide adjacent adapter-registry and nine-skill history.