Skill v1.0.0
currentLLM-judged scan90/100version: "1.0.0" name: pai-configure-inference description: Configures an exported policy's inference pipeline with Runtime manifest preprocessors, runners, and postprocessors. Use when writing preprocessor/postprocessor lists, choosing a registered type or class_path/init_args, resolving export artifacts, or fixing processor order for InferenceModel. DO NOT USE FOR implementing a built-in processor or registry entry in Runtime source. license: Apache-2.0
Configuring the Inference Pipeline
Pipeline order: observation → preprocessors → runner → postprocessors → action output. See the pre/post-processing guide and manifest schema.
Workflow
- Read the manifest slice for
preprocessors,postprocessors, andmodel.runner.
- Done when: you know whether specs use
type(registry short name) orclass_path.
- Prefer `type` for built-ins registered by your installed Runtime package (e.g. normalize/denormalize patterns in the docs).
- Use `class_path` + `init_args` for explicit classes:
```yaml preprocessors:
- class_path: physicalai.inference.preprocessors.StatsNormalizer
init_args: artifact: stats.safetensors ```
- Done when:
init_argspaths resolve relative to the export directory viaresolve_artifact.
- Validate the manifest with a representative export by constructing
InferenceModeland running a fake observation; verify preprocessing precedes the runner and postprocessing follows it.
- Done when: the model returns an action with the expected shape.
- Nested components in
init_argsmust stay within Runtime's configured depth limit; avoid cyclic specs.
Validation loop
Run a one-observation smoke inference in the user's project after each manifest change; do not connect robot hardware to test a config edit.
Required checks
- Processor order matches training/export semantics (normalization before runner, denormalization after).
- Artifact file names in manifests do not traverse paths (
.., absolute paths). - A named
typeexists in the installed package; useclass_pathonly for trusted local components. - Runner is
single_pass(SinglePass), the only built-in runner; do not invent other runner types. Its use stays consistent with thepredict_action_chunkvsselect_actiondocs.