Write score_pipeline(steps) that takes a list of step dicts and
returns an integer 0-100.
- Canonical step names:
["concept", "reference-gen", "composition", "audio", "captions", "render", "review"] - For each entry in
steps, count it as "covered" if BOTH:- its
stepfield is in the canonical list, AND - its
toolfield is a non-empty string.
- its
- Each unique canonical step covered = 15 points.
- Cap the score at 100.
- Return an
int.
Three teams run. Expected output:
team alpha: 100
team beta: 90
team gamma: 45