design – Collect data from different modules within a monolith

During my first attempt to implement a project with "Clean Architecture", I try to implement a job portal where I ran into a problem related to communication between (hopefully) two loose modules.

The two modules are:

  • Identity – responsible of user operations I like Check in
  • Catalog – responsible of work operations I like find

When searching for one or more jobs, employer information must be submitted along with the job information.

A Job (inside Catalog) make reference to User (inside Identity) by a called id employee:

class Job {
    private Identifier id;
    private Identifier employee;
    /* ... */
}

My first idea was to consult the information within a Case of use but this would unite the two modules:

class FindJobByIdUseCase {

    private final FindUserByIdUseCase findUserById; // from Identity module
    /* ... */


    JobResponse execute(FindJobInput input) {
      User employee = findUserById.execute(input.employee);
      Job job = /* ... */;
      /* ... */
      return new JobResponse(jobDTO, employeeDTO); 
    }

}

I thought I could create a third module coupled to Identity Y Catalog to add the required data:

Identity <—– Identity-Catalog-Aggregat ——-> Catalog

// in Identity module
class FindJobAndEmployeeUseCase {

    private final FindUserByIdUseCase findUserById; // from Identity module
    private final FindJobByIdUseCase findJobById;   // from Catalog module
    /* ... */


    Response execute(FindJobAndEmployeeInput input) {
      User employee = findUserById.execute(input.employee);
      Job job = findJobById.execute(input.job);
      / * ... */
      return new Response(jobDTO, employeeDTO); 
    }

}

Both attempts feel bad … Can you advise me on the solution that makes the most sense?

I appreciate any kind of response that helps me.

Thanks for your time and effort!