kind: "extension" and top-level runtime fields. Their source file is manifest.json; release tooling emits identical tabularium.json and <name>-universal.json assets after resolving the actual image digest.
Choose the validator
V2 requires
protocolVersion, sdkVersion and dataProtocolVersion all set to 2. V1 keeps all three at 1. Never migrate by editing version numbers alone. Use Echo’s manifest as a complete native example and replace any authoring image placeholder through the release workflow.
Runtime fields
Keep the
services object even when no host service is needed: use "services": { "required": [], "optional": [] }. Other unused array declarations can use []. The parser rejects unknown or privileged fields, duplicate keys, unsupported schema constructs, mutable images and invalid action/capability relationships. Runtime admission additionally checks installation state, project access, current grants, configuration and available host services.