Repository navigation
L3: zmqruntime runtime vocabulary, declared messages, launch policy and transport config - #1188
Merged
Merged
Conversation
…sport config Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…and transport config - Point zmqruntime, pyqt-reactive and PolyStore at their L3 PR branches (zmqruntime 0.6.0, pyqt-reactive 0.4.0, PolyStore 0.6.0) and bump the bounds. - The execution client builds a declared ExecuteRequest; ZMQRequest and the hand-assembled request_items are deleted. Status and the OMERO plugin's control requests are declared types too. - The progress event's generic subject field is subject_id on the wire. - OpenHCSZMQConfig is zmqruntime's ExecutionTransportConfig under OpenHCS's app_name and IPC prefix; the generic fields moved to the library. - Background process launch policy is imported from zmqruntime. - The pong enricher's restated queue projection is deleted; the lifecycle's queue is the one source of queued executions. - Guards: tests/unit/test_l3_zmqruntime_vocabulary_guards.py. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…se commits Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…its keyword Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Surface L3: the zmqruntime runtime vocabulary (receipt:
docs/refactor/consolidation-20261009/L3-zmqruntime-vocabulary.md, first commit).Lockstep library PRs (not merged or tagged)
plate_id→subject_id, results summarypartition_count/partition_values(the kernel's word since G2); 45 hand-writtento_dict/from_dictreplaced by declared messages over the L2 codec (to_jsonable/dataclass_from_mapping);process_launchandExecutionTransportConfigmoved in.process_launchremoved;zmqruntime>=0.6,<0.7.zmqruntime>=0.6,<0.7.The submodules point at the PR branch heads for verification; repin to the release commits after publishing. Release order: zmqruntime 0.6.0 first; then PolyStore (
uv lockcannot resolve before that, so its lock and CI wait for the publication) and pyqt-reactive (drop its CI source-candidate line).OpenHCS changes
zmqruntime>=0.6,<0.7,polystore>=0.6,<0.7,pyqt-reactive>=0.4,<0.5.ExecuteRequest(ZMQExecutionRequestBuilder.request());ZMQRequestand five hand-assembledrequest_itemsare deleted. Status requests and the OMERO plugin's control requests are declared types.OpenHCSZMQConfigis zmqruntime'sExecutionTransportConfigunder OpenHCS'sapp_nameand IPC prefix (the type name is kept, so saved UI preferences load unchanged).subject_idon the wire (zmqruntime'sTaskProgressreads it); OpenHCS attribute names (plate_id,owned_wells, …) are G7's.subject_id.tests/unit/test_l3_zmqruntime_vocabulary_guards.py(noplate/wellin zmqruntime; no message class writes its own codec; nopyqt_reactive.process_launch;OpenHCSZMQConfigdeclares only its names).Other surfaces touched where a renamed API forced it: G5 — one import line in
openhcs/processing/backends/lib_registry/registry_service.py(zmqruntime.process_launch). U1 — none in production; tests intests/unit/pyqt_guiandtests/unit/agentupdated for the renamed fields.Verification (local,
nice -n 19,-n 2)pytest tests: 376 passed. pyqt-reactive: 605 passed. PolyStore: 594 passed, 2 skipped.origin/main(checked on a main snapshot: napari settlement/ROI, plate streaming, plate manager, artifact publication, config-consumer coverage, …).tests/integration/test_main.py -k "disk and zmq": 12/12 (napari/fiji cases under a private headless Xvnc display).NPY_DISABLE_CPU_FEATURES=AVX512_SKX,X86_V4), after merging current main (G5): 29/30; the one failure is the knowncp_tutorial_3d_monolayer(No image serialization format is registered for suffix '.pkl'). A first run also lostExampleWoundHealing(no server-side failure logged); it is equivalent with 0 differences run alone and in the full rerun.L3 · PRs ZMQRuntime#28, PyQT-reactive#20, PolyStore#37, this · guards 4/4 · production −270 +92 · tests −71 +152
🤖 Generated with Claude Code