feat: add full-convo-memory plugin for jq-based transcript search#393
Open
feat: add full-convo-memory plugin for jq-based transcript search#393
Conversation
New Claude Code plugin with a `search_conversation` skill that runs jq against the current session's jsonl transcript. Auto-detects the log file for both top-level sessions and sub-agents via CLAUDE_CODE_SESSION_ID and CLAUDE_CODE_AGENT_ID, filters out compaction-summary messages, and passes all other arguments to jq verbatim. Registered in the deepwork-plugins marketplace alongside `deepwork` and `learning-agents`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The editable uv tool install is unnecessary now that plugin hooks invoke deepwork via uvx directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds PLUG-REQ-004 with 17 numbered requirement sections covering the plugin manifest, marketplace entry, directory layout, and each observable behavior of search_conversation.sh (log-file resolution for top-level and sub-agent contexts, compaction-summary filter, jq pass-through, exit-code propagation, zero-arg guard, jq-missing handling, and trailing pointer line). Adds tests/unit/plugins/test_full_convo_memory_plugin.py (29 tests) mapping each requirement clause to a pytest case, plus an anonymous DeepSchema at plugins/full-convo-memory/skills/search_conversation/.deepschema.SKILL.md.yml for the judgment-based SKILL.md content clauses. Review fixes: - Switch search_conversation.sh to `set -euo pipefail`, with `|| true` guards on the `find | xargs ls | head` fallback pipeline so a SIGPIPE from head doesn't abort the script. Explicitly `set +e` around the user's jq pipeline so the captured $? isn't masked by a later command. - Change `# ---` section markers to `# ====`, matching the project convention in the shell_code_review rule. - Guard against pipefail masking user jq success when the transcript contains malformed JSON lines. Traceability-comment convention update: - Move the two-line `THIS TEST VALIDATES` comment above the `def` line (matching the `.deepreview` rule's stated placement) in both the new test file and tests/unit/plugins/test_claude_plugin.py. No behavioral changes to tests/unit/plugins/test_claude_plugin.py. - Update the `test_file_quality` rule in `.deepreview` to explicitly allow three-level REQ IDs (e.g. `PLUG-REQ-004.1.2`) alongside two-level IDs, matching how sub-clauses are numbered in REQ specs. Update CHANGELOG Unreleased section and doc/architecture.md plugin tree. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
full-convo-memory(registered in thedeepwork-pluginsmarketplace) that ships a/search_conversationskill and ascripts/search_conversation.shhelper. The script runsjqagainst the current session's jsonl transcript, auto-detecting the log file for both top-level sessions (CLAUDE_CODE_SESSION_ID) and sub-agents (CLAUDE_CODE_SESSION_ID+CLAUDE_CODE_AGENT_ID), filtering out compaction-summary messages, and appending a pointer line naming the resolved log file for fallback semantic search via an Explore sub-agent.doc/specs/deepwork/cli_plugins/PLUG-REQ-004-full-convo-memory-plugin.mdwith 17 numbered sections, each verified by a mapped pytest intests/unit/plugins/test_full_convo_memory_plugin.py(29 tests, all green).plugins/full-convo-memory/skills/search_conversation/.deepschema.SKILL.md.yml.THIS TEST VALIDATEScomments above thedefline intest_claude_plugin.pyto match the.deepreviewrule's placement requirement, and relaxed thetest_file_qualityREQ-ID pattern in.deepreviewto allow three-level IDs (e.g.PLUG-REQ-004.1.2).Test plan
uv run pytest tests/unit/plugins/— 73 passed, 1 xfailed (pre-existing).CLAUDE_CODE_SESSION_ID).…/<session>/subagents/agent-<agent_id>.jsonl.--log-file <path>override.isCompactSummary: true— raw file has 1 match, script output drops it./review) run on the full diff twice — all rule categories pass after this commit.plugin.jsonandmarketplace.json.🤖 Generated with Claude Code