There is no formal documentation regarding this, but I would like to make following notes:
1. When accessing ActiveTask, the app is relying on information that was set up by the screen that called your app (say base-screen-X).
2. The screen that sets up ActivePerson has the ability and option to fetch either just the person, or also additional information about the person (e.g., address). It depends on the needs of that screen. In general this same rule applies to other entities -- i.e., Account, RTXN, etc.
3. As a DNAapp developer, you have to put your application in desired situation -- i.e., as a screen launched off base-screen-X and figure out what information was already populated by the calling screen by investigating what is present in ActiveTask -- use debug thru code, open up ActiveTask object and inspect. In other words, there is no set rule for this and it has to be discovered in each situation.
4. If your app could be launched under multiple conditions from base-screen-X -- e.g., either when a grid-row is selected, or when no rows are selected, etc., then you should test your app in each of those conditions, because actions taken on calling screen may affect what is populated in ActiveTask.
5. As a rule, you can use information that is already present, and if something is not present, you would need to add code in your app to fetch it. For example, if in your situation, you are only getting ActivePerson and his accounts, but not his address, then you can use the account list but need to add code to fetch the address in your app.