Skip to content

B6d: B6's remaining functional fixes, without the formatting - #1221

Merged
trissim merged 20 commits into
mainfrom
refactor/B6d-remaining-fixes
Oct 12, 2026
Merged

trissim merged 20 commits into
mainfrom
refactor/B6d-remaining-fixes

Conversation

@trissim

@trissim trissim commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

The fixes from B6 (#1195) that main still needs, without its formatting. #1212 took B6's E1 boundary fix and #1214 its CI trigger restructuring; this is the rest. Receipt: docs/refactor/consolidation-20261009/B6d-remaining-fixes.md.

Fixes

"Fails on main" means: this branch's test file run against main's production code (ae6ddace5) fails, and passes here.

Fix Cause Fails on main, passes here
Requestless UI-bridge operations pass the connection by keyword the connection landed in the request slot test_capabilities.py::test_requestless_ui_bridge_capability_passes_connection_as_connection
A batch stopped while compiling ends cancelled the stop surfaced as an execution failure test_execution_control_stop_during_compile.py (2 cases)
Metadata document targets follow the backend's declaration a virtual backend (OMERO) got a local metadata document test_function_outputs.py::test_metadata_document_targets_follow_backend_declaration[omero_local]
Catalog leaves out modules whose distributions the package markers exclude (REQUIRED_DISTRIBUTIONS) Intel macOS excludes openhcs-basicpy, but the catalog imported its module test_library_registry_discovery.py (7 cases)
Cache preparation uses os.cpu_count() where there is no affinity API macOS prepared the kernel cache serially test_preparation_admission.py::test_platform_without_affinity_admits_its_online_cpus
Scalar components are reduced per pixel group contributors were pooled across runtime planes, dropping site test_aggregate_source_scope.py::test_axis_varying_between_runtime_planes_is_kept_not_reduced
The one-plane label projection belongs to every plane label mode it lived only on MatchImageStackLabels test_singleton_rgb_label_invocation_477.py[SliceAlignedLabels]
Benchmark adapter keeps the imported config's inheritance and the declared output policy dataclasses.replace froze unset fields; a results path was forced test_openhcs_adapter.py::test_openhcs_adapter_preserves_declared_main_flow_output_policy
Packaged knowledge recipes are placed by case name within a path budget installed paths exceeded Windows MAX_PATH test_build_mcp_knowledge_assets.py (import error on main)
GUI smoke waits for the window's endpoint start, reports the status name, and gives the bridge connection its transport config the catalog was read before the endpoint existed; the result held a class; U4 left transport_endpoint() called without its config test_smoke_installed_gui.py (import error on main); the GUI step of smoke_local.sh

No local test separates these from main; the reason is given:

Fix Cause Why not shown locally
STEP_INPUT filters match stored source paths they matched virtual workspace names B6 found it in the backend-microscope CI jobs; no touched local test fails on main
Passthrough outputs keep their producer's filename qualifier sibling surfaces merged into one file same
BaSiC reads metadata through ImagePayload.of .metadata was read off plain arrays same
Dataset rows carry the finished execution's error; the demo reads ViewerType.value the installed demo failed without a reason installed-demo job only
Measured-run silence is counted from begin_run server startup counted as execution silence timing-dependent
mahotas is a core dependency core catalog modules import it; it sat in an extra packaging
MCP smoke sends partition_values G2 renamed wells wheel-integration job only
Windows: granularity accepts 'L' uint32; custom-function sources are written as bytes; Ctrl+Break stops the CLI; dataset writability is probed by creating a file; .gitattributes keeps committed bytes; test process reaping skips process groups Windows-only differences Windows only
Unit session creates its QApplication first; sibling test modules import through tests; a 3.11-invalid f-string CI's importlib mode and Python 3.11 CI configuration only

Two slips in the interrupted work, fixed here: the theme-method deletion had also removed @singledispatchmethod from OpenHCSMainWindow.on_session_event (the class body failed at the first .register), and one test still named the pre-K1 RuntimePlaneAxis.SOURCE_BINDING.

Dropped as formatting-only or out of scope

  • B6's black commits (cf0b8eb8c, f2ae23c97, 2ed28bb32, ae618be9d, 7f5710ae9, 3e089a3f2) and every hunk that only re-wrapped lines.
  • The ratchet mixin moves (239953c4c, ab03ba7ba, 24bfafede).
  • All docs/source, docs/audits, README.md and validate_docs.py changes (audit re-pins).
  • Workflow edits (merged separately as B6c: pull requests run cheap checks; the full CI matrix gates releases #1214) and the pyqt-reactive pin.
  • B6's and B6b's receipts; the library version floors (already on main).

Ratchet

OpenHCSMainWindow and PatternGroupExecutionRequest are at their size budget (keeping the window's theme methods gives GodClassExcess +4). The four theme methods had no caller and are deleted (unused, guarded in test_dead_ui_code_guards.py); the passthrough helpers sit on PatternGroupExecutionScope.

Verification (head cccda278e, base 6c1312d36)

  • Touched unit and GUI test files: 595 passed.
  • smoke_local.sh with the GUI step: smoke rc=0 (7 passed; GUI exit 0).
  • guardrails_local.sh: guardrails rc=0 (three ratchets exit 0, 38 passed, nra-r1 "increased": []).
  • 30-workflow parity under flock: 1 passed (the test asserts all 30 cases), run with a private HOME so its sockets were not shared. Two earlier runs on the shared socket directory gave 28/30: in each, two cases compiled on a server started from another checkout (the error named that checkout's path), which is the fault B7: an execution client reaches only a server it may use #1211 fixes.
  • Touched integration files at -n 2: 36 passed, 3 failed, 1 skipped; two of the three pass serially. The third, test_measured_repetitions_share_one_owned_ordinary_server, failed 3 of 7 runs with "endpoint was already in use" while other agents' servers were running; same fault.

Not verified locally: Windows and macOS paths, the installed demo, the wheel smoke, the real-viewer official30 variants (their test was updated to the viewer families and collects, 92 tests; not run).

B6d · PR #1221 · guards 4/4 · production −256 +524 · tests −263 +877

🤖 Generated with Claude Code

trissim and others added 18 commits October 11, 2026 22:57
…ly edits or ratchet mixin moves

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-function catalog policy

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	tests/unit/test_named_checkpoint_publication.py
…ame; handoff

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… docs changes)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Passthrough helpers sit on the group scope and reuse the manifest's
path-aligned record lookup; the four unused main-window theme methods are
deleted and guarded.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The theme-method deletion took the @singledispatchmethod line with it, so
the class body failed at the first .register.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
U4 moved the connection spec to formbridge, where transport_endpoint takes
the config; the smoke still called it without one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 12, 2026 07:32
@trissim trissim mentioned this pull request 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.

trissim and others added 2 commits October 12, 2026 03:32
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trissim
trissim merged commit ab84241 into main Oct 12, 2026
0 of 3 checks 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.

2 participants