Skip to content

docs(modules): define cleanup contract for a failed initialize - #2

Merged
md5sha256 merged 1 commit into
mainfrom
docs/module-init-failure-contract
Oct 26, 2026
Merged

md5sha256 merged 1 commit into
mainfrom
docs/module-init-failure-contract

Conversation

@md5sha256

Copy link
Copy Markdown
Collaborator

The manager closes a module's class loader when initialize throws but never calls shutdown, and nothing said so. A module that registered a listener before failing left it live; this was observed in Keystone on Paper 26.3.

Document that cleanup after a failed initialize is the module's job and that shutdown only follows a successful start, on PluginModule, SimplePluginModule, README and AGENTS.md. Pin it with a test.

Claude-Session: https://claude.ai/code/session_011DvdDwRoC7qHZ7yKUv1ufw

The manager closes a module's class loader when initialize throws but
never calls shutdown, and nothing said so. A module that registered a
listener before failing left it live; this was observed in Keystone
on Paper 26.3.

Document that cleanup after a failed initialize is the module's job
and that shutdown only follows a successful start, on PluginModule,
SimplePluginModule, README and AGENTS.md. Pin it with a test.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011DvdDwRoC7qHZ7yKUv1ufw
@md5sha256
md5sha256 merged commit 05f5ebc into main Oct 26, 2026
1 check 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