SAService Architect Back to designer
SAService ArchitectDocumentation
Python DSL reference Python base + current graph + edited Python

Apply, revisions, and conflicts

Apply uses a conflict-aware merge so Graph and Python edits do not silently overwrite one another.

When to use

Use Apply to Graph after editing Python; review proposed changes whenever the graph also changed after Python generation.

Behavior

  • An unchanged Python workspace is a no-op and does not open the Review dialog.
  • Edited Python is validated and converted to the internal StreamApp model before merge.
  • Independent Graph and Python changes are combined automatically.
  • When both sides change the same model path, Review requires an explicit Use Graph or Use Python choice.
  • Successful confirmation creates one undo step and advances the Python baseline to the applied graph revision.
  • Names are safe to change: keys are re-derived and object references keep connector, endpoint, service, stream, module, pool, and type relationships connected.

Workspace states properties

Status indicators used by the editor.

PropertyTypeDescription
Python projectready

Generated or restored files are available.

Changes not applieddirty

At least one Python file changed after the baseline.

Graph changedstale

The visual graph changed after the Python baseline was created.

Review Python changesmerge

Shows proposed changes and any same-path conflicts.

Three-way merge

Python base v12:ab12cd34
Current graph v14:ef56ab78

Graph changed: services.orderService.appearance.color
Python changed: dataConnectors.orderEvents.name
Result: both independent edits are retained