You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Allow runtime observation exports with validated compile-artifact reuse #179
Public MCP reproducer on installed main-equivalent #177: create source-backed session for one 128x128 synthetic image; inspect compiled artifact plan; submit_compile(wait=False); after compile complete, submit_pipeline_execution with the SAME session/source/config and returned compile artifact, requesting runtime_observation_export_path and scope values. Run b6f27b83-af6c-486d-b5d1-7cc198700ac7 fails before any processing: Compile artifact 'c4eeb807-0fe0-4da4-87db-72ae433f9eb4' does not match execution request.
Source-backed cause: ZMQExecutionRequestPayload.request_signature hashes all config_params including the export-only destination/scope. ZMQAuxiliaryExecutionParams already owns those declarations separately from execution axis/debug inputs. Compiler reuse treats an observation-only request change as a different compiled pipeline; the compile artifact is popped before compatibility validation, so the rejected request consumes it.
Acceptance:
Derive compilation identity from its typed determining owners, excluding only proven observation-only transport options while preserving source/pipeline/config/axis/debug distinctions.
Retain the original request/evidence identity where its consumers require the complete submission.
Do not consume an artifact before compatibility validation succeeds.
Verify same-source compile -> execute with values/outcomes export through installed public MCP and check actual retained typed output/observation artifacts.
Reject real source/config/axis differences. No permissive hash bypass or transport-key mirror roster.
This is separate from #145/#157, which preserve already-produced output paths after worker cleanup. Persistent requests/source/failed receipts are under /home/ts/wt/openhcs-live-point-evidence-20260929/native-pipeline-reopening-20260929. Fresh-compile execution is a separate diagnostic path, not proof of reused-compile acceptance. Frozen H002 is unchanged.
Merged PR #184 is installed and live-verified in the owned Python3.12 MCP environment. Actual public MCP journey: compile bafd5d02 -> changed pipeline rejected as incompatible -> original pipeline successfully reused the SAME artifact with values export (d460519b), proving rejected reuse did not consume it. Separate outcome-scope compile/reuse also completed (129a01e2). Native readers validated A01 coverage, five value records, six existing observed files for each scope; MCP inventories each returned seven result files. Full accepted/failed envelopes, declarations, native export summaries and a checked 26-file SHA manifest are preserved at /home/ts/wt/openhcs-live-point-evidence-20260929/compile-observation-identity-20260929. This is runtime workflow validation only; the unchanged synthetic detector remains rejected and frozen H002 remains unchanged.
Activity
trissim commentedon Sep 29, 2026
Merged PR #184 is installed and live-verified in the owned Python3.12 MCP environment. Actual public MCP journey: compile bafd5d02 -> changed pipeline rejected as incompatible -> original pipeline successfully reused the SAME artifact with values export (d460519b), proving rejected reuse did not consume it. Separate outcome-scope compile/reuse also completed (129a01e2). Native readers validated A01 coverage, five value records, six existing observed files for each scope; MCP inventories each returned seven result files. Full accepted/failed envelopes, declarations, native export summaries and a checked 26-file SHA manifest are preserved at /home/ts/wt/openhcs-live-point-evidence-20260929/compile-observation-identity-20260929. This is runtime workflow validation only; the unchanged synthetic detector remains rejected and frozen H002 remains unchanged.