Skip to content

feat: add full-convo-memory plugin for jq-based transcript search#393

Draft
nhorton wants to merge 3 commits into
mainfrom
add-full-convo-memory-plugin
Draft

feat: add full-convo-memory plugin for jq-based transcript search#393
nhorton wants to merge 3 commits into
mainfrom
add-full-convo-memory-plugin

Conversation

@nhorton
Copy link
Copy Markdown
Contributor

@nhorton nhorton commented Apr 21, 2026

Warning

This PR is a work in progress. It is not yet ready for review. Contents may change significantly.

Summary

  • Adds plugins/full-convo-memory/ — a Claude Code plugin that exposes a /search_conversation skill backed by a shell script using jq to search conversation transcripts
  • Includes PLUG-REQ-004 spec with 17 requirement sections
  • 29 pytest test cases mapping each requirement clause
  • DeepSchema for judgment-based SKILL.md content validation
  • Removes uv tool install from flake shellHook

Test plan

  • All existing tests pass (uv run pytest)
  • New tests in test_full_convo_memory_plugin.py pass
  • Shell script works end-to-end in Claude Code with the plugin installed
  • DeepSchema validation passes

🤖 Generated with Claude Code

nhorton and others added 3 commits April 17, 2026 14:38
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>
@nhorton nhorton marked this pull request as draft May 13, 2026 02:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant