The AI-native design pipeline — concept to shipped MP4 in one workflow — step 8 of 8
One last thing before we move on. Same surface as a write step — but the lesson doesn't complete until this passes.
Final drill. You're consulting for five teams. Audit each one's pipeline against the canonical seven steps.
Write audit_pipelines(teams) that takes a list of team dicts and
returns a dict mapping each team's name to a verdict dict shaped
like:
{"score": int, "missing": list[str]}
Each team dict has a name and a steps list (same shape as the
previous drill — each step has step and tool fields).
- Use the same scoring rule: 15 points per UNIQUE canonical step
covered (
stepname in canonical list AND non-emptytool), capped at 100. missingis a list of canonical step names that were NOT covered. Preserve canonical order:["concept", "reference-gen", "composition", "audio", "captions", "render", "review"].- Five teams run. Expected output:
acme: score=100 missing=[]
bravo: score=90 missing=['captions']
charlie: score=75 missing=['audio', 'captions']
delta: score=60 missing=['reference-gen', 'audio', 'captions']
echo: score=45 missing=['reference-gen', 'audio', 'captions', 'review']
One last thing before we move on. Same surface as a write step — but the lesson doesn't complete until this passes.
Final drill. You're consulting for five teams. Audit each one's pipeline against the canonical seven steps.
Write audit_pipelines(teams) that takes a list of team dicts and
returns a dict mapping each team's name to a verdict dict shaped
like:
{"score": int, "missing": list[str]}
Each team dict has a name and a steps list (same shape as the
previous drill — each step has step and tool fields).
- Use the same scoring rule: 15 points per UNIQUE canonical step
covered (
stepname in canonical list AND non-emptytool), capped at 100. missingis a list of canonical step names that were NOT covered. Preserve canonical order:["concept", "reference-gen", "composition", "audio", "captions", "render", "review"].- Five teams run. Expected output:
acme: score=100 missing=[]
bravo: score=90 missing=['captions']
charlie: score=75 missing=['audio', 'captions']
delta: score=60 missing=['reference-gen', 'audio', 'captions']
echo: score=45 missing=['reference-gen', 'audio', 'captions', 'review']
this step needs the editor
on desktop today; in the app (coming soon). save your spot and we'll bring you back here when you're ready.