Command-line interface

RFFM currently has two source-checkout command surfaces. They have different responsibilities and are not installed console scripts.

Bounded pretraining

Maturity: verified

python -m rffm.cli.main pretrain
  [--config-dir PATH]
  [--config-name NAME]
  --experiment NAME
  --run-id ID
  --attempt-id ID
  [--rffm-repository-root PATH]
  [--gcs-bucket-namespace-root PATH]
  [--source-revision SHA]
  [--container-image-uri URI]
  [--launch-config-uri URI]
  [--launch-config-sha256 SHA256]
  [--override KEY=VALUE]...

Option

Required

Contract

--config-dir

no

Hydra tree; defaults to configs

--config-name

no

Root config name; defaults to config

--experiment

yes

Readable experiment config-group name

--run-id

yes

Logical run identity and artifact path component

--attempt-id

yes

One attempt within the logical run

--rffm-repository-root

no

Root used to resolve repository-relative paths

--gcs-bucket-namespace-root

for gs:// locations

Directory whose immediate children are mounted bucket names

provenance options

no locally

Source, immutable image, provider launch URI, and launch hash recorded in manifests

--override

no

Repeatable Hydra dot-list override

The command writes one sorted JSON result to standard output after success. Configuration, data, validation, or training failures propagate as non-zero process failures. Non-finite training failures also attempt to publish a strict diagnostic and terminal failed manifest without hiding the primary error.

Preprocessing submission

Maturity: runtime-isolated

./rffm preprocess DATASET --env dev

This root script submits the selected dataset to the configured Google Cloud Workflow by invoking gcloud. It prints Workflow, Batch, log, and artifact identities needed by an operator. The command requires configured Google Cloud credentials and mutates external state; it is not part of the local documentation quickstart.

The only current environment is dev. The dataset argument is passed to the deployed workflow; the local parser does not claim that every registry entry is canonicalization-ready.

See Also