Skip to main content
Local validation, pack and upload, server admit (catalog / quota / preflight), queue, dispatch. Flags below are the knobs on that path.

Resources: —profile

--profile is the only resource entry point; see Resource Model for the semantics.

Hyperparameters: —set

Repeatable; types and ranges are validated locally against the method declaration, and typos fail immediately. Only affects this submission and does not modify experiment files.

Model and data

Model and data are declared in the config (base + model fragment); no extra arguments are usually needed at submission.

Project name

The console groups all runs under the name in starforge.yaml. Submission attaches it automatically; do not pass --project.

Per-job image override

Catalog methods and custom both accept --image; custom requires it. Resolution order: --image → console framework default → runtime registry → catalog. Tags work; pin a digest in production. The registry must be on the server allowlist. Logs follow stdout. Console curves need starforge.report in training code. The catalog custom recipe currently defaults to external observability, so those submissions still need --observability-url. Full cookbook: Custom training. Docker and allowlist: Custom images.

Provenance and waivers

The packager has a sensitive-file blacklist (.env, *.pem, id_rsa*, etc.); a hit refuses to package — secrets must not enter the job package, and the platform has a dedicated secret injection channel.

Post-training automatic actions: —then

Automatically runs export / evaluation after training succeeds; see Pipelines.

After submission

Common reasons the server may reject a submission (all with explicit errors): catalog handshake failure (stale lock), insufficient quota (waiting in the queue is not a failure), image registry not on the allowlist, HF gated model not authorized, batch size validation failure. See Troubleshooting.