Skip to content

chore(release): 0.1.11 with final Stop capture fix - #137

Merged
Dhravya merged 5 commits into
mainfrom
capy/capture-the-final-stop
Oct 9, 2026
Merged

Dhravya merged 5 commits into
mainfrom
capy/capture-the-final-stop

Conversation

@Dhravya

@Dhravya Dhravya commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Addresses #136. The corrected report describes five silent Stops and intermittent transcript lag (9 of 10 Stops), not an unconditional one-turn delay. Claude Code documents that transcript_path can lag at Stop and provides last_assistant_message for the final response. Capture previously ignored that field, so a tool-only tail with no tracker could format below the minimum length and save nothing.

  • Feed the Stop reply into automatic and signal formatting when the transcript has not yet flushed it. Tool inclusion, signal keyword gating and existing assistant retention (Signal capture should persist only user-authored content #135), the minimum content threshold, and the latest-turn-only/no-history-backfill policy remain unchanged.
  • Persist the UUID cursor and pending reply hashes together in a private atomic JSON record after successful API acknowledgement. Read legacy .txt cursors when JSON is absent/corrupt and retain the text file as a compatible atomic best-effort mirror. A failed mirror write leaves the old UUID recoverable without causing this version to resend acknowledged content. Sequential repeated Stops and later-flushed copies are suppressed, while an empty-transcript anchor matches the first flushed occurrence rather than an identical later-turn reply.
  • Record no_content in capture.json for skipped deltas, preserving the count without claiming a save or advancing tracking. The capture-only 25s timeout is unchanged; no statusLine is installed or changed.

Validation: all 26 unchanged repository tests and 12 scratch regression probes pass with machine Git URL rewrites disabled (GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null). Probes cover absent/empty/present Stop replies; first tool-only tails; repeated Stops; late-flushed copies; identical replies in distinct user turns, including an initially empty transcript; injected partial writes and rename failures for text-cursor mirroring, plus failed authoritative JSON commits; failures/retries; legacy trackers; signal filtering; and a reply flushed during upload. The primary regression fails on unchanged main with zero upload requests. Repository lint, explicit lint of the three changed production files with an unrestricted scratch config, syntax checks, and git diff --check pass. No test-file changes are included in the final PR diff.

Limitations: no recovery/backfill of previously lost history; no API idempotency fix for #130; no coordination of simultaneous async Stops (duplicate uploads also reproduce on main). Missing cursor UUIDs after transcript truncation/compaction remain a recovery limitation, including identical replies with unresolved pending anchors. Downgrading after a failed text-mirror write can resume from the older text cursor. Validation uses local HTTP stubs, not live Claude Code/macOS or hosted API credentials.

Release version and installed-user update

This PR now includes 0.1.11, consistently in package.json, both root version fields in package-lock.json, plugin/.claude-plugin/plugin.json, and latest.json. Main is currently 0.1.9; pending release-only #133 reserves 0.1.10, so this uses the next unreserved patch. The marketplace keeps its existing ./plugin source with no duplicate version override; Claude resolves the plugin manifest version. All capture implementation and test files are byte-for-byte unchanged from d5ef01c by this metadata commit.

#137 supersedes release-only #133. Do not merge #133 after #137. Merging #133 first also conflicts with this PR in all four version metadata files, so prefer handling #133 as superseded rather than adding an extra release merge. Neither PR has been merged or closed by this change.

The metadata commit and PR title carry chore(release):, the existing release workflow marker. Keep that marker in the final squash commit message if overriding it. The unchanged workflow skips a push whose head message starts with that marker, or whose new commit range contains it. Local simulations of merge, default squash, and rebase/fast-forward all skip an immediate second bump; the next ordinary main push is not suppressed and its existing bump step produces 0.1.12 in all five authoritative fields. These are local workflow simulations, not a live release run.

Release validation: 26 unchanged repository tests, repository lint and Biome CI, exact version/monotonicity checks, and git diff --check pass. Official Claude Code 2.1.295 validates both marketplace and plugin. In an isolated credential-free local marketplace, installing main 0.1.9 then refreshing the marketplace and updating the plugin upgrades it to a distinct 0.1.11 cache; all 28 cached plugin files match this PR. This does not claim a hosted/production update or automatic delivery to every installation.

After this PR merges, existing supermemory@supermemory-plugins users can run:

claude plugin marketplace update supermemory-plugins
claude plugin update supermemory@supermemory-plugins

Then restart Claude Code to load the updated hooks. Equivalent /plugin marketplace update supermemory-plugins and /plugin update supermemory@supermemory-plugins commands work inside Claude Code. This version is not released while the PR is open.

Dhravya and others added 5 commits October 9, 2026 03:42
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
@capy-ai capy-ai Bot changed the title fix: capture the final Stop reply before transcript flush chore(release): 0.1.11 with final Stop capture fix Oct 9, 2026
@Dhravya
Dhravya merged commit fd25508 into main Oct 9, 2026
4 checks passed
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