[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-tao-run-automl-deft-pipeline":3,"mdc--10pujx-key":37,"related-org-nvidia-tao-run-automl-deft-pipeline":1625,"related-repo-nvidia-tao-run-automl-deft-pipeline":1782},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"tao-run-automl-deft-pipeline","run NVIDIA AOI training pipelines","Run the canonical NVIDIA AOI three-phase training pipeline — Phase 1 AutoML baseline (HPO), Phase 2 DEFT loop (RCA → SDG → mining → plain-train retrain), Phase 3 AutoML refinement on the DEFT-augmented dataset. Use when the user asks to \"run the AOI workflow\", \"fine-tune my PCB AOI model end-to-end\", \"improve my AOI ChangeNet model\", or \"AOI workflow with AutoML\" request — route here instead of tao-run-deft-aoi directly unless the user explicitly asks for the DEFT loop ONLY (e.g. \"run JUST the DEFT loop\", \"skip AutoML, only DEFT\"). Also handles the same three-phase pattern for non-AOI DEFT applications — AutoML baseline then DEFT loop warm-started from AutoML's winning HPs then post-DEFT AutoML refinement on the iteration-augmented dataset. Trigger phrases include \"run the AOI workflow\", \"AOI end-to-end\", \"AutoML + DEFT\", \"AutoML then DEFT\", \"tune hyperparameters then DEFT\", \"DEFT with AutoML at both ends\", \"warm-start DEFT\", \"improve my AOI model\".\n",{"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,22,25],{"name":13,"slug":14,"type":15},"Data Engineering","data-engineering","tag",{"name":17,"slug":18,"type":15},"Deep Learning","deep-learning",{"name":20,"slug":21,"type":15},"Automation","automation",{"name":23,"slug":24,"type":15},"Machine Learning","machine-learning",{"name":9,"slug":8,"type":15},2473,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills","2026-07-14T05:30:07.021705","Apache-2.0",281,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"AI agent skills published by NVIDIA","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Ftao-run-automl-deft-pipeline","---\nname: tao-run-automl-deft-pipeline\ndescription: >\n  Run the canonical NVIDIA AOI three-phase training pipeline — Phase 1 AutoML baseline (HPO),\n  Phase 2 DEFT loop (RCA → SDG → mining → plain-train retrain), Phase 3 AutoML refinement on\n  the DEFT-augmented dataset. Use when the user asks to \"run the AOI workflow\",\n  \"fine-tune my PCB AOI model end-to-end\", \"improve my AOI ChangeNet model\", or \"AOI workflow\n  with AutoML\" request — route here instead of tao-run-deft-aoi directly unless the user\n  explicitly asks for the DEFT loop ONLY (e.g. \"run JUST the DEFT loop\", \"skip AutoML, only\n  DEFT\"). Also handles the same three-phase pattern for non-AOI DEFT applications — AutoML\n  baseline then DEFT loop warm-started from AutoML's winning HPs then post-DEFT AutoML\n  refinement on the iteration-augmented dataset. Trigger phrases include \"run the AOI\n  workflow\", \"AOI end-to-end\", \"AutoML + DEFT\", \"AutoML then DEFT\", \"tune hyperparameters then\n  DEFT\", \"DEFT with AutoML at both ends\", \"warm-start DEFT\", \"improve my AOI model\".\nlicense: Apache-2.0\ncompatibility: Requires docker + nvidia-container-toolkit. Workflows (tao-run-automl, tao-run-deft-aoi) declare additional requirements.\nmetadata:\n  author: NVIDIA Corporation\n  version: \"0.1.0\"\nallowed-tools: Read Skill Bash Write\ntags:\n- tao\n- applications\n---\n\n# AutoML + DEFT Pipeline\n\nA workflow-bridge skill that runs **three phases** in sequence by delegating to two existing skills — `tao-run-automl` for HPO and a DEFT application skill (default `tao-run-deft-aoi` for AOI; other `skills\u002Fapplications\u002Fdeft-*` skills for non-AOI cases) for the iterative data-improvement loop.\n\nThis skill **does not** re-implement AutoML or DEFT. It owns only the connective tissue: HPO spec inputs, the spec-handoff between AutoML and DEFT, and the post-DEFT AutoML re-run on the augmented dataset.\n\n## Routing policy\n\n- User asks to \"run the AOI workflow\" or \"improve my AOI ChangeNet model\" — **default to this skill**, not `tao-run-deft-aoi` directly. The bare DEFT loop is the inner stage of this pipeline.\n- User wants AutoML and DEFT chained on the same model\u002Fdataset\n- User says \"AutoML at both ends\", \"tune HPs then DEFT\", \"warm-start DEFT\", \"AutoML before and after DEFT\"\n- User has an AutoML-tuned spec and asks how to feed it into DEFT\n\n## When this skill does NOT apply\n\n- User explicitly asks for the DEFT loop only (\"run JUST the DEFT loop\", \"skip AutoML\") → use `tao-run-deft-aoi` directly\n- User wants only AutoML with no follow-on DEFT → use `tao-run-automl` directly\n- User is doing zero-shot eval, RAG, or non-training workflows\n\n---\n\n## The mental model\n\n```\nPhase 1 (AutoML baseline)        Phase 2 (DEFT loop, plain train)        Phase 3 (AutoML refinement)\n─────────────────────────        ────────────────────────────────        ───────────────────────────\nspecs\u002Fbaseline_spec.yaml         (Phase 1 winner pre-seeds baseline      ${RESULTS_DIR}\u002Fiter${N}\u002Fdataset\u002F\ntrain\u002Fbase\u002Ftraining_set.csv       — DEFT skips its baseline train)       train_combined_iter${N}.csv\n        │                                       │                                       │\n        ▼                                       ▼                                       ▼\n[ AutoML HPO sweep ]               [ DEFT: baseline-inference → RCA       [ AutoML HPO sweep ]\n   N recommendations                 → iter 1..N (plain retrain) ]        re-tunes HPs against the\n   pick best by val_loss \u002F FAR      RCA \u002F route \u002F SDG \u002F mining             DEFT-augmented dataset\n        │                                       │                                       │\n        ▼                                       ▼                                       ▼\nbest HPs spec + ckpt ─────►      DEFT-augmented CSV ───────────►        final best checkpoint\n                                 + iter winner checkpoint               (the deliverable; no\n                                 (Phase 3 warm-starts from it)           further retrain)\n```\n\nThe two handoffs are:\n\n- **Phase 1 → Phase 2**: a *spec file* AND the *winning checkpoint* — the bridge deep-merges Phase 1's HPs onto `specs\u002Fbaseline_spec.yaml`, copies the checkpoint into `${RESULTS_DIR}\u002Fbaseline\u002Ftrain\u002F`, and pre-populates `deft_state.json` \u002F `loop_log.jsonl` so DEFT skips its baseline train and resumes at baseline inference → evaluate → RCA → iter 1. DEFT stays plain-train (`automl_policy: off` preserved).\n- **Phase 2 → Phase 3**: a *training CSV* (`train_combined_iter${N_final}.csv`) AND the *iter winner's checkpoint* — the checkpoint is wired into each rec's `train.pretrained_model_path` so Phase 3 fine-tunes from Phase 2's winner. Phase 3's winning checkpoint is the deliverable; no separate retrain after Phase 3.\n\nSee `references\u002Fphase-handoffs.md` for the exact steps, code, and DEFT-honors-this-handoff details of both handoffs.\n\n## Why three phases instead of two\n\n- **Phase 1 alone** finds good HPs on the *original* training distribution, but the model still has the distributional gaps DEFT is designed to fill.\n- **Phase 2 alone** (just DEFT) fills the gaps but uses whatever HPs `specs\u002Fbaseline_spec.yaml` was hand-authored with — usually not optimal.\n- **Phase 3 alone** would run AutoML against the augmented dataset, but without a tuned baseline the DEFT loop's iteration cost is higher (slower convergence, more iterations to hit the KPI).\n\nRunning all three: AutoML cheap-tunes once on the original data, DEFT does the heavy data work with reasonable HPs, then AutoML tunes again on the now-richer dataset. Phase 3 is the most important of the three for the final deployed FAR\u002Frecall.\n\n## Cost up-front\n\nThe pipeline is sequential. Total wall-clock ≈ Phase 1 (N_automl × per-rec train) + Phase 2 (M iterations × per-iter cost) + Phase 3 (N_automl × per-rec train).\n\nNote that **Phase 2 has no separate baseline train** — Phase 1's winning checkpoint is reused as DEFT's baseline, so the baseline cost lands inside Phase 1's N_automl trainings rather than as an extra retrain. Surface this to the user before kickoff. Typically Phase 2's iterations still dominate (each includes SDG + retrain), but Phase 1 and Phase 3 each add several hours on a single-GPU box. Use the per-job estimate from the user's setup (if they have one) rather than guessing minutes. See `references\u002Fpitfalls-and-quality-checks.md` (**Compute budget**) for the per-phase term breakdown.\n\n---\n\n## Consolidated Pre-Flight — one gate, all three phases\n\n**The pipeline has exactly one user gate.** Before any side-effecting action (docker pull, docker login, any job-launch call delegated to a downstream skill, file mutations under `${RESULTS_DIR}\u002F`), the agent must produce a single consolidated Pre-Flight Summary that subsumes every downstream skill's preflight. Once the user approves, the run is autonomous through all three phases — no further interactive pauses.\n\nThe user explicitly does not want to be paged between phases. The DEFT loop's own inline `## Pre-Flight Summary` gate becomes a **zero-question display step** (every value pre-supplied from this consolidated gate), as does `tao-run-automl`'s shared launch preflight in Phase 1 and Phase 3.\n\nBefore printing the summary, the agent must open and read every downstream skill's preflight section in full, run every read-only check those sections prescribe, and surface the *outcome* of each check. The summary has nine mandatory sections (workspace\u002Fhost\u002Fplatform\u002Fnetwork; credentials status; container images; dataset table; Phase 1 config; Phase 2 config; Phase 3 config; compute estimate; confirmation line). After the gate, every downstream interactive gate is suppressed by passing through the collected values. The only allowed post-gate pauses are mid-run hard-stop safety gates the downstream skill cannot bypass.\n\nSee `references\u002Fconsolidated-preflight.md` for: the full list of preflight sections to read, the required DEFT `## Pre-Flight` run, the exact nine-section summary contents, the value pass-through for gate suppression, and the procedure when the skill bank version doesn't yet support gate suppression.\n\n---\n\n## Phase 1 — AutoML baseline\n\nInvoke `tao-skill-bank:tao-run-automl` with:\n\n| Input | AOI default | Notes |\n|---|---|---|\n| `network_arch` | `visual-changenet` | Same model the DEFT loop expects |\n| `train_dataset_uri` | `\u003Cworkspace>\u002Ftrain\u002Fbase\u002Ftraining_set.csv` | Same training set DEFT will start from |\n| `eval_dataset_uri` | `\u003Cworkspace>\u002Ftrain\u002Fbase\u002Fvalidation_set.csv` | Held-out — must NOT be the KPI test set (`\u003Cworkspace>\u002Fkpi\u002Ftesting_set.csv`), since that set is reserved for DEFT's final reporting |\n| `metric` | FAR @ 100% recall (preferred) or `val_loss` | See **Metric pitfalls** in `references\u002Fpitfalls-and-quality-checks.md` — ChangeNet AOI is class-imbalanced, val_loss alone can mode-collapse |\n| `algorithm` | `bayesian` | LLM-brain or `autoresearch` if compute is tight |\n| `automl_max_recommendations` | 5–10 for AOI | More recs = better HPs but linear in compute |\n| `spec_overrides` | Pin epochs \u002F batch_size; sweep optimizer-related HPs only | Otherwise AutoML wanders into long-train regimes that blow Phase 2's budget |\n\nAfter the sweep finishes, AutoML's `result[\"best\"][\"specs\"]` is the winning hyperparameter dict.\n\n### Handoff to Phase 2\n\nPhase 1 hands over **two artifacts**: the winning *spec* and the winning *checkpoint*. Retraining the same HPs in DEFT's baseline step is wasted compute — instead, pre-seed DEFT's baseline state from Phase 1's outputs so DEFT starts at baseline inference → evaluate → RCA → iter 1. This is a four-step bridge (write merged spec → pre-seed `baseline\u002Ftrain\u002F` → initialise `deft_state.json` with baseline already done → invoke DEFT), followed by a quality check of the winning checkpoint (per-class prediction counts; compare to zero-shot ChangeNet).\n\nSee `references\u002Fphase-handoffs.md` for the verbatim Steps 1–4 (including the `cp` command, the `deft_state.json` patch code, and the `loop_log.jsonl` append) and the quality-check checklist.\n\n---\n\n## Phase 2 — DEFT loop (plain training, baseline pre-seeded from Phase 1)\n\nInvoke `tao-skill-bank:tao-run-deft-aoi` (read its `SKILL.md` for the full interface). For non-AOI applications, invoke the matching DEFT skill; the handoff shape is the same.\n\n**The DEFT loop's baseline-train sub-step is skipped.** Phase 1 already produced a checkpoint trained at the winning HPs, and Phase 1's handoff (see `references\u002Fphase-handoffs.md`) pre-populated `${RESULTS_DIR}\u002Fbaseline\u002Ftrain\u002F` and `${RESULTS_DIR}\u002Fdeft_state.json` so DEFT resumes at baseline inference → evaluate → RCA → iter 1. The rest of the DEFT loop runs unchanged. **Do not modify its `automl_policy: off` invariant.**\n\nThe DEFT loop owns: its Pre-Flight Summary display step (**not** a fresh user gate — the Consolidated Pre-Flight above is the single gate; the DEFT summary still prints as an audit-trail display of the pre-seeded `baseline\u002Ftrain\u002F` source and must not re-prompt); baseline inference → evaluate → RCA on the pre-seeded checkpoint; the full per-iteration RCA → routing → SDG → mining → assemble → train cycle; KPI gating and stop conditions; and the `${RESULTS_DIR}\u002F` layout (`deft_state.json`, `loop_log.jsonl`, `DEFT_Loop_Report.html`).\n\nAfter the loop exits (KPI met or `max_iterations` reached), capture two values from `deft_state.json`: `iterations.\u003Cbest>.best_ckpt_path` (the loop's best plain-train checkpoint) and the final iteration label `N_final` (used to locate the augmented training CSV).\n\nIf the DEFT loop hard-stops on an unrecoverable gate, **skip Phase 3**. There is no validated augmented CSV to feed AutoML.\n\n---\n\n## Phase 3 — AutoML refinement on the DEFT-augmented dataset\n\nRe-invoke `tao-skill-bank:tao-run-automl` with the augmented training CSV as the train dataset, the same held-out validation CSV as before, and **Phase 2's iter winner checkpoint as the warm-start**:\n\n| Input | AOI value |\n|---|---|\n| `network_arch` | `visual-changenet` |\n| `train_dataset_uri` | `${RESULTS_DIR}\u002Fiter${N_final}\u002Fdataset\u002Ftrain_combined_iter${N_final}.csv` |\n| `eval_dataset_uri` | Same as Phase 1 (`\u003Cworkspace>\u002Ftrain\u002Fbase\u002Fvalidation_set.csv`) — keep the comparison apples-to-apples |\n| `metric` | Same metric as Phase 1 |\n| `algorithm` | Same as Phase 1 |\n| `automl_max_recommendations` | 5–10 |\n| Initial spec | Start from `\u003Cworkspace>\u002Fspecs\u002Fbaseline_spec_automl.yaml` (Phase 1's winner) — gives the sweep a strong centroid to refine around |\n| **Warm-start checkpoint** | **`iterations.\u003Cbest>.best_ckpt_path` from `${RESULTS_DIR}\u002Fdeft_state.json`** — set `spec_overrides[\"train\"][\"pretrained_model_path\"]` to this path. Each Phase 3 rec then **fine-tunes from Phase 2's winner** instead of training from scratch. |\n\nThe warm-start is mandatory: without it every rec starts from random init with only 10-20 epochs to reconverge, `val_loss` regresses by 0.03-0.05 vs iter1, and the `_pick_best` safety net silently rolls back to the iter winner. Output goes to `${RESULTS_DIR}\u002Ffinal_automl\u002F`; the winning checkpoint of this sweep is the pipeline's deliverable. After the sweep, register Phase 3's checkpoint under `iterations.final_automl` in `deft_state.json` and re-run `prepare_inference_spec.py` so the handoff sees it (falling back to the loop's best if Phase 3 regressed).\n\nSee `references\u002Fphase-handoffs.md` for: the full \"why the warm-start is mandatory\" rationale and tradeoff, the concrete `spec_overrides` selection code, the exact two-step wiring of Phase 3's output back into the DEFT report, and the safety note on regression.\n\n---\n\n## Pitfalls and quality checks\n\nThese apply to both AutoML phases. Bake them into agent behavior — don't just paste once. The full detail lives in `references\u002Fpitfalls-and-quality-checks.md`; in brief:\n\n- **Metric pitfalls — AOI is class-imbalanced.** ChangeNet AOI datasets are PASS-dominant (90%+), so a `val_loss` winner can be a mode-collapsed model. Prefer FAR @ 100%-recall directly, or guard val_loss with a `pred_counts` sanity check, or eval top-K by FAR @ 100%-recall before picking. For balanced \u002F regression tasks, val_loss is fine.\n- **Run-to-run noise.** AutoML can show 2–3× variance for the same HP config. If the winner is suspiciously better than the runner-up, re-run with a fresh seed before committing the spec to Phase 2.\n- **Cleanliness (data leakage).** Both AutoML phases use a validation set distinct from the KPI test set (`\u003Cworkspace>\u002Fkpi\u002Ftesting_set.csv`), which is reserved for DEFT's final reporting. Phase 3 trains on the augmented CSV but keeps the same validation set so Phase 1 and Phase 3 numbers stay comparable.\n- **Compute budget.** Phase 1 `N_automl × per-rec train`; Phase 2 `M_iter × (RCA + SDG + mining + retrain)` (usually largest); Phase 3 `N_automl × per-rec train` on the larger augmented dataset. Ask the user for their per-job time before quoting wall-clock.\n\n---\n\n## Quick Start (AOI worked example)\n\nWhen starting fresh from \"run the AOI workflow\", the agent presents a three-phase plan to the user (Phase 1 AutoML baseline → Phase 2 DEFT loop → Phase 3 AutoML refinement), states the total cost structure (no extra baseline retrain at the front, no extra retrain at the end), asks for the user's per-run time for a wall-clock estimate, and waits for approval. After confirmation it invokes Phase 1, writes the merged spec, pre-seeds `deft_state.json`, invokes the DEFT loop with every input pre-supplied, then invokes Phase 3 — with no further pauses unless a downstream skill hits an unrecoverable hard-stop. It summarizes the trajectory at the end (baseline AutoML best → DEFT iter 1 → ... → DEFT iter N_final → Phase 3 best).\n\nSee `references\u002Fquick-start-example.md` for the verbatim customer-facing message block and the exact post-confirmation invocation sequence.\n\n## Non-AOI DEFT applications\n\nSame three-phase pattern applies to other DEFT skills. Swap:\n\n- `network_arch` to the relevant model\n- The DEFT skill invoked in Phase 2\n- The \"best HP spec file\" and \"best HP checkpoint\" path conventions to whatever the target DEFT skill expects\n- The augmented-CSV path in Phase 3 to whatever the target DEFT skill produces\n\nThe handoff shape — Phase 1 emits a *spec + checkpoint* (the checkpoint pre-seeds the DEFT baseline), Phase 2 consumes both and emits an augmented dataset, Phase 3 emits the final checkpoint — is identical. The Phase 1 → Phase 2 baseline-skip mechanism is generic: any DEFT-style loop that exposes a resumable baseline state can be seeded the same way.\n\n---\n\n## See also\n\n- `tao-skill-bank:tao-run-automl` — AutoML interface, algorithms, HP ranges\n- `tao-skill-bank:tao-run-deft-aoi` — full DEFT AOI loop (Phase 2 default)\n- `tao-skill-bank:tao-train-visual-changenet` — underlying ChangeNet train\u002Feval\u002Finfer skill (used by both AutoML and DEFT)\n- Other `skills\u002Fapplications\u002Fdeft-*` skills — non-AOI Phase 2 targets\n- `references\u002Fconsolidated-preflight.md` — the single-gate preflight in full\n- `references\u002Fphase-handoffs.md` — both handoffs, baseline pre-seed, and Phase 3 warm-start, verbatim\n- `references\u002Fpitfalls-and-quality-checks.md` — metric pitfalls, run-to-run noise, leakage, compute budget\n- `references\u002Fquick-start-example.md` — the customer-facing worked-example message\n",{"data":38,"body":47},{"name":4,"description":6,"license":29,"compatibility":39,"metadata":40,"allowed-tools":43,"tags":44},"Requires docker + nvidia-container-toolkit. Workflows (tao-run-automl, tao-run-deft-aoi) declare additional requirements.",{"author":41,"version":42},"NVIDIA Corporation","0.1.0","Read Skill Bash Write",[45,46],"tao","applications",{"type":48,"children":49},"root",[50,59,98,110,117,156,162,193,197,203,215,220,327,340,346,393,398,404,409,435,438,444,462,489,501,521,524,530,543,781,794,801,842,875,878,884,904,948,995,1031,1043,1046,1052,1071,1269,1319,1337,1340,1346,1358,1446,1449,1455,1467,1479,1485,1490,1518,1530,1533,1539],{"type":51,"tag":52,"props":53,"children":55},"element","h1",{"id":54},"automl-deft-pipeline",[56],{"type":57,"value":58},"text","AutoML + DEFT Pipeline",{"type":51,"tag":60,"props":61,"children":62},"p",{},[63,65,71,73,80,82,88,90,96],{"type":57,"value":64},"A workflow-bridge skill that runs ",{"type":51,"tag":66,"props":67,"children":68},"strong",{},[69],{"type":57,"value":70},"three phases",{"type":57,"value":72}," in sequence by delegating to two existing skills — ",{"type":51,"tag":74,"props":75,"children":77},"code",{"className":76},[],[78],{"type":57,"value":79},"tao-run-automl",{"type":57,"value":81}," for HPO and a DEFT application skill (default ",{"type":51,"tag":74,"props":83,"children":85},{"className":84},[],[86],{"type":57,"value":87},"tao-run-deft-aoi",{"type":57,"value":89}," for AOI; other ",{"type":51,"tag":74,"props":91,"children":93},{"className":92},[],[94],{"type":57,"value":95},"skills\u002Fapplications\u002Fdeft-*",{"type":57,"value":97}," skills for non-AOI cases) for the iterative data-improvement loop.",{"type":51,"tag":60,"props":99,"children":100},{},[101,103,108],{"type":57,"value":102},"This skill ",{"type":51,"tag":66,"props":104,"children":105},{},[106],{"type":57,"value":107},"does not",{"type":57,"value":109}," re-implement AutoML or DEFT. It owns only the connective tissue: HPO spec inputs, the spec-handoff between AutoML and DEFT, and the post-DEFT AutoML re-run on the augmented dataset.",{"type":51,"tag":111,"props":112,"children":114},"h2",{"id":113},"routing-policy",[115],{"type":57,"value":116},"Routing policy",{"type":51,"tag":118,"props":119,"children":120},"ul",{},[121,141,146,151],{"type":51,"tag":122,"props":123,"children":124},"li",{},[125,127,132,134,139],{"type":57,"value":126},"User asks to \"run the AOI workflow\" or \"improve my AOI ChangeNet model\" — ",{"type":51,"tag":66,"props":128,"children":129},{},[130],{"type":57,"value":131},"default to this skill",{"type":57,"value":133},", not ",{"type":51,"tag":74,"props":135,"children":137},{"className":136},[],[138],{"type":57,"value":87},{"type":57,"value":140}," directly. The bare DEFT loop is the inner stage of this pipeline.",{"type":51,"tag":122,"props":142,"children":143},{},[144],{"type":57,"value":145},"User wants AutoML and DEFT chained on the same model\u002Fdataset",{"type":51,"tag":122,"props":147,"children":148},{},[149],{"type":57,"value":150},"User says \"AutoML at both ends\", \"tune HPs then DEFT\", \"warm-start DEFT\", \"AutoML before and after DEFT\"",{"type":51,"tag":122,"props":152,"children":153},{},[154],{"type":57,"value":155},"User has an AutoML-tuned spec and asks how to feed it into DEFT",{"type":51,"tag":111,"props":157,"children":159},{"id":158},"when-this-skill-does-not-apply",[160],{"type":57,"value":161},"When this skill does NOT apply",{"type":51,"tag":118,"props":163,"children":164},{},[165,177,188],{"type":51,"tag":122,"props":166,"children":167},{},[168,170,175],{"type":57,"value":169},"User explicitly asks for the DEFT loop only (\"run JUST the DEFT loop\", \"skip AutoML\") → use ",{"type":51,"tag":74,"props":171,"children":173},{"className":172},[],[174],{"type":57,"value":87},{"type":57,"value":176}," directly",{"type":51,"tag":122,"props":178,"children":179},{},[180,182,187],{"type":57,"value":181},"User wants only AutoML with no follow-on DEFT → use ",{"type":51,"tag":74,"props":183,"children":185},{"className":184},[],[186],{"type":57,"value":79},{"type":57,"value":176},{"type":51,"tag":122,"props":189,"children":190},{},[191],{"type":57,"value":192},"User is doing zero-shot eval, RAG, or non-training workflows",{"type":51,"tag":194,"props":195,"children":196},"hr",{},[],{"type":51,"tag":111,"props":198,"children":200},{"id":199},"the-mental-model",[201],{"type":57,"value":202},"The mental model",{"type":51,"tag":204,"props":205,"children":209},"pre",{"className":206,"code":208,"language":57},[207],"language-text","Phase 1 (AutoML baseline)        Phase 2 (DEFT loop, plain train)        Phase 3 (AutoML refinement)\n─────────────────────────        ────────────────────────────────        ───────────────────────────\nspecs\u002Fbaseline_spec.yaml         (Phase 1 winner pre-seeds baseline      ${RESULTS_DIR}\u002Fiter${N}\u002Fdataset\u002F\ntrain\u002Fbase\u002Ftraining_set.csv       — DEFT skips its baseline train)       train_combined_iter${N}.csv\n        │                                       │                                       │\n        ▼                                       ▼                                       ▼\n[ AutoML HPO sweep ]               [ DEFT: baseline-inference → RCA       [ AutoML HPO sweep ]\n   N recommendations                 → iter 1..N (plain retrain) ]        re-tunes HPs against the\n   pick best by val_loss \u002F FAR      RCA \u002F route \u002F SDG \u002F mining             DEFT-augmented dataset\n        │                                       │                                       │\n        ▼                                       ▼                                       ▼\nbest HPs spec + ckpt ─────►      DEFT-augmented CSV ───────────►        final best checkpoint\n                                 + iter winner checkpoint               (the deliverable; no\n                                 (Phase 3 warm-starts from it)           further retrain)\n",[210],{"type":51,"tag":74,"props":211,"children":213},{"__ignoreMap":212},"",[214],{"type":57,"value":208},{"type":51,"tag":60,"props":216,"children":217},{},[218],{"type":57,"value":219},"The two handoffs are:",{"type":51,"tag":118,"props":221,"children":222},{},[223,288],{"type":51,"tag":122,"props":224,"children":225},{},[226,231,233,239,241,246,248,254,256,262,264,270,272,278,280,286],{"type":51,"tag":66,"props":227,"children":228},{},[229],{"type":57,"value":230},"Phase 1 → Phase 2",{"type":57,"value":232},": a ",{"type":51,"tag":234,"props":235,"children":236},"em",{},[237],{"type":57,"value":238},"spec file",{"type":57,"value":240}," AND the ",{"type":51,"tag":234,"props":242,"children":243},{},[244],{"type":57,"value":245},"winning checkpoint",{"type":57,"value":247}," — the bridge deep-merges Phase 1's HPs onto ",{"type":51,"tag":74,"props":249,"children":251},{"className":250},[],[252],{"type":57,"value":253},"specs\u002Fbaseline_spec.yaml",{"type":57,"value":255},", copies the checkpoint into ",{"type":51,"tag":74,"props":257,"children":259},{"className":258},[],[260],{"type":57,"value":261},"${RESULTS_DIR}\u002Fbaseline\u002Ftrain\u002F",{"type":57,"value":263},", and pre-populates ",{"type":51,"tag":74,"props":265,"children":267},{"className":266},[],[268],{"type":57,"value":269},"deft_state.json",{"type":57,"value":271}," \u002F ",{"type":51,"tag":74,"props":273,"children":275},{"className":274},[],[276],{"type":57,"value":277},"loop_log.jsonl",{"type":57,"value":279}," so DEFT skips its baseline train and resumes at baseline inference → evaluate → RCA → iter 1. DEFT stays plain-train (",{"type":51,"tag":74,"props":281,"children":283},{"className":282},[],[284],{"type":57,"value":285},"automl_policy: off",{"type":57,"value":287}," preserved).",{"type":51,"tag":122,"props":289,"children":290},{},[291,296,297,302,304,310,312,317,319,325],{"type":51,"tag":66,"props":292,"children":293},{},[294],{"type":57,"value":295},"Phase 2 → Phase 3",{"type":57,"value":232},{"type":51,"tag":234,"props":298,"children":299},{},[300],{"type":57,"value":301},"training CSV",{"type":57,"value":303}," (",{"type":51,"tag":74,"props":305,"children":307},{"className":306},[],[308],{"type":57,"value":309},"train_combined_iter${N_final}.csv",{"type":57,"value":311},") AND the ",{"type":51,"tag":234,"props":313,"children":314},{},[315],{"type":57,"value":316},"iter winner's checkpoint",{"type":57,"value":318}," — the checkpoint is wired into each rec's ",{"type":51,"tag":74,"props":320,"children":322},{"className":321},[],[323],{"type":57,"value":324},"train.pretrained_model_path",{"type":57,"value":326}," so Phase 3 fine-tunes from Phase 2's winner. Phase 3's winning checkpoint is the deliverable; no separate retrain after Phase 3.",{"type":51,"tag":60,"props":328,"children":329},{},[330,332,338],{"type":57,"value":331},"See ",{"type":51,"tag":74,"props":333,"children":335},{"className":334},[],[336],{"type":57,"value":337},"references\u002Fphase-handoffs.md",{"type":57,"value":339}," for the exact steps, code, and DEFT-honors-this-handoff details of both handoffs.",{"type":51,"tag":111,"props":341,"children":343},{"id":342},"why-three-phases-instead-of-two",[344],{"type":57,"value":345},"Why three phases instead of two",{"type":51,"tag":118,"props":347,"children":348},{},[349,366,383],{"type":51,"tag":122,"props":350,"children":351},{},[352,357,359,364],{"type":51,"tag":66,"props":353,"children":354},{},[355],{"type":57,"value":356},"Phase 1 alone",{"type":57,"value":358}," finds good HPs on the ",{"type":51,"tag":234,"props":360,"children":361},{},[362],{"type":57,"value":363},"original",{"type":57,"value":365}," training distribution, but the model still has the distributional gaps DEFT is designed to fill.",{"type":51,"tag":122,"props":367,"children":368},{},[369,374,376,381],{"type":51,"tag":66,"props":370,"children":371},{},[372],{"type":57,"value":373},"Phase 2 alone",{"type":57,"value":375}," (just DEFT) fills the gaps but uses whatever HPs ",{"type":51,"tag":74,"props":377,"children":379},{"className":378},[],[380],{"type":57,"value":253},{"type":57,"value":382}," was hand-authored with — usually not optimal.",{"type":51,"tag":122,"props":384,"children":385},{},[386,391],{"type":51,"tag":66,"props":387,"children":388},{},[389],{"type":57,"value":390},"Phase 3 alone",{"type":57,"value":392}," would run AutoML against the augmented dataset, but without a tuned baseline the DEFT loop's iteration cost is higher (slower convergence, more iterations to hit the KPI).",{"type":51,"tag":60,"props":394,"children":395},{},[396],{"type":57,"value":397},"Running all three: AutoML cheap-tunes once on the original data, DEFT does the heavy data work with reasonable HPs, then AutoML tunes again on the now-richer dataset. Phase 3 is the most important of the three for the final deployed FAR\u002Frecall.",{"type":51,"tag":111,"props":399,"children":401},{"id":400},"cost-up-front",[402],{"type":57,"value":403},"Cost up-front",{"type":51,"tag":60,"props":405,"children":406},{},[407],{"type":57,"value":408},"The pipeline is sequential. Total wall-clock ≈ Phase 1 (N_automl × per-rec train) + Phase 2 (M iterations × per-iter cost) + Phase 3 (N_automl × per-rec train).",{"type":51,"tag":60,"props":410,"children":411},{},[412,414,419,421,427,428,433],{"type":57,"value":413},"Note that ",{"type":51,"tag":66,"props":415,"children":416},{},[417],{"type":57,"value":418},"Phase 2 has no separate baseline train",{"type":57,"value":420}," — Phase 1's winning checkpoint is reused as DEFT's baseline, so the baseline cost lands inside Phase 1's N_automl trainings rather than as an extra retrain. Surface this to the user before kickoff. Typically Phase 2's iterations still dominate (each includes SDG + retrain), but Phase 1 and Phase 3 each add several hours on a single-GPU box. Use the per-job estimate from the user's setup (if they have one) rather than guessing minutes. See ",{"type":51,"tag":74,"props":422,"children":424},{"className":423},[],[425],{"type":57,"value":426},"references\u002Fpitfalls-and-quality-checks.md",{"type":57,"value":303},{"type":51,"tag":66,"props":429,"children":430},{},[431],{"type":57,"value":432},"Compute budget",{"type":57,"value":434},") for the per-phase term breakdown.",{"type":51,"tag":194,"props":436,"children":437},{},[],{"type":51,"tag":111,"props":439,"children":441},{"id":440},"consolidated-pre-flight-one-gate-all-three-phases",[442],{"type":57,"value":443},"Consolidated Pre-Flight — one gate, all three phases",{"type":51,"tag":60,"props":445,"children":446},{},[447,452,454,460],{"type":51,"tag":66,"props":448,"children":449},{},[450],{"type":57,"value":451},"The pipeline has exactly one user gate.",{"type":57,"value":453}," Before any side-effecting action (docker pull, docker login, any job-launch call delegated to a downstream skill, file mutations under ",{"type":51,"tag":74,"props":455,"children":457},{"className":456},[],[458],{"type":57,"value":459},"${RESULTS_DIR}\u002F",{"type":57,"value":461},"), the agent must produce a single consolidated Pre-Flight Summary that subsumes every downstream skill's preflight. Once the user approves, the run is autonomous through all three phases — no further interactive pauses.",{"type":51,"tag":60,"props":463,"children":464},{},[465,467,473,475,480,482,487],{"type":57,"value":466},"The user explicitly does not want to be paged between phases. The DEFT loop's own inline ",{"type":51,"tag":74,"props":468,"children":470},{"className":469},[],[471],{"type":57,"value":472},"## Pre-Flight Summary",{"type":57,"value":474}," gate becomes a ",{"type":51,"tag":66,"props":476,"children":477},{},[478],{"type":57,"value":479},"zero-question display step",{"type":57,"value":481}," (every value pre-supplied from this consolidated gate), as does ",{"type":51,"tag":74,"props":483,"children":485},{"className":484},[],[486],{"type":57,"value":79},{"type":57,"value":488},"'s shared launch preflight in Phase 1 and Phase 3.",{"type":51,"tag":60,"props":490,"children":491},{},[492,494,499],{"type":57,"value":493},"Before printing the summary, the agent must open and read every downstream skill's preflight section in full, run every read-only check those sections prescribe, and surface the ",{"type":51,"tag":234,"props":495,"children":496},{},[497],{"type":57,"value":498},"outcome",{"type":57,"value":500}," of each check. The summary has nine mandatory sections (workspace\u002Fhost\u002Fplatform\u002Fnetwork; credentials status; container images; dataset table; Phase 1 config; Phase 2 config; Phase 3 config; compute estimate; confirmation line). After the gate, every downstream interactive gate is suppressed by passing through the collected values. The only allowed post-gate pauses are mid-run hard-stop safety gates the downstream skill cannot bypass.",{"type":51,"tag":60,"props":502,"children":503},{},[504,505,511,513,519],{"type":57,"value":331},{"type":51,"tag":74,"props":506,"children":508},{"className":507},[],[509],{"type":57,"value":510},"references\u002Fconsolidated-preflight.md",{"type":57,"value":512}," for: the full list of preflight sections to read, the required DEFT ",{"type":51,"tag":74,"props":514,"children":516},{"className":515},[],[517],{"type":57,"value":518},"## Pre-Flight",{"type":57,"value":520}," run, the exact nine-section summary contents, the value pass-through for gate suppression, and the procedure when the skill bank version doesn't yet support gate suppression.",{"type":51,"tag":194,"props":522,"children":523},{},[],{"type":51,"tag":111,"props":525,"children":527},{"id":526},"phase-1-automl-baseline",[528],{"type":57,"value":529},"Phase 1 — AutoML baseline",{"type":51,"tag":60,"props":531,"children":532},{},[533,535,541],{"type":57,"value":534},"Invoke ",{"type":51,"tag":74,"props":536,"children":538},{"className":537},[],[539],{"type":57,"value":540},"tao-skill-bank:tao-run-automl",{"type":57,"value":542}," with:",{"type":51,"tag":544,"props":545,"children":546},"table",{},[547,571],{"type":51,"tag":548,"props":549,"children":550},"thead",{},[551],{"type":51,"tag":552,"props":553,"children":554},"tr",{},[555,561,566],{"type":51,"tag":556,"props":557,"children":558},"th",{},[559],{"type":57,"value":560},"Input",{"type":51,"tag":556,"props":562,"children":563},{},[564],{"type":57,"value":565},"AOI default",{"type":51,"tag":556,"props":567,"children":568},{},[569],{"type":57,"value":570},"Notes",{"type":51,"tag":572,"props":573,"children":574},"tbody",{},[575,602,628,662,703,737,759],{"type":51,"tag":552,"props":576,"children":577},{},[578,588,597],{"type":51,"tag":579,"props":580,"children":581},"td",{},[582],{"type":51,"tag":74,"props":583,"children":585},{"className":584},[],[586],{"type":57,"value":587},"network_arch",{"type":51,"tag":579,"props":589,"children":590},{},[591],{"type":51,"tag":74,"props":592,"children":594},{"className":593},[],[595],{"type":57,"value":596},"visual-changenet",{"type":51,"tag":579,"props":598,"children":599},{},[600],{"type":57,"value":601},"Same model the DEFT loop expects",{"type":51,"tag":552,"props":603,"children":604},{},[605,614,623],{"type":51,"tag":579,"props":606,"children":607},{},[608],{"type":51,"tag":74,"props":609,"children":611},{"className":610},[],[612],{"type":57,"value":613},"train_dataset_uri",{"type":51,"tag":579,"props":615,"children":616},{},[617],{"type":51,"tag":74,"props":618,"children":620},{"className":619},[],[621],{"type":57,"value":622},"\u003Cworkspace>\u002Ftrain\u002Fbase\u002Ftraining_set.csv",{"type":51,"tag":579,"props":624,"children":625},{},[626],{"type":57,"value":627},"Same training set DEFT will start from",{"type":51,"tag":552,"props":629,"children":630},{},[631,640,649],{"type":51,"tag":579,"props":632,"children":633},{},[634],{"type":51,"tag":74,"props":635,"children":637},{"className":636},[],[638],{"type":57,"value":639},"eval_dataset_uri",{"type":51,"tag":579,"props":641,"children":642},{},[643],{"type":51,"tag":74,"props":644,"children":646},{"className":645},[],[647],{"type":57,"value":648},"\u003Cworkspace>\u002Ftrain\u002Fbase\u002Fvalidation_set.csv",{"type":51,"tag":579,"props":650,"children":651},{},[652,654,660],{"type":57,"value":653},"Held-out — must NOT be the KPI test set (",{"type":51,"tag":74,"props":655,"children":657},{"className":656},[],[658],{"type":57,"value":659},"\u003Cworkspace>\u002Fkpi\u002Ftesting_set.csv",{"type":57,"value":661},"), since that set is reserved for DEFT's final reporting",{"type":51,"tag":552,"props":663,"children":664},{},[665,674,685],{"type":51,"tag":579,"props":666,"children":667},{},[668],{"type":51,"tag":74,"props":669,"children":671},{"className":670},[],[672],{"type":57,"value":673},"metric",{"type":51,"tag":579,"props":675,"children":676},{},[677,679],{"type":57,"value":678},"FAR @ 100% recall (preferred) or ",{"type":51,"tag":74,"props":680,"children":682},{"className":681},[],[683],{"type":57,"value":684},"val_loss",{"type":51,"tag":579,"props":686,"children":687},{},[688,689,694,696,701],{"type":57,"value":331},{"type":51,"tag":66,"props":690,"children":691},{},[692],{"type":57,"value":693},"Metric pitfalls",{"type":57,"value":695}," in ",{"type":51,"tag":74,"props":697,"children":699},{"className":698},[],[700],{"type":57,"value":426},{"type":57,"value":702}," — ChangeNet AOI is class-imbalanced, val_loss alone can mode-collapse",{"type":51,"tag":552,"props":704,"children":705},{},[706,715,724],{"type":51,"tag":579,"props":707,"children":708},{},[709],{"type":51,"tag":74,"props":710,"children":712},{"className":711},[],[713],{"type":57,"value":714},"algorithm",{"type":51,"tag":579,"props":716,"children":717},{},[718],{"type":51,"tag":74,"props":719,"children":721},{"className":720},[],[722],{"type":57,"value":723},"bayesian",{"type":51,"tag":579,"props":725,"children":726},{},[727,729,735],{"type":57,"value":728},"LLM-brain or ",{"type":51,"tag":74,"props":730,"children":732},{"className":731},[],[733],{"type":57,"value":734},"autoresearch",{"type":57,"value":736}," if compute is tight",{"type":51,"tag":552,"props":738,"children":739},{},[740,749,754],{"type":51,"tag":579,"props":741,"children":742},{},[743],{"type":51,"tag":74,"props":744,"children":746},{"className":745},[],[747],{"type":57,"value":748},"automl_max_recommendations",{"type":51,"tag":579,"props":750,"children":751},{},[752],{"type":57,"value":753},"5–10 for AOI",{"type":51,"tag":579,"props":755,"children":756},{},[757],{"type":57,"value":758},"More recs = better HPs but linear in compute",{"type":51,"tag":552,"props":760,"children":761},{},[762,771,776],{"type":51,"tag":579,"props":763,"children":764},{},[765],{"type":51,"tag":74,"props":766,"children":768},{"className":767},[],[769],{"type":57,"value":770},"spec_overrides",{"type":51,"tag":579,"props":772,"children":773},{},[774],{"type":57,"value":775},"Pin epochs \u002F batch_size; sweep optimizer-related HPs only",{"type":51,"tag":579,"props":777,"children":778},{},[779],{"type":57,"value":780},"Otherwise AutoML wanders into long-train regimes that blow Phase 2's budget",{"type":51,"tag":60,"props":782,"children":783},{},[784,786,792],{"type":57,"value":785},"After the sweep finishes, AutoML's ",{"type":51,"tag":74,"props":787,"children":789},{"className":788},[],[790],{"type":57,"value":791},"result[\"best\"][\"specs\"]",{"type":57,"value":793}," is the winning hyperparameter dict.",{"type":51,"tag":795,"props":796,"children":798},"h3",{"id":797},"handoff-to-phase-2",[799],{"type":57,"value":800},"Handoff to Phase 2",{"type":51,"tag":60,"props":802,"children":803},{},[804,806,811,813,818,820,825,827,833,835,840],{"type":57,"value":805},"Phase 1 hands over ",{"type":51,"tag":66,"props":807,"children":808},{},[809],{"type":57,"value":810},"two artifacts",{"type":57,"value":812},": the winning ",{"type":51,"tag":234,"props":814,"children":815},{},[816],{"type":57,"value":817},"spec",{"type":57,"value":819}," and the winning ",{"type":51,"tag":234,"props":821,"children":822},{},[823],{"type":57,"value":824},"checkpoint",{"type":57,"value":826},". Retraining the same HPs in DEFT's baseline step is wasted compute — instead, pre-seed DEFT's baseline state from Phase 1's outputs so DEFT starts at baseline inference → evaluate → RCA → iter 1. This is a four-step bridge (write merged spec → pre-seed ",{"type":51,"tag":74,"props":828,"children":830},{"className":829},[],[831],{"type":57,"value":832},"baseline\u002Ftrain\u002F",{"type":57,"value":834}," → initialise ",{"type":51,"tag":74,"props":836,"children":838},{"className":837},[],[839],{"type":57,"value":269},{"type":57,"value":841}," with baseline already done → invoke DEFT), followed by a quality check of the winning checkpoint (per-class prediction counts; compare to zero-shot ChangeNet).",{"type":51,"tag":60,"props":843,"children":844},{},[845,846,851,853,859,861,866,868,873],{"type":57,"value":331},{"type":51,"tag":74,"props":847,"children":849},{"className":848},[],[850],{"type":57,"value":337},{"type":57,"value":852}," for the verbatim Steps 1–4 (including the ",{"type":51,"tag":74,"props":854,"children":856},{"className":855},[],[857],{"type":57,"value":858},"cp",{"type":57,"value":860}," command, the ",{"type":51,"tag":74,"props":862,"children":864},{"className":863},[],[865],{"type":57,"value":269},{"type":57,"value":867}," patch code, and the ",{"type":51,"tag":74,"props":869,"children":871},{"className":870},[],[872],{"type":57,"value":277},{"type":57,"value":874}," append) and the quality-check checklist.",{"type":51,"tag":194,"props":876,"children":877},{},[],{"type":51,"tag":111,"props":879,"children":881},{"id":880},"phase-2-deft-loop-plain-training-baseline-pre-seeded-from-phase-1",[882],{"type":57,"value":883},"Phase 2 — DEFT loop (plain training, baseline pre-seeded from Phase 1)",{"type":51,"tag":60,"props":885,"children":886},{},[887,888,894,896,902],{"type":57,"value":534},{"type":51,"tag":74,"props":889,"children":891},{"className":890},[],[892],{"type":57,"value":893},"tao-skill-bank:tao-run-deft-aoi",{"type":57,"value":895}," (read its ",{"type":51,"tag":74,"props":897,"children":899},{"className":898},[],[900],{"type":57,"value":901},"SKILL.md",{"type":57,"value":903}," for the full interface). For non-AOI applications, invoke the matching DEFT skill; the handoff shape is the same.",{"type":51,"tag":60,"props":905,"children":906},{},[907,912,914,919,921,926,928,934,936],{"type":51,"tag":66,"props":908,"children":909},{},[910],{"type":57,"value":911},"The DEFT loop's baseline-train sub-step is skipped.",{"type":57,"value":913}," Phase 1 already produced a checkpoint trained at the winning HPs, and Phase 1's handoff (see ",{"type":51,"tag":74,"props":915,"children":917},{"className":916},[],[918],{"type":57,"value":337},{"type":57,"value":920},") pre-populated ",{"type":51,"tag":74,"props":922,"children":924},{"className":923},[],[925],{"type":57,"value":261},{"type":57,"value":927}," and ",{"type":51,"tag":74,"props":929,"children":931},{"className":930},[],[932],{"type":57,"value":933},"${RESULTS_DIR}\u002Fdeft_state.json",{"type":57,"value":935}," so DEFT resumes at baseline inference → evaluate → RCA → iter 1. The rest of the DEFT loop runs unchanged. ",{"type":51,"tag":66,"props":937,"children":938},{},[939,941,946],{"type":57,"value":940},"Do not modify its ",{"type":51,"tag":74,"props":942,"children":944},{"className":943},[],[945],{"type":57,"value":285},{"type":57,"value":947}," invariant.",{"type":51,"tag":60,"props":949,"children":950},{},[951,953,958,960,965,967,972,974,979,981,986,987,993],{"type":57,"value":952},"The DEFT loop owns: its Pre-Flight Summary display step (",{"type":51,"tag":66,"props":954,"children":955},{},[956],{"type":57,"value":957},"not",{"type":57,"value":959}," a fresh user gate — the Consolidated Pre-Flight above is the single gate; the DEFT summary still prints as an audit-trail display of the pre-seeded ",{"type":51,"tag":74,"props":961,"children":963},{"className":962},[],[964],{"type":57,"value":832},{"type":57,"value":966}," source and must not re-prompt); baseline inference → evaluate → RCA on the pre-seeded checkpoint; the full per-iteration RCA → routing → SDG → mining → assemble → train cycle; KPI gating and stop conditions; and the ",{"type":51,"tag":74,"props":968,"children":970},{"className":969},[],[971],{"type":57,"value":459},{"type":57,"value":973}," layout (",{"type":51,"tag":74,"props":975,"children":977},{"className":976},[],[978],{"type":57,"value":269},{"type":57,"value":980},", ",{"type":51,"tag":74,"props":982,"children":984},{"className":983},[],[985],{"type":57,"value":277},{"type":57,"value":980},{"type":51,"tag":74,"props":988,"children":990},{"className":989},[],[991],{"type":57,"value":992},"DEFT_Loop_Report.html",{"type":57,"value":994},").",{"type":51,"tag":60,"props":996,"children":997},{},[998,1000,1006,1008,1013,1015,1021,1023,1029],{"type":57,"value":999},"After the loop exits (KPI met or ",{"type":51,"tag":74,"props":1001,"children":1003},{"className":1002},[],[1004],{"type":57,"value":1005},"max_iterations",{"type":57,"value":1007}," reached), capture two values from ",{"type":51,"tag":74,"props":1009,"children":1011},{"className":1010},[],[1012],{"type":57,"value":269},{"type":57,"value":1014},": ",{"type":51,"tag":74,"props":1016,"children":1018},{"className":1017},[],[1019],{"type":57,"value":1020},"iterations.\u003Cbest>.best_ckpt_path",{"type":57,"value":1022}," (the loop's best plain-train checkpoint) and the final iteration label ",{"type":51,"tag":74,"props":1024,"children":1026},{"className":1025},[],[1027],{"type":57,"value":1028},"N_final",{"type":57,"value":1030}," (used to locate the augmented training CSV).",{"type":51,"tag":60,"props":1032,"children":1033},{},[1034,1036,1041],{"type":57,"value":1035},"If the DEFT loop hard-stops on an unrecoverable gate, ",{"type":51,"tag":66,"props":1037,"children":1038},{},[1039],{"type":57,"value":1040},"skip Phase 3",{"type":57,"value":1042},". There is no validated augmented CSV to feed AutoML.",{"type":51,"tag":194,"props":1044,"children":1045},{},[],{"type":51,"tag":111,"props":1047,"children":1049},{"id":1048},"phase-3-automl-refinement-on-the-deft-augmented-dataset",[1050],{"type":57,"value":1051},"Phase 3 — AutoML refinement on the DEFT-augmented dataset",{"type":51,"tag":60,"props":1053,"children":1054},{},[1055,1057,1062,1064,1069],{"type":57,"value":1056},"Re-invoke ",{"type":51,"tag":74,"props":1058,"children":1060},{"className":1059},[],[1061],{"type":57,"value":540},{"type":57,"value":1063}," with the augmented training CSV as the train dataset, the same held-out validation CSV as before, and ",{"type":51,"tag":66,"props":1065,"children":1066},{},[1067],{"type":57,"value":1068},"Phase 2's iter winner checkpoint as the warm-start",{"type":57,"value":1070},":",{"type":51,"tag":544,"props":1072,"children":1073},{},[1074,1089],{"type":51,"tag":548,"props":1075,"children":1076},{},[1077],{"type":51,"tag":552,"props":1078,"children":1079},{},[1080,1084],{"type":51,"tag":556,"props":1081,"children":1082},{},[1083],{"type":57,"value":560},{"type":51,"tag":556,"props":1085,"children":1086},{},[1087],{"type":57,"value":1088},"AOI value",{"type":51,"tag":572,"props":1090,"children":1091},{},[1092,1111,1131,1154,1170,1186,1202,1223],{"type":51,"tag":552,"props":1093,"children":1094},{},[1095,1103],{"type":51,"tag":579,"props":1096,"children":1097},{},[1098],{"type":51,"tag":74,"props":1099,"children":1101},{"className":1100},[],[1102],{"type":57,"value":587},{"type":51,"tag":579,"props":1104,"children":1105},{},[1106],{"type":51,"tag":74,"props":1107,"children":1109},{"className":1108},[],[1110],{"type":57,"value":596},{"type":51,"tag":552,"props":1112,"children":1113},{},[1114,1122],{"type":51,"tag":579,"props":1115,"children":1116},{},[1117],{"type":51,"tag":74,"props":1118,"children":1120},{"className":1119},[],[1121],{"type":57,"value":613},{"type":51,"tag":579,"props":1123,"children":1124},{},[1125],{"type":51,"tag":74,"props":1126,"children":1128},{"className":1127},[],[1129],{"type":57,"value":1130},"${RESULTS_DIR}\u002Fiter${N_final}\u002Fdataset\u002Ftrain_combined_iter${N_final}.csv",{"type":51,"tag":552,"props":1132,"children":1133},{},[1134,1142],{"type":51,"tag":579,"props":1135,"children":1136},{},[1137],{"type":51,"tag":74,"props":1138,"children":1140},{"className":1139},[],[1141],{"type":57,"value":639},{"type":51,"tag":579,"props":1143,"children":1144},{},[1145,1147,1152],{"type":57,"value":1146},"Same as Phase 1 (",{"type":51,"tag":74,"props":1148,"children":1150},{"className":1149},[],[1151],{"type":57,"value":648},{"type":57,"value":1153},") — keep the comparison apples-to-apples",{"type":51,"tag":552,"props":1155,"children":1156},{},[1157,1165],{"type":51,"tag":579,"props":1158,"children":1159},{},[1160],{"type":51,"tag":74,"props":1161,"children":1163},{"className":1162},[],[1164],{"type":57,"value":673},{"type":51,"tag":579,"props":1166,"children":1167},{},[1168],{"type":57,"value":1169},"Same metric as Phase 1",{"type":51,"tag":552,"props":1171,"children":1172},{},[1173,1181],{"type":51,"tag":579,"props":1174,"children":1175},{},[1176],{"type":51,"tag":74,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":57,"value":714},{"type":51,"tag":579,"props":1182,"children":1183},{},[1184],{"type":57,"value":1185},"Same as Phase 1",{"type":51,"tag":552,"props":1187,"children":1188},{},[1189,1197],{"type":51,"tag":579,"props":1190,"children":1191},{},[1192],{"type":51,"tag":74,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":57,"value":748},{"type":51,"tag":579,"props":1198,"children":1199},{},[1200],{"type":57,"value":1201},"5–10",{"type":51,"tag":552,"props":1203,"children":1204},{},[1205,1210],{"type":51,"tag":579,"props":1206,"children":1207},{},[1208],{"type":57,"value":1209},"Initial spec",{"type":51,"tag":579,"props":1211,"children":1212},{},[1213,1215,1221],{"type":57,"value":1214},"Start from ",{"type":51,"tag":74,"props":1216,"children":1218},{"className":1217},[],[1219],{"type":57,"value":1220},"\u003Cworkspace>\u002Fspecs\u002Fbaseline_spec_automl.yaml",{"type":57,"value":1222}," (Phase 1's winner) — gives the sweep a strong centroid to refine around",{"type":51,"tag":552,"props":1224,"children":1225},{},[1226,1234],{"type":51,"tag":579,"props":1227,"children":1228},{},[1229],{"type":51,"tag":66,"props":1230,"children":1231},{},[1232],{"type":57,"value":1233},"Warm-start checkpoint",{"type":51,"tag":579,"props":1235,"children":1236},{},[1237,1252,1254,1260,1262,1267],{"type":51,"tag":66,"props":1238,"children":1239},{},[1240,1245,1247],{"type":51,"tag":74,"props":1241,"children":1243},{"className":1242},[],[1244],{"type":57,"value":1020},{"type":57,"value":1246}," from ",{"type":51,"tag":74,"props":1248,"children":1250},{"className":1249},[],[1251],{"type":57,"value":933},{"type":57,"value":1253}," — set ",{"type":51,"tag":74,"props":1255,"children":1257},{"className":1256},[],[1258],{"type":57,"value":1259},"spec_overrides[\"train\"][\"pretrained_model_path\"]",{"type":57,"value":1261}," to this path. Each Phase 3 rec then ",{"type":51,"tag":66,"props":1263,"children":1264},{},[1265],{"type":57,"value":1266},"fine-tunes from Phase 2's winner",{"type":57,"value":1268}," instead of training from scratch.",{"type":51,"tag":60,"props":1270,"children":1271},{},[1272,1274,1279,1281,1287,1289,1295,1297,1303,1304,1309,1311,1317],{"type":57,"value":1273},"The warm-start is mandatory: without it every rec starts from random init with only 10-20 epochs to reconverge, ",{"type":51,"tag":74,"props":1275,"children":1277},{"className":1276},[],[1278],{"type":57,"value":684},{"type":57,"value":1280}," regresses by 0.03-0.05 vs iter1, and the ",{"type":51,"tag":74,"props":1282,"children":1284},{"className":1283},[],[1285],{"type":57,"value":1286},"_pick_best",{"type":57,"value":1288}," safety net silently rolls back to the iter winner. Output goes to ",{"type":51,"tag":74,"props":1290,"children":1292},{"className":1291},[],[1293],{"type":57,"value":1294},"${RESULTS_DIR}\u002Ffinal_automl\u002F",{"type":57,"value":1296},"; the winning checkpoint of this sweep is the pipeline's deliverable. After the sweep, register Phase 3's checkpoint under ",{"type":51,"tag":74,"props":1298,"children":1300},{"className":1299},[],[1301],{"type":57,"value":1302},"iterations.final_automl",{"type":57,"value":695},{"type":51,"tag":74,"props":1305,"children":1307},{"className":1306},[],[1308],{"type":57,"value":269},{"type":57,"value":1310}," and re-run ",{"type":51,"tag":74,"props":1312,"children":1314},{"className":1313},[],[1315],{"type":57,"value":1316},"prepare_inference_spec.py",{"type":57,"value":1318}," so the handoff sees it (falling back to the loop's best if Phase 3 regressed).",{"type":51,"tag":60,"props":1320,"children":1321},{},[1322,1323,1328,1330,1335],{"type":57,"value":331},{"type":51,"tag":74,"props":1324,"children":1326},{"className":1325},[],[1327],{"type":57,"value":337},{"type":57,"value":1329}," for: the full \"why the warm-start is mandatory\" rationale and tradeoff, the concrete ",{"type":51,"tag":74,"props":1331,"children":1333},{"className":1332},[],[1334],{"type":57,"value":770},{"type":57,"value":1336}," selection code, the exact two-step wiring of Phase 3's output back into the DEFT report, and the safety note on regression.",{"type":51,"tag":194,"props":1338,"children":1339},{},[],{"type":51,"tag":111,"props":1341,"children":1343},{"id":1342},"pitfalls-and-quality-checks",[1344],{"type":57,"value":1345},"Pitfalls and quality checks",{"type":51,"tag":60,"props":1347,"children":1348},{},[1349,1351,1356],{"type":57,"value":1350},"These apply to both AutoML phases. Bake them into agent behavior — don't just paste once. The full detail lives in ",{"type":51,"tag":74,"props":1352,"children":1354},{"className":1353},[],[1355],{"type":57,"value":426},{"type":57,"value":1357},"; in brief:",{"type":51,"tag":118,"props":1359,"children":1360},{},[1361,1386,1396,1413],{"type":51,"tag":122,"props":1362,"children":1363},{},[1364,1369,1371,1376,1378,1384],{"type":51,"tag":66,"props":1365,"children":1366},{},[1367],{"type":57,"value":1368},"Metric pitfalls — AOI is class-imbalanced.",{"type":57,"value":1370}," ChangeNet AOI datasets are PASS-dominant (90%+), so a ",{"type":51,"tag":74,"props":1372,"children":1374},{"className":1373},[],[1375],{"type":57,"value":684},{"type":57,"value":1377}," winner can be a mode-collapsed model. Prefer FAR @ 100%-recall directly, or guard val_loss with a ",{"type":51,"tag":74,"props":1379,"children":1381},{"className":1380},[],[1382],{"type":57,"value":1383},"pred_counts",{"type":57,"value":1385}," sanity check, or eval top-K by FAR @ 100%-recall before picking. For balanced \u002F regression tasks, val_loss is fine.",{"type":51,"tag":122,"props":1387,"children":1388},{},[1389,1394],{"type":51,"tag":66,"props":1390,"children":1391},{},[1392],{"type":57,"value":1393},"Run-to-run noise.",{"type":57,"value":1395}," AutoML can show 2–3× variance for the same HP config. If the winner is suspiciously better than the runner-up, re-run with a fresh seed before committing the spec to Phase 2.",{"type":51,"tag":122,"props":1397,"children":1398},{},[1399,1404,1406,1411],{"type":51,"tag":66,"props":1400,"children":1401},{},[1402],{"type":57,"value":1403},"Cleanliness (data leakage).",{"type":57,"value":1405}," Both AutoML phases use a validation set distinct from the KPI test set (",{"type":51,"tag":74,"props":1407,"children":1409},{"className":1408},[],[1410],{"type":57,"value":659},{"type":57,"value":1412},"), which is reserved for DEFT's final reporting. Phase 3 trains on the augmented CSV but keeps the same validation set so Phase 1 and Phase 3 numbers stay comparable.",{"type":51,"tag":122,"props":1414,"children":1415},{},[1416,1421,1423,1429,1431,1437,1439,1444],{"type":51,"tag":66,"props":1417,"children":1418},{},[1419],{"type":57,"value":1420},"Compute budget.",{"type":57,"value":1422}," Phase 1 ",{"type":51,"tag":74,"props":1424,"children":1426},{"className":1425},[],[1427],{"type":57,"value":1428},"N_automl × per-rec train",{"type":57,"value":1430},"; Phase 2 ",{"type":51,"tag":74,"props":1432,"children":1434},{"className":1433},[],[1435],{"type":57,"value":1436},"M_iter × (RCA + SDG + mining + retrain)",{"type":57,"value":1438}," (usually largest); Phase 3 ",{"type":51,"tag":74,"props":1440,"children":1442},{"className":1441},[],[1443],{"type":57,"value":1428},{"type":57,"value":1445}," on the larger augmented dataset. Ask the user for their per-job time before quoting wall-clock.",{"type":51,"tag":194,"props":1447,"children":1448},{},[],{"type":51,"tag":111,"props":1450,"children":1452},{"id":1451},"quick-start-aoi-worked-example",[1453],{"type":57,"value":1454},"Quick Start (AOI worked example)",{"type":51,"tag":60,"props":1456,"children":1457},{},[1458,1460,1465],{"type":57,"value":1459},"When starting fresh from \"run the AOI workflow\", the agent presents a three-phase plan to the user (Phase 1 AutoML baseline → Phase 2 DEFT loop → Phase 3 AutoML refinement), states the total cost structure (no extra baseline retrain at the front, no extra retrain at the end), asks for the user's per-run time for a wall-clock estimate, and waits for approval. After confirmation it invokes Phase 1, writes the merged spec, pre-seeds ",{"type":51,"tag":74,"props":1461,"children":1463},{"className":1462},[],[1464],{"type":57,"value":269},{"type":57,"value":1466},", invokes the DEFT loop with every input pre-supplied, then invokes Phase 3 — with no further pauses unless a downstream skill hits an unrecoverable hard-stop. It summarizes the trajectory at the end (baseline AutoML best → DEFT iter 1 → ... → DEFT iter N_final → Phase 3 best).",{"type":51,"tag":60,"props":1468,"children":1469},{},[1470,1471,1477],{"type":57,"value":331},{"type":51,"tag":74,"props":1472,"children":1474},{"className":1473},[],[1475],{"type":57,"value":1476},"references\u002Fquick-start-example.md",{"type":57,"value":1478}," for the verbatim customer-facing message block and the exact post-confirmation invocation sequence.",{"type":51,"tag":111,"props":1480,"children":1482},{"id":1481},"non-aoi-deft-applications",[1483],{"type":57,"value":1484},"Non-AOI DEFT applications",{"type":51,"tag":60,"props":1486,"children":1487},{},[1488],{"type":57,"value":1489},"Same three-phase pattern applies to other DEFT skills. Swap:",{"type":51,"tag":118,"props":1491,"children":1492},{},[1493,1503,1508,1513],{"type":51,"tag":122,"props":1494,"children":1495},{},[1496,1501],{"type":51,"tag":74,"props":1497,"children":1499},{"className":1498},[],[1500],{"type":57,"value":587},{"type":57,"value":1502}," to the relevant model",{"type":51,"tag":122,"props":1504,"children":1505},{},[1506],{"type":57,"value":1507},"The DEFT skill invoked in Phase 2",{"type":51,"tag":122,"props":1509,"children":1510},{},[1511],{"type":57,"value":1512},"The \"best HP spec file\" and \"best HP checkpoint\" path conventions to whatever the target DEFT skill expects",{"type":51,"tag":122,"props":1514,"children":1515},{},[1516],{"type":57,"value":1517},"The augmented-CSV path in Phase 3 to whatever the target DEFT skill produces",{"type":51,"tag":60,"props":1519,"children":1520},{},[1521,1523,1528],{"type":57,"value":1522},"The handoff shape — Phase 1 emits a ",{"type":51,"tag":234,"props":1524,"children":1525},{},[1526],{"type":57,"value":1527},"spec + checkpoint",{"type":57,"value":1529}," (the checkpoint pre-seeds the DEFT baseline), Phase 2 consumes both and emits an augmented dataset, Phase 3 emits the final checkpoint — is identical. The Phase 1 → Phase 2 baseline-skip mechanism is generic: any DEFT-style loop that exposes a resumable baseline state can be seeded the same way.",{"type":51,"tag":194,"props":1531,"children":1532},{},[],{"type":51,"tag":111,"props":1534,"children":1536},{"id":1535},"see-also",[1537],{"type":57,"value":1538},"See also",{"type":51,"tag":118,"props":1540,"children":1541},{},[1542,1552,1562,1573,1585,1595,1605,1615],{"type":51,"tag":122,"props":1543,"children":1544},{},[1545,1550],{"type":51,"tag":74,"props":1546,"children":1548},{"className":1547},[],[1549],{"type":57,"value":540},{"type":57,"value":1551}," — AutoML interface, algorithms, HP ranges",{"type":51,"tag":122,"props":1553,"children":1554},{},[1555,1560],{"type":51,"tag":74,"props":1556,"children":1558},{"className":1557},[],[1559],{"type":57,"value":893},{"type":57,"value":1561}," — full DEFT AOI loop (Phase 2 default)",{"type":51,"tag":122,"props":1563,"children":1564},{},[1565,1571],{"type":51,"tag":74,"props":1566,"children":1568},{"className":1567},[],[1569],{"type":57,"value":1570},"tao-skill-bank:tao-train-visual-changenet",{"type":57,"value":1572}," — underlying ChangeNet train\u002Feval\u002Finfer skill (used by both AutoML and DEFT)",{"type":51,"tag":122,"props":1574,"children":1575},{},[1576,1578,1583],{"type":57,"value":1577},"Other ",{"type":51,"tag":74,"props":1579,"children":1581},{"className":1580},[],[1582],{"type":57,"value":95},{"type":57,"value":1584}," skills — non-AOI Phase 2 targets",{"type":51,"tag":122,"props":1586,"children":1587},{},[1588,1593],{"type":51,"tag":74,"props":1589,"children":1591},{"className":1590},[],[1592],{"type":57,"value":510},{"type":57,"value":1594}," — the single-gate preflight in full",{"type":51,"tag":122,"props":1596,"children":1597},{},[1598,1603],{"type":51,"tag":74,"props":1599,"children":1601},{"className":1600},[],[1602],{"type":57,"value":337},{"type":57,"value":1604}," — both handoffs, baseline pre-seed, and Phase 3 warm-start, verbatim",{"type":51,"tag":122,"props":1606,"children":1607},{},[1608,1613],{"type":51,"tag":74,"props":1609,"children":1611},{"className":1610},[],[1612],{"type":57,"value":426},{"type":57,"value":1614}," — metric pitfalls, run-to-run noise, leakage, compute budget",{"type":51,"tag":122,"props":1616,"children":1617},{},[1618,1623],{"type":51,"tag":74,"props":1619,"children":1621},{"className":1620},[],[1622],{"type":57,"value":1476},{"type":57,"value":1624}," — the customer-facing worked-example message",{"items":1626,"total":1781},[1627,1645,1663,1674,1686,1700,1713,1725,1738,1749,1763,1772],{"slug":1628,"name":1628,"fn":1629,"description":1630,"org":1631,"tags":1632,"stars":1642,"repoUrl":1643,"updatedAt":1644},"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},[1633,1636,1639],{"name":1634,"slug":1635,"type":15},"Documentation","documentation",{"name":1637,"slug":1638,"type":15},"MCP","mcp",{"name":1640,"slug":1641,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":1646,"name":1646,"fn":1647,"description":1648,"org":1649,"tags":1650,"stars":1660,"repoUrl":1661,"updatedAt":1662},"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},[1651,1654,1657],{"name":1652,"slug":1653,"type":15},"Containers","containers",{"name":1655,"slug":1656,"type":15},"Deployment","deployment",{"name":1658,"slug":1659,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":1664,"name":1664,"fn":1665,"description":1666,"org":1667,"tags":1668,"stars":1660,"repoUrl":1661,"updatedAt":1673},"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},[1669,1672],{"name":1670,"slug":1671,"type":15},"CI\u002FCD","ci-cd",{"name":1655,"slug":1656,"type":15},"2026-07-14T05:25:59.97109",{"slug":1675,"name":1675,"fn":1676,"description":1677,"org":1678,"tags":1679,"stars":1660,"repoUrl":1661,"updatedAt":1685},"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},[1680,1681,1682],{"name":1670,"slug":1671,"type":15},{"name":1655,"slug":1656,"type":15},{"name":1683,"slug":1684,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":1687,"name":1687,"fn":1688,"description":1689,"org":1690,"tags":1691,"stars":1660,"repoUrl":1661,"updatedAt":1699},"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},[1692,1695,1696],{"name":1693,"slug":1694,"type":15},"Debugging","debugging",{"name":1683,"slug":1684,"type":15},{"name":1697,"slug":1698,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":1701,"name":1701,"fn":1702,"description":1703,"org":1704,"tags":1705,"stars":1660,"repoUrl":1661,"updatedAt":1712},"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},[1706,1709],{"name":1707,"slug":1708,"type":15},"Best Practices","best-practices",{"name":1710,"slug":1711,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":1714,"name":1714,"fn":1715,"description":1716,"org":1717,"tags":1718,"stars":1660,"repoUrl":1661,"updatedAt":1724},"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},[1719,1720,1723],{"name":23,"slug":24,"type":15},{"name":1721,"slug":1722,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":1726,"name":1726,"fn":1727,"description":1728,"org":1729,"tags":1730,"stars":1660,"repoUrl":1661,"updatedAt":1737},"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},[1731,1734],{"name":1732,"slug":1733,"type":15},"QA","qa",{"name":1735,"slug":1736,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":1739,"name":1739,"fn":1740,"description":1741,"org":1742,"tags":1743,"stars":1660,"repoUrl":1661,"updatedAt":1748},"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},[1744,1745],{"name":1655,"slug":1656,"type":15},{"name":1746,"slug":1747,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":1750,"name":1750,"fn":1751,"description":1752,"org":1753,"tags":1754,"stars":1660,"repoUrl":1661,"updatedAt":1762},"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},[1755,1758,1759],{"name":1756,"slug":1757,"type":15},"Code Review","code-review",{"name":1683,"slug":1684,"type":15},{"name":1760,"slug":1761,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":1764,"name":1764,"fn":1765,"description":1766,"org":1767,"tags":1768,"stars":1660,"repoUrl":1661,"updatedAt":1771},"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},[1769,1770],{"name":1732,"slug":1733,"type":15},{"name":1735,"slug":1736,"type":15},"2026-07-14T05:25:54.928983",{"slug":1773,"name":1773,"fn":1774,"description":1775,"org":1776,"tags":1777,"stars":1660,"repoUrl":1661,"updatedAt":1780},"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},[1778,1779],{"name":20,"slug":21,"type":15},{"name":1670,"slug":1671,"type":15},"2026-07-30T05:29:03.275638",496,{"items":1783,"total":1877},[1784,1799,1809,1823,1833,1848,1863],{"slug":1785,"name":1785,"fn":1786,"description":1787,"org":1788,"tags":1789,"stars":26,"repoUrl":27,"updatedAt":1798},"accelerated-computing-cudf","accelerate data processing with cuDF","Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV\u002FParquet I\u002FO, nullable semantics, and multi-GPU DataFrame workloads.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1790,1793,1794,1795],{"name":1791,"slug":1792,"type":15},"Data Analysis","data-analysis",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":1796,"slug":1797,"type":15},"Performance","performance","2026-07-14T05:28:43.176466",{"slug":1800,"name":1800,"fn":1801,"description":1802,"org":1803,"tags":1804,"stars":26,"repoUrl":27,"updatedAt":1808},"aiq-deploy","deploy and manage NVIDIA AI-Q infrastructure","Use when asked to install, deploy, run, validate, troubleshoot, or stop NVIDIA AI-Q Blueprint infrastructure.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1805,1806,1807],{"name":1655,"slug":1656,"type":15},{"name":1746,"slug":1747,"type":15},{"name":9,"slug":8,"type":15},"2026-07-14T05:29:06.667109",{"slug":1810,"name":1810,"fn":1811,"description":1812,"org":1813,"tags":1814,"stars":26,"repoUrl":27,"updatedAt":1822},"aiq-research","conduct deep research with AI-Q","Use when asked to run deep research or AI-Q research through a reachable NVIDIA AI-Q Blueprint backend.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1815,1818,1819],{"name":1816,"slug":1817,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":1820,"slug":1821,"type":15},"Research","research","2026-07-14T05:28:06.816956",{"slug":1824,"name":1824,"fn":1825,"description":1826,"org":1827,"tags":1828,"stars":26,"repoUrl":27,"updatedAt":1832},"amc-run-sample-calibration","run AMC sample dataset calibration","Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1829,1830,1831],{"name":1791,"slug":1792,"type":15},{"name":9,"slug":8,"type":15},{"name":1735,"slug":1736,"type":15},"2026-07-17T05:29:03.913266",{"slug":1834,"name":1834,"fn":1835,"description":1836,"org":1837,"tags":1838,"stars":26,"repoUrl":27,"updatedAt":1847},"amc-run-video-calibration","calibrate video datasets with AutoMagicCalib","Calibrate a new dataset from pre-recorded video files via the AutoMagicCalib REST API. Use when user has local MP4s and says 'calibrate my videos', 'run AMC on these videos', or similar. For RTSP\u002Flive streams, use amc-run-rtsp-calibration instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1839,1840,1843,1844],{"name":20,"slug":21,"type":15},{"name":1841,"slug":1842,"type":15},"Imaging","imaging",{"name":9,"slug":8,"type":15},{"name":1845,"slug":1846,"type":15},"Video","video","2026-07-17T05:28:53.905004",{"slug":1849,"name":1849,"fn":1850,"description":1851,"org":1852,"tags":1853,"stars":26,"repoUrl":27,"updatedAt":1862},"amc-setup-calibration-stack","deploy AutoMagicCalib microservice with Docker","Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1854,1855,1858,1859],{"name":1655,"slug":1656,"type":15},{"name":1856,"slug":1857,"type":15},"Docker","docker",{"name":9,"slug":8,"type":15},{"name":1860,"slug":1861,"type":15},"Operations","operations","2026-07-17T05:28:56.913999",{"slug":1864,"name":1864,"fn":1865,"description":1866,"org":1867,"tags":1868,"stars":26,"repoUrl":27,"updatedAt":1876},"cudaq-guide","develop quantum applications with CUDA-Q","CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[1869,1870,1873],{"name":9,"slug":8,"type":15},{"name":1871,"slug":1872,"type":15},"Quantum Computing","quantum-computing",{"name":1874,"slug":1875,"type":15},"Simulation","simulation","2026-07-14T05:26:58.898253",305]