Compile and Save

Compilation targets one complete Blueprint, never one Graph. Finalization is a separate terminal Patch so authored edits and their validation remain distinct:

door = target {
  domain: blueprint,
  asset: "/Game/Blueprints/BP_Door.BP_Door",
  id: "11111111-1111-1111-1111-111111111111"
}

patch door
compile
save

Valid terminal forms are:

patch door
compile

patch door
save

patch door
compile
save

They cannot be mixed with bindings or source mutations in the same Patch.

Compilation returns native Blueprint Status and ordered compiler messages as factual comments in the first canonical Result Text block. Structured validation or execution diagnostics remain a later independent block. Save persists only the exact owning Package. Graph and Widget edits therefore finish through an independent related Blueprint Target and explicit handoff after the authored Patch succeeds.