Skip to content

Preserve grouped coordinates in scalar artifact publication (#621) - #623

Merged
trissim merged 3 commits into
mainfrom
fix/grouped-scalar-scope-621-20261004
Oct 4, 2026
Merged

trissim merged 3 commits into
mainfrom
fix/grouped-scalar-scope-621-20261004

Conversation

@trissim

@trissim trissim commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Owner repair

Fixes #621. RuntimeExecutionAxisScope.source_component_values already owns
the complete axis/fixed/grouped identity. Its metadata projection now consumes
that complete identity, retaining axis/fixed conflict rejection and the explicit
physical measurement source independently of an object's logical group. The sole descriptor
consumer delegates once instead of fixed-if/group-elif, which discarded Channel
when fixed Site/Time also existed. The superseded fixed-only method and consumer
branch are deleted; no mirror, invented coordinate, metadata fallback or guard
relaxation is added.

Active ownership was checked: closed #394 is not treated as an active repair;
Singer owns #620 and explicitly released these scope/descriptor hunks. His
writer/source-projection investigation remains separate. The finished isolated
UI checkout is temporarily released for this patch; eight dirty foreign
gitlinks and retained untracked history remain untouched.

Source evidence and receiving

Existing refactor-audit Package parses all 700 production modules at base
0ab87c0 without omissions. The complete attribute/declaration/import inventory
confirms one fixed_component_metadata declaration, one consumer; complete
source-component projection already exists on the scope owner. Syntax evidence
does not claim dynamic receiver resolution. Shared source metadata helpers were
read semantically; no dependency behavior or codec is changed. BOUND-2: use the
existing complete typed owner instead of reconstructing part of its identity.

Ordinary installed receiving PASS: 78 controls at ac63d8e, including the
real four-plane PURE_3D scalar integration for both fixed and grouped Channel.
Each saved CSV contains actual sum9730/count140, preserves Channel and collapses
only Z. Four pass-through TIFFs per case read back exactly; input hashes are
unchanged. Complete/scalar-incomplete/aggregate filename guards, coordinate
absence, axis/fixed contradictions, actual group-coordinate contradictions,
and physical-source/logical-group separation pass. The original distinct-source
regression was not changed or weakened.

Whole tracked-wheel/target comparison: 722 packaged tracked files byte-equal;
actual OpenHCS/dependency import origins point to receiving02/target. Existing
offline wheels and paired interpreter only. Original build terminal0/9.02s/
146448KiB RSS; installed controls terminal0/12.94s/446960KiB RSS/no swaps.
This is real installed headless compile/execute/export acceptance, not an
MCP-native, GUI or biological claim. The original failed installed fixture
and all #609 evidence remain immutable.

Evidence root: /home/ts/wt/openhcs-issue-batch-20260929/engineering-grouped-scalar-scope-621-20261004.
No scientific replay, live installed patch, new environment/worktree, SCI slot
or native server is used. No hosted CI wait.

The first installed batch passed74 controls and both real scalar integrations,
but exposed an invalid conflation in the initial patch: logical group2 may
legitimately measure physical image Channel1. The original distinct-source
regression stays unchanged. The scope hook now retains an explicit physical
group coordinate, supplies only an absent one from its declared scope, and keeps
axis/fixed and actual logical-group conflicts strict. Another pre-existing
PathPlanner mock lacked its current session.pipeline contract; that fixture
was migrated without changing the production validator or its assertions.
The original failed batch is retained; the separate coherent revised installed
batch passed78. No scope fact is overwritten to hide a failure.

@trissim

trissim commented Oct 4, 2026

Copy link
Copy Markdown
Collaborator Author

Final source checkpoint 0c9b585 normally integrates current main47debb48e (#619 median-only delivery). Determining main delta changes six median/build files, not the scope or descriptor family. Both changed production modules remain byte-identical to the ordinary installed ac63d8 receiving target; 78-pass/export strength remains exact and does not claim a new whole-main bundle. Singer shared-family review approved the final physical-source/logical-group distinction. No unrelated rebuild or hosted CI hold.

@trissim
trissim marked this pull request as ready for review October 4, 2026 13:05
Copilot AI balanced review requested due to automatic review settings October 4, 2026 13:05
@trissim
trissim merged commit b7a9cd2 into main Oct 4, 2026
3 of 37 checks passed

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 commented Oct 4, 2026

Copy link
Copy Markdown
Collaborator Author

Additional affected-path receiving after merge, without any new product edit or source checkout borrow: same qualified ac63d8 ordinary target, four real 5x7 uint16 TIFF Sites1..4, literal ChannelGFP, variableSITE/groupCHANNEL. Registered PURE_3D callable returns image passthrough + declared generic Measurements + Special tables. Original compile/execute/export and all four exact saved TIFF readbacks PASS: BOTH CSVs contain actual sum9730/count140; filenames retain ChannelGFP/Z1/T1 and omit representative Site. Measurement row declares slice_index0 and retains that source-plane row context; no per-Site row coverage claim. Original standalone terminal0/8.56s/376040KiB/no swaps. Frozen fixture/log/addendum: engineering-grouped-scalar-scope-621-20261004/SITE-GFP-QUALIFICATION.rst + SITE-GFP-FREEZE.sha256. No live5032 scientific failure replay, native RPC, overlay, rebuild, new fix or biological/MCP claim.

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.

Grouped generic scalar artifact export omits Channel when fixed scope coordinates coexist

2 participants