Compatibility Policy

PompoEngine is pre-1.0. The project can still make breaking changes, but every

breaking change must be explicit, reviewed, tested, and documented before it is

released.

Versioning

scripting APIs when required to reach a stable engine foundation.

types, command-line flags, or release manifest contents must include migration

or compatibility notes.

artifact evidence exists for the public repository.

Project Schema

data it may not understand.

previous schema and regression tests.

data cannot be preserved, the migration notes must call that out.

without data loss and fall back to `choiceBox` when no disabled-choice image

skin is configured.

invalid runtime playback settings, graph call cycles, unsupported locales, and

other data that would create ambiguous runtime behavior.

Visual Scripting and IR

`enabledVariable` bool variable gates. Older projects without these fields

remain valid and treat all choices as enabled.

with matching choice entries. Existing single-output `choice` nodes remain

valid when their choice entries reference a connected `choice` output.

the same Choice node. Broken or disconnected choice ports fail graph

validation with `GRAPH014` instead of being skipped at runtime.

validation with `GRAPH015`; use `enabledVariable` for choices that can become

available through runtime state.

validation with `GRAPH016` instead of crashing validation or disappearing at

runtime.

catalog, graph validation, compiler behavior, preview behavior, and tests

together.

runtime effects, and validation errors.

locales.

Runtime and Build Output

reject Avalonia, editor, build-tooling, CLI, test, Roslyn, source script, and

debug-symbol artifacts in release archives.

field change must be documented and covered by verification tests.

packaged-runtime smoke coverage for every supported locale.

C# Scripting API

even before 1.0.

`PompoCommandNode`, `PompoConditionNode`, `PompoRuntimeContext`,

`PompoAssetRef<T>`, or `PompoNodeInput` metadata must be documented in

`CHANGELOG.md`.

explicitly-permitted file system, network, process, reflection, and assembly

loading surfaces.

CLI and Automation

line unless a breaking change is documented.

release audit, or CI when they protect public publishing quality.

release usage changes.