ScramboPython SDK

Common mistakes

Frequent pitfalls to avoid when writing Scrambo programs.

  • Calling a facade before editor.open(...).
  • Editing the timeline before editor.start() has connected the browser.
  • Calling a refinement specialist before a first timeline exists.
  • Passing a plain dictionary where Planner Compile or Author expects an Artifact.
  • Asking Source Work to edit the timeline, or a caption specialist to restructure the whole video.
  • Hiding the narration source or target duration in vague language.
  • Asking for transcript-based decisions without granting tools=[transcribe], event-grounded decisions without tools=[detect_events], or beat-driven cutting without tools=[detect_beats], to the specialist that must make them.
  • Granting tools=[detect_beats] to Planner Compile or Author — it is accepted only by Source Work.
  • Expecting planner.ask to write files, compute analysis, prepare media, or change the timeline; it is deliberately read-only.
  • Reaching for a separate scout or prepare agent; source.work is the single entry point for semantic selection and mechanical rendering, and it authors the run's sole source brief.
  • Calling a capability like transcribe(...) or detect_events(...) directly, or assuming a per-call grant persists to the next specialist.
  • Calling masking(...) directly, passing it caller configuration, or assuming a precomputed matte is live before a timeline specialist places it.
  • Looking for a public SFX tool; ask timeline.sound_agent for sound design.
  • Assuming an uploaded JSON file is automatically associated with similarly named media; it remains an untrusted candidate until an enabled agent imports it.
  • Passing prose to timeline.validate(...); it accepts a selection spec or a ValidationPolicy, not a natural-language prompt.
  • Assuming every validation group applies to every edit. Select checks relevant to the layers you actually created.
  • Closing the browser tab during a run.
  • Depending on programmatic export in code meant to run against the cloud API.

The most reliable programs are explicit about outcomes, keep agent responsibilities narrow, pass artifacts directly, and validate the properties that matter for the deliverable.