forge build and either validates them or executes your application. The Pulse CLI exposes two commands: pulse validate for pre-flight checks and pulse run for launching your application. This page is the complete reference for both commands, valid entrypoint signatures, exit codes, and Pulse diagnostic codes.
pulse validate
Validates all Forge artifacts produced by forge build without executing any application code. Use pulse validate to confirm that a build output is well-formed before deploying to a target environment.
package-root, Pulse uses the current working directory.
What it checks:
- Presence — all required artifact files exist under
build/and.forge/. - JSON readability — manifest and plan files are valid, parseable JSON.
- Schema versions — artifact schema versions match the expected Pulse version.
- Application kind — the
applicationfield inkairo.tomlis a recognised kind. - Entrypoint metadata — the declared entrypoint function is present and has a valid signature.
- Cross-artifact consistency — the build plan, output manifest, and IR handoff agree on module names, entrypoints, and artifact paths.
- File existence — every path referenced in the manifest resolves to an actual file on disk.
pulse validatedoes not execute any application code.- It does not run test cases or perform business-logic checks.
PLS000–PLS053
Run
pulse validate in your deployment pipeline after forge build and before pulse run to catch artifact problems early, without starting your application.pulse run
Loads and executes a Kairo application from pre-built Forge artifacts.
package-root, Pulse uses the current working directory.
What it does:
- Runs
pulse validateinternally as a pre-flight step. If validation fails, the application does not start. - Reads
[application].entryfromkairo.tomlto locate the entrypoint function. - Loads the compiled IR from
.forge/ir-handoff/. - Executes the entrypoint function.
- Returns the process exit code derived from the return value (see Exit Codes).
- Artifacts must have been produced by
forge buildfor the current source state. - The entrypoint function must match one of the valid signatures listed below.
kairo.tomlmust declare[application].entry.
Entrypoint Signatures
The function named by[application].entry in kairo.toml must match one of the following signatures. Pulse infers the exit-code behaviour from the return type.
Any signature not listed above is rejected by
pulse validate with a PLS diagnostic error.
Exit Codes
Exit code
3 is emitted by Pulse itself when pulse validate fails internally during pulse run. Your application code never runs in this case.Pulse Diagnostic Codes
All diagnostics produced by the Pulse runtime carry thePLS prefix followed by a three-digit number.
The full list of individual codes and their messages is available in the Pulse diagnostic reference.
