Skip to content

Hide Hermes memory tool from cron jobs - #351

Draft
mostlydev wants to merge 1 commit into
masterfrom
issue-350-hermes-cron-memory
Draft

Hide Hermes memory tool from cron jobs#351
mostlydev wants to merge 1 commit into
masterfrom
issue-350-hermes-cron-memory

Conversation

@mostlydev

Copy link
Copy Markdown
Owner

Summary

  • add memory to Hermes' existing cron-only protected toolset denylist
  • keep the installed scheduler documentation aligned with the resolved capability surface
  • prove scheduled tool resolution excludes native memory while the interactive-equivalent surface retains it

Root cause

Hermes creates scheduled agents with skip_memory=True so cron prompts cannot mutate user representations, but _resolve_cron_disabled_toolsets did not disable the memory toolset. The model could therefore receive a native memory tool whose backing store was intentionally absent and get a deterministic runtime error.

This fix stays at the Hermes compatibility boundary. It does not globally disable native memory and does not add another memory or cllama layer.

Impact

Scheduled Hermes turns no longer advertise an unusable native memory tool. Interactive Hermes turns retain the native memory tool.

Verification

  • go test ./...
  • go vet ./...
  • go test ./cmd/claw -run '^TestHermesBaseImageSourceContract$' -count=1
  • go test -tags spike ./cmd/claw -run '^TestSpikeHermesBaseImageContract$' -count=1
  • python3 -m py_compile dockerfiles/hermes-base/patch-hermes-runtime.py
  • git diff --check

Release note

This PR changes the hermes-base source recipe only. Shipping it requires a maintainer-coordinated Hermes base image build/tag and the corresponding pin update during a release. The feature diff intentionally does not bump DefaultHermesBaseTag or publish an image.

Closes #350

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.

hermes: cron advertises memory tool while skip_memory disables it

1 participant