Skip to content

Reconstruct concrete nested subtypes using their actual dataclass owner - #17

Merged
trissim merged 2 commits into
mainfrom
fix/nominal-runtime-reconstruction
Oct 4, 2026
Merged

trissim merged 2 commits into
mainfrom
fix/nominal-runtime-reconstruction

Conversation

@trissim

@trissim trissim commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

A concrete nested dataclass subtype was flattened using its actual fields but reconstructed using its base annotation. In OpenHCS, ObjectState rejected an authored VolumeSourceSpatialDomain at the compilation boundary with SourceSpatialDomain.__init__() got an unexpected keyword argument source_depth.

The existing parameter type index now records the actual dataclass owner for concrete subtypes as well as lazy overlays. Raw, live and saved reconstruction consequently use the schema that was flattened. This removes the old annotation-first/lazy-only branch; no additional owner or fallback is introduced.

Validation: 41 lifecycle, restore and lazy controls passed, including raw/live/saved volume reconstruction, live edits with independent saved state, and base→subtype→base replacement topology. Both new controls reproduced the failure before the fix. The actual original 31-step 3D CellProfiler pipeline now survives import, public source roundtrip and ObjectState saved configuration with all three source bindings and intrinsic volume type retained (jointly qualified with the independent pycodify nominal-default fix).

Joint production qualification: the full original 31-step 3D pipeline passes public source decoding, orchestrator initialization using its actual 180-reference source index, and compilation to CompiledExecutionBundle on OpenHCS 2b9bb5649. No pipeline execution or performance result is claimed.

Closes #16

Copilot AI balanced review requested due to automatic review settings October 4, 2026 00:57

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
trissim merged commit 16aa704 into main Oct 4, 2026
11 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.

ObjectState reconstructs concrete nested subtypes through their base annotation

2 participants