Skip to content

Custom registration uncertainty drops cause and observable source-owner handle #566

Closed

Description

@trissim

An original public openhcs_register_custom_function call returned
custom_function_registration_uncertain without its underlying cause or a
typed observation handle. The request is preserved and must not be resent.
Subsequent resource admission refusal is separately owned by #561.

Source at main b551a6f: native CustomFunctionRegistrationMessageStrategy
collapses exceptions into status=error,error=str(error);
FunctionCatalogControlResponseBase raises RuntimeError; endpoint registration
catches all post-dispatch exceptions and replaces them with a generic uncertainty
message. A later receipt-validation or local ephemeral projection failure is
also collapsed this way after native mutation may already have succeeded.

Receiving owner: Singer. Root #394 remains compiler/materialization owner;
no shared execution-server/runtime producer patch is proposed. Current open PR
claims were checked; no competing registration-observation implementation found.

Required behavior: retain exact source-content and native-incarnation identity,
surface native/transport/post-receipt cause, and expose read-only observation
through existing custom declaration/persistence owners. No new operation ledger,
registry mirror, codec, timeout change, automatic retry or source replay. Missing
publication is not proof that the original request failed or did not mutate.

Acceptance: actual generated MCP surface returns handle/cause on uncertainty;
observation uses that handle, checks exact owner/content, and can prove current
publication/persistence without source evaluation or catalog warmup. Success
still invokes registration exactly once. Genuine unknown/stale-owner controls
remain uncertain/rejected. Source controls and later installed receiving proof
are separate; no scientific request is replayed.

Activity

  1. trissim commented on Oct 5, 2026

    @trissim
    CollaboratorAuthor

    Merged PR #567 preserves the registration cause and original process/source/store observation handle. Actual public TCP registration and read-only status verified the exact source digest, publication/persistence relations and typed shutdown. Historical UNKNOWN requests remain unreplayed; the PR reports no remaining failure in this focused registration/status scope. All five reviewed merge commits are ancestors of current main (GitHub compare reports behind_by=0). The existing PR body now contains Closes #566. Closing this covered focused issue; no new runtime or scientific operation was performed.

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