Skip to content

0.6.4: ZMQServer is a plain ABC; private IPC endpoints under the socket root - #33

Merged
trissim merged 3 commits into
mainfrom
refactor/MR1-registry-duplicate-keys
Oct 12, 2026
Merged

trissim merged 3 commits into
mainfrom
refactor/MR1-registry-duplicate-keys

Conversation

@trissim

@trissim trissim commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Release 0.6.4.

  • ZMQServer no longer keeps a registry keyed by _server_type. Nothing read it, and every ExecutionServer subclass reports 'execution', so under metaclass-registry 0.4.0 (a key names one class) a second subclass in one process raised DuplicateRegistryKeyError. _server_type stays as the role reported in the pong. Removes the public, unread ZMQServer.__registry__.
  • IpcTransportDeclaration.private_endpoint creates its directory beneath config.socket_root() instead of TMPDIR, so the socket path length no longer depends on TMPDIR (a path over zmq.IPC_PATH_MAX_LEN cannot be bound). Test: test_private_ipc_endpoint_lives_under_the_socket_root_not_tmpdir (fails before the change).
  • Requires metaclass-registry>=0.4.0.

Local run, fresh venv, dependencies from PyPI (metaclass-registry 0.4.0), Python 3.12: 382 passed, 8 skipped.

🤖 Generated with Claude Code

trissim and others added 3 commits October 12, 2026 02:34
ZMQServer kept a registry keyed by _server_type. Nothing reads it, and
several server classes serve one role (every ExecutionServer subclass
reports 'execution'), so under metaclass-registry 0.4.0, where a key names
one class, the second subclass raised DuplicateRegistryKeyError.
_server_type stays as the role reported in the pong.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…class-registry 0.4

IpcTransportDeclaration.private_endpoint created its directory with
tempfile's default, so a long TMPDIR produced socket paths over
zmq.IPC_PATH_MAX_LEN that no server could bind. The directory is now made
beneath config.socket_root().

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 12, 2026 12:25
@trissim
trissim merged commit 1d8160b into main Oct 12, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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.

2 participants