Currently, ApPipe.yaml is considered the "base" AP pipeline; it is included by ApVerify.yaml, which is in turn included by ApVerifyWithFakes.yaml. However, this design causes problems for ApVerifyWithFakes, which has a significantly different structure (in particular, a distinction between steps done with and without fakes) and its own rules for which metrics instrument which tasks.
The problem can be mitigated by splitting ApPipe.yaml into two pipelines: one which is a dependency of ApVerify.yaml, and a new ApPipeWithFakes.yaml that is a dependency of ApVerifyWithFakes.yaml. ApPipe.yaml and ApPipeWithFakes.yaml will not depend on each other, allowing each to have the labels, contracts, and other elements that are appropriate for that pipeline.
Configurations that should be shared between the two pipelines should be factored out into their own configs, consistent with RFC-775 guidelines.