Skip to content

Expose physical-channel QA after a pipeline narrows the raw workspace inventory #445

Closed

Description

@trissim

Physical-channel QA is unreachable after a named-source workspace narrows the raw inventory

Owner: parent integration; Singer investigates the existing BioFormats/inspection boundary.
Planck retains the live retinal viewer and scientific files. Root retains PR394 shared source
binding/projection/metadata owners; any crossing needs direct release, not a competing patch.

Reproducer

Installed438-08054 public MCP, development-only R0010, original native process closed.
Persistent receipt:
/home/ts/wt/openhcs-issue-batch-20260929/rbpms-r0010-development-434-20261002/output/CANDIDATE05-C3-READONLY-QA.rst
Exact calls/replies: mcp-continuation03.stdin/stdout/timing and
CANDIDATE05-C3-READONLY-EVIDENCE.json in that output directory.

  1. openhcs_inspect_plate_path with original input path, microscope_type=bioformats,
    max_sample_files1/max_component_values3/max_parse_failure_samples1/max_files_to_parse4.
    Reports physical C1 AF647-T1, C2 AF488-T2, C3 H3258-T3, same site1/Z1/T1.
  2. openhcs_query_plate_files on the same input, both auto and explicit bioformats.
    Returns only R0010.czi_s001_w1_z001_t001.tif, channel1/source_aliasRBPMS.
    C2/C3 are declared_in_metadata=true, observed_in_filenames=false.
  3. openhcs_sample_plate_image with physical image_path R0010.czi,
    microscope_type=bioformats,resolution_index0,y684,x104,height16,width16,
    include_array_values=true,max_array_elements256.
    Success resolves the same C1 record (values15..42), NOT C3.
  4. Reflected sample and stream requests have no physical-channel/source-binding
    selection; no original C3 record/source receipt is exposed for ordinary QA.

The C1 pipeline projection can be intentional. The defect is the missing safe read-only
physical-channel QA route: channel metadata alone is not C3 pixel evidence. This is not
yet a demonstrated channel swap, and no guessed w3 filename/private decoder, workspace
metadata change, native restart, science rerun or UNKNOWN request replay was attempted.
Current rawC1+savedROI viewer :89/VNC5989 stays open and unchanged.

Required behavior

Expose the original acquisition's exact C3 candidate through existing nominal source
discovery/selection and public bounded read/stream contracts without widening/changing
the persisted pipeline's selected source domain. Return authoritative physical component
identity H3258-T3, site/Z/time, provenance and native geometry/units. Reuse original
handler, SourceCandidate/SourcePixelRef/typed selection owners; no second inventory
authority, name-roster switch, viewer relabel, hand-authored fake source receipt or copied
decoder. Check active PR394 ownership before any shared hunk.

Acceptance

A new source-qualified fixture exercises a container with multiple channels after a
C1-only persisted pipeline projection. Public inventory/select/sample can obtain the
actual C3 pixels, while pipeline C1 declarations and old results remain untouched.
Then use the actual installed local entrypoint for distributed same-coordinate C1/C3
raw/composite QA, bounded per-image contrast samples and personally opened MCP PNGs.
No one-nucleus/one-cell assumption or held-out/reference lookup. Keep prior missing-C3
receipts and distinguish source tests from installed/native evidence.

Related merged442/443 correct calibration and MCP idle progress respectively; neither
adds this channel-selection contract. Issues440/441 retain separate installed acceptance.

Activity

  1. trissim commented on Oct 2, 2026

    @trissim
    CollaboratorAuthor

    Implementation ownership: Singer owns initial read-only BioFormats/inspection RCA and a source reproducer; parent owns integration/installed channel QA. Planck retains the protected current science/viewer. PR394 shared source binding/projection owners remain Root-owned; source changes crossing that boundary require coordination first. Both source-qualified calibration442 and stream progress443 are merged/private installed, but neither establishes this route. We will first check whether an existing public typed source-selection contract can satisfy the workflow; no guessed channel filenames or competing inventory store.

  2. trissim commented on Oct 2, 2026

    @trissim
    CollaboratorAuthor

    Singer source checkpoint is now visible in draft #446 at bfbfd21 (qualified production 1075123). This confirms missing acquisition-plane QA access, not a channel swap. Read-only inspection now uses the selected metadata owner's exact dataset; auto/workspace and generic pipeline inventory retain persisted C1 precedence. Existing requests suffice: explicit original handler query -> select actual returned channel record/virtual_path -> exact bounded sample/stream. Ambiguous physical-container paths remain rejected.

    5 source journey/new-case tests PASS under 1CPU/512MiB/no-swap/60s; original unchanged full changed-production R0 PASS with no positive deltas (service excess -13). Original red, harness corrections and first failed R0 are preserved byte-exact in docs/validation/physical-source-inspection-445-source-20261002.tar.gz; receipt docs/validation/physical-source-inspection-445.rst.

    Only plate_image_inventory.py and plate_inspection_service.py production paths changed. Root #394 ownership checked/coordinated; no shared hunk/foreign WT, new selector mode/registry/decoder, installed package, native/science run or Planck viewer touched. Parent installed original-C1/C3 receiving/native QA remains required; issue stays OPEN. #404 graph receiving and #440/#441 acceptance remain separate.

  3. added a commit that references this issue on Oct 2, 2026
  4. trissim commented on Oct 2, 2026

    @trissim
    CollaboratorAuthor

    PR446 is merged on main58ee773 and its ordinary installed public entrypoint has passed the original physical-source fixture: auto keeps the persisted C1-only workspace (count1), explicit bioformats exposes physical C1/C2/C3(count3), returned C3 samples exact declared pixels, ambiguous container selection refuses to guess, and the persisted workspace hash remains unchanged after streaming. Fresh native Napari on isolated :92 mounts C1/C3 with actual semantic channel values1/3, exact respective pixel samples and .5 XY scale. Parent personally opened independently windowed C1/C3 PNGs. Planck is now checking actual retinal physical C1/C3 through a separate source-only private viewer while preserving the old saved analysis and its live viewer. No claim yet about retinal biological segmentation acceptance.

  5. trissim commented on Oct 2, 2026

    @trissim
    CollaboratorAuthor

    Actual installed446 retinal C1/C3 individual-channel QA is now complete: authoritative physical records, bounded exact samples, unchanged original acquisition/metadata, correct0.123530549um XY and12 matched native MCP captures personally opened by both worker and parent. Reopening/pipeline projection remains untouched. Explicit acceptance also asks for simultaneous composite: current disjoint channel translations cannot provide it through exposed controls. That remaining first-class native presentation defect is451, source owner Schrodinger. Keeping445 open until that final composite acceptance is live, rather than presenting separate visible routes as a composite. Original cold inventory observation timeout remains preserved, not replayed or erased by warm reads.

  6. trissim commented on Oct 6, 2026

    @trissim
    CollaboratorAuthor

    Closing after checking current main and the subsequent owning-source history, not merely the associated PR. PlateImageInventory.from_read_only_handler inventories the acquisition metadata owner through its exact source dataset, while the orchestrator retains its persisted workspace projection. Source sampling follows the record’s SourcePixelRef rather than substituting the projected C1 image. The physical inventory fix is retained on current main, including later inventory-scope changes. Installed same-coordinate C1/C3 sampling, streaming and the composite path were exercised; the later installed/native composite acceptance is recorded here: #454 (comment) . This resolves the original physical-channel QA access defect without requiring a biological rerun. Separate viewer/late-WM defects are not claimed fixed by this closure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions