Trigger testRule second argument [Party]?

thank you. So to recap:

This comment i think solved the design issue for me:

  1. Triggers are run as a defined party when setting up the trigger (thus not necessarily needing multi ActAs)

  2. Triggers are only to act on the data within the ACS: They cannot query the ledger and they cannot receive the async response of a choice (so you cannot fetch from the ledger through a choice).

Is that accurate?

If yes, this relates back to my contract-role question(s): Where if you cannot have multiple ActAs and you cannot fetch from the ledger, you end up having to create “more and more” contract layers to get enough info into the ACS: such as:

  1. Pool
  2. Pool member
  3. Choice on Pool Member to “Validate Membership” controlled by a trigger party. and the choice runs some logic and generates a “ValidatedMembership” contract (where to validate the Member, the choice would have to fetch the Pool and compare signatories and pool data)
  4. A second trigger instance picks up on the ValidatedMembership and adds the member into the user service. The validation Logic is executed in the Contract choice instead of being executed in the trigger.

If that flow is correct, the confusion is the amount of layering (contracts and trigger instances) that is required to perform typical business flows feels “not-typical”. It takes a departure in “traditional” design.