Execution Guide¶
Chakra's execution layer decides how a version should run based on the selected strategy and runtime context.
Strategies¶
| Strategy | Behavior |
|---|---|
local |
Runs the version locally and keeps all work on the current machine. |
kaggle |
Pushes the notebook workflow to Kaggle for remote execution. |
auto |
Chooses the best available path using the execution engine's strategy rules. |
What run-execution does¶
- Loads the domain manifest and execution configuration.
- Chooses a strategy.
- Runs the selected execution path.
- Optionally pulls Kaggle outputs back into the repo.
Command shape:
python -m chakra --domain <domain> run-execution --version <version> [options]
Common options:
--strategy {local,kaggle,auto}--pull-outputs--dry-run--username--title
Local execution¶
Local execution is the default when you want to keep everything on the same machine. It is the best choice for:
- quick iteration
- debugging runner behavior
- deterministic smoke checks
Example:
python -m chakra --domain tabular_cls run-execution --version v1.0 --strategy local
Kaggle execution¶
Kaggle is useful when the domain is designed to run as a notebook workflow or when you want to use a managed remote environment.
The docs and the CLI keep the Kaggle path explicit so you can see when outputs are pushed or pulled.
Example:
python -m chakra --domain tabular_cls run-execution --version v1.0 --strategy kaggle --pull-outputs
Automatic selection¶
Use --strategy auto when you want Chakra to choose the route. The execution engine considers the manifest, the runtime environment, and the local smoke gate before it commits to a remote run.
Example:
python -m chakra --domain tabular_cls run-execution --version v1.0 --strategy auto
Smoke gate¶
Chakra's lifecycle includes a local smoke gate before heavier remote work is attempted. That keeps the system from pushing an obviously broken version to Kaggle.
If smoke fails, Chakra blocks the remote path and returns an execution error.
Dry-run behavior¶
Use --dry-run to preview execution decisions and commands without mutating remote state.
python -m chakra --domain tabular_cls run-execution --version v1.0 --strategy auto --dry-run
This is the safest way to verify strategy and routing before a real run.