Skip to content

Allow runtime observation exports with validated compile-artifact reuse #179

Closed

Description

@trissim

Owner: OpenHCS blind-analysis coordinator (this thread).

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.

Activity

  1. trissim commented on Sep 29, 2026

    @trissim
    CollaboratorAuthor

    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.

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