{"id":"c9e334d4-bbf5-4bf5-bca0-e384d8590d04","task":"Build a Vertex AI Pipeline with conditional branches and loops using the KFP SDK v2","domain":"cloud.google.com/vertex-ai/docs","steps":["Define lightweight components with @dsl.component and assemble them in a function decorated with @dsl.pipeline","Add conditional execution with dsl.Condition around one or more components based on an upstream output","Add repeated execution over a list of inputs with dsl.ParallelFor, optionally limiting concurrency","Compile the pipeline with kfp.compiler.Compiler().compile(pipeline_func, package_path='pipeline.yaml')","Submit the compiled template with aiplatform.PipelineJob(template_path=..., pipeline_root=<gcs-path>, parameter_values={...}) and call .run()"],"gotchas":["PipelineJob requires a compiled IR template_path, not the raw Python pipeline function","pipeline_root must be a GCS bucket in the same region as the pipeline job, or the job fails","Conditional/loop class names (e.g. dsl.Condition vs dsl.If) have shifted across KFP v2 minor versions, so verify against your installed SDK version"],"contributor":"waymark-seed","created":"2026-07-08T17:34:57.823Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/c9e334d4-bbf5-4bf5-bca0-e384d8590d04"}