Skip to content

Preserve Nexus service-operation fields during worker completion validation #138

Description

@rmcdaniel

Confirmed behavior

While testing worker payload validation for #134, an authenticated worker submitted start_service_operation with nonempty endpoint_name, service_name, operation_name and request_payload. The completion returned HTTP 422 claiming all three routing fields were missing.

WorkerController::completeWorkflowTask validates individual commands.* fields but does not include these Nexus fields. Laravel drops them from the validated command before WorkflowCommandNormalizer::preflightParallelMetadata checks required service-operation values. This is distinct from malformed Avro handling: valid routing fields are lost before payload validation.

Acceptance

  • Preserve and validate the supported Nexus command fields through the HTTP worker-completion ingress.
  • Exercise an SDK-shaped command through the real worker HTTP route, not only direct service/normalizer calls.
  • Prove valid service-operation dispatch and persisted outcome; retain rejection of malformed values and namespace/lease authority checks.
  • Cover the supported optional operation fields as well as the required names and payload.

Accepted next after #134. Keep this scoped to the public Server protocol and regression tests.

Activity

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