Static checks utama
- GatewayScript syntax dan AST node yang diperbolehkan.
- Flow object harus static/compileable.
- Nama flow/state dan state awal valid.
- Target transition tersedia.
- Component yang dipakai tersedia.
- Menu/input/receive schema valid.
- Command trigger dan prefix valid.
- Command collision antar automation.
- Integration alias dependency.
- Capability availability dan credential binding.
- Unreachable state warning.
- Automatic loop protection.
Flow limits yang penting
| Item | Limit |
|---|---|
| Flow states | maksimum 120 |
| Menu choices per state | maksimum 50 |
| Receive sources | maksimum 10 |
| Capability actions/pipeline per state | maksimum 20 |
| Send actions per state | maksimum 10 |
| Conditions per state | maksimum 30 |
| Reminder per session | maksimum 10 |
| Command aliases per trigger | maksimum 64 |
| Prefix list global | maksimum 24 |
Script budgets
Declarative flow memakai budget lebih besar daripada custom script. Default project saat ini menetapkan flow hingga 128 KB / 6000 AST node dan custom script menggunakan budget yang lebih ketat dari config runtime. Runtime tetap memiliki action/transition guard.
Draft vs published
Automation dapat memiliki version history. Traffic production menggunakan `published_version_id`. Auto Menu juga membaca compiled registry dari version published, sehingga perubahan draft tidak muncul ke user sampai dipublish.
Error vs warning
Error harus diperbaiki sebelum publish. Warning seperti unreachable/no-op state menunjukkan kemungkinan desain yang salah tetapi dapat diperlakukan berbeda sesuai validasi UI/runtime.
Execution plan v6
Publish menyimpan sourceHash, executionKind, trigger registry, dependency integration/capability/credential, static flow definition, flow hashes dan runtime version. Worker memakai metadata ini sebagai fast path.