[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-physical-ai-image-attribute-augmentation":3,"mdc--rptimz-key":34,"related-org-nvidia-physical-ai-image-attribute-augmentation":2871,"related-repo-nvidia-physical-ai-image-attribute-augmentation":3029},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"physical-ai-image-attribute-augmentation","run image attribute augmentation on OSMO","Use when running image attribute augmentation and auto-labeling workflows on OSMO: flow selection, preflight, submit-time interpolation, monitoring, and output retrieval. Trigger keywords: people attribute search, Image Attribute Augmentation, person augmentation, attribute search, person re-identification, clothing augmentation, person crop augmentation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,19,20],{"name":13,"slug":14,"type":15},"Automation","automation","tag",{"name":17,"slug":18,"type":15},"Images","images",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Computer Vision","computer-vision",24,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysical-ai-data-factory","2026-08-05T05:58:23.166103","CC-BY-4.0 AND Apache-2.0",5,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Synthetic Data Generation Workflows for Physical AI","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fphysical-ai-data-factory\u002Ftree\u002FHEAD\u002Fskills\u002Fphysical-ai-image-attribute-augmentation","---\nname: physical-ai-image-attribute-augmentation\ndescription: >-\n  Use when running image attribute augmentation and\n  auto-labeling workflows on OSMO: flow selection, preflight, submit-time\n  interpolation, monitoring, and output retrieval. Trigger keywords: people\n  attribute search, Image Attribute Augmentation, person augmentation, attribute search, person\n  re-identification, clothing augmentation, person crop augmentation.\nlicense: CC-BY-4.0 AND Apache-2.0\nmetadata:\n  owner: NVIDIA\n  service: physical-ai-data-factory\n  version: 1.0.0\n  reviewed: '2026-06-05'\n  author: NVIDIA Physical AI Team \u003Cphysical-ai@nvidia.com>\n  tags:\n    - physical-ai\n    - image-attribute-augmentation\n    - person-augmentation\n    - auto-labeling\n    - image-edit\n---\n\n# Physical AI Image Attribute Augmentation Workflow Orchestrator\n\nDefault workflow skill for Image Attribute Augmentation execution on OSMO. It owns flow selection,\npreflight, submit-time interpolation, monitoring, and output retrieval.\n\n## Purpose\n\nRun the Image Attribute Augmentation and auto-labeling pipeline safely and\nreproducibly from preflight to output download.\n\nThe Image Attribute Augmentation pipeline augments the **subject** in existing\ncrop datasets by generating controlled appearance variations (image-domain) and\nsynonymous attribute captions (text-domain). The subject is a person today\n(clothing\u002Fappearance attributes), but the same pipeline generalizes to other\nsubjects — e.g. robots, forklifts, or vehicles in a simulation. It uses the\n`paidf-augmentation` container for image-edit augmentation with MCQ\nverification, and the `paidf-auto-labeling` container for subject-attribute\ncaptioning (currently the shipped `person_attributes` question bank).\n\nDo NOT use this skill for container-internal tuning-only questions.\n\n## Prerequisites\n\nConfirm these before running preflight or any submit. Missing required secrets\nsurface as `USER_INPUT_REQUIRED:` from `scripts\u002Fpreflight_credentials.sh`.\n\n| Requirement | How it is satisfied | Used for |\n|---|---|---|\n| NGC API key (optional) | `NGC_API_KEY`, `NGC_CLI_API_KEY`, or compatible `nvapi-*` token | Optional for `nvcr_io` credential refresh; default Image Attribute Augmentation image refs are public |\n| Hugging Face token | `HF_TOKEN` (or `HUGGING_FACE_HUB_TOKEN`), or a cached token at `~\u002F.cache\u002Fhuggingface\u002Ftoken` | Creates the OSMO `hf_token` credential |\n| OSMO CLI access | `osmo` on `PATH`, logged in, with a default profile and a registered DATA credential profile matching `storage_url` | Submitting\u002Fmonitoring workflows and listing\u002Fdownloading objects |\n| GPU pool | At least one `ONLINE` pool in `osmo pool list --mode free` | Scheduling setup + worker tasks |\n| Image Edit endpoint | In-cluster NIM `qwen-image-edit-2511` (reused if healthy, else deployed via the NIM operator); external opt-in via `image_edit_url` | Image-domain augmentation |\n| VLM endpoint | In-cluster NIM `qwen3-vl` (shared with VDA); external opt-in via `vlm_url` | MCQ verification and person-attribute captioning |\n| LLM endpoint | In-cluster NIM `qwen25-14b` (shared with VDA); external opt-in via `llm_url` | MCQ question generation |\n\n## Instructions\n\nExecute these as an ordered sequence of gates. Each **Gate** must pass before\ncontinuing; on failure, stop and resolve it (do not skip ahead or submit).\n\n1. **Gate — Select the workflow.** Map the user's intent to exactly one flow\n   using the \"Pick the right workflow\" table below: augment\u002Fimage-edit only →\n   `augmentation`; caption\u002Flabel only → `auto_labeling`; full augment + caption\n   → `e2e`. Default to `e2e` **only** when the request is the full pipeline or\n   genuinely ambiguous — never default past an explicit \"augment only\" or\n   \"label only\" request, or you run the wrong pipeline.\n2. **Provide a tentative execution-time overview** before starting run actions.\n3. **Gate — Derive the dataset source.** Split the dataset URL at the\n   `\u002Fdatasets\u002F` segment: the part **before** it is `storage_url`, the part\n   **after** it is `dataset`. The workflow re-inserts that segment\n   (`{{storage_url}}\u002Fdatasets\u002F{{dataset}}`), so put `\u002Fdatasets\u002F` in **neither**\n   value — including it duplicates the path and the submit fails.\n   Example: `s3:\u002F\u002Fmetro-pas\u002Fdatasets\u002Freid-crops` → `storage_url=s3:\u002F\u002Fmetro-pas`,\n   `dataset=reid-crops`. Never guess or reuse a stale `storage_url`; if no\n   dataset is provided, ask for one. Do not proceed without both values.\n4. **Gate — Inference endpoints ready (non-negotiable).** Before submit, verify\n   each required NIM endpoint is healthy: `qwen-image-edit-2511` (image edit),\n   `qwen3-vl` (VLM), `qwen25-14b` (LLM). For any that is missing\u002Funhealthy,\n   deploy it once via `references\u002Fnim\u002FREADME.md` (a prerequisite, not a user\n   decision — do not pause to ask), then re-check readiness up to 3 times over\n   ~10 minutes. **Stop condition:** if an endpoint is still unhealthy after that\n   bound, do not retry further and do not submit — report the failing endpoint\n   and its deploy logs to the user and stop. Proceed only when all three respond\n   healthy.\n5. **Gate — Preflight and readiness.** Run\n   `scripts\u002Fpreflight_credentials.sh --workflow assets\u002Fconfigs\u002Fosmo\u002F\u003Cflow>.yaml`\n   and read the result. **PASS →** continue. If the output contains\n   `USER_INPUT_REQUIRED:`, ask one concise unblock question and re-run. Do not\n   submit until preflight passes.\n6. **Gate — Validate custom inputs (security).** Treat `cookbook` and every\n   `--set-string` value as untrusted. Accept only a known cookbook name and\n   values with no shell metacharacters (`;`, `|`, `&`, `$`, backticks, quotes,\n   spaces, newlines). **On any invalid value → stop, report which value was\n   rejected, and do not submit.** Only when every value passes → continue to\n   step 7.\n7. **Submit** the workflow with the validated interpolation values, then monitor\n   to completion.\n8. **Retrieve outputs** and summarize task outcomes.\n\nUse `run_script(...)` for script execution. Canonical examples:\n\n```python\nrun_script(\"bash scripts\u002Fpreflight_credentials.sh --workflow assets\u002Fconfigs\u002Fosmo\u002Fe2e.yaml\")\n```\n\n## Available Scripts\n\nUse script-level `--help` for exact arguments.\n\n| Script | Role |\n|---|---|\n| `scripts\u002Fpreflight_credentials.sh` | Secrets\u002Fcontrol-plane preflight and workflow image access checks |\n| `scripts\u002Faugmentation_worker.sh` | Image-edit augmentation worker (preprocess, config gen, augment, post-process) |\n| `scripts\u002Fauto_labeling_worker.sh` | Person-attribute captioning worker |\n| `scripts\u002Fendpoint_common.sh` | Shared endpoint health\u002Fauth helpers |\n\n## Supported Flows\n\n| Flow | OSMO YAML | Group sequence | Typical use |\n|---|---|---|---|\n| `e2e` | `assets\u002Fconfigs\u002Fosmo\u002Fe2e.yaml` | setup -> augmentation -> auto_labeling | Full pipeline: augment person crops then generate captions |\n| `augmentation` | `assets\u002Fconfigs\u002Fosmo\u002Faugmentation.yaml` | setup -> augmentation | Image-edit augmentation only, no captioning |\n| `auto_labeling` | `assets\u002Fconfigs\u002Fosmo\u002Fauto_labeling.yaml` | setup -> auto_labeling | Captioning only on pre-augmented person crops |\n\n### Pick the right workflow for the user's request\n\n| User intent | Workflow |\n|---|---|\n| \"Augment person crops and generate captions\" \u002F \"full Image Attribute Augmentation pipeline\" | `e2e` |\n| \"Generate clothing variations\" \u002F \"augment only\" \u002F \"image edit\" | `augmentation` |\n| \"Caption augmented images\" \u002F \"generate search queries\" \u002F \"label only\" | `auto_labeling` |\n\n## Disambiguation: handle vague requests before committing\n\nDefault to autonomy: ask only when missing information blocks execution.\n\n### Autonomous defaults (do NOT ask)\n\n- Select the flow per Instructions Gate 1; default to `e2e` only when the request is the full pipeline or ambiguous (not for explicit augment-only \u002F label-only).\n- If cookbook is not specified, default to `default`.\n- If `n_augmentations` is not specified, default to `3`.\n- After any stage completes successfully, continue to the next stage immediately.\n\n### Triggers that should pause for disambiguation\n\n| Missing input | Why it matters | Ask |\n|---|---|---|\n| `USER_INPUT_REQUIRED` from preflight | Required secret is missing | Ask one concise unblock question |\n| Storage backend prefix cannot be derived | Wrong scheme causes runtime storage auth mismatch | \"What is the backend-native root prefix for this run?\" |\n| No ONLINE GPU pool\u002Fplatform | Workflow cannot schedule | \"Which GPU pool\u002Fplatform should this run target?\" |\n| NIM deploy fails and no external URLs given | Workers cannot connect to models | \"Provide Image Edit \u002F VLM \u002F LLM endpoint URLs, or grant GPU capacity for the NIM operator deploy.\" |\n\n## Step 0: Select Flow and Gather Inputs\n\n### Input data policy\n\n- Image Attribute Augmentation requires person-crop images organized as `\u003Cperson_id>\u002F\u003Cview>.jpg` subdirectories.\n- Always preserve user-provided dataset inputs as first-class.\n- Never replace an explicit user dataset with demo assets.\n- If no dataset is provided, ask for one (Image Attribute Augmentation has no built-in demo dataset).\n\nCollect only missing values:\n\n1. Dataset source (`storage_url` + `dataset`) — a **derived** value: split the\n   dataset URL at `\u002Fdatasets\u002F` per Instructions Gate 3\n   (`s3:\u002F\u002Fmetro-pas\u002Fdatasets\u002Freid-crops` → `storage_url=s3:\u002F\u002Fmetro-pas`,\n   `dataset=reid-crops`). Put `\u002Fdatasets\u002F` in neither value; never guess.\n2. Flow — select per Instructions Gate 1 (augment-only → `augmentation`, label-only → `auto_labeling`, else `e2e`).\n3. OSMO `gpu_platform` (auto-select when unambiguous).\n4. Endpoint URLs for Image Edit, VLM, and LLM — optional; default to in-cluster\n   NIMs and only set for external endpoints.\n5. Number of augmentations per person ID (default: 3).\n\nGenerate run stamp before each submit:\n\n```bash\nSTAMP=$(cat \u002Fproc\u002Fsys\u002Fkernel\u002Frandom\u002Fuuid | cut -c1-8)\nRUN_ID=\"run-$STAMP\"\n```\n\n## Execution Time Overview (required before run)\n\nBefore running any mutating command, provide a short ETA overview.\n\nBaseline ranges:\n\n| Phase | Typical duration |\n|---|---|\n| Credentials + preflight | ~1-2 min |\n| Workflow submit + queue\u002Fstart | ~1-3 min |\n\nWorkflow runtime (depends on dataset size and endpoint latency):\n\n| Flow | Per-image time | Typical dataset (100 images, 3 augs) |\n|---|---|---|\n| `augmentation` | ~2.5-3 min\u002Fimage | ~4-5 hours |\n| `auto_labeling` | ~1-2 min\u002Fimage | ~2-3 hours |\n| `e2e` | ~3.5-5 min\u002Fimage | ~6-8 hours |\n\n## Common Preconditions (all flows)\n\n1. **Credential and control-plane preflight**\n\n   ```bash\n   bash scripts\u002Fpreflight_credentials.sh --workflow assets\u002Fconfigs\u002Fosmo\u002F\u003Cflow>.yaml\n   ```\n\n   If output contains `USER_INPUT_REQUIRED:`, ask one concise unblock question.\n\n2. **Storage interpolation policy**\n\n   `storage_url` must be derived from the actual dataset\u002Fupload backend.\n   Never silently default to stale values on mismatched backends.\n\n3. **Inference policy (non-negotiable)** — endpoint readiness is executed at\n   **Instructions Gate 4** (verify → deploy once → bounded re-check → stop and\n   escalate on failure). This section only adds the standing constraints:\n\n   - Image Attribute Augmentation does NOT launch inference servers inside the OSMO workflow; workers\n     consume the `image_edit_url` \u002F `vlm_url` \u002F `llm_url` endpoints.\n   - External endpoints are opt-in only (explicit request or explicit URLs);\n     only then override the `*_url` values at submit.\n   - Never scale down\u002Fdelete existing NIMs to free GPUs.\n\n## Submit (all flows)\n\nEvery flow uses the same submit shape; only the workflow YAML changes.\n\n```bash\nSKILLS_DIR=\"$(cd \"$(git rev-parse --show-toplevel)\u002Fskills\u002Fphysical-ai-image-attribute-augmentation\" && pwd)\"\nSTAMP=$(cat \u002Fproc\u002Fsys\u002Fkernel\u002Frandom\u002Fuuid | cut -c1-8)\nosmo workflow submit assets\u002Fconfigs\u002Fosmo\u002F\u003Cflow>.yaml \\\n  --pool \u003Cpool> \\\n  --set-string \\\n    dataset=\u003Cdataset> \\\n    run_id=run-$STAMP \\\n    storage_url=\u003Cbackend-prefix> \\\n    gpu_platform=\u003Cgpu-platform> \\\n    skills_dir=\"$SKILLS_DIR\"\n```\n\nEndpoints default to the in-cluster NIMs (`image_edit_url` \u002F `vlm_url` \u002F\n`llm_url`); deploy\u002Freuse them per the Inference policy above. Do not pass these\nunless using external endpoints.\n\nCompatibility note:\n- Use exactly one `--set-string` flag and pass all key\u002Fvalue pairs after it.\n- Do not repeat `--set`\u002F`--set-string` flags in the same command.\n\nCommon optional overrides (append to the same `--set-string` list). These\nvalues are passed through to the augmentation worker and used to build its\ncommand, so validate them first per Instructions Gate 6 — accept only a known\n`cookbook` name and values free of shell metacharacters:\n\n```bash\ncookbook=\u003Ccookbook_name> \\\nn_augmentations=\u003Ccount> \\\nimage_edit_url=\u003Cimage-edit-endpoint> \\\nvlm_url=\u003Cvlm-endpoint> \\\nllm_url=\u003Cllm-endpoint>\n```\n\n## OSMO Monitoring\n\n```bash\n# Workflow status + task states\nosmo workflow query \u003Cworkflow_id> --format-type json \\\n  | jq '{status, tasks: [.groups[].tasks[] | {name, status, exit_code}]}'\n\n# Logs for a specific task\nosmo workflow logs \u003Cworkflow_id> --task \u003Ctask_name> -n 200\n\n# Output retrieval\nosmo data list --no-pager \u003Coutput_url>\nosmo data download \u003Coutput_url> \u003Clocal_dir>\u002F\n```\n\nFor runs expected to exceed two minutes, send heartbeat updates at least every\ntwo minutes.\n\n## Post-Run Output\n\nAfter successful completion, the output directory contains:\n\nFor `augmentation` \u002F `e2e`:\n- `\u003Cperson_id>\u002Faug_\u003Cn>\u002Foutput.jpg` — augmented multi-pane image\n- `\u003Cperson_id>\u002Faug_\u003Cn>\u002Foutput.txt` — natural-language caption\n- `\u003Cperson_id>\u002Faug_\u003Cn>\u002Foutput_metadata.json` — verification results\n- `dataset\u002Faugmented_data.json` — structured dataset with attributes and queries\n- `dataset\u002Faugmented_imgs\u002F` — split per-view crops\n\nFor `auto_labeling`:\n- `caption_\u003Cid>\u002Ftask\u002Fopen_qa.json` — person-attribute captions grouped by question bank\n\n## Supporting files\n\nUse these canonical locations:\n\n- Workflows: `assets\u002Fconfigs\u002Fosmo\u002F*.yaml`\n- Runtime scripts: `scripts\u002F*.sh`\n- Flow walkthroughs: `references\u002Fflows\u002F*.md`\n- Setup and triage: `references\u002Fsetup.md`, `references\u002Ftroubleshooting.md`\n- Images: `references\u002Fcontainer-images.md`\n- Cookbook tuning: `assets\u002Fcookbooks\u002Fdefault\u002FREADME.md`\n",{"data":35,"body":47},{"name":4,"description":6,"license":26,"metadata":36},{"owner":9,"service":37,"version":38,"reviewed":39,"author":40,"tags":41},"physical-ai-data-factory","1.0.0","2026-06-05","NVIDIA Physical AI Team \u003Cphysical-ai@nvidia.com>",[42,43,44,45,46],"physical-ai","image-attribute-augmentation","person-augmentation","auto-labeling","image-edit",{"type":48,"children":49},"root",[50,59,65,72,77,115,120,126,147,437,443,455,777,790,811,817,830,919,925,1047,1054,1124,1130,1135,1141,1194,1200,1305,1311,1317,1348,1353,1464,1469,1559,1565,1570,1575,1623,1628,1717,1723,1882,1888,1893,2223,2248,2253,2288,2307,2371,2377,2662,2667,2673,2678,2696,2754,2764,2778,2784,2789,2865],{"type":51,"tag":52,"props":53,"children":55},"element","h1",{"id":54},"physical-ai-image-attribute-augmentation-workflow-orchestrator",[56],{"type":57,"value":58},"text","Physical AI Image Attribute Augmentation Workflow Orchestrator",{"type":51,"tag":60,"props":61,"children":62},"p",{},[63],{"type":57,"value":64},"Default workflow skill for Image Attribute Augmentation execution on OSMO. It owns flow selection,\npreflight, submit-time interpolation, monitoring, and output retrieval.",{"type":51,"tag":66,"props":67,"children":69},"h2",{"id":68},"purpose",[70],{"type":57,"value":71},"Purpose",{"type":51,"tag":60,"props":73,"children":74},{},[75],{"type":57,"value":76},"Run the Image Attribute Augmentation and auto-labeling pipeline safely and\nreproducibly from preflight to output download.",{"type":51,"tag":60,"props":78,"children":79},{},[80,82,88,90,97,99,105,107,113],{"type":57,"value":81},"The Image Attribute Augmentation pipeline augments the ",{"type":51,"tag":83,"props":84,"children":85},"strong",{},[86],{"type":57,"value":87},"subject",{"type":57,"value":89}," in existing\ncrop datasets by generating controlled appearance variations (image-domain) and\nsynonymous attribute captions (text-domain). The subject is a person today\n(clothing\u002Fappearance attributes), but the same pipeline generalizes to other\nsubjects — e.g. robots, forklifts, or vehicles in a simulation. It uses the\n",{"type":51,"tag":91,"props":92,"children":94},"code",{"className":93},[],[95],{"type":57,"value":96},"paidf-augmentation",{"type":57,"value":98}," container for image-edit augmentation with MCQ\nverification, and the ",{"type":51,"tag":91,"props":100,"children":102},{"className":101},[],[103],{"type":57,"value":104},"paidf-auto-labeling",{"type":57,"value":106}," container for subject-attribute\ncaptioning (currently the shipped ",{"type":51,"tag":91,"props":108,"children":110},{"className":109},[],[111],{"type":57,"value":112},"person_attributes",{"type":57,"value":114}," question bank).",{"type":51,"tag":60,"props":116,"children":117},{},[118],{"type":57,"value":119},"Do NOT use this skill for container-internal tuning-only questions.",{"type":51,"tag":66,"props":121,"children":123},{"id":122},"prerequisites",[124],{"type":57,"value":125},"Prerequisites",{"type":51,"tag":60,"props":127,"children":128},{},[129,131,137,139,145],{"type":57,"value":130},"Confirm these before running preflight or any submit. Missing required secrets\nsurface as ",{"type":51,"tag":91,"props":132,"children":134},{"className":133},[],[135],{"type":57,"value":136},"USER_INPUT_REQUIRED:",{"type":57,"value":138}," from ",{"type":51,"tag":91,"props":140,"children":142},{"className":141},[],[143],{"type":57,"value":144},"scripts\u002Fpreflight_credentials.sh",{"type":57,"value":146},".",{"type":51,"tag":148,"props":149,"children":150},"table",{},[151,175],{"type":51,"tag":152,"props":153,"children":154},"thead",{},[155],{"type":51,"tag":156,"props":157,"children":158},"tr",{},[159,165,170],{"type":51,"tag":160,"props":161,"children":162},"th",{},[163],{"type":57,"value":164},"Requirement",{"type":51,"tag":160,"props":166,"children":167},{},[168],{"type":57,"value":169},"How it is satisfied",{"type":51,"tag":160,"props":171,"children":172},{},[173],{"type":57,"value":174},"Used for",{"type":51,"tag":176,"props":177,"children":178},"tbody",{},[179,228,274,312,344,376,407],{"type":51,"tag":156,"props":180,"children":181},{},[182,188,215],{"type":51,"tag":183,"props":184,"children":185},"td",{},[186],{"type":57,"value":187},"NGC API key (optional)",{"type":51,"tag":183,"props":189,"children":190},{},[191,197,199,205,207,213],{"type":51,"tag":91,"props":192,"children":194},{"className":193},[],[195],{"type":57,"value":196},"NGC_API_KEY",{"type":57,"value":198},", ",{"type":51,"tag":91,"props":200,"children":202},{"className":201},[],[203],{"type":57,"value":204},"NGC_CLI_API_KEY",{"type":57,"value":206},", or compatible ",{"type":51,"tag":91,"props":208,"children":210},{"className":209},[],[211],{"type":57,"value":212},"nvapi-*",{"type":57,"value":214}," token",{"type":51,"tag":183,"props":216,"children":217},{},[218,220,226],{"type":57,"value":219},"Optional for ",{"type":51,"tag":91,"props":221,"children":223},{"className":222},[],[224],{"type":57,"value":225},"nvcr_io",{"type":57,"value":227}," credential refresh; default Image Attribute Augmentation image refs are public",{"type":51,"tag":156,"props":229,"children":230},{},[231,236,261],{"type":51,"tag":183,"props":232,"children":233},{},[234],{"type":57,"value":235},"Hugging Face token",{"type":51,"tag":183,"props":237,"children":238},{},[239,245,247,253,255],{"type":51,"tag":91,"props":240,"children":242},{"className":241},[],[243],{"type":57,"value":244},"HF_TOKEN",{"type":57,"value":246}," (or ",{"type":51,"tag":91,"props":248,"children":250},{"className":249},[],[251],{"type":57,"value":252},"HUGGING_FACE_HUB_TOKEN",{"type":57,"value":254},"), or a cached token at ",{"type":51,"tag":91,"props":256,"children":258},{"className":257},[],[259],{"type":57,"value":260},"~\u002F.cache\u002Fhuggingface\u002Ftoken",{"type":51,"tag":183,"props":262,"children":263},{},[264,266,272],{"type":57,"value":265},"Creates the OSMO ",{"type":51,"tag":91,"props":267,"children":269},{"className":268},[],[270],{"type":57,"value":271},"hf_token",{"type":57,"value":273}," credential",{"type":51,"tag":156,"props":275,"children":276},{},[277,282,307],{"type":51,"tag":183,"props":278,"children":279},{},[280],{"type":57,"value":281},"OSMO CLI access",{"type":51,"tag":183,"props":283,"children":284},{},[285,291,293,299,301],{"type":51,"tag":91,"props":286,"children":288},{"className":287},[],[289],{"type":57,"value":290},"osmo",{"type":57,"value":292}," on ",{"type":51,"tag":91,"props":294,"children":296},{"className":295},[],[297],{"type":57,"value":298},"PATH",{"type":57,"value":300},", logged in, with a default profile and a registered DATA credential profile matching ",{"type":51,"tag":91,"props":302,"children":304},{"className":303},[],[305],{"type":57,"value":306},"storage_url",{"type":51,"tag":183,"props":308,"children":309},{},[310],{"type":57,"value":311},"Submitting\u002Fmonitoring workflows and listing\u002Fdownloading objects",{"type":51,"tag":156,"props":313,"children":314},{},[315,320,339],{"type":51,"tag":183,"props":316,"children":317},{},[318],{"type":57,"value":319},"GPU pool",{"type":51,"tag":183,"props":321,"children":322},{},[323,325,331,333],{"type":57,"value":324},"At least one ",{"type":51,"tag":91,"props":326,"children":328},{"className":327},[],[329],{"type":57,"value":330},"ONLINE",{"type":57,"value":332}," pool in ",{"type":51,"tag":91,"props":334,"children":336},{"className":335},[],[337],{"type":57,"value":338},"osmo pool list --mode free",{"type":51,"tag":183,"props":340,"children":341},{},[342],{"type":57,"value":343},"Scheduling setup + worker tasks",{"type":51,"tag":156,"props":345,"children":346},{},[347,352,371],{"type":51,"tag":183,"props":348,"children":349},{},[350],{"type":57,"value":351},"Image Edit endpoint",{"type":51,"tag":183,"props":353,"children":354},{},[355,357,363,365],{"type":57,"value":356},"In-cluster NIM ",{"type":51,"tag":91,"props":358,"children":360},{"className":359},[],[361],{"type":57,"value":362},"qwen-image-edit-2511",{"type":57,"value":364}," (reused if healthy, else deployed via the NIM operator); external opt-in via ",{"type":51,"tag":91,"props":366,"children":368},{"className":367},[],[369],{"type":57,"value":370},"image_edit_url",{"type":51,"tag":183,"props":372,"children":373},{},[374],{"type":57,"value":375},"Image-domain augmentation",{"type":51,"tag":156,"props":377,"children":378},{},[379,384,402],{"type":51,"tag":183,"props":380,"children":381},{},[382],{"type":57,"value":383},"VLM endpoint",{"type":51,"tag":183,"props":385,"children":386},{},[387,388,394,396],{"type":57,"value":356},{"type":51,"tag":91,"props":389,"children":391},{"className":390},[],[392],{"type":57,"value":393},"qwen3-vl",{"type":57,"value":395}," (shared with VDA); external opt-in via ",{"type":51,"tag":91,"props":397,"children":399},{"className":398},[],[400],{"type":57,"value":401},"vlm_url",{"type":51,"tag":183,"props":403,"children":404},{},[405],{"type":57,"value":406},"MCQ verification and person-attribute captioning",{"type":51,"tag":156,"props":408,"children":409},{},[410,415,432],{"type":51,"tag":183,"props":411,"children":412},{},[413],{"type":57,"value":414},"LLM endpoint",{"type":51,"tag":183,"props":416,"children":417},{},[418,419,425,426],{"type":57,"value":356},{"type":51,"tag":91,"props":420,"children":422},{"className":421},[],[423],{"type":57,"value":424},"qwen25-14b",{"type":57,"value":395},{"type":51,"tag":91,"props":427,"children":429},{"className":428},[],[430],{"type":57,"value":431},"llm_url",{"type":51,"tag":183,"props":433,"children":434},{},[435],{"type":57,"value":436},"MCQ question generation",{"type":51,"tag":66,"props":438,"children":440},{"id":439},"instructions",[441],{"type":57,"value":442},"Instructions",{"type":51,"tag":60,"props":444,"children":445},{},[446,448,453],{"type":57,"value":447},"Execute these as an ordered sequence of gates. Each ",{"type":51,"tag":83,"props":449,"children":450},{},[451],{"type":57,"value":452},"Gate",{"type":57,"value":454}," must pass before\ncontinuing; on failure, stop and resolve it (do not skip ahead or submit).",{"type":51,"tag":456,"props":457,"children":458},"ol",{},[459,508,518,617,663,695,757,767],{"type":51,"tag":460,"props":461,"children":462},"li",{},[463,468,470,476,478,484,486,492,494,499,501,506],{"type":51,"tag":83,"props":464,"children":465},{},[466],{"type":57,"value":467},"Gate — Select the workflow.",{"type":57,"value":469}," Map the user's intent to exactly one flow\nusing the \"Pick the right workflow\" table below: augment\u002Fimage-edit only →\n",{"type":51,"tag":91,"props":471,"children":473},{"className":472},[],[474],{"type":57,"value":475},"augmentation",{"type":57,"value":477},"; caption\u002Flabel only → ",{"type":51,"tag":91,"props":479,"children":481},{"className":480},[],[482],{"type":57,"value":483},"auto_labeling",{"type":57,"value":485},"; full augment + caption\n→ ",{"type":51,"tag":91,"props":487,"children":489},{"className":488},[],[490],{"type":57,"value":491},"e2e",{"type":57,"value":493},". Default to ",{"type":51,"tag":91,"props":495,"children":497},{"className":496},[],[498],{"type":57,"value":491},{"type":57,"value":500}," ",{"type":51,"tag":83,"props":502,"children":503},{},[504],{"type":57,"value":505},"only",{"type":57,"value":507}," when the request is the full pipeline or\ngenuinely ambiguous — never default past an explicit \"augment only\" or\n\"label only\" request, or you run the wrong pipeline.",{"type":51,"tag":460,"props":509,"children":510},{},[511,516],{"type":51,"tag":83,"props":512,"children":513},{},[514],{"type":57,"value":515},"Provide a tentative execution-time overview",{"type":57,"value":517}," before starting run actions.",{"type":51,"tag":460,"props":519,"children":520},{},[521,526,528,534,536,541,543,548,550,555,556,562,564,570,572,577,579,584,586,592,594,600,602,608,610,615],{"type":51,"tag":83,"props":522,"children":523},{},[524],{"type":57,"value":525},"Gate — Derive the dataset source.",{"type":57,"value":527}," Split the dataset URL at the\n",{"type":51,"tag":91,"props":529,"children":531},{"className":530},[],[532],{"type":57,"value":533},"\u002Fdatasets\u002F",{"type":57,"value":535}," segment: the part ",{"type":51,"tag":83,"props":537,"children":538},{},[539],{"type":57,"value":540},"before",{"type":57,"value":542}," it is ",{"type":51,"tag":91,"props":544,"children":546},{"className":545},[],[547],{"type":57,"value":306},{"type":57,"value":549},", the part\n",{"type":51,"tag":83,"props":551,"children":552},{},[553],{"type":57,"value":554},"after",{"type":57,"value":542},{"type":51,"tag":91,"props":557,"children":559},{"className":558},[],[560],{"type":57,"value":561},"dataset",{"type":57,"value":563},". The workflow re-inserts that segment\n(",{"type":51,"tag":91,"props":565,"children":567},{"className":566},[],[568],{"type":57,"value":569},"{{storage_url}}\u002Fdatasets\u002F{{dataset}}",{"type":57,"value":571},"), so put ",{"type":51,"tag":91,"props":573,"children":575},{"className":574},[],[576],{"type":57,"value":533},{"type":57,"value":578}," in ",{"type":51,"tag":83,"props":580,"children":581},{},[582],{"type":57,"value":583},"neither",{"type":57,"value":585},"\nvalue — including it duplicates the path and the submit fails.\nExample: ",{"type":51,"tag":91,"props":587,"children":589},{"className":588},[],[590],{"type":57,"value":591},"s3:\u002F\u002Fmetro-pas\u002Fdatasets\u002Freid-crops",{"type":57,"value":593}," → ",{"type":51,"tag":91,"props":595,"children":597},{"className":596},[],[598],{"type":57,"value":599},"storage_url=s3:\u002F\u002Fmetro-pas",{"type":57,"value":601},",\n",{"type":51,"tag":91,"props":603,"children":605},{"className":604},[],[606],{"type":57,"value":607},"dataset=reid-crops",{"type":57,"value":609},". Never guess or reuse a stale ",{"type":51,"tag":91,"props":611,"children":613},{"className":612},[],[614],{"type":57,"value":306},{"type":57,"value":616},"; if no\ndataset is provided, ask for one. Do not proceed without both values.",{"type":51,"tag":460,"props":618,"children":619},{},[620,625,627,632,634,639,641,646,648,654,656,661],{"type":51,"tag":83,"props":621,"children":622},{},[623],{"type":57,"value":624},"Gate — Inference endpoints ready (non-negotiable).",{"type":57,"value":626}," Before submit, verify\neach required NIM endpoint is healthy: ",{"type":51,"tag":91,"props":628,"children":630},{"className":629},[],[631],{"type":57,"value":362},{"type":57,"value":633}," (image edit),\n",{"type":51,"tag":91,"props":635,"children":637},{"className":636},[],[638],{"type":57,"value":393},{"type":57,"value":640}," (VLM), ",{"type":51,"tag":91,"props":642,"children":644},{"className":643},[],[645],{"type":57,"value":424},{"type":57,"value":647}," (LLM). For any that is missing\u002Funhealthy,\ndeploy it once via ",{"type":51,"tag":91,"props":649,"children":651},{"className":650},[],[652],{"type":57,"value":653},"references\u002Fnim\u002FREADME.md",{"type":57,"value":655}," (a prerequisite, not a user\ndecision — do not pause to ask), then re-check readiness up to 3 times over\n~10 minutes. ",{"type":51,"tag":83,"props":657,"children":658},{},[659],{"type":57,"value":660},"Stop condition:",{"type":57,"value":662}," if an endpoint is still unhealthy after that\nbound, do not retry further and do not submit — report the failing endpoint\nand its deploy logs to the user and stop. Proceed only when all three respond\nhealthy.",{"type":51,"tag":460,"props":664,"children":665},{},[666,671,673,679,681,686,688,693],{"type":51,"tag":83,"props":667,"children":668},{},[669],{"type":57,"value":670},"Gate — Preflight and readiness.",{"type":57,"value":672}," Run\n",{"type":51,"tag":91,"props":674,"children":676},{"className":675},[],[677],{"type":57,"value":678},"scripts\u002Fpreflight_credentials.sh --workflow assets\u002Fconfigs\u002Fosmo\u002F\u003Cflow>.yaml",{"type":57,"value":680},"\nand read the result. ",{"type":51,"tag":83,"props":682,"children":683},{},[684],{"type":57,"value":685},"PASS →",{"type":57,"value":687}," continue. If the output contains\n",{"type":51,"tag":91,"props":689,"children":691},{"className":690},[],[692],{"type":57,"value":136},{"type":57,"value":694},", ask one concise unblock question and re-run. Do not\nsubmit until preflight passes.",{"type":51,"tag":460,"props":696,"children":697},{},[698,703,705,711,713,719,721,727,728,734,735,741,742,748,750,755],{"type":51,"tag":83,"props":699,"children":700},{},[701],{"type":57,"value":702},"Gate — Validate custom inputs (security).",{"type":57,"value":704}," Treat ",{"type":51,"tag":91,"props":706,"children":708},{"className":707},[],[709],{"type":57,"value":710},"cookbook",{"type":57,"value":712}," and every\n",{"type":51,"tag":91,"props":714,"children":716},{"className":715},[],[717],{"type":57,"value":718},"--set-string",{"type":57,"value":720}," value as untrusted. Accept only a known cookbook name and\nvalues with no shell metacharacters (",{"type":51,"tag":91,"props":722,"children":724},{"className":723},[],[725],{"type":57,"value":726},";",{"type":57,"value":198},{"type":51,"tag":91,"props":729,"children":731},{"className":730},[],[732],{"type":57,"value":733},"|",{"type":57,"value":198},{"type":51,"tag":91,"props":736,"children":738},{"className":737},[],[739],{"type":57,"value":740},"&",{"type":57,"value":198},{"type":51,"tag":91,"props":743,"children":745},{"className":744},[],[746],{"type":57,"value":747},"$",{"type":57,"value":749},", backticks, quotes,\nspaces, newlines). ",{"type":51,"tag":83,"props":751,"children":752},{},[753],{"type":57,"value":754},"On any invalid value → stop, report which value was\nrejected, and do not submit.",{"type":57,"value":756}," Only when every value passes → continue to\nstep 7.",{"type":51,"tag":460,"props":758,"children":759},{},[760,765],{"type":51,"tag":83,"props":761,"children":762},{},[763],{"type":57,"value":764},"Submit",{"type":57,"value":766}," the workflow with the validated interpolation values, then monitor\nto completion.",{"type":51,"tag":460,"props":768,"children":769},{},[770,775],{"type":51,"tag":83,"props":771,"children":772},{},[773],{"type":57,"value":774},"Retrieve outputs",{"type":57,"value":776}," and summarize task outcomes.",{"type":51,"tag":60,"props":778,"children":779},{},[780,782,788],{"type":57,"value":781},"Use ",{"type":51,"tag":91,"props":783,"children":785},{"className":784},[],[786],{"type":57,"value":787},"run_script(...)",{"type":57,"value":789}," for script execution. Canonical examples:",{"type":51,"tag":791,"props":792,"children":797},"pre",{"className":793,"code":794,"language":795,"meta":796,"style":796},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","run_script(\"bash scripts\u002Fpreflight_credentials.sh --workflow assets\u002Fconfigs\u002Fosmo\u002Fe2e.yaml\")\n","python","",[798],{"type":51,"tag":91,"props":799,"children":800},{"__ignoreMap":796},[801],{"type":51,"tag":802,"props":803,"children":806},"span",{"class":804,"line":805},"line",1,[807],{"type":51,"tag":802,"props":808,"children":809},{},[810],{"type":57,"value":794},{"type":51,"tag":66,"props":812,"children":814},{"id":813},"available-scripts",[815],{"type":57,"value":816},"Available Scripts",{"type":51,"tag":60,"props":818,"children":819},{},[820,822,828],{"type":57,"value":821},"Use script-level ",{"type":51,"tag":91,"props":823,"children":825},{"className":824},[],[826],{"type":57,"value":827},"--help",{"type":57,"value":829}," for exact arguments.",{"type":51,"tag":148,"props":831,"children":832},{},[833,849],{"type":51,"tag":152,"props":834,"children":835},{},[836],{"type":51,"tag":156,"props":837,"children":838},{},[839,844],{"type":51,"tag":160,"props":840,"children":841},{},[842],{"type":57,"value":843},"Script",{"type":51,"tag":160,"props":845,"children":846},{},[847],{"type":57,"value":848},"Role",{"type":51,"tag":176,"props":850,"children":851},{},[852,868,885,902],{"type":51,"tag":156,"props":853,"children":854},{},[855,863],{"type":51,"tag":183,"props":856,"children":857},{},[858],{"type":51,"tag":91,"props":859,"children":861},{"className":860},[],[862],{"type":57,"value":144},{"type":51,"tag":183,"props":864,"children":865},{},[866],{"type":57,"value":867},"Secrets\u002Fcontrol-plane preflight and workflow image access checks",{"type":51,"tag":156,"props":869,"children":870},{},[871,880],{"type":51,"tag":183,"props":872,"children":873},{},[874],{"type":51,"tag":91,"props":875,"children":877},{"className":876},[],[878],{"type":57,"value":879},"scripts\u002Faugmentation_worker.sh",{"type":51,"tag":183,"props":881,"children":882},{},[883],{"type":57,"value":884},"Image-edit augmentation worker (preprocess, config gen, augment, post-process)",{"type":51,"tag":156,"props":886,"children":887},{},[888,897],{"type":51,"tag":183,"props":889,"children":890},{},[891],{"type":51,"tag":91,"props":892,"children":894},{"className":893},[],[895],{"type":57,"value":896},"scripts\u002Fauto_labeling_worker.sh",{"type":51,"tag":183,"props":898,"children":899},{},[900],{"type":57,"value":901},"Person-attribute captioning worker",{"type":51,"tag":156,"props":903,"children":904},{},[905,914],{"type":51,"tag":183,"props":906,"children":907},{},[908],{"type":51,"tag":91,"props":909,"children":911},{"className":910},[],[912],{"type":57,"value":913},"scripts\u002Fendpoint_common.sh",{"type":51,"tag":183,"props":915,"children":916},{},[917],{"type":57,"value":918},"Shared endpoint health\u002Fauth helpers",{"type":51,"tag":66,"props":920,"children":922},{"id":921},"supported-flows",[923],{"type":57,"value":924},"Supported Flows",{"type":51,"tag":148,"props":926,"children":927},{},[928,954],{"type":51,"tag":152,"props":929,"children":930},{},[931],{"type":51,"tag":156,"props":932,"children":933},{},[934,939,944,949],{"type":51,"tag":160,"props":935,"children":936},{},[937],{"type":57,"value":938},"Flow",{"type":51,"tag":160,"props":940,"children":941},{},[942],{"type":57,"value":943},"OSMO YAML",{"type":51,"tag":160,"props":945,"children":946},{},[947],{"type":57,"value":948},"Group sequence",{"type":51,"tag":160,"props":950,"children":951},{},[952],{"type":57,"value":953},"Typical use",{"type":51,"tag":176,"props":955,"children":956},{},[957,987,1017],{"type":51,"tag":156,"props":958,"children":959},{},[960,968,977,982],{"type":51,"tag":183,"props":961,"children":962},{},[963],{"type":51,"tag":91,"props":964,"children":966},{"className":965},[],[967],{"type":57,"value":491},{"type":51,"tag":183,"props":969,"children":970},{},[971],{"type":51,"tag":91,"props":972,"children":974},{"className":973},[],[975],{"type":57,"value":976},"assets\u002Fconfigs\u002Fosmo\u002Fe2e.yaml",{"type":51,"tag":183,"props":978,"children":979},{},[980],{"type":57,"value":981},"setup -> augmentation -> auto_labeling",{"type":51,"tag":183,"props":983,"children":984},{},[985],{"type":57,"value":986},"Full pipeline: augment person crops then generate captions",{"type":51,"tag":156,"props":988,"children":989},{},[990,998,1007,1012],{"type":51,"tag":183,"props":991,"children":992},{},[993],{"type":51,"tag":91,"props":994,"children":996},{"className":995},[],[997],{"type":57,"value":475},{"type":51,"tag":183,"props":999,"children":1000},{},[1001],{"type":51,"tag":91,"props":1002,"children":1004},{"className":1003},[],[1005],{"type":57,"value":1006},"assets\u002Fconfigs\u002Fosmo\u002Faugmentation.yaml",{"type":51,"tag":183,"props":1008,"children":1009},{},[1010],{"type":57,"value":1011},"setup -> augmentation",{"type":51,"tag":183,"props":1013,"children":1014},{},[1015],{"type":57,"value":1016},"Image-edit augmentation only, no captioning",{"type":51,"tag":156,"props":1018,"children":1019},{},[1020,1028,1037,1042],{"type":51,"tag":183,"props":1021,"children":1022},{},[1023],{"type":51,"tag":91,"props":1024,"children":1026},{"className":1025},[],[1027],{"type":57,"value":483},{"type":51,"tag":183,"props":1029,"children":1030},{},[1031],{"type":51,"tag":91,"props":1032,"children":1034},{"className":1033},[],[1035],{"type":57,"value":1036},"assets\u002Fconfigs\u002Fosmo\u002Fauto_labeling.yaml",{"type":51,"tag":183,"props":1038,"children":1039},{},[1040],{"type":57,"value":1041},"setup -> auto_labeling",{"type":51,"tag":183,"props":1043,"children":1044},{},[1045],{"type":57,"value":1046},"Captioning only on pre-augmented person crops",{"type":51,"tag":1048,"props":1049,"children":1051},"h3",{"id":1050},"pick-the-right-workflow-for-the-users-request",[1052],{"type":57,"value":1053},"Pick the right workflow for the user's request",{"type":51,"tag":148,"props":1055,"children":1056},{},[1057,1073],{"type":51,"tag":152,"props":1058,"children":1059},{},[1060],{"type":51,"tag":156,"props":1061,"children":1062},{},[1063,1068],{"type":51,"tag":160,"props":1064,"children":1065},{},[1066],{"type":57,"value":1067},"User intent",{"type":51,"tag":160,"props":1069,"children":1070},{},[1071],{"type":57,"value":1072},"Workflow",{"type":51,"tag":176,"props":1074,"children":1075},{},[1076,1092,1108],{"type":51,"tag":156,"props":1077,"children":1078},{},[1079,1084],{"type":51,"tag":183,"props":1080,"children":1081},{},[1082],{"type":57,"value":1083},"\"Augment person crops and generate captions\" \u002F \"full Image Attribute Augmentation pipeline\"",{"type":51,"tag":183,"props":1085,"children":1086},{},[1087],{"type":51,"tag":91,"props":1088,"children":1090},{"className":1089},[],[1091],{"type":57,"value":491},{"type":51,"tag":156,"props":1093,"children":1094},{},[1095,1100],{"type":51,"tag":183,"props":1096,"children":1097},{},[1098],{"type":57,"value":1099},"\"Generate clothing variations\" \u002F \"augment only\" \u002F \"image edit\"",{"type":51,"tag":183,"props":1101,"children":1102},{},[1103],{"type":51,"tag":91,"props":1104,"children":1106},{"className":1105},[],[1107],{"type":57,"value":475},{"type":51,"tag":156,"props":1109,"children":1110},{},[1111,1116],{"type":51,"tag":183,"props":1112,"children":1113},{},[1114],{"type":57,"value":1115},"\"Caption augmented images\" \u002F \"generate search queries\" \u002F \"label only\"",{"type":51,"tag":183,"props":1117,"children":1118},{},[1119],{"type":51,"tag":91,"props":1120,"children":1122},{"className":1121},[],[1123],{"type":57,"value":483},{"type":51,"tag":66,"props":1125,"children":1127},{"id":1126},"disambiguation-handle-vague-requests-before-committing",[1128],{"type":57,"value":1129},"Disambiguation: handle vague requests before committing",{"type":51,"tag":60,"props":1131,"children":1132},{},[1133],{"type":57,"value":1134},"Default to autonomy: ask only when missing information blocks execution.",{"type":51,"tag":1048,"props":1136,"children":1138},{"id":1137},"autonomous-defaults-do-not-ask",[1139],{"type":57,"value":1140},"Autonomous defaults (do NOT ask)",{"type":51,"tag":1142,"props":1143,"children":1144},"ul",{},[1145,1157,1169,1189],{"type":51,"tag":460,"props":1146,"children":1147},{},[1148,1150,1155],{"type":57,"value":1149},"Select the flow per Instructions Gate 1; default to ",{"type":51,"tag":91,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":57,"value":491},{"type":57,"value":1156}," only when the request is the full pipeline or ambiguous (not for explicit augment-only \u002F label-only).",{"type":51,"tag":460,"props":1158,"children":1159},{},[1160,1162,1168],{"type":57,"value":1161},"If cookbook is not specified, default to ",{"type":51,"tag":91,"props":1163,"children":1165},{"className":1164},[],[1166],{"type":57,"value":1167},"default",{"type":57,"value":146},{"type":51,"tag":460,"props":1170,"children":1171},{},[1172,1174,1180,1182,1188],{"type":57,"value":1173},"If ",{"type":51,"tag":91,"props":1175,"children":1177},{"className":1176},[],[1178],{"type":57,"value":1179},"n_augmentations",{"type":57,"value":1181}," is not specified, default to ",{"type":51,"tag":91,"props":1183,"children":1185},{"className":1184},[],[1186],{"type":57,"value":1187},"3",{"type":57,"value":146},{"type":51,"tag":460,"props":1190,"children":1191},{},[1192],{"type":57,"value":1193},"After any stage completes successfully, continue to the next stage immediately.",{"type":51,"tag":1048,"props":1195,"children":1197},{"id":1196},"triggers-that-should-pause-for-disambiguation",[1198],{"type":57,"value":1199},"Triggers that should pause for disambiguation",{"type":51,"tag":148,"props":1201,"children":1202},{},[1203,1224],{"type":51,"tag":152,"props":1204,"children":1205},{},[1206],{"type":51,"tag":156,"props":1207,"children":1208},{},[1209,1214,1219],{"type":51,"tag":160,"props":1210,"children":1211},{},[1212],{"type":57,"value":1213},"Missing input",{"type":51,"tag":160,"props":1215,"children":1216},{},[1217],{"type":57,"value":1218},"Why it matters",{"type":51,"tag":160,"props":1220,"children":1221},{},[1222],{"type":57,"value":1223},"Ask",{"type":51,"tag":176,"props":1225,"children":1226},{},[1227,1251,1269,1287],{"type":51,"tag":156,"props":1228,"children":1229},{},[1230,1241,1246],{"type":51,"tag":183,"props":1231,"children":1232},{},[1233,1239],{"type":51,"tag":91,"props":1234,"children":1236},{"className":1235},[],[1237],{"type":57,"value":1238},"USER_INPUT_REQUIRED",{"type":57,"value":1240}," from preflight",{"type":51,"tag":183,"props":1242,"children":1243},{},[1244],{"type":57,"value":1245},"Required secret is missing",{"type":51,"tag":183,"props":1247,"children":1248},{},[1249],{"type":57,"value":1250},"Ask one concise unblock question",{"type":51,"tag":156,"props":1252,"children":1253},{},[1254,1259,1264],{"type":51,"tag":183,"props":1255,"children":1256},{},[1257],{"type":57,"value":1258},"Storage backend prefix cannot be derived",{"type":51,"tag":183,"props":1260,"children":1261},{},[1262],{"type":57,"value":1263},"Wrong scheme causes runtime storage auth mismatch",{"type":51,"tag":183,"props":1265,"children":1266},{},[1267],{"type":57,"value":1268},"\"What is the backend-native root prefix for this run?\"",{"type":51,"tag":156,"props":1270,"children":1271},{},[1272,1277,1282],{"type":51,"tag":183,"props":1273,"children":1274},{},[1275],{"type":57,"value":1276},"No ONLINE GPU pool\u002Fplatform",{"type":51,"tag":183,"props":1278,"children":1279},{},[1280],{"type":57,"value":1281},"Workflow cannot schedule",{"type":51,"tag":183,"props":1283,"children":1284},{},[1285],{"type":57,"value":1286},"\"Which GPU pool\u002Fplatform should this run target?\"",{"type":51,"tag":156,"props":1288,"children":1289},{},[1290,1295,1300],{"type":51,"tag":183,"props":1291,"children":1292},{},[1293],{"type":57,"value":1294},"NIM deploy fails and no external URLs given",{"type":51,"tag":183,"props":1296,"children":1297},{},[1298],{"type":57,"value":1299},"Workers cannot connect to models",{"type":51,"tag":183,"props":1301,"children":1302},{},[1303],{"type":57,"value":1304},"\"Provide Image Edit \u002F VLM \u002F LLM endpoint URLs, or grant GPU capacity for the NIM operator deploy.\"",{"type":51,"tag":66,"props":1306,"children":1308},{"id":1307},"step-0-select-flow-and-gather-inputs",[1309],{"type":57,"value":1310},"Step 0: Select Flow and Gather Inputs",{"type":51,"tag":1048,"props":1312,"children":1314},{"id":1313},"input-data-policy",[1315],{"type":57,"value":1316},"Input data policy",{"type":51,"tag":1142,"props":1318,"children":1319},{},[1320,1333,1338,1343],{"type":51,"tag":460,"props":1321,"children":1322},{},[1323,1325,1331],{"type":57,"value":1324},"Image Attribute Augmentation requires person-crop images organized as ",{"type":51,"tag":91,"props":1326,"children":1328},{"className":1327},[],[1329],{"type":57,"value":1330},"\u003Cperson_id>\u002F\u003Cview>.jpg",{"type":57,"value":1332}," subdirectories.",{"type":51,"tag":460,"props":1334,"children":1335},{},[1336],{"type":57,"value":1337},"Always preserve user-provided dataset inputs as first-class.",{"type":51,"tag":460,"props":1339,"children":1340},{},[1341],{"type":57,"value":1342},"Never replace an explicit user dataset with demo assets.",{"type":51,"tag":460,"props":1344,"children":1345},{},[1346],{"type":57,"value":1347},"If no dataset is provided, ask for one (Image Attribute Augmentation has no built-in demo dataset).",{"type":51,"tag":60,"props":1349,"children":1350},{},[1351],{"type":57,"value":1352},"Collect only missing values:",{"type":51,"tag":456,"props":1354,"children":1355},{},[1356,1415,1441,1454,1459],{"type":51,"tag":460,"props":1357,"children":1358},{},[1359,1361,1366,1368,1373,1375,1380,1382,1387,1389,1394,1395,1400,1401,1406,1408,1413],{"type":57,"value":1360},"Dataset source (",{"type":51,"tag":91,"props":1362,"children":1364},{"className":1363},[],[1365],{"type":57,"value":306},{"type":57,"value":1367}," + ",{"type":51,"tag":91,"props":1369,"children":1371},{"className":1370},[],[1372],{"type":57,"value":561},{"type":57,"value":1374},") — a ",{"type":51,"tag":83,"props":1376,"children":1377},{},[1378],{"type":57,"value":1379},"derived",{"type":57,"value":1381}," value: split the\ndataset URL at ",{"type":51,"tag":91,"props":1383,"children":1385},{"className":1384},[],[1386],{"type":57,"value":533},{"type":57,"value":1388}," per Instructions Gate 3\n(",{"type":51,"tag":91,"props":1390,"children":1392},{"className":1391},[],[1393],{"type":57,"value":591},{"type":57,"value":593},{"type":51,"tag":91,"props":1396,"children":1398},{"className":1397},[],[1399],{"type":57,"value":599},{"type":57,"value":601},{"type":51,"tag":91,"props":1402,"children":1404},{"className":1403},[],[1405],{"type":57,"value":607},{"type":57,"value":1407},"). Put ",{"type":51,"tag":91,"props":1409,"children":1411},{"className":1410},[],[1412],{"type":57,"value":533},{"type":57,"value":1414}," in neither value; never guess.",{"type":51,"tag":460,"props":1416,"children":1417},{},[1418,1420,1425,1427,1432,1434,1439],{"type":57,"value":1419},"Flow — select per Instructions Gate 1 (augment-only → ",{"type":51,"tag":91,"props":1421,"children":1423},{"className":1422},[],[1424],{"type":57,"value":475},{"type":57,"value":1426},", label-only → ",{"type":51,"tag":91,"props":1428,"children":1430},{"className":1429},[],[1431],{"type":57,"value":483},{"type":57,"value":1433},", else ",{"type":51,"tag":91,"props":1435,"children":1437},{"className":1436},[],[1438],{"type":57,"value":491},{"type":57,"value":1440},").",{"type":51,"tag":460,"props":1442,"children":1443},{},[1444,1446,1452],{"type":57,"value":1445},"OSMO ",{"type":51,"tag":91,"props":1447,"children":1449},{"className":1448},[],[1450],{"type":57,"value":1451},"gpu_platform",{"type":57,"value":1453}," (auto-select when unambiguous).",{"type":51,"tag":460,"props":1455,"children":1456},{},[1457],{"type":57,"value":1458},"Endpoint URLs for Image Edit, VLM, and LLM — optional; default to in-cluster\nNIMs and only set for external endpoints.",{"type":51,"tag":460,"props":1460,"children":1461},{},[1462],{"type":57,"value":1463},"Number of augmentations per person ID (default: 3).",{"type":51,"tag":60,"props":1465,"children":1466},{},[1467],{"type":57,"value":1468},"Generate run stamp before each submit:",{"type":51,"tag":791,"props":1470,"children":1474},{"className":1471,"code":1472,"language":1473,"meta":796,"style":796},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","STAMP=$(cat \u002Fproc\u002Fsys\u002Fkernel\u002Frandom\u002Fuuid | cut -c1-8)\nRUN_ID=\"run-$STAMP\"\n","bash",[1475],{"type":51,"tag":91,"props":1476,"children":1477},{"__ignoreMap":796},[1478,1525],{"type":51,"tag":802,"props":1479,"children":1480},{"class":804,"line":805},[1481,1487,1493,1499,1505,1510,1515,1520],{"type":51,"tag":802,"props":1482,"children":1484},{"style":1483},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1485],{"type":57,"value":1486},"STAMP",{"type":51,"tag":802,"props":1488,"children":1490},{"style":1489},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1491],{"type":57,"value":1492},"=$(",{"type":51,"tag":802,"props":1494,"children":1496},{"style":1495},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1497],{"type":57,"value":1498},"cat",{"type":51,"tag":802,"props":1500,"children":1502},{"style":1501},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1503],{"type":57,"value":1504}," \u002Fproc\u002Fsys\u002Fkernel\u002Frandom\u002Fuuid",{"type":51,"tag":802,"props":1506,"children":1507},{"style":1489},[1508],{"type":57,"value":1509}," |",{"type":51,"tag":802,"props":1511,"children":1512},{"style":1495},[1513],{"type":57,"value":1514}," cut",{"type":51,"tag":802,"props":1516,"children":1517},{"style":1501},[1518],{"type":57,"value":1519}," -c1-8",{"type":51,"tag":802,"props":1521,"children":1522},{"style":1489},[1523],{"type":57,"value":1524},")\n",{"type":51,"tag":802,"props":1526,"children":1528},{"class":804,"line":1527},2,[1529,1534,1539,1544,1549,1554],{"type":51,"tag":802,"props":1530,"children":1531},{"style":1483},[1532],{"type":57,"value":1533},"RUN_ID",{"type":51,"tag":802,"props":1535,"children":1536},{"style":1489},[1537],{"type":57,"value":1538},"=",{"type":51,"tag":802,"props":1540,"children":1541},{"style":1489},[1542],{"type":57,"value":1543},"\"",{"type":51,"tag":802,"props":1545,"children":1546},{"style":1501},[1547],{"type":57,"value":1548},"run-",{"type":51,"tag":802,"props":1550,"children":1551},{"style":1483},[1552],{"type":57,"value":1553},"$STAMP",{"type":51,"tag":802,"props":1555,"children":1556},{"style":1489},[1557],{"type":57,"value":1558},"\"\n",{"type":51,"tag":66,"props":1560,"children":1562},{"id":1561},"execution-time-overview-required-before-run",[1563],{"type":57,"value":1564},"Execution Time Overview (required before run)",{"type":51,"tag":60,"props":1566,"children":1567},{},[1568],{"type":57,"value":1569},"Before running any mutating command, provide a short ETA overview.",{"type":51,"tag":60,"props":1571,"children":1572},{},[1573],{"type":57,"value":1574},"Baseline ranges:",{"type":51,"tag":148,"props":1576,"children":1577},{},[1578,1594],{"type":51,"tag":152,"props":1579,"children":1580},{},[1581],{"type":51,"tag":156,"props":1582,"children":1583},{},[1584,1589],{"type":51,"tag":160,"props":1585,"children":1586},{},[1587],{"type":57,"value":1588},"Phase",{"type":51,"tag":160,"props":1590,"children":1591},{},[1592],{"type":57,"value":1593},"Typical duration",{"type":51,"tag":176,"props":1595,"children":1596},{},[1597,1610],{"type":51,"tag":156,"props":1598,"children":1599},{},[1600,1605],{"type":51,"tag":183,"props":1601,"children":1602},{},[1603],{"type":57,"value":1604},"Credentials + preflight",{"type":51,"tag":183,"props":1606,"children":1607},{},[1608],{"type":57,"value":1609},"~1-2 min",{"type":51,"tag":156,"props":1611,"children":1612},{},[1613,1618],{"type":51,"tag":183,"props":1614,"children":1615},{},[1616],{"type":57,"value":1617},"Workflow submit + queue\u002Fstart",{"type":51,"tag":183,"props":1619,"children":1620},{},[1621],{"type":57,"value":1622},"~1-3 min",{"type":51,"tag":60,"props":1624,"children":1625},{},[1626],{"type":57,"value":1627},"Workflow runtime (depends on dataset size and endpoint latency):",{"type":51,"tag":148,"props":1629,"children":1630},{},[1631,1651],{"type":51,"tag":152,"props":1632,"children":1633},{},[1634],{"type":51,"tag":156,"props":1635,"children":1636},{},[1637,1641,1646],{"type":51,"tag":160,"props":1638,"children":1639},{},[1640],{"type":57,"value":938},{"type":51,"tag":160,"props":1642,"children":1643},{},[1644],{"type":57,"value":1645},"Per-image time",{"type":51,"tag":160,"props":1647,"children":1648},{},[1649],{"type":57,"value":1650},"Typical dataset (100 images, 3 augs)",{"type":51,"tag":176,"props":1652,"children":1653},{},[1654,1675,1696],{"type":51,"tag":156,"props":1655,"children":1656},{},[1657,1665,1670],{"type":51,"tag":183,"props":1658,"children":1659},{},[1660],{"type":51,"tag":91,"props":1661,"children":1663},{"className":1662},[],[1664],{"type":57,"value":475},{"type":51,"tag":183,"props":1666,"children":1667},{},[1668],{"type":57,"value":1669},"~2.5-3 min\u002Fimage",{"type":51,"tag":183,"props":1671,"children":1672},{},[1673],{"type":57,"value":1674},"~4-5 hours",{"type":51,"tag":156,"props":1676,"children":1677},{},[1678,1686,1691],{"type":51,"tag":183,"props":1679,"children":1680},{},[1681],{"type":51,"tag":91,"props":1682,"children":1684},{"className":1683},[],[1685],{"type":57,"value":483},{"type":51,"tag":183,"props":1687,"children":1688},{},[1689],{"type":57,"value":1690},"~1-2 min\u002Fimage",{"type":51,"tag":183,"props":1692,"children":1693},{},[1694],{"type":57,"value":1695},"~2-3 hours",{"type":51,"tag":156,"props":1697,"children":1698},{},[1699,1707,1712],{"type":51,"tag":183,"props":1700,"children":1701},{},[1702],{"type":51,"tag":91,"props":1703,"children":1705},{"className":1704},[],[1706],{"type":57,"value":491},{"type":51,"tag":183,"props":1708,"children":1709},{},[1710],{"type":57,"value":1711},"~3.5-5 min\u002Fimage",{"type":51,"tag":183,"props":1713,"children":1714},{},[1715],{"type":57,"value":1716},"~6-8 hours",{"type":51,"tag":66,"props":1718,"children":1720},{"id":1719},"common-preconditions-all-flows",[1721],{"type":57,"value":1722},"Common Preconditions (all flows)",{"type":51,"tag":456,"props":1724,"children":1725},{},[1726,1801,1819],{"type":51,"tag":460,"props":1727,"children":1728},{},[1729,1734,1788,1792,1794,1799],{"type":51,"tag":83,"props":1730,"children":1731},{},[1732],{"type":57,"value":1733},"Credential and control-plane preflight",{"type":51,"tag":791,"props":1735,"children":1737},{"className":1471,"code":1736,"language":1473,"meta":796,"style":796},"bash scripts\u002Fpreflight_credentials.sh --workflow assets\u002Fconfigs\u002Fosmo\u002F\u003Cflow>.yaml\n",[1738],{"type":51,"tag":91,"props":1739,"children":1740},{"__ignoreMap":796},[1741],{"type":51,"tag":802,"props":1742,"children":1743},{"class":804,"line":805},[1744,1748,1753,1758,1763,1768,1773,1778,1783],{"type":51,"tag":802,"props":1745,"children":1746},{"style":1495},[1747],{"type":57,"value":1473},{"type":51,"tag":802,"props":1749,"children":1750},{"style":1501},[1751],{"type":57,"value":1752}," scripts\u002Fpreflight_credentials.sh",{"type":51,"tag":802,"props":1754,"children":1755},{"style":1501},[1756],{"type":57,"value":1757}," --workflow",{"type":51,"tag":802,"props":1759,"children":1760},{"style":1501},[1761],{"type":57,"value":1762}," assets\u002Fconfigs\u002Fosmo\u002F",{"type":51,"tag":802,"props":1764,"children":1765},{"style":1489},[1766],{"type":57,"value":1767},"\u003C",{"type":51,"tag":802,"props":1769,"children":1770},{"style":1501},[1771],{"type":57,"value":1772},"flo",{"type":51,"tag":802,"props":1774,"children":1775},{"style":1483},[1776],{"type":57,"value":1777},"w",{"type":51,"tag":802,"props":1779,"children":1780},{"style":1489},[1781],{"type":57,"value":1782},">",{"type":51,"tag":802,"props":1784,"children":1785},{"style":1501},[1786],{"type":57,"value":1787},".yaml\n",{"type":51,"tag":1789,"props":1790,"children":1791},"br",{},[],{"type":57,"value":1793},"If output contains ",{"type":51,"tag":91,"props":1795,"children":1797},{"className":1796},[],[1798],{"type":57,"value":136},{"type":57,"value":1800},", ask one concise unblock question.",{"type":51,"tag":460,"props":1802,"children":1803},{},[1804,1809,1812,1817],{"type":51,"tag":83,"props":1805,"children":1806},{},[1807],{"type":57,"value":1808},"Storage interpolation policy",{"type":51,"tag":1789,"props":1810,"children":1811},{},[],{"type":51,"tag":91,"props":1813,"children":1815},{"className":1814},[],[1816],{"type":57,"value":306},{"type":57,"value":1818}," must be derived from the actual dataset\u002Fupload backend.\nNever silently default to stale values on mismatched backends.",{"type":51,"tag":460,"props":1820,"children":1821},{},[1822,1827,1829,1834,1836],{"type":51,"tag":83,"props":1823,"children":1824},{},[1825],{"type":57,"value":1826},"Inference policy (non-negotiable)",{"type":57,"value":1828}," — endpoint readiness is executed at\n",{"type":51,"tag":83,"props":1830,"children":1831},{},[1832],{"type":57,"value":1833},"Instructions Gate 4",{"type":57,"value":1835}," (verify → deploy once → bounded re-check → stop and\nescalate on failure). This section only adds the standing constraints:",{"type":51,"tag":1142,"props":1837,"children":1838},{},[1839,1864,1877],{"type":51,"tag":460,"props":1840,"children":1841},{},[1842,1844,1849,1851,1856,1857,1862],{"type":57,"value":1843},"Image Attribute Augmentation does NOT launch inference servers inside the OSMO workflow; workers\nconsume the ",{"type":51,"tag":91,"props":1845,"children":1847},{"className":1846},[],[1848],{"type":57,"value":370},{"type":57,"value":1850}," \u002F ",{"type":51,"tag":91,"props":1852,"children":1854},{"className":1853},[],[1855],{"type":57,"value":401},{"type":57,"value":1850},{"type":51,"tag":91,"props":1858,"children":1860},{"className":1859},[],[1861],{"type":57,"value":431},{"type":57,"value":1863}," endpoints.",{"type":51,"tag":460,"props":1865,"children":1866},{},[1867,1869,1875],{"type":57,"value":1868},"External endpoints are opt-in only (explicit request or explicit URLs);\nonly then override the ",{"type":51,"tag":91,"props":1870,"children":1872},{"className":1871},[],[1873],{"type":57,"value":1874},"*_url",{"type":57,"value":1876}," values at submit.",{"type":51,"tag":460,"props":1878,"children":1879},{},[1880],{"type":57,"value":1881},"Never scale down\u002Fdelete existing NIMs to free GPUs.",{"type":51,"tag":66,"props":1883,"children":1885},{"id":1884},"submit-all-flows",[1886],{"type":57,"value":1887},"Submit (all flows)",{"type":51,"tag":60,"props":1889,"children":1890},{},[1891],{"type":57,"value":1892},"Every flow uses the same submit shape; only the workflow YAML changes.",{"type":51,"tag":791,"props":1894,"children":1896},{"className":1471,"code":1895,"language":1473,"meta":796,"style":796},"SKILLS_DIR=\"$(cd \"$(git rev-parse --show-toplevel)\u002Fskills\u002Fphysical-ai-image-attribute-augmentation\" && pwd)\"\nSTAMP=$(cat \u002Fproc\u002Fsys\u002Fkernel\u002Frandom\u002Fuuid | cut -c1-8)\nosmo workflow submit assets\u002Fconfigs\u002Fosmo\u002F\u003Cflow>.yaml \\\n  --pool \u003Cpool> \\\n  --set-string \\\n    dataset=\u003Cdataset> \\\n    run_id=run-$STAMP \\\n    storage_url=\u003Cbackend-prefix> \\\n    gpu_platform=\u003Cgpu-platform> \\\n    skills_dir=\"$SKILLS_DIR\"\n",[1897],{"type":51,"tag":91,"props":1898,"children":1899},{"__ignoreMap":796},[1900,1967,2002,2050,2082,2094,2125,2139,2170,2201],{"type":51,"tag":802,"props":1901,"children":1902},{"class":804,"line":805},[1903,1908,1912,1917,1923,1928,1933,1938,1943,1948,1952,1957,1962],{"type":51,"tag":802,"props":1904,"children":1905},{"style":1483},[1906],{"type":57,"value":1907},"SKILLS_DIR",{"type":51,"tag":802,"props":1909,"children":1910},{"style":1489},[1911],{"type":57,"value":1538},{"type":51,"tag":802,"props":1913,"children":1914},{"style":1489},[1915],{"type":57,"value":1916},"\"$(",{"type":51,"tag":802,"props":1918,"children":1920},{"style":1919},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1921],{"type":57,"value":1922},"cd",{"type":51,"tag":802,"props":1924,"children":1925},{"style":1489},[1926],{"type":57,"value":1927}," \"$(",{"type":51,"tag":802,"props":1929,"children":1930},{"style":1495},[1931],{"type":57,"value":1932},"git",{"type":51,"tag":802,"props":1934,"children":1935},{"style":1501},[1936],{"type":57,"value":1937}," rev-parse --show-toplevel",{"type":51,"tag":802,"props":1939,"children":1940},{"style":1489},[1941],{"type":57,"value":1942},")",{"type":51,"tag":802,"props":1944,"children":1945},{"style":1501},[1946],{"type":57,"value":1947},"\u002Fskills\u002Fphysical-ai-image-attribute-augmentation",{"type":51,"tag":802,"props":1949,"children":1950},{"style":1489},[1951],{"type":57,"value":1543},{"type":51,"tag":802,"props":1953,"children":1954},{"style":1489},[1955],{"type":57,"value":1956}," &&",{"type":51,"tag":802,"props":1958,"children":1959},{"style":1919},[1960],{"type":57,"value":1961}," pwd",{"type":51,"tag":802,"props":1963,"children":1964},{"style":1489},[1965],{"type":57,"value":1966},")\"\n",{"type":51,"tag":802,"props":1968,"children":1969},{"class":804,"line":1527},[1970,1974,1978,1982,1986,1990,1994,1998],{"type":51,"tag":802,"props":1971,"children":1972},{"style":1483},[1973],{"type":57,"value":1486},{"type":51,"tag":802,"props":1975,"children":1976},{"style":1489},[1977],{"type":57,"value":1492},{"type":51,"tag":802,"props":1979,"children":1980},{"style":1495},[1981],{"type":57,"value":1498},{"type":51,"tag":802,"props":1983,"children":1984},{"style":1501},[1985],{"type":57,"value":1504},{"type":51,"tag":802,"props":1987,"children":1988},{"style":1489},[1989],{"type":57,"value":1509},{"type":51,"tag":802,"props":1991,"children":1992},{"style":1495},[1993],{"type":57,"value":1514},{"type":51,"tag":802,"props":1995,"children":1996},{"style":1501},[1997],{"type":57,"value":1519},{"type":51,"tag":802,"props":1999,"children":2000},{"style":1489},[2001],{"type":57,"value":1524},{"type":51,"tag":802,"props":2003,"children":2005},{"class":804,"line":2004},3,[2006,2010,2015,2020,2024,2028,2032,2036,2040,2045],{"type":51,"tag":802,"props":2007,"children":2008},{"style":1495},[2009],{"type":57,"value":290},{"type":51,"tag":802,"props":2011,"children":2012},{"style":1501},[2013],{"type":57,"value":2014}," workflow",{"type":51,"tag":802,"props":2016,"children":2017},{"style":1501},[2018],{"type":57,"value":2019}," submit",{"type":51,"tag":802,"props":2021,"children":2022},{"style":1501},[2023],{"type":57,"value":1762},{"type":51,"tag":802,"props":2025,"children":2026},{"style":1489},[2027],{"type":57,"value":1767},{"type":51,"tag":802,"props":2029,"children":2030},{"style":1501},[2031],{"type":57,"value":1772},{"type":51,"tag":802,"props":2033,"children":2034},{"style":1483},[2035],{"type":57,"value":1777},{"type":51,"tag":802,"props":2037,"children":2038},{"style":1489},[2039],{"type":57,"value":1782},{"type":51,"tag":802,"props":2041,"children":2042},{"style":1501},[2043],{"type":57,"value":2044},".yaml",{"type":51,"tag":802,"props":2046,"children":2047},{"style":1483},[2048],{"type":57,"value":2049}," \\\n",{"type":51,"tag":802,"props":2051,"children":2053},{"class":804,"line":2052},4,[2054,2059,2064,2069,2074,2078],{"type":51,"tag":802,"props":2055,"children":2056},{"style":1501},[2057],{"type":57,"value":2058},"  --pool",{"type":51,"tag":802,"props":2060,"children":2061},{"style":1489},[2062],{"type":57,"value":2063}," \u003C",{"type":51,"tag":802,"props":2065,"children":2066},{"style":1501},[2067],{"type":57,"value":2068},"poo",{"type":51,"tag":802,"props":2070,"children":2071},{"style":1483},[2072],{"type":57,"value":2073},"l",{"type":51,"tag":802,"props":2075,"children":2076},{"style":1489},[2077],{"type":57,"value":1782},{"type":51,"tag":802,"props":2079,"children":2080},{"style":1483},[2081],{"type":57,"value":2049},{"type":51,"tag":802,"props":2083,"children":2084},{"class":804,"line":27},[2085,2090],{"type":51,"tag":802,"props":2086,"children":2087},{"style":1501},[2088],{"type":57,"value":2089},"  --set-string",{"type":51,"tag":802,"props":2091,"children":2092},{"style":1483},[2093],{"type":57,"value":2049},{"type":51,"tag":802,"props":2095,"children":2097},{"class":804,"line":2096},6,[2098,2103,2107,2112,2117,2121],{"type":51,"tag":802,"props":2099,"children":2100},{"style":1501},[2101],{"type":57,"value":2102},"    dataset=",{"type":51,"tag":802,"props":2104,"children":2105},{"style":1489},[2106],{"type":57,"value":1767},{"type":51,"tag":802,"props":2108,"children":2109},{"style":1501},[2110],{"type":57,"value":2111},"datase",{"type":51,"tag":802,"props":2113,"children":2114},{"style":1483},[2115],{"type":57,"value":2116},"t",{"type":51,"tag":802,"props":2118,"children":2119},{"style":1489},[2120],{"type":57,"value":1782},{"type":51,"tag":802,"props":2122,"children":2123},{"style":1483},[2124],{"type":57,"value":2049},{"type":51,"tag":802,"props":2126,"children":2128},{"class":804,"line":2127},7,[2129,2134],{"type":51,"tag":802,"props":2130,"children":2131},{"style":1501},[2132],{"type":57,"value":2133},"    run_id=run-",{"type":51,"tag":802,"props":2135,"children":2136},{"style":1483},[2137],{"type":57,"value":2138},"$STAMP \\\n",{"type":51,"tag":802,"props":2140,"children":2142},{"class":804,"line":2141},8,[2143,2148,2152,2157,2162,2166],{"type":51,"tag":802,"props":2144,"children":2145},{"style":1501},[2146],{"type":57,"value":2147},"    storage_url=",{"type":51,"tag":802,"props":2149,"children":2150},{"style":1489},[2151],{"type":57,"value":1767},{"type":51,"tag":802,"props":2153,"children":2154},{"style":1501},[2155],{"type":57,"value":2156},"backend-prefi",{"type":51,"tag":802,"props":2158,"children":2159},{"style":1483},[2160],{"type":57,"value":2161},"x",{"type":51,"tag":802,"props":2163,"children":2164},{"style":1489},[2165],{"type":57,"value":1782},{"type":51,"tag":802,"props":2167,"children":2168},{"style":1483},[2169],{"type":57,"value":2049},{"type":51,"tag":802,"props":2171,"children":2173},{"class":804,"line":2172},9,[2174,2179,2183,2188,2193,2197],{"type":51,"tag":802,"props":2175,"children":2176},{"style":1501},[2177],{"type":57,"value":2178},"    gpu_platform=",{"type":51,"tag":802,"props":2180,"children":2181},{"style":1489},[2182],{"type":57,"value":1767},{"type":51,"tag":802,"props":2184,"children":2185},{"style":1501},[2186],{"type":57,"value":2187},"gpu-platfor",{"type":51,"tag":802,"props":2189,"children":2190},{"style":1483},[2191],{"type":57,"value":2192},"m",{"type":51,"tag":802,"props":2194,"children":2195},{"style":1489},[2196],{"type":57,"value":1782},{"type":51,"tag":802,"props":2198,"children":2199},{"style":1483},[2200],{"type":57,"value":2049},{"type":51,"tag":802,"props":2202,"children":2204},{"class":804,"line":2203},10,[2205,2210,2214,2219],{"type":51,"tag":802,"props":2206,"children":2207},{"style":1501},[2208],{"type":57,"value":2209},"    skills_dir=",{"type":51,"tag":802,"props":2211,"children":2212},{"style":1489},[2213],{"type":57,"value":1543},{"type":51,"tag":802,"props":2215,"children":2216},{"style":1483},[2217],{"type":57,"value":2218},"$SKILLS_DIR",{"type":51,"tag":802,"props":2220,"children":2221},{"style":1489},[2222],{"type":57,"value":1558},{"type":51,"tag":60,"props":2224,"children":2225},{},[2226,2228,2233,2234,2239,2241,2246],{"type":57,"value":2227},"Endpoints default to the in-cluster NIMs (",{"type":51,"tag":91,"props":2229,"children":2231},{"className":2230},[],[2232],{"type":57,"value":370},{"type":57,"value":1850},{"type":51,"tag":91,"props":2235,"children":2237},{"className":2236},[],[2238],{"type":57,"value":401},{"type":57,"value":2240}," \u002F\n",{"type":51,"tag":91,"props":2242,"children":2244},{"className":2243},[],[2245],{"type":57,"value":431},{"type":57,"value":2247},"); deploy\u002Freuse them per the Inference policy above. Do not pass these\nunless using external endpoints.",{"type":51,"tag":60,"props":2249,"children":2250},{},[2251],{"type":57,"value":2252},"Compatibility note:",{"type":51,"tag":1142,"props":2254,"children":2255},{},[2256,2268],{"type":51,"tag":460,"props":2257,"children":2258},{},[2259,2261,2266],{"type":57,"value":2260},"Use exactly one ",{"type":51,"tag":91,"props":2262,"children":2264},{"className":2263},[],[2265],{"type":57,"value":718},{"type":57,"value":2267}," flag and pass all key\u002Fvalue pairs after it.",{"type":51,"tag":460,"props":2269,"children":2270},{},[2271,2273,2279,2281,2286],{"type":57,"value":2272},"Do not repeat ",{"type":51,"tag":91,"props":2274,"children":2276},{"className":2275},[],[2277],{"type":57,"value":2278},"--set",{"type":57,"value":2280},"\u002F",{"type":51,"tag":91,"props":2282,"children":2284},{"className":2283},[],[2285],{"type":57,"value":718},{"type":57,"value":2287}," flags in the same command.",{"type":51,"tag":60,"props":2289,"children":2290},{},[2291,2293,2298,2300,2305],{"type":57,"value":2292},"Common optional overrides (append to the same ",{"type":51,"tag":91,"props":2294,"children":2296},{"className":2295},[],[2297],{"type":57,"value":718},{"type":57,"value":2299}," list). These\nvalues are passed through to the augmentation worker and used to build its\ncommand, so validate them first per Instructions Gate 6 — accept only a known\n",{"type":51,"tag":91,"props":2301,"children":2303},{"className":2302},[],[2304],{"type":57,"value":710},{"type":57,"value":2306}," name and values free of shell metacharacters:",{"type":51,"tag":791,"props":2308,"children":2310},{"className":1471,"code":2309,"language":1473,"meta":796,"style":796},"cookbook=\u003Ccookbook_name> \\\nn_augmentations=\u003Ccount> \\\nimage_edit_url=\u003Cimage-edit-endpoint> \\\nvlm_url=\u003Cvlm-endpoint> \\\nllm_url=\u003Cllm-endpoint>\n",[2311],{"type":51,"tag":91,"props":2312,"children":2313},{"__ignoreMap":796},[2314,2339,2347,2355,2363],{"type":51,"tag":802,"props":2315,"children":2316},{"class":804,"line":805},[2317,2321,2326,2331,2335],{"type":51,"tag":802,"props":2318,"children":2319},{"style":1483},[2320],{"type":57,"value":710},{"type":51,"tag":802,"props":2322,"children":2323},{"style":1489},[2324],{"type":57,"value":2325},"=\u003C",{"type":51,"tag":802,"props":2327,"children":2328},{"style":1501},[2329],{"type":57,"value":2330},"cookbook_name",{"type":51,"tag":802,"props":2332,"children":2333},{"style":1489},[2334],{"type":57,"value":1782},{"type":51,"tag":802,"props":2336,"children":2337},{"style":1495},[2338],{"type":57,"value":2049},{"type":51,"tag":802,"props":2340,"children":2341},{"class":804,"line":1527},[2342],{"type":51,"tag":802,"props":2343,"children":2344},{"style":1483},[2345],{"type":57,"value":2346},"n_augmentations=\u003Ccount> \\\n",{"type":51,"tag":802,"props":2348,"children":2349},{"class":804,"line":2004},[2350],{"type":51,"tag":802,"props":2351,"children":2352},{"style":1483},[2353],{"type":57,"value":2354},"image_edit_url=\u003Cimage-edit-endpoint> \\\n",{"type":51,"tag":802,"props":2356,"children":2357},{"class":804,"line":2052},[2358],{"type":51,"tag":802,"props":2359,"children":2360},{"style":1483},[2361],{"type":57,"value":2362},"vlm_url=\u003Cvlm-endpoint> \\\n",{"type":51,"tag":802,"props":2364,"children":2365},{"class":804,"line":27},[2366],{"type":51,"tag":802,"props":2367,"children":2368},{"style":1483},[2369],{"type":57,"value":2370},"llm_url=\u003Cllm-endpoint>\n",{"type":51,"tag":66,"props":2372,"children":2374},{"id":2373},"osmo-monitoring",[2375],{"type":57,"value":2376},"OSMO Monitoring",{"type":51,"tag":791,"props":2378,"children":2380},{"className":1471,"code":2379,"language":1473,"meta":796,"style":796},"# Workflow status + task states\nosmo workflow query \u003Cworkflow_id> --format-type json \\\n  | jq '{status, tasks: [.groups[].tasks[] | {name, status, exit_code}]}'\n\n# Logs for a specific task\nosmo workflow logs \u003Cworkflow_id> --task \u003Ctask_name> -n 200\n\n# Output retrieval\nosmo data list --no-pager \u003Coutput_url>\nosmo data download \u003Coutput_url> \u003Clocal_dir>\u002F\n",[2381],{"type":51,"tag":91,"props":2382,"children":2383},{"__ignoreMap":796},[2384,2393,2441,2469,2478,2486,2552,2559,2567,2607],{"type":51,"tag":802,"props":2385,"children":2386},{"class":804,"line":805},[2387],{"type":51,"tag":802,"props":2388,"children":2390},{"style":2389},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[2391],{"type":57,"value":2392},"# Workflow status + task states\n",{"type":51,"tag":802,"props":2394,"children":2395},{"class":804,"line":1527},[2396,2400,2404,2409,2413,2418,2423,2427,2432,2437],{"type":51,"tag":802,"props":2397,"children":2398},{"style":1495},[2399],{"type":57,"value":290},{"type":51,"tag":802,"props":2401,"children":2402},{"style":1501},[2403],{"type":57,"value":2014},{"type":51,"tag":802,"props":2405,"children":2406},{"style":1501},[2407],{"type":57,"value":2408}," query",{"type":51,"tag":802,"props":2410,"children":2411},{"style":1489},[2412],{"type":57,"value":2063},{"type":51,"tag":802,"props":2414,"children":2415},{"style":1501},[2416],{"type":57,"value":2417},"workflow_i",{"type":51,"tag":802,"props":2419,"children":2420},{"style":1483},[2421],{"type":57,"value":2422},"d",{"type":51,"tag":802,"props":2424,"children":2425},{"style":1489},[2426],{"type":57,"value":1782},{"type":51,"tag":802,"props":2428,"children":2429},{"style":1501},[2430],{"type":57,"value":2431}," --format-type",{"type":51,"tag":802,"props":2433,"children":2434},{"style":1501},[2435],{"type":57,"value":2436}," json",{"type":51,"tag":802,"props":2438,"children":2439},{"style":1483},[2440],{"type":57,"value":2049},{"type":51,"tag":802,"props":2442,"children":2443},{"class":804,"line":2004},[2444,2449,2454,2459,2464],{"type":51,"tag":802,"props":2445,"children":2446},{"style":1489},[2447],{"type":57,"value":2448},"  |",{"type":51,"tag":802,"props":2450,"children":2451},{"style":1495},[2452],{"type":57,"value":2453}," jq",{"type":51,"tag":802,"props":2455,"children":2456},{"style":1489},[2457],{"type":57,"value":2458}," '",{"type":51,"tag":802,"props":2460,"children":2461},{"style":1501},[2462],{"type":57,"value":2463},"{status, tasks: [.groups[].tasks[] | {name, status, exit_code}]}",{"type":51,"tag":802,"props":2465,"children":2466},{"style":1489},[2467],{"type":57,"value":2468},"'\n",{"type":51,"tag":802,"props":2470,"children":2471},{"class":804,"line":2052},[2472],{"type":51,"tag":802,"props":2473,"children":2475},{"emptyLinePlaceholder":2474},true,[2476],{"type":57,"value":2477},"\n",{"type":51,"tag":802,"props":2479,"children":2480},{"class":804,"line":27},[2481],{"type":51,"tag":802,"props":2482,"children":2483},{"style":2389},[2484],{"type":57,"value":2485},"# Logs for a specific task\n",{"type":51,"tag":802,"props":2487,"children":2488},{"class":804,"line":2096},[2489,2493,2497,2502,2506,2510,2514,2518,2523,2527,2532,2537,2541,2546],{"type":51,"tag":802,"props":2490,"children":2491},{"style":1495},[2492],{"type":57,"value":290},{"type":51,"tag":802,"props":2494,"children":2495},{"style":1501},[2496],{"type":57,"value":2014},{"type":51,"tag":802,"props":2498,"children":2499},{"style":1501},[2500],{"type":57,"value":2501}," logs",{"type":51,"tag":802,"props":2503,"children":2504},{"style":1489},[2505],{"type":57,"value":2063},{"type":51,"tag":802,"props":2507,"children":2508},{"style":1501},[2509],{"type":57,"value":2417},{"type":51,"tag":802,"props":2511,"children":2512},{"style":1483},[2513],{"type":57,"value":2422},{"type":51,"tag":802,"props":2515,"children":2516},{"style":1489},[2517],{"type":57,"value":1782},{"type":51,"tag":802,"props":2519,"children":2520},{"style":1501},[2521],{"type":57,"value":2522}," --task",{"type":51,"tag":802,"props":2524,"children":2525},{"style":1489},[2526],{"type":57,"value":2063},{"type":51,"tag":802,"props":2528,"children":2529},{"style":1501},[2530],{"type":57,"value":2531},"task_nam",{"type":51,"tag":802,"props":2533,"children":2534},{"style":1483},[2535],{"type":57,"value":2536},"e",{"type":51,"tag":802,"props":2538,"children":2539},{"style":1489},[2540],{"type":57,"value":1782},{"type":51,"tag":802,"props":2542,"children":2543},{"style":1501},[2544],{"type":57,"value":2545}," -n",{"type":51,"tag":802,"props":2547,"children":2549},{"style":2548},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[2550],{"type":57,"value":2551}," 200\n",{"type":51,"tag":802,"props":2553,"children":2554},{"class":804,"line":2127},[2555],{"type":51,"tag":802,"props":2556,"children":2557},{"emptyLinePlaceholder":2474},[2558],{"type":57,"value":2477},{"type":51,"tag":802,"props":2560,"children":2561},{"class":804,"line":2141},[2562],{"type":51,"tag":802,"props":2563,"children":2564},{"style":2389},[2565],{"type":57,"value":2566},"# Output retrieval\n",{"type":51,"tag":802,"props":2568,"children":2569},{"class":804,"line":2172},[2570,2574,2579,2584,2589,2593,2598,2602],{"type":51,"tag":802,"props":2571,"children":2572},{"style":1495},[2573],{"type":57,"value":290},{"type":51,"tag":802,"props":2575,"children":2576},{"style":1501},[2577],{"type":57,"value":2578}," data",{"type":51,"tag":802,"props":2580,"children":2581},{"style":1501},[2582],{"type":57,"value":2583}," list",{"type":51,"tag":802,"props":2585,"children":2586},{"style":1501},[2587],{"type":57,"value":2588}," --no-pager",{"type":51,"tag":802,"props":2590,"children":2591},{"style":1489},[2592],{"type":57,"value":2063},{"type":51,"tag":802,"props":2594,"children":2595},{"style":1501},[2596],{"type":57,"value":2597},"output_ur",{"type":51,"tag":802,"props":2599,"children":2600},{"style":1483},[2601],{"type":57,"value":2073},{"type":51,"tag":802,"props":2603,"children":2604},{"style":1489},[2605],{"type":57,"value":2606},">\n",{"type":51,"tag":802,"props":2608,"children":2609},{"class":804,"line":2203},[2610,2614,2618,2623,2627,2631,2635,2639,2643,2648,2653,2657],{"type":51,"tag":802,"props":2611,"children":2612},{"style":1495},[2613],{"type":57,"value":290},{"type":51,"tag":802,"props":2615,"children":2616},{"style":1501},[2617],{"type":57,"value":2578},{"type":51,"tag":802,"props":2619,"children":2620},{"style":1501},[2621],{"type":57,"value":2622}," download",{"type":51,"tag":802,"props":2624,"children":2625},{"style":1489},[2626],{"type":57,"value":2063},{"type":51,"tag":802,"props":2628,"children":2629},{"style":1501},[2630],{"type":57,"value":2597},{"type":51,"tag":802,"props":2632,"children":2633},{"style":1483},[2634],{"type":57,"value":2073},{"type":51,"tag":802,"props":2636,"children":2637},{"style":1489},[2638],{"type":57,"value":1782},{"type":51,"tag":802,"props":2640,"children":2641},{"style":1489},[2642],{"type":57,"value":2063},{"type":51,"tag":802,"props":2644,"children":2645},{"style":1501},[2646],{"type":57,"value":2647},"local_di",{"type":51,"tag":802,"props":2649,"children":2650},{"style":1483},[2651],{"type":57,"value":2652},"r",{"type":51,"tag":802,"props":2654,"children":2655},{"style":1489},[2656],{"type":57,"value":1782},{"type":51,"tag":802,"props":2658,"children":2659},{"style":1501},[2660],{"type":57,"value":2661},"\u002F\n",{"type":51,"tag":60,"props":2663,"children":2664},{},[2665],{"type":57,"value":2666},"For runs expected to exceed two minutes, send heartbeat updates at least every\ntwo minutes.",{"type":51,"tag":66,"props":2668,"children":2670},{"id":2669},"post-run-output",[2671],{"type":57,"value":2672},"Post-Run Output",{"type":51,"tag":60,"props":2674,"children":2675},{},[2676],{"type":57,"value":2677},"After successful completion, the output directory contains:",{"type":51,"tag":60,"props":2679,"children":2680},{},[2681,2683,2688,2689,2694],{"type":57,"value":2682},"For ",{"type":51,"tag":91,"props":2684,"children":2686},{"className":2685},[],[2687],{"type":57,"value":475},{"type":57,"value":1850},{"type":51,"tag":91,"props":2690,"children":2692},{"className":2691},[],[2693],{"type":57,"value":491},{"type":57,"value":2695},":",{"type":51,"tag":1142,"props":2697,"children":2698},{},[2699,2710,2721,2732,2743],{"type":51,"tag":460,"props":2700,"children":2701},{},[2702,2708],{"type":51,"tag":91,"props":2703,"children":2705},{"className":2704},[],[2706],{"type":57,"value":2707},"\u003Cperson_id>\u002Faug_\u003Cn>\u002Foutput.jpg",{"type":57,"value":2709}," — augmented multi-pane image",{"type":51,"tag":460,"props":2711,"children":2712},{},[2713,2719],{"type":51,"tag":91,"props":2714,"children":2716},{"className":2715},[],[2717],{"type":57,"value":2718},"\u003Cperson_id>\u002Faug_\u003Cn>\u002Foutput.txt",{"type":57,"value":2720}," — natural-language caption",{"type":51,"tag":460,"props":2722,"children":2723},{},[2724,2730],{"type":51,"tag":91,"props":2725,"children":2727},{"className":2726},[],[2728],{"type":57,"value":2729},"\u003Cperson_id>\u002Faug_\u003Cn>\u002Foutput_metadata.json",{"type":57,"value":2731}," — verification results",{"type":51,"tag":460,"props":2733,"children":2734},{},[2735,2741],{"type":51,"tag":91,"props":2736,"children":2738},{"className":2737},[],[2739],{"type":57,"value":2740},"dataset\u002Faugmented_data.json",{"type":57,"value":2742}," — structured dataset with attributes and queries",{"type":51,"tag":460,"props":2744,"children":2745},{},[2746,2752],{"type":51,"tag":91,"props":2747,"children":2749},{"className":2748},[],[2750],{"type":57,"value":2751},"dataset\u002Faugmented_imgs\u002F",{"type":57,"value":2753}," — split per-view crops",{"type":51,"tag":60,"props":2755,"children":2756},{},[2757,2758,2763],{"type":57,"value":2682},{"type":51,"tag":91,"props":2759,"children":2761},{"className":2760},[],[2762],{"type":57,"value":483},{"type":57,"value":2695},{"type":51,"tag":1142,"props":2765,"children":2766},{},[2767],{"type":51,"tag":460,"props":2768,"children":2769},{},[2770,2776],{"type":51,"tag":91,"props":2771,"children":2773},{"className":2772},[],[2774],{"type":57,"value":2775},"caption_\u003Cid>\u002Ftask\u002Fopen_qa.json",{"type":57,"value":2777}," — person-attribute captions grouped by question bank",{"type":51,"tag":66,"props":2779,"children":2781},{"id":2780},"supporting-files",[2782],{"type":57,"value":2783},"Supporting files",{"type":51,"tag":60,"props":2785,"children":2786},{},[2787],{"type":57,"value":2788},"Use these canonical locations:",{"type":51,"tag":1142,"props":2790,"children":2791},{},[2792,2803,2814,2825,2843,2854],{"type":51,"tag":460,"props":2793,"children":2794},{},[2795,2797],{"type":57,"value":2796},"Workflows: ",{"type":51,"tag":91,"props":2798,"children":2800},{"className":2799},[],[2801],{"type":57,"value":2802},"assets\u002Fconfigs\u002Fosmo\u002F*.yaml",{"type":51,"tag":460,"props":2804,"children":2805},{},[2806,2808],{"type":57,"value":2807},"Runtime scripts: ",{"type":51,"tag":91,"props":2809,"children":2811},{"className":2810},[],[2812],{"type":57,"value":2813},"scripts\u002F*.sh",{"type":51,"tag":460,"props":2815,"children":2816},{},[2817,2819],{"type":57,"value":2818},"Flow walkthroughs: ",{"type":51,"tag":91,"props":2820,"children":2822},{"className":2821},[],[2823],{"type":57,"value":2824},"references\u002Fflows\u002F*.md",{"type":51,"tag":460,"props":2826,"children":2827},{},[2828,2830,2836,2837],{"type":57,"value":2829},"Setup and triage: ",{"type":51,"tag":91,"props":2831,"children":2833},{"className":2832},[],[2834],{"type":57,"value":2835},"references\u002Fsetup.md",{"type":57,"value":198},{"type":51,"tag":91,"props":2838,"children":2840},{"className":2839},[],[2841],{"type":57,"value":2842},"references\u002Ftroubleshooting.md",{"type":51,"tag":460,"props":2844,"children":2845},{},[2846,2848],{"type":57,"value":2847},"Images: ",{"type":51,"tag":91,"props":2849,"children":2851},{"className":2850},[],[2852],{"type":57,"value":2853},"references\u002Fcontainer-images.md",{"type":51,"tag":460,"props":2855,"children":2856},{},[2857,2859],{"type":57,"value":2858},"Cookbook tuning: ",{"type":51,"tag":91,"props":2860,"children":2862},{"className":2861},[],[2863],{"type":57,"value":2864},"assets\u002Fcookbooks\u002Fdefault\u002FREADME.md",{"type":51,"tag":2866,"props":2867,"children":2868},"style",{},[2869],{"type":57,"value":2870},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2872,"total":3028},[2873,2891,2908,2919,2931,2945,2958,2972,2985,2996,3010,3019],{"slug":2874,"name":2874,"fn":2875,"description":2876,"org":2877,"tags":2878,"stars":2888,"repoUrl":2889,"updatedAt":2890},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2879,2882,2885],{"name":2880,"slug":2881,"type":15},"Documentation","documentation",{"name":2883,"slug":2884,"type":15},"MCP","mcp",{"name":2886,"slug":2887,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":2892,"name":2892,"fn":2893,"description":2894,"org":2895,"tags":2896,"stars":2905,"repoUrl":2906,"updatedAt":2907},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2897,2900,2903],{"name":2898,"slug":2899,"type":15},"Containers","containers",{"name":2901,"slug":2902,"type":15},"Deployment","deployment",{"name":2904,"slug":795,"type":15},"Python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":2909,"name":2909,"fn":2910,"description":2911,"org":2912,"tags":2913,"stars":2905,"repoUrl":2906,"updatedAt":2918},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2914,2917],{"name":2915,"slug":2916,"type":15},"CI\u002FCD","ci-cd",{"name":2901,"slug":2902,"type":15},"2026-07-14T05:25:59.97109",{"slug":2920,"name":2920,"fn":2921,"description":2922,"org":2923,"tags":2924,"stars":2905,"repoUrl":2906,"updatedAt":2930},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2925,2926,2927],{"name":2915,"slug":2916,"type":15},{"name":2901,"slug":2902,"type":15},{"name":2928,"slug":2929,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":2932,"name":2932,"fn":2933,"description":2934,"org":2935,"tags":2936,"stars":2905,"repoUrl":2906,"updatedAt":2944},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2937,2940,2941],{"name":2938,"slug":2939,"type":15},"Debugging","debugging",{"name":2928,"slug":2929,"type":15},{"name":2942,"slug":2943,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":2946,"name":2946,"fn":2947,"description":2948,"org":2949,"tags":2950,"stars":2905,"repoUrl":2906,"updatedAt":2957},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2951,2954],{"name":2952,"slug":2953,"type":15},"Best Practices","best-practices",{"name":2955,"slug":2956,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":2959,"name":2959,"fn":2960,"description":2961,"org":2962,"tags":2963,"stars":2905,"repoUrl":2906,"updatedAt":2971},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2964,2967,2970],{"name":2965,"slug":2966,"type":15},"Machine Learning","machine-learning",{"name":2968,"slug":2969,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":2973,"name":2973,"fn":2974,"description":2975,"org":2976,"tags":2977,"stars":2905,"repoUrl":2906,"updatedAt":2984},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2978,2981],{"name":2979,"slug":2980,"type":15},"QA","qa",{"name":2982,"slug":2983,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":2986,"name":2986,"fn":2987,"description":2988,"org":2989,"tags":2990,"stars":2905,"repoUrl":2906,"updatedAt":2995},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[2991,2992],{"name":2901,"slug":2902,"type":15},{"name":2993,"slug":2994,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":2997,"name":2997,"fn":2998,"description":2999,"org":3000,"tags":3001,"stars":2905,"repoUrl":2906,"updatedAt":3009},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3002,3005,3006],{"name":3003,"slug":3004,"type":15},"Code Review","code-review",{"name":2928,"slug":2929,"type":15},{"name":3007,"slug":3008,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":3011,"name":3011,"fn":3012,"description":3013,"org":3014,"tags":3015,"stars":2905,"repoUrl":2906,"updatedAt":3018},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3016,3017],{"name":2979,"slug":2980,"type":15},{"name":2982,"slug":2983,"type":15},"2026-07-14T05:25:54.928983",{"slug":3020,"name":3020,"fn":3021,"description":3022,"org":3023,"tags":3024,"stars":2905,"repoUrl":2906,"updatedAt":3027},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3025,3026],{"name":13,"slug":14,"type":15},{"name":2915,"slug":2916,"type":15},"2026-07-30T05:29:03.275638",525,{"items":3030,"total":805},[3031],{"slug":4,"name":4,"fn":5,"description":6,"org":3032,"tags":3033,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3034,3035,3036,3037],{"name":13,"slug":14,"type":15},{"name":21,"slug":22,"type":15},{"name":17,"slug":18,"type":15},{"name":9,"slug":8,"type":15}]