Skip to content

Claude Code runs no semantic harvest at all: #300 unregistered stop-harvest.mjs #322

Closed

Description

@ooples

Measured while executing Plan 2 (#320) of the #204 work.

What happened

#300 unregistered plugin/hooks/stop-harvest.mjs. Four capabilities went with it, silently:

  1. The transcript archive — restored in Plan 2 Task 5, because the local extractors read it.
  2. The harvest-worker spawn — still dead.
  3. Refusal detection — still dead.
  4. The harvest off-notice — still dead.

The consequence

On Claude Code, with a valid credential present, no semantic harvest runs. harvestMode() returns remote, the user has consented by not opting out, and nothing happens — because the worker is never spawned.

The other ten adapter clients are unaffected; they reach the harvest through the shared adapter path.

Why it went unnoticed

Nothing observes that the harvest did not run. There is no kind:'harvest' event to be absent from a report, no error, and harvestMode() reporting remote is indistinguishable from a harvest that ran and found nothing.

This is the repository's signature defect in its quietest form: not code that nothing calls, but a caller that was removed while its callee stayed correct.

Suggested fix

Re-register the three remaining capabilities on the shared Stop path, the way the archive was restored in Plan 2 Task 5. Then add the thing whose absence hid this: an assertion, or a census row, that a harvest either ran or reported why it did not.

Activity

  1. added a commit that references this issue on Aug 26, 2026
    f45f918
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions