[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-workflow-execution":3,"mdc--eqdyu8-key":34,"related-repo-nvidia-workflow-execution":3262,"related-org-nvidia-workflow-execution":3340},{"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},"workflow-execution","execute quantum calibration workflows","Execute a previously planned calibration workflow node by node, tracking progress and handling failures. Use when the user asks to run, resume, or continue an existing workflow, or to execute a sequence of calibration steps that has already been defined in data\u002Fworkflows\u002F.",{"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,17,20],{"name":13,"slug":14,"type":15},"Automation","automation","tag",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},"Quantum Computing","quantum-computing",{"name":21,"slug":22,"type":15},"Workflow Automation","workflow-automation",57,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FQuantum-Calibration-Agent-Blueprint","2026-07-14T05:32:44.734587",null,17,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"This is a reference agent blueprint for AI-powered quantum device calibration. It provides an intelligent agent interface for discovering, executing, and analyzing quantum calibration experiments with support for automated workflows and vision-based analysis.","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FQuantum-Calibration-Agent-Blueprint\u002Ftree\u002FHEAD\u002Fdata\u002Fknowledge\u002Fskills\u002Fworkflow-execution","---\nname: workflow-execution\ndescription: Execute a previously planned calibration workflow node by node, tracking progress and handling failures. Use when the user asks to run, resume, or continue an existing workflow, or to execute a sequence of calibration steps that has already been defined in data\u002Fworkflows\u002F.\n---\n\n# Workflow Execution\n\nExecute a planned workflow node by node, tracking progress and handling failures.\n\n## Overview\n\nYou execute workflows by:\n1. Reading the workflow state and plan\n2. For each node, running the experiment directly using `run_experiment`\n3. Analyzing results with `vlm_inspect` when visual verification is needed\n4. Updating workflow state using `workflow(action=\"update\", ...)`\n5. Logging events using `workflow(action=\"log\", ...)`\n6. Making decisions on failures (or pausing for human input)\n\n## Safe State Updates\n\n**Use the workflow tool for all state changes.** Never edit workflow.json directly.\n\n### Update Action\n\nUpdates workflow state with automatic validation:\n\n```python\nworkflow(\n    action=\"update\",\n    workflow_id=\"calibrate_q0\",\n    data={\n        \"status\": \"running\",\n        \"nodes.node_1.state\": \"success\",\n        \"nodes.node_1.extracted\": {\"resonator_frequency\": 5.823},\n        \"context.resonator_frequency\": 5.823\n    }\n)\n```\n\n**Features:**\n- Validates before writing (reverts on failure)\n- Supports dot notation for nested updates\n- Creates intermediate objects as needed\n- Atomically updates multiple fields\n\n**Dot notation examples:**\n- `\"status\": \"running\"` - Simple field\n- `\"context.resonator_freq\": 5.823` - Nested path\n- `\"nodes.node_1.state\": \"success\"` - Node by ID\n- `\"nodes.node_1.experiment_id\": \"20240315_...\"` - Link node to experiment\n- `\"nodes.node_1.extracted\": {...}` - Node nested field\n\n### Log Action\n\nAppends events to history.jsonl with auto-timestamp:\n\n```python\nworkflow(\n    action=\"log\",\n    workflow_id=\"calibrate_q0\",\n    event=\"node_completed\",\n    node=\"node_1\",\n    state=\"success\",\n    extracted={\"resonator_frequency\": 5.823}\n)\n```\n\nThe timestamp is added automatically.\n\n## Storage Structure\n\n```\ndata\u002Fworkflows\u002F{workflow_id}\u002F\n├── workflow.json      # Current state (updated via workflow tool)\n├── plan.md            # Planning document (read-only during execution)\n└── history.jsonl      # Event log (appended via workflow tool)\n```\n\n## Workflow State\n\n**workflow.json** during execution:\n```json\n{\n  \"id\": \"calibrate_q0\",\n  \"name\": \"Calibrate Qubit Q0\",\n  \"status\": \"running\",\n  \"current_node\": \"node_2\",\n  \"started_at\": \"2024-03-15T10:30:00Z\",\n  \"nodes\": [\n    {\n      \"id\": \"node_1\",\n      \"name\": \"Resonator Spectroscopy\",\n      \"dependencies\": [],\n      \"state\": \"success\",\n      \"run_count\": 1,\n      \"completed_at\": \"2024-03-15T10:32:00Z\",\n      \"experiment_id\": \"20240315_103015_resonator_spectroscopy\",\n      \"extracted\": {\"resonator_frequency\": 5.823}\n    },\n    {\n      \"id\": \"node_2\",\n      \"name\": \"Qubit Spectroscopy\",\n      \"dependencies\": [\"node_1\"],\n      \"state\": \"running\",\n      \"run_count\": 1,\n      \"started_at\": \"2024-03-15T10:32:15Z\"\n    },\n    {\n      \"id\": \"node_3\",\n      \"name\": \"Rabi Oscillations\",\n      \"dependencies\": [\"node_2\"],\n      \"state\": \"pending\"\n    }\n  ],\n  \"context\": {\n    \"resonator_frequency\": 5.823\n  }\n}\n```\n\n**Status values**: `created` → `running` → `paused` \u002F `completed` \u002F `failed`\n\n**Node states**: `pending` → `running` → `success` \u002F `failed` \u002F `skipped`\n\n## Execution Steps\n\n### Step 1: Load State\n\nRead workflow.json using `workflow(action=\"status\", workflow_id=\"...\")`:\n- Current workflow status\n- Which nodes are complete (and their extracted values)\n- Which node to execute next\n\n### Step 2: Find Next Node\n\nFind a node where:\n- `state` is `pending`\n- All `dependencies` have `state: success`\n\nIf no such node exists:\n- All nodes complete → mark workflow `completed`\n- Some nodes failed\u002Fskipped with no path forward → mark workflow `failed`\n\n### Step 3: Execute Node\n\n1. **Mark node as running**:\n   ```python\n   workflow(\n       action=\"update\",\n       workflow_id=\"calibrate_q0\",\n       data={\n           \"current_node\": \"node_1\",\n           \"nodes.node_1.state\": \"running\",\n           \"nodes.node_1.run_count\": 1,\n           \"nodes.node_1.started_at\": \"2024-03-15T10:30:00Z\"\n       }\n   )\n   ```\n\n2. **Log to history**:\n   ```python\n   workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"node_started\", node=\"node_1\", run=1)\n   ```\n\n3. **Gather context** from completed nodes and plan.md\n\n4. **Run the experiment** using `run_experiment`:\n   ```python\n   run_experiment(\n     experiment_name=\"resonator_spectroscopy\",\n     params={\n       \"center_freq\": 6.0,\n       \"span\": 0.2,\n       \"num_points\": 101,\n       \"power\": -20,\n       \"num_averages\": 2000\n     }\n   )\n   ```\n\n5. **Analyze results** using `vlm_inspect` when visual verification is needed:\n   ```python\n   vlm_inspect(\n     experiment_id=\"20240315_103015_resonator\",\n     prompt=\"Is there a clear dip? What is the resonator frequency?\"\n   )\n   ```\n\n6. **Evaluate success criteria**:\n   - Check returned values (SNR, frequency, etc.)\n   - Use VLM analysis for visual criteria\n   - If criteria not met, retry with adjusted parameters (up to max attempts)\n\n7. **Proceed to Step 4** with the result\n\n### Step 4: Evaluate Result\n\n**On success**:\n1. Extract values as specified in plan.md\n2. Update state (**always include `experiment_id`** from the `run_experiment` result's `id` field — this links the node to its plot in the UI):\n   ```python\n   workflow(\n       action=\"update\",\n       workflow_id=\"calibrate_q0\",\n       data={\n           \"nodes.node_1.state\": \"success\",\n           \"nodes.node_1.completed_at\": \"2024-03-15T10:32:00Z\",\n           \"nodes.node_1.experiment_id\": \"20240315_103015_resonator_spectroscopy\",\n           \"nodes.node_1.extracted\": {\"resonator_frequency\": 5.823},\n           \"context.resonator_frequency\": 5.823\n       }\n   )\n   ```\n3. Log completion:\n   ```python\n   workflow(\n       action=\"log\",\n       workflow_id=\"calibrate_q0\",\n       event=\"node_completed\",\n       node=\"node_1\",\n       state=\"success\",\n       extracted={\"resonator_frequency\": 5.823}\n   )\n   ```\n4. Go to Step 2 (next node)\n\n**On failure** (after max attempts):\n1. Update state:\n   ```python\n   workflow(\n       action=\"update\",\n       workflow_id=\"calibrate_q0\",\n       data={\n           \"nodes.node_2.state\": \"failed\",\n           \"nodes.node_2.completed_at\": \"2024-03-15T10:33:00Z\",\n           \"nodes.node_2.observations\": \"No peak found after 3 attempts\"\n       }\n   )\n   ```\n2. Log failure:\n   ```python\n   workflow(\n       action=\"log\",\n       workflow_id=\"calibrate_q0\",\n       event=\"node_completed\",\n       node=\"node_2\",\n       state=\"failed\",\n       observations=\"No peak found after 3 attempts\"\n   )\n   ```\n3. Go to Step 5 (decide next action)\n\n### Step 5: Handle Failure\n\nReview the failure and history. Decide:\n\n**If clear what to do** (based on your analysis):\n\n- **Backtrack**: A previous node's result may be invalid\n  ```python\n  # Reset nodes\n  workflow(\n      action=\"update\",\n      workflow_id=\"calibrate_q0\",\n      data={\n          \"nodes.node_1.state\": \"pending\",\n          \"nodes.node_2.state\": \"pending\"\n      }\n  )\n  # Log backtrack\n  workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"backtrack\", from_node=\"node_2\", to_node=\"node_1\", reason=\"Resonator may have drifted\")\n  ```\n\n- **Skip**: Node is optional, continue without it\n  ```python\n  workflow(\n      action=\"update\",\n      workflow_id=\"calibrate_q0\",\n      data={\"nodes.node_2.state\": \"skipped\"}\n  )\n  workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"node_skipped\", node=\"node_2\", reason=\"Optional measurement\")\n  ```\n\n**If unclear, pause for human**:\n\n1. Update workflow status:\n   ```python\n   workflow(\n       action=\"update\",\n       workflow_id=\"calibrate_q0\",\n       data={\n           \"status\": \"paused\",\n           \"paused_at\": \"2024-03-15T10:34:00Z\",\n           \"paused_reason\": \"Qubit spectroscopy failed after 3 attempts\",\n           \"suggestions\": [\n               {\"action\": \"backtrack\", \"target\": \"node_1\", \"reason\": \"Resonator frequency may have drifted\"},\n               {\"action\": \"retry\", \"reason\": \"Try with wider frequency range\"},\n               {\"action\": \"skip\", \"reason\": \"Continue without qubit frequency\"},\n               {\"action\": \"abort\", \"reason\": \"Stop workflow, investigate hardware\"}\n           ]\n       }\n   )\n   ```\n\n2. Log pause:\n   ```python\n   workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"workflow_paused\", reason=\"Qubit spectroscopy failed\")\n   ```\n\n3. Inform user and wait for decision\n\n## Resuming a Paused Workflow\n\nWhen user provides a decision:\n\n1. Log the decision:\n   ```python\n   workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"human_decision\", decision=\"backtrack\", target=\"node_1\")\n   ```\n\n2. Execute the decision:\n   - **backtrack**: Reset nodes and continue from target\n   - **retry**: Re-run current node with new approach\n   - **skip**: Mark node skipped, continue\n   - **abort**: Mark workflow `failed`, stop\n\n3. Update status:\n   ```python\n   workflow(action=\"update\", workflow_id=\"calibrate_q0\", data={\"status\": \"running\"})\n   ```\n\n4. Continue execution from Step 2\n\n## Resuming After Interruption\n\nIf workflow shows `status: running` but was interrupted:\n\n1. Check `current_node` - this node was interrupted\n2. Treat it as a fresh start for that node (reset to `pending`)\n3. Continue execution normally\n\n## Checking Status\n\nUse the workflow tool:\n```python\nworkflow(action=\"status\", workflow_id=\"calibrate_q0\")\n```\n\nShows:\n- Current status and progress\n- Node states\n- Recent history\n- Suggestions (if paused)\n\n## Example Execution Session\n\n```\nUser: Execute workflow calibrate_q0\n\nAgent: Starting workflow \"Calibrate Qubit Q0\"...\n\n[Calls: workflow(action=\"status\", workflow_id=\"calibrate_q0\")]\n\nExecuting node_1: Resonator Spectroscopy...\n\n[Calls: workflow(action=\"update\", ..., data={\"current_node\": \"node_1\", \"nodes.node_1.state\": \"running\", ...})]\n[Calls: workflow(action=\"log\", ..., event=\"node_started\", node=\"node_1\")]\n\n> Running experiment with center_freq=6.0 GHz, span=0.2 GHz\n> Experiment complete: 20240315_103015_resonator\n> Analyzing plot with vlm_inspect...\n> VLM: \"Clear dip visible at 5.823 GHz. SNR ~12.\"\n\nNode_1 SUCCESS\n- Extracted: resonator_frequency = 5.823 GHz\n\n[Calls: workflow(action=\"update\", ..., data={\"nodes.node_1.state\": \"success\", \"nodes.node_1.extracted\": {...}, \"context.resonator_frequency\": 5.823})]\n[Calls: workflow(action=\"log\", ..., event=\"node_completed\", state=\"success\")]\n\nMoving to next node...\n\nExecuting node_2: Qubit Spectroscopy...\n\n> Using resonator_frequency = 5.823 GHz from context\n> Attempt 1: center=4.5 GHz, span=0.2 GHz\n> Analyzing plot... No clear peak found\n> Attempt 2: Expanding range to span=0.4 GHz\n> Analyzing plot... Still no peak visible\n> Attempt 3: Expanding range to span=0.6 GHz\n> Analyzing plot... No peak found\n\nNode_2 FAILED after 3 attempts\n- Observations: No peak found with increasing range\n\n[Calls: workflow(action=\"update\", ..., data={\"nodes.node_2.state\": \"failed\", \"status\": \"paused\", ...})]\n[Calls: workflow(action=\"log\", ..., event=\"node_completed\", state=\"failed\")]\n[Calls: workflow(action=\"log\", ..., event=\"workflow_paused\")]\n\nPausing workflow for human decision.\n\nSuggestions:\n1. Backtrack to node_1: Resonator frequency may have drifted\n2. Retry with different center frequency\n3. Skip this node (will affect downstream calibration)\n4. Abort workflow\n\nPlease advise which action to take.\n\nUser: Try backtracking to node_1\n\nAgent: Backtracking to node_1...\n\n[Calls: workflow(action=\"log\", ..., event=\"human_decision\", decision=\"backtrack\")]\n[Calls: workflow(action=\"update\", ..., data={\"nodes.node_1.state\": \"pending\", \"nodes.node_2.state\": \"pending\", \"status\": \"running\"})]\n\nExecuting node_1: Resonator Spectroscopy (run 2)...\n\n> Running experiment...\n> Found dip at 5.819 GHz (shifted from 5.823)\n\nNode_1 SUCCESS\n- Extracted: resonator_frequency = 5.819 GHz\n\n[Updates state, continues to node_2...]\n```\n\n## Best Practices\n\n1. **Execute experiments directly** - Use `run_experiment` and `vlm_inspect` tools\n2. **Use workflow tool for state changes** - Never edit workflow.json directly\n3. **Log key events** - Record node start, experiment completion, node completion\n4. **Use context from previous nodes** - Pass extracted values to subsequent experiments\n5. **Be conservative with failures** - When unsure, pause and ask the user\n\n## Workflow Tool Actions Reference\n\n| Action | Description | Required Params |\n|--------|-------------|-----------------|\n| `list` | List all workflows | - |\n| `status` | Show workflow progress | `workflow_id` |\n| `history` | Show event history | `workflow_id`, optional `last_n` |\n| `validate` | Validate workflow structure | `workflow_id` |\n| `update` | Update workflow state | `workflow_id`, `data` |\n| `log` | Append event to history | `workflow_id`, `event`, any additional fields |\n",{"data":35,"body":36},{"name":4,"description":6},{"type":37,"children":38},"root",[39,47,53,60,65,127,133,144,151,156,259,267,291,299,357,363,368,436,441,447,457,463,473,1492,1537,1576,1582,1588,1600,1618,1624,1629,1665,1670,1693,1699,2017,2023,2032,2229,2239,2396,2402,2407,2417,2580,2589,2742,2748,2753,2854,2860,2873,2905,2911,2916,2930,2935,2957,2963,2972,2978,3045,3051,3256],{"type":40,"tag":41,"props":42,"children":43},"element","h1",{"id":4},[44],{"type":45,"value":46},"text","Workflow Execution",{"type":40,"tag":48,"props":49,"children":50},"p",{},[51],{"type":45,"value":52},"Execute a planned workflow node by node, tracking progress and handling failures.",{"type":40,"tag":54,"props":55,"children":57},"h2",{"id":56},"overview",[58],{"type":45,"value":59},"Overview",{"type":40,"tag":48,"props":61,"children":62},{},[63],{"type":45,"value":64},"You execute workflows by:",{"type":40,"tag":66,"props":67,"children":68},"ol",{},[69,75,87,100,111,122],{"type":40,"tag":70,"props":71,"children":72},"li",{},[73],{"type":45,"value":74},"Reading the workflow state and plan",{"type":40,"tag":70,"props":76,"children":77},{},[78,80],{"type":45,"value":79},"For each node, running the experiment directly using ",{"type":40,"tag":81,"props":82,"children":84},"code",{"className":83},[],[85],{"type":45,"value":86},"run_experiment",{"type":40,"tag":70,"props":88,"children":89},{},[90,92,98],{"type":45,"value":91},"Analyzing results with ",{"type":40,"tag":81,"props":93,"children":95},{"className":94},[],[96],{"type":45,"value":97},"vlm_inspect",{"type":45,"value":99}," when visual verification is needed",{"type":40,"tag":70,"props":101,"children":102},{},[103,105],{"type":45,"value":104},"Updating workflow state using ",{"type":40,"tag":81,"props":106,"children":108},{"className":107},[],[109],{"type":45,"value":110},"workflow(action=\"update\", ...)",{"type":40,"tag":70,"props":112,"children":113},{},[114,116],{"type":45,"value":115},"Logging events using ",{"type":40,"tag":81,"props":117,"children":119},{"className":118},[],[120],{"type":45,"value":121},"workflow(action=\"log\", ...)",{"type":40,"tag":70,"props":123,"children":124},{},[125],{"type":45,"value":126},"Making decisions on failures (or pausing for human input)",{"type":40,"tag":54,"props":128,"children":130},{"id":129},"safe-state-updates",[131],{"type":45,"value":132},"Safe State Updates",{"type":40,"tag":48,"props":134,"children":135},{},[136,142],{"type":40,"tag":137,"props":138,"children":139},"strong",{},[140],{"type":45,"value":141},"Use the workflow tool for all state changes.",{"type":45,"value":143}," Never edit workflow.json directly.",{"type":40,"tag":145,"props":146,"children":148},"h3",{"id":147},"update-action",[149],{"type":45,"value":150},"Update Action",{"type":40,"tag":48,"props":152,"children":153},{},[154],{"type":45,"value":155},"Updates workflow state with automatic validation:",{"type":40,"tag":157,"props":158,"children":163},"pre",{"className":159,"code":160,"language":161,"meta":162,"style":162},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","workflow(\n    action=\"update\",\n    workflow_id=\"calibrate_q0\",\n    data={\n        \"status\": \"running\",\n        \"nodes.node_1.state\": \"success\",\n        \"nodes.node_1.extracted\": {\"resonator_frequency\": 5.823},\n        \"context.resonator_frequency\": 5.823\n    }\n)\n","python","",[164],{"type":40,"tag":81,"props":165,"children":166},{"__ignoreMap":162},[167,178,187,196,205,214,223,232,241,250],{"type":40,"tag":168,"props":169,"children":172},"span",{"class":170,"line":171},"line",1,[173],{"type":40,"tag":168,"props":174,"children":175},{},[176],{"type":45,"value":177},"workflow(\n",{"type":40,"tag":168,"props":179,"children":181},{"class":170,"line":180},2,[182],{"type":40,"tag":168,"props":183,"children":184},{},[185],{"type":45,"value":186},"    action=\"update\",\n",{"type":40,"tag":168,"props":188,"children":190},{"class":170,"line":189},3,[191],{"type":40,"tag":168,"props":192,"children":193},{},[194],{"type":45,"value":195},"    workflow_id=\"calibrate_q0\",\n",{"type":40,"tag":168,"props":197,"children":199},{"class":170,"line":198},4,[200],{"type":40,"tag":168,"props":201,"children":202},{},[203],{"type":45,"value":204},"    data={\n",{"type":40,"tag":168,"props":206,"children":208},{"class":170,"line":207},5,[209],{"type":40,"tag":168,"props":210,"children":211},{},[212],{"type":45,"value":213},"        \"status\": \"running\",\n",{"type":40,"tag":168,"props":215,"children":217},{"class":170,"line":216},6,[218],{"type":40,"tag":168,"props":219,"children":220},{},[221],{"type":45,"value":222},"        \"nodes.node_1.state\": \"success\",\n",{"type":40,"tag":168,"props":224,"children":226},{"class":170,"line":225},7,[227],{"type":40,"tag":168,"props":228,"children":229},{},[230],{"type":45,"value":231},"        \"nodes.node_1.extracted\": {\"resonator_frequency\": 5.823},\n",{"type":40,"tag":168,"props":233,"children":235},{"class":170,"line":234},8,[236],{"type":40,"tag":168,"props":237,"children":238},{},[239],{"type":45,"value":240},"        \"context.resonator_frequency\": 5.823\n",{"type":40,"tag":168,"props":242,"children":244},{"class":170,"line":243},9,[245],{"type":40,"tag":168,"props":246,"children":247},{},[248],{"type":45,"value":249},"    }\n",{"type":40,"tag":168,"props":251,"children":253},{"class":170,"line":252},10,[254],{"type":40,"tag":168,"props":255,"children":256},{},[257],{"type":45,"value":258},")\n",{"type":40,"tag":48,"props":260,"children":261},{},[262],{"type":40,"tag":137,"props":263,"children":264},{},[265],{"type":45,"value":266},"Features:",{"type":40,"tag":268,"props":269,"children":270},"ul",{},[271,276,281,286],{"type":40,"tag":70,"props":272,"children":273},{},[274],{"type":45,"value":275},"Validates before writing (reverts on failure)",{"type":40,"tag":70,"props":277,"children":278},{},[279],{"type":45,"value":280},"Supports dot notation for nested updates",{"type":40,"tag":70,"props":282,"children":283},{},[284],{"type":45,"value":285},"Creates intermediate objects as needed",{"type":40,"tag":70,"props":287,"children":288},{},[289],{"type":45,"value":290},"Atomically updates multiple fields",{"type":40,"tag":48,"props":292,"children":293},{},[294],{"type":40,"tag":137,"props":295,"children":296},{},[297],{"type":45,"value":298},"Dot notation examples:",{"type":40,"tag":268,"props":300,"children":301},{},[302,313,324,335,346],{"type":40,"tag":70,"props":303,"children":304},{},[305,311],{"type":40,"tag":81,"props":306,"children":308},{"className":307},[],[309],{"type":45,"value":310},"\"status\": \"running\"",{"type":45,"value":312}," - Simple field",{"type":40,"tag":70,"props":314,"children":315},{},[316,322],{"type":40,"tag":81,"props":317,"children":319},{"className":318},[],[320],{"type":45,"value":321},"\"context.resonator_freq\": 5.823",{"type":45,"value":323}," - Nested path",{"type":40,"tag":70,"props":325,"children":326},{},[327,333],{"type":40,"tag":81,"props":328,"children":330},{"className":329},[],[331],{"type":45,"value":332},"\"nodes.node_1.state\": \"success\"",{"type":45,"value":334}," - Node by ID",{"type":40,"tag":70,"props":336,"children":337},{},[338,344],{"type":40,"tag":81,"props":339,"children":341},{"className":340},[],[342],{"type":45,"value":343},"\"nodes.node_1.experiment_id\": \"20240315_...\"",{"type":45,"value":345}," - Link node to experiment",{"type":40,"tag":70,"props":347,"children":348},{},[349,355],{"type":40,"tag":81,"props":350,"children":352},{"className":351},[],[353],{"type":45,"value":354},"\"nodes.node_1.extracted\": {...}",{"type":45,"value":356}," - Node nested field",{"type":40,"tag":145,"props":358,"children":360},{"id":359},"log-action",[361],{"type":45,"value":362},"Log Action",{"type":40,"tag":48,"props":364,"children":365},{},[366],{"type":45,"value":367},"Appends events to history.jsonl with auto-timestamp:",{"type":40,"tag":157,"props":369,"children":371},{"className":159,"code":370,"language":161,"meta":162,"style":162},"workflow(\n    action=\"log\",\n    workflow_id=\"calibrate_q0\",\n    event=\"node_completed\",\n    node=\"node_1\",\n    state=\"success\",\n    extracted={\"resonator_frequency\": 5.823}\n)\n",[372],{"type":40,"tag":81,"props":373,"children":374},{"__ignoreMap":162},[375,382,390,397,405,413,421,429],{"type":40,"tag":168,"props":376,"children":377},{"class":170,"line":171},[378],{"type":40,"tag":168,"props":379,"children":380},{},[381],{"type":45,"value":177},{"type":40,"tag":168,"props":383,"children":384},{"class":170,"line":180},[385],{"type":40,"tag":168,"props":386,"children":387},{},[388],{"type":45,"value":389},"    action=\"log\",\n",{"type":40,"tag":168,"props":391,"children":392},{"class":170,"line":189},[393],{"type":40,"tag":168,"props":394,"children":395},{},[396],{"type":45,"value":195},{"type":40,"tag":168,"props":398,"children":399},{"class":170,"line":198},[400],{"type":40,"tag":168,"props":401,"children":402},{},[403],{"type":45,"value":404},"    event=\"node_completed\",\n",{"type":40,"tag":168,"props":406,"children":407},{"class":170,"line":207},[408],{"type":40,"tag":168,"props":409,"children":410},{},[411],{"type":45,"value":412},"    node=\"node_1\",\n",{"type":40,"tag":168,"props":414,"children":415},{"class":170,"line":216},[416],{"type":40,"tag":168,"props":417,"children":418},{},[419],{"type":45,"value":420},"    state=\"success\",\n",{"type":40,"tag":168,"props":422,"children":423},{"class":170,"line":225},[424],{"type":40,"tag":168,"props":425,"children":426},{},[427],{"type":45,"value":428},"    extracted={\"resonator_frequency\": 5.823}\n",{"type":40,"tag":168,"props":430,"children":431},{"class":170,"line":234},[432],{"type":40,"tag":168,"props":433,"children":434},{},[435],{"type":45,"value":258},{"type":40,"tag":48,"props":437,"children":438},{},[439],{"type":45,"value":440},"The timestamp is added automatically.",{"type":40,"tag":54,"props":442,"children":444},{"id":443},"storage-structure",[445],{"type":45,"value":446},"Storage Structure",{"type":40,"tag":157,"props":448,"children":452},{"className":449,"code":451,"language":45},[450],"language-text","data\u002Fworkflows\u002F{workflow_id}\u002F\n├── workflow.json      # Current state (updated via workflow tool)\n├── plan.md            # Planning document (read-only during execution)\n└── history.jsonl      # Event log (appended via workflow tool)\n",[453],{"type":40,"tag":81,"props":454,"children":455},{"__ignoreMap":162},[456],{"type":45,"value":451},{"type":40,"tag":54,"props":458,"children":460},{"id":459},"workflow-state",[461],{"type":45,"value":462},"Workflow State",{"type":40,"tag":48,"props":464,"children":465},{},[466,471],{"type":40,"tag":137,"props":467,"children":468},{},[469],{"type":45,"value":470},"workflow.json",{"type":45,"value":472}," during execution:",{"type":40,"tag":157,"props":474,"children":478},{"className":475,"code":476,"language":477,"meta":162,"style":162},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"id\": \"calibrate_q0\",\n  \"name\": \"Calibrate Qubit Q0\",\n  \"status\": \"running\",\n  \"current_node\": \"node_2\",\n  \"started_at\": \"2024-03-15T10:30:00Z\",\n  \"nodes\": [\n    {\n      \"id\": \"node_1\",\n      \"name\": \"Resonator Spectroscopy\",\n      \"dependencies\": [],\n      \"state\": \"success\",\n      \"run_count\": 1,\n      \"completed_at\": \"2024-03-15T10:32:00Z\",\n      \"experiment_id\": \"20240315_103015_resonator_spectroscopy\",\n      \"extracted\": {\"resonator_frequency\": 5.823}\n    },\n    {\n      \"id\": \"node_2\",\n      \"name\": \"Qubit Spectroscopy\",\n      \"dependencies\": [\"node_1\"],\n      \"state\": \"running\",\n      \"run_count\": 1,\n      \"started_at\": \"2024-03-15T10:32:15Z\"\n    },\n    {\n      \"id\": \"node_3\",\n      \"name\": \"Rabi Oscillations\",\n      \"dependencies\": [\"node_2\"],\n      \"state\": \"pending\"\n    }\n  ],\n  \"context\": {\n    \"resonator_frequency\": 5.823\n  }\n}\n","json",[479],{"type":40,"tag":81,"props":480,"children":481},{"__ignoreMap":162},[482,491,535,572,609,646,683,708,716,754,790,816,854,885,923,961,1014,1022,1030,1066,1103,1145,1181,1209,1243,1251,1259,1296,1333,1373,1406,1414,1423,1449,1475,1484],{"type":40,"tag":168,"props":483,"children":484},{"class":170,"line":171},[485],{"type":40,"tag":168,"props":486,"children":488},{"style":487},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[489],{"type":45,"value":490},"{\n",{"type":40,"tag":168,"props":492,"children":493},{"class":170,"line":180},[494,499,505,510,515,520,526,530],{"type":40,"tag":168,"props":495,"children":496},{"style":487},[497],{"type":45,"value":498},"  \"",{"type":40,"tag":168,"props":500,"children":502},{"style":501},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[503],{"type":45,"value":504},"id",{"type":40,"tag":168,"props":506,"children":507},{"style":487},[508],{"type":45,"value":509},"\"",{"type":40,"tag":168,"props":511,"children":512},{"style":487},[513],{"type":45,"value":514},":",{"type":40,"tag":168,"props":516,"children":517},{"style":487},[518],{"type":45,"value":519}," \"",{"type":40,"tag":168,"props":521,"children":523},{"style":522},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[524],{"type":45,"value":525},"calibrate_q0",{"type":40,"tag":168,"props":527,"children":528},{"style":487},[529],{"type":45,"value":509},{"type":40,"tag":168,"props":531,"children":532},{"style":487},[533],{"type":45,"value":534},",\n",{"type":40,"tag":168,"props":536,"children":537},{"class":170,"line":189},[538,542,547,551,555,559,564,568],{"type":40,"tag":168,"props":539,"children":540},{"style":487},[541],{"type":45,"value":498},{"type":40,"tag":168,"props":543,"children":544},{"style":501},[545],{"type":45,"value":546},"name",{"type":40,"tag":168,"props":548,"children":549},{"style":487},[550],{"type":45,"value":509},{"type":40,"tag":168,"props":552,"children":553},{"style":487},[554],{"type":45,"value":514},{"type":40,"tag":168,"props":556,"children":557},{"style":487},[558],{"type":45,"value":519},{"type":40,"tag":168,"props":560,"children":561},{"style":522},[562],{"type":45,"value":563},"Calibrate Qubit Q0",{"type":40,"tag":168,"props":565,"children":566},{"style":487},[567],{"type":45,"value":509},{"type":40,"tag":168,"props":569,"children":570},{"style":487},[571],{"type":45,"value":534},{"type":40,"tag":168,"props":573,"children":574},{"class":170,"line":198},[575,579,584,588,592,596,601,605],{"type":40,"tag":168,"props":576,"children":577},{"style":487},[578],{"type":45,"value":498},{"type":40,"tag":168,"props":580,"children":581},{"style":501},[582],{"type":45,"value":583},"status",{"type":40,"tag":168,"props":585,"children":586},{"style":487},[587],{"type":45,"value":509},{"type":40,"tag":168,"props":589,"children":590},{"style":487},[591],{"type":45,"value":514},{"type":40,"tag":168,"props":593,"children":594},{"style":487},[595],{"type":45,"value":519},{"type":40,"tag":168,"props":597,"children":598},{"style":522},[599],{"type":45,"value":600},"running",{"type":40,"tag":168,"props":602,"children":603},{"style":487},[604],{"type":45,"value":509},{"type":40,"tag":168,"props":606,"children":607},{"style":487},[608],{"type":45,"value":534},{"type":40,"tag":168,"props":610,"children":611},{"class":170,"line":207},[612,616,621,625,629,633,638,642],{"type":40,"tag":168,"props":613,"children":614},{"style":487},[615],{"type":45,"value":498},{"type":40,"tag":168,"props":617,"children":618},{"style":501},[619],{"type":45,"value":620},"current_node",{"type":40,"tag":168,"props":622,"children":623},{"style":487},[624],{"type":45,"value":509},{"type":40,"tag":168,"props":626,"children":627},{"style":487},[628],{"type":45,"value":514},{"type":40,"tag":168,"props":630,"children":631},{"style":487},[632],{"type":45,"value":519},{"type":40,"tag":168,"props":634,"children":635},{"style":522},[636],{"type":45,"value":637},"node_2",{"type":40,"tag":168,"props":639,"children":640},{"style":487},[641],{"type":45,"value":509},{"type":40,"tag":168,"props":643,"children":644},{"style":487},[645],{"type":45,"value":534},{"type":40,"tag":168,"props":647,"children":648},{"class":170,"line":216},[649,653,658,662,666,670,675,679],{"type":40,"tag":168,"props":650,"children":651},{"style":487},[652],{"type":45,"value":498},{"type":40,"tag":168,"props":654,"children":655},{"style":501},[656],{"type":45,"value":657},"started_at",{"type":40,"tag":168,"props":659,"children":660},{"style":487},[661],{"type":45,"value":509},{"type":40,"tag":168,"props":663,"children":664},{"style":487},[665],{"type":45,"value":514},{"type":40,"tag":168,"props":667,"children":668},{"style":487},[669],{"type":45,"value":519},{"type":40,"tag":168,"props":671,"children":672},{"style":522},[673],{"type":45,"value":674},"2024-03-15T10:30:00Z",{"type":40,"tag":168,"props":676,"children":677},{"style":487},[678],{"type":45,"value":509},{"type":40,"tag":168,"props":680,"children":681},{"style":487},[682],{"type":45,"value":534},{"type":40,"tag":168,"props":684,"children":685},{"class":170,"line":225},[686,690,695,699,703],{"type":40,"tag":168,"props":687,"children":688},{"style":487},[689],{"type":45,"value":498},{"type":40,"tag":168,"props":691,"children":692},{"style":501},[693],{"type":45,"value":694},"nodes",{"type":40,"tag":168,"props":696,"children":697},{"style":487},[698],{"type":45,"value":509},{"type":40,"tag":168,"props":700,"children":701},{"style":487},[702],{"type":45,"value":514},{"type":40,"tag":168,"props":704,"children":705},{"style":487},[706],{"type":45,"value":707}," [\n",{"type":40,"tag":168,"props":709,"children":710},{"class":170,"line":234},[711],{"type":40,"tag":168,"props":712,"children":713},{"style":487},[714],{"type":45,"value":715},"    {\n",{"type":40,"tag":168,"props":717,"children":718},{"class":170,"line":243},[719,724,729,733,737,741,746,750],{"type":40,"tag":168,"props":720,"children":721},{"style":487},[722],{"type":45,"value":723},"      \"",{"type":40,"tag":168,"props":725,"children":727},{"style":726},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[728],{"type":45,"value":504},{"type":40,"tag":168,"props":730,"children":731},{"style":487},[732],{"type":45,"value":509},{"type":40,"tag":168,"props":734,"children":735},{"style":487},[736],{"type":45,"value":514},{"type":40,"tag":168,"props":738,"children":739},{"style":487},[740],{"type":45,"value":519},{"type":40,"tag":168,"props":742,"children":743},{"style":522},[744],{"type":45,"value":745},"node_1",{"type":40,"tag":168,"props":747,"children":748},{"style":487},[749],{"type":45,"value":509},{"type":40,"tag":168,"props":751,"children":752},{"style":487},[753],{"type":45,"value":534},{"type":40,"tag":168,"props":755,"children":756},{"class":170,"line":252},[757,761,765,769,773,777,782,786],{"type":40,"tag":168,"props":758,"children":759},{"style":487},[760],{"type":45,"value":723},{"type":40,"tag":168,"props":762,"children":763},{"style":726},[764],{"type":45,"value":546},{"type":40,"tag":168,"props":766,"children":767},{"style":487},[768],{"type":45,"value":509},{"type":40,"tag":168,"props":770,"children":771},{"style":487},[772],{"type":45,"value":514},{"type":40,"tag":168,"props":774,"children":775},{"style":487},[776],{"type":45,"value":519},{"type":40,"tag":168,"props":778,"children":779},{"style":522},[780],{"type":45,"value":781},"Resonator Spectroscopy",{"type":40,"tag":168,"props":783,"children":784},{"style":487},[785],{"type":45,"value":509},{"type":40,"tag":168,"props":787,"children":788},{"style":487},[789],{"type":45,"value":534},{"type":40,"tag":168,"props":791,"children":793},{"class":170,"line":792},11,[794,798,803,807,811],{"type":40,"tag":168,"props":795,"children":796},{"style":487},[797],{"type":45,"value":723},{"type":40,"tag":168,"props":799,"children":800},{"style":726},[801],{"type":45,"value":802},"dependencies",{"type":40,"tag":168,"props":804,"children":805},{"style":487},[806],{"type":45,"value":509},{"type":40,"tag":168,"props":808,"children":809},{"style":487},[810],{"type":45,"value":514},{"type":40,"tag":168,"props":812,"children":813},{"style":487},[814],{"type":45,"value":815}," [],\n",{"type":40,"tag":168,"props":817,"children":819},{"class":170,"line":818},12,[820,824,829,833,837,841,846,850],{"type":40,"tag":168,"props":821,"children":822},{"style":487},[823],{"type":45,"value":723},{"type":40,"tag":168,"props":825,"children":826},{"style":726},[827],{"type":45,"value":828},"state",{"type":40,"tag":168,"props":830,"children":831},{"style":487},[832],{"type":45,"value":509},{"type":40,"tag":168,"props":834,"children":835},{"style":487},[836],{"type":45,"value":514},{"type":40,"tag":168,"props":838,"children":839},{"style":487},[840],{"type":45,"value":519},{"type":40,"tag":168,"props":842,"children":843},{"style":522},[844],{"type":45,"value":845},"success",{"type":40,"tag":168,"props":847,"children":848},{"style":487},[849],{"type":45,"value":509},{"type":40,"tag":168,"props":851,"children":852},{"style":487},[853],{"type":45,"value":534},{"type":40,"tag":168,"props":855,"children":857},{"class":170,"line":856},13,[858,862,867,871,875,881],{"type":40,"tag":168,"props":859,"children":860},{"style":487},[861],{"type":45,"value":723},{"type":40,"tag":168,"props":863,"children":864},{"style":726},[865],{"type":45,"value":866},"run_count",{"type":40,"tag":168,"props":868,"children":869},{"style":487},[870],{"type":45,"value":509},{"type":40,"tag":168,"props":872,"children":873},{"style":487},[874],{"type":45,"value":514},{"type":40,"tag":168,"props":876,"children":878},{"style":877},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[879],{"type":45,"value":880}," 1",{"type":40,"tag":168,"props":882,"children":883},{"style":487},[884],{"type":45,"value":534},{"type":40,"tag":168,"props":886,"children":888},{"class":170,"line":887},14,[889,893,898,902,906,910,915,919],{"type":40,"tag":168,"props":890,"children":891},{"style":487},[892],{"type":45,"value":723},{"type":40,"tag":168,"props":894,"children":895},{"style":726},[896],{"type":45,"value":897},"completed_at",{"type":40,"tag":168,"props":899,"children":900},{"style":487},[901],{"type":45,"value":509},{"type":40,"tag":168,"props":903,"children":904},{"style":487},[905],{"type":45,"value":514},{"type":40,"tag":168,"props":907,"children":908},{"style":487},[909],{"type":45,"value":519},{"type":40,"tag":168,"props":911,"children":912},{"style":522},[913],{"type":45,"value":914},"2024-03-15T10:32:00Z",{"type":40,"tag":168,"props":916,"children":917},{"style":487},[918],{"type":45,"value":509},{"type":40,"tag":168,"props":920,"children":921},{"style":487},[922],{"type":45,"value":534},{"type":40,"tag":168,"props":924,"children":926},{"class":170,"line":925},15,[927,931,936,940,944,948,953,957],{"type":40,"tag":168,"props":928,"children":929},{"style":487},[930],{"type":45,"value":723},{"type":40,"tag":168,"props":932,"children":933},{"style":726},[934],{"type":45,"value":935},"experiment_id",{"type":40,"tag":168,"props":937,"children":938},{"style":487},[939],{"type":45,"value":509},{"type":40,"tag":168,"props":941,"children":942},{"style":487},[943],{"type":45,"value":514},{"type":40,"tag":168,"props":945,"children":946},{"style":487},[947],{"type":45,"value":519},{"type":40,"tag":168,"props":949,"children":950},{"style":522},[951],{"type":45,"value":952},"20240315_103015_resonator_spectroscopy",{"type":40,"tag":168,"props":954,"children":955},{"style":487},[956],{"type":45,"value":509},{"type":40,"tag":168,"props":958,"children":959},{"style":487},[960],{"type":45,"value":534},{"type":40,"tag":168,"props":962,"children":964},{"class":170,"line":963},16,[965,969,974,978,982,987,991,996,1000,1004,1009],{"type":40,"tag":168,"props":966,"children":967},{"style":487},[968],{"type":45,"value":723},{"type":40,"tag":168,"props":970,"children":971},{"style":726},[972],{"type":45,"value":973},"extracted",{"type":40,"tag":168,"props":975,"children":976},{"style":487},[977],{"type":45,"value":509},{"type":40,"tag":168,"props":979,"children":980},{"style":487},[981],{"type":45,"value":514},{"type":40,"tag":168,"props":983,"children":984},{"style":487},[985],{"type":45,"value":986}," {",{"type":40,"tag":168,"props":988,"children":989},{"style":487},[990],{"type":45,"value":509},{"type":40,"tag":168,"props":992,"children":993},{"style":877},[994],{"type":45,"value":995},"resonator_frequency",{"type":40,"tag":168,"props":997,"children":998},{"style":487},[999],{"type":45,"value":509},{"type":40,"tag":168,"props":1001,"children":1002},{"style":487},[1003],{"type":45,"value":514},{"type":40,"tag":168,"props":1005,"children":1006},{"style":877},[1007],{"type":45,"value":1008}," 5.823",{"type":40,"tag":168,"props":1010,"children":1011},{"style":487},[1012],{"type":45,"value":1013},"}\n",{"type":40,"tag":168,"props":1015,"children":1016},{"class":170,"line":27},[1017],{"type":40,"tag":168,"props":1018,"children":1019},{"style":487},[1020],{"type":45,"value":1021},"    },\n",{"type":40,"tag":168,"props":1023,"children":1025},{"class":170,"line":1024},18,[1026],{"type":40,"tag":168,"props":1027,"children":1028},{"style":487},[1029],{"type":45,"value":715},{"type":40,"tag":168,"props":1031,"children":1033},{"class":170,"line":1032},19,[1034,1038,1042,1046,1050,1054,1058,1062],{"type":40,"tag":168,"props":1035,"children":1036},{"style":487},[1037],{"type":45,"value":723},{"type":40,"tag":168,"props":1039,"children":1040},{"style":726},[1041],{"type":45,"value":504},{"type":40,"tag":168,"props":1043,"children":1044},{"style":487},[1045],{"type":45,"value":509},{"type":40,"tag":168,"props":1047,"children":1048},{"style":487},[1049],{"type":45,"value":514},{"type":40,"tag":168,"props":1051,"children":1052},{"style":487},[1053],{"type":45,"value":519},{"type":40,"tag":168,"props":1055,"children":1056},{"style":522},[1057],{"type":45,"value":637},{"type":40,"tag":168,"props":1059,"children":1060},{"style":487},[1061],{"type":45,"value":509},{"type":40,"tag":168,"props":1063,"children":1064},{"style":487},[1065],{"type":45,"value":534},{"type":40,"tag":168,"props":1067,"children":1069},{"class":170,"line":1068},20,[1070,1074,1078,1082,1086,1090,1095,1099],{"type":40,"tag":168,"props":1071,"children":1072},{"style":487},[1073],{"type":45,"value":723},{"type":40,"tag":168,"props":1075,"children":1076},{"style":726},[1077],{"type":45,"value":546},{"type":40,"tag":168,"props":1079,"children":1080},{"style":487},[1081],{"type":45,"value":509},{"type":40,"tag":168,"props":1083,"children":1084},{"style":487},[1085],{"type":45,"value":514},{"type":40,"tag":168,"props":1087,"children":1088},{"style":487},[1089],{"type":45,"value":519},{"type":40,"tag":168,"props":1091,"children":1092},{"style":522},[1093],{"type":45,"value":1094},"Qubit Spectroscopy",{"type":40,"tag":168,"props":1096,"children":1097},{"style":487},[1098],{"type":45,"value":509},{"type":40,"tag":168,"props":1100,"children":1101},{"style":487},[1102],{"type":45,"value":534},{"type":40,"tag":168,"props":1104,"children":1106},{"class":170,"line":1105},21,[1107,1111,1115,1119,1123,1128,1132,1136,1140],{"type":40,"tag":168,"props":1108,"children":1109},{"style":487},[1110],{"type":45,"value":723},{"type":40,"tag":168,"props":1112,"children":1113},{"style":726},[1114],{"type":45,"value":802},{"type":40,"tag":168,"props":1116,"children":1117},{"style":487},[1118],{"type":45,"value":509},{"type":40,"tag":168,"props":1120,"children":1121},{"style":487},[1122],{"type":45,"value":514},{"type":40,"tag":168,"props":1124,"children":1125},{"style":487},[1126],{"type":45,"value":1127}," [",{"type":40,"tag":168,"props":1129,"children":1130},{"style":487},[1131],{"type":45,"value":509},{"type":40,"tag":168,"props":1133,"children":1134},{"style":522},[1135],{"type":45,"value":745},{"type":40,"tag":168,"props":1137,"children":1138},{"style":487},[1139],{"type":45,"value":509},{"type":40,"tag":168,"props":1141,"children":1142},{"style":487},[1143],{"type":45,"value":1144},"],\n",{"type":40,"tag":168,"props":1146,"children":1148},{"class":170,"line":1147},22,[1149,1153,1157,1161,1165,1169,1173,1177],{"type":40,"tag":168,"props":1150,"children":1151},{"style":487},[1152],{"type":45,"value":723},{"type":40,"tag":168,"props":1154,"children":1155},{"style":726},[1156],{"type":45,"value":828},{"type":40,"tag":168,"props":1158,"children":1159},{"style":487},[1160],{"type":45,"value":509},{"type":40,"tag":168,"props":1162,"children":1163},{"style":487},[1164],{"type":45,"value":514},{"type":40,"tag":168,"props":1166,"children":1167},{"style":487},[1168],{"type":45,"value":519},{"type":40,"tag":168,"props":1170,"children":1171},{"style":522},[1172],{"type":45,"value":600},{"type":40,"tag":168,"props":1174,"children":1175},{"style":487},[1176],{"type":45,"value":509},{"type":40,"tag":168,"props":1178,"children":1179},{"style":487},[1180],{"type":45,"value":534},{"type":40,"tag":168,"props":1182,"children":1184},{"class":170,"line":1183},23,[1185,1189,1193,1197,1201,1205],{"type":40,"tag":168,"props":1186,"children":1187},{"style":487},[1188],{"type":45,"value":723},{"type":40,"tag":168,"props":1190,"children":1191},{"style":726},[1192],{"type":45,"value":866},{"type":40,"tag":168,"props":1194,"children":1195},{"style":487},[1196],{"type":45,"value":509},{"type":40,"tag":168,"props":1198,"children":1199},{"style":487},[1200],{"type":45,"value":514},{"type":40,"tag":168,"props":1202,"children":1203},{"style":877},[1204],{"type":45,"value":880},{"type":40,"tag":168,"props":1206,"children":1207},{"style":487},[1208],{"type":45,"value":534},{"type":40,"tag":168,"props":1210,"children":1212},{"class":170,"line":1211},24,[1213,1217,1221,1225,1229,1233,1238],{"type":40,"tag":168,"props":1214,"children":1215},{"style":487},[1216],{"type":45,"value":723},{"type":40,"tag":168,"props":1218,"children":1219},{"style":726},[1220],{"type":45,"value":657},{"type":40,"tag":168,"props":1222,"children":1223},{"style":487},[1224],{"type":45,"value":509},{"type":40,"tag":168,"props":1226,"children":1227},{"style":487},[1228],{"type":45,"value":514},{"type":40,"tag":168,"props":1230,"children":1231},{"style":487},[1232],{"type":45,"value":519},{"type":40,"tag":168,"props":1234,"children":1235},{"style":522},[1236],{"type":45,"value":1237},"2024-03-15T10:32:15Z",{"type":40,"tag":168,"props":1239,"children":1240},{"style":487},[1241],{"type":45,"value":1242},"\"\n",{"type":40,"tag":168,"props":1244,"children":1246},{"class":170,"line":1245},25,[1247],{"type":40,"tag":168,"props":1248,"children":1249},{"style":487},[1250],{"type":45,"value":1021},{"type":40,"tag":168,"props":1252,"children":1254},{"class":170,"line":1253},26,[1255],{"type":40,"tag":168,"props":1256,"children":1257},{"style":487},[1258],{"type":45,"value":715},{"type":40,"tag":168,"props":1260,"children":1262},{"class":170,"line":1261},27,[1263,1267,1271,1275,1279,1283,1288,1292],{"type":40,"tag":168,"props":1264,"children":1265},{"style":487},[1266],{"type":45,"value":723},{"type":40,"tag":168,"props":1268,"children":1269},{"style":726},[1270],{"type":45,"value":504},{"type":40,"tag":168,"props":1272,"children":1273},{"style":487},[1274],{"type":45,"value":509},{"type":40,"tag":168,"props":1276,"children":1277},{"style":487},[1278],{"type":45,"value":514},{"type":40,"tag":168,"props":1280,"children":1281},{"style":487},[1282],{"type":45,"value":519},{"type":40,"tag":168,"props":1284,"children":1285},{"style":522},[1286],{"type":45,"value":1287},"node_3",{"type":40,"tag":168,"props":1289,"children":1290},{"style":487},[1291],{"type":45,"value":509},{"type":40,"tag":168,"props":1293,"children":1294},{"style":487},[1295],{"type":45,"value":534},{"type":40,"tag":168,"props":1297,"children":1299},{"class":170,"line":1298},28,[1300,1304,1308,1312,1316,1320,1325,1329],{"type":40,"tag":168,"props":1301,"children":1302},{"style":487},[1303],{"type":45,"value":723},{"type":40,"tag":168,"props":1305,"children":1306},{"style":726},[1307],{"type":45,"value":546},{"type":40,"tag":168,"props":1309,"children":1310},{"style":487},[1311],{"type":45,"value":509},{"type":40,"tag":168,"props":1313,"children":1314},{"style":487},[1315],{"type":45,"value":514},{"type":40,"tag":168,"props":1317,"children":1318},{"style":487},[1319],{"type":45,"value":519},{"type":40,"tag":168,"props":1321,"children":1322},{"style":522},[1323],{"type":45,"value":1324},"Rabi Oscillations",{"type":40,"tag":168,"props":1326,"children":1327},{"style":487},[1328],{"type":45,"value":509},{"type":40,"tag":168,"props":1330,"children":1331},{"style":487},[1332],{"type":45,"value":534},{"type":40,"tag":168,"props":1334,"children":1336},{"class":170,"line":1335},29,[1337,1341,1345,1349,1353,1357,1361,1365,1369],{"type":40,"tag":168,"props":1338,"children":1339},{"style":487},[1340],{"type":45,"value":723},{"type":40,"tag":168,"props":1342,"children":1343},{"style":726},[1344],{"type":45,"value":802},{"type":40,"tag":168,"props":1346,"children":1347},{"style":487},[1348],{"type":45,"value":509},{"type":40,"tag":168,"props":1350,"children":1351},{"style":487},[1352],{"type":45,"value":514},{"type":40,"tag":168,"props":1354,"children":1355},{"style":487},[1356],{"type":45,"value":1127},{"type":40,"tag":168,"props":1358,"children":1359},{"style":487},[1360],{"type":45,"value":509},{"type":40,"tag":168,"props":1362,"children":1363},{"style":522},[1364],{"type":45,"value":637},{"type":40,"tag":168,"props":1366,"children":1367},{"style":487},[1368],{"type":45,"value":509},{"type":40,"tag":168,"props":1370,"children":1371},{"style":487},[1372],{"type":45,"value":1144},{"type":40,"tag":168,"props":1374,"children":1376},{"class":170,"line":1375},30,[1377,1381,1385,1389,1393,1397,1402],{"type":40,"tag":168,"props":1378,"children":1379},{"style":487},[1380],{"type":45,"value":723},{"type":40,"tag":168,"props":1382,"children":1383},{"style":726},[1384],{"type":45,"value":828},{"type":40,"tag":168,"props":1386,"children":1387},{"style":487},[1388],{"type":45,"value":509},{"type":40,"tag":168,"props":1390,"children":1391},{"style":487},[1392],{"type":45,"value":514},{"type":40,"tag":168,"props":1394,"children":1395},{"style":487},[1396],{"type":45,"value":519},{"type":40,"tag":168,"props":1398,"children":1399},{"style":522},[1400],{"type":45,"value":1401},"pending",{"type":40,"tag":168,"props":1403,"children":1404},{"style":487},[1405],{"type":45,"value":1242},{"type":40,"tag":168,"props":1407,"children":1409},{"class":170,"line":1408},31,[1410],{"type":40,"tag":168,"props":1411,"children":1412},{"style":487},[1413],{"type":45,"value":249},{"type":40,"tag":168,"props":1415,"children":1417},{"class":170,"line":1416},32,[1418],{"type":40,"tag":168,"props":1419,"children":1420},{"style":487},[1421],{"type":45,"value":1422},"  ],\n",{"type":40,"tag":168,"props":1424,"children":1426},{"class":170,"line":1425},33,[1427,1431,1436,1440,1444],{"type":40,"tag":168,"props":1428,"children":1429},{"style":487},[1430],{"type":45,"value":498},{"type":40,"tag":168,"props":1432,"children":1433},{"style":501},[1434],{"type":45,"value":1435},"context",{"type":40,"tag":168,"props":1437,"children":1438},{"style":487},[1439],{"type":45,"value":509},{"type":40,"tag":168,"props":1441,"children":1442},{"style":487},[1443],{"type":45,"value":514},{"type":40,"tag":168,"props":1445,"children":1446},{"style":487},[1447],{"type":45,"value":1448}," {\n",{"type":40,"tag":168,"props":1450,"children":1452},{"class":170,"line":1451},34,[1453,1458,1462,1466,1470],{"type":40,"tag":168,"props":1454,"children":1455},{"style":487},[1456],{"type":45,"value":1457},"    \"",{"type":40,"tag":168,"props":1459,"children":1460},{"style":726},[1461],{"type":45,"value":995},{"type":40,"tag":168,"props":1463,"children":1464},{"style":487},[1465],{"type":45,"value":509},{"type":40,"tag":168,"props":1467,"children":1468},{"style":487},[1469],{"type":45,"value":514},{"type":40,"tag":168,"props":1471,"children":1472},{"style":877},[1473],{"type":45,"value":1474}," 5.823\n",{"type":40,"tag":168,"props":1476,"children":1478},{"class":170,"line":1477},35,[1479],{"type":40,"tag":168,"props":1480,"children":1481},{"style":487},[1482],{"type":45,"value":1483},"  }\n",{"type":40,"tag":168,"props":1485,"children":1487},{"class":170,"line":1486},36,[1488],{"type":40,"tag":168,"props":1489,"children":1490},{"style":487},[1491],{"type":45,"value":1013},{"type":40,"tag":48,"props":1493,"children":1494},{},[1495,1500,1502,1508,1510,1515,1516,1522,1524,1530,1531],{"type":40,"tag":137,"props":1496,"children":1497},{},[1498],{"type":45,"value":1499},"Status values",{"type":45,"value":1501},": ",{"type":40,"tag":81,"props":1503,"children":1505},{"className":1504},[],[1506],{"type":45,"value":1507},"created",{"type":45,"value":1509}," → ",{"type":40,"tag":81,"props":1511,"children":1513},{"className":1512},[],[1514],{"type":45,"value":600},{"type":45,"value":1509},{"type":40,"tag":81,"props":1517,"children":1519},{"className":1518},[],[1520],{"type":45,"value":1521},"paused",{"type":45,"value":1523}," \u002F ",{"type":40,"tag":81,"props":1525,"children":1527},{"className":1526},[],[1528],{"type":45,"value":1529},"completed",{"type":45,"value":1523},{"type":40,"tag":81,"props":1532,"children":1534},{"className":1533},[],[1535],{"type":45,"value":1536},"failed",{"type":40,"tag":48,"props":1538,"children":1539},{},[1540,1545,1546,1551,1552,1557,1558,1563,1564,1569,1570],{"type":40,"tag":137,"props":1541,"children":1542},{},[1543],{"type":45,"value":1544},"Node states",{"type":45,"value":1501},{"type":40,"tag":81,"props":1547,"children":1549},{"className":1548},[],[1550],{"type":45,"value":1401},{"type":45,"value":1509},{"type":40,"tag":81,"props":1553,"children":1555},{"className":1554},[],[1556],{"type":45,"value":600},{"type":45,"value":1509},{"type":40,"tag":81,"props":1559,"children":1561},{"className":1560},[],[1562],{"type":45,"value":845},{"type":45,"value":1523},{"type":40,"tag":81,"props":1565,"children":1567},{"className":1566},[],[1568],{"type":45,"value":1536},{"type":45,"value":1523},{"type":40,"tag":81,"props":1571,"children":1573},{"className":1572},[],[1574],{"type":45,"value":1575},"skipped",{"type":40,"tag":54,"props":1577,"children":1579},{"id":1578},"execution-steps",[1580],{"type":45,"value":1581},"Execution Steps",{"type":40,"tag":145,"props":1583,"children":1585},{"id":1584},"step-1-load-state",[1586],{"type":45,"value":1587},"Step 1: Load State",{"type":40,"tag":48,"props":1589,"children":1590},{},[1591,1593,1599],{"type":45,"value":1592},"Read workflow.json using ",{"type":40,"tag":81,"props":1594,"children":1596},{"className":1595},[],[1597],{"type":45,"value":1598},"workflow(action=\"status\", workflow_id=\"...\")",{"type":45,"value":514},{"type":40,"tag":268,"props":1601,"children":1602},{},[1603,1608,1613],{"type":40,"tag":70,"props":1604,"children":1605},{},[1606],{"type":45,"value":1607},"Current workflow status",{"type":40,"tag":70,"props":1609,"children":1610},{},[1611],{"type":45,"value":1612},"Which nodes are complete (and their extracted values)",{"type":40,"tag":70,"props":1614,"children":1615},{},[1616],{"type":45,"value":1617},"Which node to execute next",{"type":40,"tag":145,"props":1619,"children":1621},{"id":1620},"step-2-find-next-node",[1622],{"type":45,"value":1623},"Step 2: Find Next Node",{"type":40,"tag":48,"props":1625,"children":1626},{},[1627],{"type":45,"value":1628},"Find a node where:",{"type":40,"tag":268,"props":1630,"children":1631},{},[1632,1647],{"type":40,"tag":70,"props":1633,"children":1634},{},[1635,1640,1642],{"type":40,"tag":81,"props":1636,"children":1638},{"className":1637},[],[1639],{"type":45,"value":828},{"type":45,"value":1641}," is ",{"type":40,"tag":81,"props":1643,"children":1645},{"className":1644},[],[1646],{"type":45,"value":1401},{"type":40,"tag":70,"props":1648,"children":1649},{},[1650,1652,1657,1659],{"type":45,"value":1651},"All ",{"type":40,"tag":81,"props":1653,"children":1655},{"className":1654},[],[1656],{"type":45,"value":802},{"type":45,"value":1658}," have ",{"type":40,"tag":81,"props":1660,"children":1662},{"className":1661},[],[1663],{"type":45,"value":1664},"state: success",{"type":40,"tag":48,"props":1666,"children":1667},{},[1668],{"type":45,"value":1669},"If no such node exists:",{"type":40,"tag":268,"props":1671,"children":1672},{},[1673,1683],{"type":40,"tag":70,"props":1674,"children":1675},{},[1676,1678],{"type":45,"value":1677},"All nodes complete → mark workflow ",{"type":40,"tag":81,"props":1679,"children":1681},{"className":1680},[],[1682],{"type":45,"value":1529},{"type":40,"tag":70,"props":1684,"children":1685},{},[1686,1688],{"type":45,"value":1687},"Some nodes failed\u002Fskipped with no path forward → mark workflow ",{"type":40,"tag":81,"props":1689,"children":1691},{"className":1690},[],[1692],{"type":45,"value":1536},{"type":40,"tag":145,"props":1694,"children":1696},{"id":1695},"step-3-execute-node",[1697],{"type":45,"value":1698},"Step 3: Execute Node",{"type":40,"tag":66,"props":1700,"children":1701},{},[1702,1792,1815,1825,1926,1980,2007],{"type":40,"tag":70,"props":1703,"children":1704},{},[1705,1710,1711],{"type":40,"tag":137,"props":1706,"children":1707},{},[1708],{"type":45,"value":1709},"Mark node as running",{"type":45,"value":514},{"type":40,"tag":157,"props":1712,"children":1714},{"className":159,"code":1713,"language":161,"meta":162,"style":162},"workflow(\n    action=\"update\",\n    workflow_id=\"calibrate_q0\",\n    data={\n        \"current_node\": \"node_1\",\n        \"nodes.node_1.state\": \"running\",\n        \"nodes.node_1.run_count\": 1,\n        \"nodes.node_1.started_at\": \"2024-03-15T10:30:00Z\"\n    }\n)\n",[1715],{"type":40,"tag":81,"props":1716,"children":1717},{"__ignoreMap":162},[1718,1725,1732,1739,1746,1754,1762,1770,1778,1785],{"type":40,"tag":168,"props":1719,"children":1720},{"class":170,"line":171},[1721],{"type":40,"tag":168,"props":1722,"children":1723},{},[1724],{"type":45,"value":177},{"type":40,"tag":168,"props":1726,"children":1727},{"class":170,"line":180},[1728],{"type":40,"tag":168,"props":1729,"children":1730},{},[1731],{"type":45,"value":186},{"type":40,"tag":168,"props":1733,"children":1734},{"class":170,"line":189},[1735],{"type":40,"tag":168,"props":1736,"children":1737},{},[1738],{"type":45,"value":195},{"type":40,"tag":168,"props":1740,"children":1741},{"class":170,"line":198},[1742],{"type":40,"tag":168,"props":1743,"children":1744},{},[1745],{"type":45,"value":204},{"type":40,"tag":168,"props":1747,"children":1748},{"class":170,"line":207},[1749],{"type":40,"tag":168,"props":1750,"children":1751},{},[1752],{"type":45,"value":1753},"        \"current_node\": \"node_1\",\n",{"type":40,"tag":168,"props":1755,"children":1756},{"class":170,"line":216},[1757],{"type":40,"tag":168,"props":1758,"children":1759},{},[1760],{"type":45,"value":1761},"        \"nodes.node_1.state\": \"running\",\n",{"type":40,"tag":168,"props":1763,"children":1764},{"class":170,"line":225},[1765],{"type":40,"tag":168,"props":1766,"children":1767},{},[1768],{"type":45,"value":1769},"        \"nodes.node_1.run_count\": 1,\n",{"type":40,"tag":168,"props":1771,"children":1772},{"class":170,"line":234},[1773],{"type":40,"tag":168,"props":1774,"children":1775},{},[1776],{"type":45,"value":1777},"        \"nodes.node_1.started_at\": \"2024-03-15T10:30:00Z\"\n",{"type":40,"tag":168,"props":1779,"children":1780},{"class":170,"line":243},[1781],{"type":40,"tag":168,"props":1782,"children":1783},{},[1784],{"type":45,"value":249},{"type":40,"tag":168,"props":1786,"children":1787},{"class":170,"line":252},[1788],{"type":40,"tag":168,"props":1789,"children":1790},{},[1791],{"type":45,"value":258},{"type":40,"tag":70,"props":1793,"children":1794},{},[1795,1800,1801],{"type":40,"tag":137,"props":1796,"children":1797},{},[1798],{"type":45,"value":1799},"Log to history",{"type":45,"value":514},{"type":40,"tag":157,"props":1802,"children":1804},{"className":159,"code":1803,"language":161,"meta":162,"style":162},"workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"node_started\", node=\"node_1\", run=1)\n",[1805],{"type":40,"tag":81,"props":1806,"children":1807},{"__ignoreMap":162},[1808],{"type":40,"tag":168,"props":1809,"children":1810},{"class":170,"line":171},[1811],{"type":40,"tag":168,"props":1812,"children":1813},{},[1814],{"type":45,"value":1803},{"type":40,"tag":70,"props":1816,"children":1817},{},[1818,1823],{"type":40,"tag":137,"props":1819,"children":1820},{},[1821],{"type":45,"value":1822},"Gather context",{"type":45,"value":1824}," from completed nodes and plan.md",{"type":40,"tag":70,"props":1826,"children":1827},{},[1828,1833,1835,1840,1841],{"type":40,"tag":137,"props":1829,"children":1830},{},[1831],{"type":45,"value":1832},"Run the experiment",{"type":45,"value":1834}," using ",{"type":40,"tag":81,"props":1836,"children":1838},{"className":1837},[],[1839],{"type":45,"value":86},{"type":45,"value":514},{"type":40,"tag":157,"props":1842,"children":1844},{"className":159,"code":1843,"language":161,"meta":162,"style":162},"run_experiment(\n  experiment_name=\"resonator_spectroscopy\",\n  params={\n    \"center_freq\": 6.0,\n    \"span\": 0.2,\n    \"num_points\": 101,\n    \"power\": -20,\n    \"num_averages\": 2000\n  }\n)\n",[1845],{"type":40,"tag":81,"props":1846,"children":1847},{"__ignoreMap":162},[1848,1856,1864,1872,1880,1888,1896,1904,1912,1919],{"type":40,"tag":168,"props":1849,"children":1850},{"class":170,"line":171},[1851],{"type":40,"tag":168,"props":1852,"children":1853},{},[1854],{"type":45,"value":1855},"run_experiment(\n",{"type":40,"tag":168,"props":1857,"children":1858},{"class":170,"line":180},[1859],{"type":40,"tag":168,"props":1860,"children":1861},{},[1862],{"type":45,"value":1863},"  experiment_name=\"resonator_spectroscopy\",\n",{"type":40,"tag":168,"props":1865,"children":1866},{"class":170,"line":189},[1867],{"type":40,"tag":168,"props":1868,"children":1869},{},[1870],{"type":45,"value":1871},"  params={\n",{"type":40,"tag":168,"props":1873,"children":1874},{"class":170,"line":198},[1875],{"type":40,"tag":168,"props":1876,"children":1877},{},[1878],{"type":45,"value":1879},"    \"center_freq\": 6.0,\n",{"type":40,"tag":168,"props":1881,"children":1882},{"class":170,"line":207},[1883],{"type":40,"tag":168,"props":1884,"children":1885},{},[1886],{"type":45,"value":1887},"    \"span\": 0.2,\n",{"type":40,"tag":168,"props":1889,"children":1890},{"class":170,"line":216},[1891],{"type":40,"tag":168,"props":1892,"children":1893},{},[1894],{"type":45,"value":1895},"    \"num_points\": 101,\n",{"type":40,"tag":168,"props":1897,"children":1898},{"class":170,"line":225},[1899],{"type":40,"tag":168,"props":1900,"children":1901},{},[1902],{"type":45,"value":1903},"    \"power\": -20,\n",{"type":40,"tag":168,"props":1905,"children":1906},{"class":170,"line":234},[1907],{"type":40,"tag":168,"props":1908,"children":1909},{},[1910],{"type":45,"value":1911},"    \"num_averages\": 2000\n",{"type":40,"tag":168,"props":1913,"children":1914},{"class":170,"line":243},[1915],{"type":40,"tag":168,"props":1916,"children":1917},{},[1918],{"type":45,"value":1483},{"type":40,"tag":168,"props":1920,"children":1921},{"class":170,"line":252},[1922],{"type":40,"tag":168,"props":1923,"children":1924},{},[1925],{"type":45,"value":258},{"type":40,"tag":70,"props":1927,"children":1928},{},[1929,1934,1935,1940,1942],{"type":40,"tag":137,"props":1930,"children":1931},{},[1932],{"type":45,"value":1933},"Analyze results",{"type":45,"value":1834},{"type":40,"tag":81,"props":1936,"children":1938},{"className":1937},[],[1939],{"type":45,"value":97},{"type":45,"value":1941}," when visual verification is needed:",{"type":40,"tag":157,"props":1943,"children":1945},{"className":159,"code":1944,"language":161,"meta":162,"style":162},"vlm_inspect(\n  experiment_id=\"20240315_103015_resonator\",\n  prompt=\"Is there a clear dip? What is the resonator frequency?\"\n)\n",[1946],{"type":40,"tag":81,"props":1947,"children":1948},{"__ignoreMap":162},[1949,1957,1965,1973],{"type":40,"tag":168,"props":1950,"children":1951},{"class":170,"line":171},[1952],{"type":40,"tag":168,"props":1953,"children":1954},{},[1955],{"type":45,"value":1956},"vlm_inspect(\n",{"type":40,"tag":168,"props":1958,"children":1959},{"class":170,"line":180},[1960],{"type":40,"tag":168,"props":1961,"children":1962},{},[1963],{"type":45,"value":1964},"  experiment_id=\"20240315_103015_resonator\",\n",{"type":40,"tag":168,"props":1966,"children":1967},{"class":170,"line":189},[1968],{"type":40,"tag":168,"props":1969,"children":1970},{},[1971],{"type":45,"value":1972},"  prompt=\"Is there a clear dip? What is the resonator frequency?\"\n",{"type":40,"tag":168,"props":1974,"children":1975},{"class":170,"line":198},[1976],{"type":40,"tag":168,"props":1977,"children":1978},{},[1979],{"type":45,"value":258},{"type":40,"tag":70,"props":1981,"children":1982},{},[1983,1988,1989],{"type":40,"tag":137,"props":1984,"children":1985},{},[1986],{"type":45,"value":1987},"Evaluate success criteria",{"type":45,"value":514},{"type":40,"tag":268,"props":1990,"children":1991},{},[1992,1997,2002],{"type":40,"tag":70,"props":1993,"children":1994},{},[1995],{"type":45,"value":1996},"Check returned values (SNR, frequency, etc.)",{"type":40,"tag":70,"props":1998,"children":1999},{},[2000],{"type":45,"value":2001},"Use VLM analysis for visual criteria",{"type":40,"tag":70,"props":2003,"children":2004},{},[2005],{"type":45,"value":2006},"If criteria not met, retry with adjusted parameters (up to max attempts)",{"type":40,"tag":70,"props":2008,"children":2009},{},[2010,2015],{"type":40,"tag":137,"props":2011,"children":2012},{},[2013],{"type":45,"value":2014},"Proceed to Step 4",{"type":45,"value":2016}," with the result",{"type":40,"tag":145,"props":2018,"children":2020},{"id":2019},"step-4-evaluate-result",[2021],{"type":45,"value":2022},"Step 4: Evaluate Result",{"type":40,"tag":48,"props":2024,"children":2025},{},[2026,2031],{"type":40,"tag":137,"props":2027,"children":2028},{},[2029],{"type":45,"value":2030},"On success",{"type":45,"value":514},{"type":40,"tag":66,"props":2033,"children":2034},{},[2035,2040,2157,2224],{"type":40,"tag":70,"props":2036,"children":2037},{},[2038],{"type":45,"value":2039},"Extract values as specified in plan.md",{"type":40,"tag":70,"props":2041,"children":2042},{},[2043,2045,2055,2057,2062,2064,2069,2071],{"type":45,"value":2044},"Update state (",{"type":40,"tag":137,"props":2046,"children":2047},{},[2048,2050],{"type":45,"value":2049},"always include ",{"type":40,"tag":81,"props":2051,"children":2053},{"className":2052},[],[2054],{"type":45,"value":935},{"type":45,"value":2056}," from the ",{"type":40,"tag":81,"props":2058,"children":2060},{"className":2059},[],[2061],{"type":45,"value":86},{"type":45,"value":2063}," result's ",{"type":40,"tag":81,"props":2065,"children":2067},{"className":2066},[],[2068],{"type":45,"value":504},{"type":45,"value":2070}," field — this links the node to its plot in the UI):\n",{"type":40,"tag":157,"props":2072,"children":2074},{"className":159,"code":2073,"language":161,"meta":162,"style":162},"workflow(\n    action=\"update\",\n    workflow_id=\"calibrate_q0\",\n    data={\n        \"nodes.node_1.state\": \"success\",\n        \"nodes.node_1.completed_at\": \"2024-03-15T10:32:00Z\",\n        \"nodes.node_1.experiment_id\": \"20240315_103015_resonator_spectroscopy\",\n        \"nodes.node_1.extracted\": {\"resonator_frequency\": 5.823},\n        \"context.resonator_frequency\": 5.823\n    }\n)\n",[2075],{"type":40,"tag":81,"props":2076,"children":2077},{"__ignoreMap":162},[2078,2085,2092,2099,2106,2113,2121,2129,2136,2143,2150],{"type":40,"tag":168,"props":2079,"children":2080},{"class":170,"line":171},[2081],{"type":40,"tag":168,"props":2082,"children":2083},{},[2084],{"type":45,"value":177},{"type":40,"tag":168,"props":2086,"children":2087},{"class":170,"line":180},[2088],{"type":40,"tag":168,"props":2089,"children":2090},{},[2091],{"type":45,"value":186},{"type":40,"tag":168,"props":2093,"children":2094},{"class":170,"line":189},[2095],{"type":40,"tag":168,"props":2096,"children":2097},{},[2098],{"type":45,"value":195},{"type":40,"tag":168,"props":2100,"children":2101},{"class":170,"line":198},[2102],{"type":40,"tag":168,"props":2103,"children":2104},{},[2105],{"type":45,"value":204},{"type":40,"tag":168,"props":2107,"children":2108},{"class":170,"line":207},[2109],{"type":40,"tag":168,"props":2110,"children":2111},{},[2112],{"type":45,"value":222},{"type":40,"tag":168,"props":2114,"children":2115},{"class":170,"line":216},[2116],{"type":40,"tag":168,"props":2117,"children":2118},{},[2119],{"type":45,"value":2120},"        \"nodes.node_1.completed_at\": \"2024-03-15T10:32:00Z\",\n",{"type":40,"tag":168,"props":2122,"children":2123},{"class":170,"line":225},[2124],{"type":40,"tag":168,"props":2125,"children":2126},{},[2127],{"type":45,"value":2128},"        \"nodes.node_1.experiment_id\": \"20240315_103015_resonator_spectroscopy\",\n",{"type":40,"tag":168,"props":2130,"children":2131},{"class":170,"line":234},[2132],{"type":40,"tag":168,"props":2133,"children":2134},{},[2135],{"type":45,"value":231},{"type":40,"tag":168,"props":2137,"children":2138},{"class":170,"line":243},[2139],{"type":40,"tag":168,"props":2140,"children":2141},{},[2142],{"type":45,"value":240},{"type":40,"tag":168,"props":2144,"children":2145},{"class":170,"line":252},[2146],{"type":40,"tag":168,"props":2147,"children":2148},{},[2149],{"type":45,"value":249},{"type":40,"tag":168,"props":2151,"children":2152},{"class":170,"line":792},[2153],{"type":40,"tag":168,"props":2154,"children":2155},{},[2156],{"type":45,"value":258},{"type":40,"tag":70,"props":2158,"children":2159},{},[2160,2162],{"type":45,"value":2161},"Log completion:\n",{"type":40,"tag":157,"props":2163,"children":2164},{"className":159,"code":370,"language":161,"meta":162,"style":162},[2165],{"type":40,"tag":81,"props":2166,"children":2167},{"__ignoreMap":162},[2168,2175,2182,2189,2196,2203,2210,2217],{"type":40,"tag":168,"props":2169,"children":2170},{"class":170,"line":171},[2171],{"type":40,"tag":168,"props":2172,"children":2173},{},[2174],{"type":45,"value":177},{"type":40,"tag":168,"props":2176,"children":2177},{"class":170,"line":180},[2178],{"type":40,"tag":168,"props":2179,"children":2180},{},[2181],{"type":45,"value":389},{"type":40,"tag":168,"props":2183,"children":2184},{"class":170,"line":189},[2185],{"type":40,"tag":168,"props":2186,"children":2187},{},[2188],{"type":45,"value":195},{"type":40,"tag":168,"props":2190,"children":2191},{"class":170,"line":198},[2192],{"type":40,"tag":168,"props":2193,"children":2194},{},[2195],{"type":45,"value":404},{"type":40,"tag":168,"props":2197,"children":2198},{"class":170,"line":207},[2199],{"type":40,"tag":168,"props":2200,"children":2201},{},[2202],{"type":45,"value":412},{"type":40,"tag":168,"props":2204,"children":2205},{"class":170,"line":216},[2206],{"type":40,"tag":168,"props":2207,"children":2208},{},[2209],{"type":45,"value":420},{"type":40,"tag":168,"props":2211,"children":2212},{"class":170,"line":225},[2213],{"type":40,"tag":168,"props":2214,"children":2215},{},[2216],{"type":45,"value":428},{"type":40,"tag":168,"props":2218,"children":2219},{"class":170,"line":234},[2220],{"type":40,"tag":168,"props":2221,"children":2222},{},[2223],{"type":45,"value":258},{"type":40,"tag":70,"props":2225,"children":2226},{},[2227],{"type":45,"value":2228},"Go to Step 2 (next node)",{"type":40,"tag":48,"props":2230,"children":2231},{},[2232,2237],{"type":40,"tag":137,"props":2233,"children":2234},{},[2235],{"type":45,"value":2236},"On failure",{"type":45,"value":2238}," (after max attempts):",{"type":40,"tag":66,"props":2240,"children":2241},{},[2242,2320,2391],{"type":40,"tag":70,"props":2243,"children":2244},{},[2245,2247],{"type":45,"value":2246},"Update state:\n",{"type":40,"tag":157,"props":2248,"children":2250},{"className":159,"code":2249,"language":161,"meta":162,"style":162},"workflow(\n    action=\"update\",\n    workflow_id=\"calibrate_q0\",\n    data={\n        \"nodes.node_2.state\": \"failed\",\n        \"nodes.node_2.completed_at\": \"2024-03-15T10:33:00Z\",\n        \"nodes.node_2.observations\": \"No peak found after 3 attempts\"\n    }\n)\n",[2251],{"type":40,"tag":81,"props":2252,"children":2253},{"__ignoreMap":162},[2254,2261,2268,2275,2282,2290,2298,2306,2313],{"type":40,"tag":168,"props":2255,"children":2256},{"class":170,"line":171},[2257],{"type":40,"tag":168,"props":2258,"children":2259},{},[2260],{"type":45,"value":177},{"type":40,"tag":168,"props":2262,"children":2263},{"class":170,"line":180},[2264],{"type":40,"tag":168,"props":2265,"children":2266},{},[2267],{"type":45,"value":186},{"type":40,"tag":168,"props":2269,"children":2270},{"class":170,"line":189},[2271],{"type":40,"tag":168,"props":2272,"children":2273},{},[2274],{"type":45,"value":195},{"type":40,"tag":168,"props":2276,"children":2277},{"class":170,"line":198},[2278],{"type":40,"tag":168,"props":2279,"children":2280},{},[2281],{"type":45,"value":204},{"type":40,"tag":168,"props":2283,"children":2284},{"class":170,"line":207},[2285],{"type":40,"tag":168,"props":2286,"children":2287},{},[2288],{"type":45,"value":2289},"        \"nodes.node_2.state\": \"failed\",\n",{"type":40,"tag":168,"props":2291,"children":2292},{"class":170,"line":216},[2293],{"type":40,"tag":168,"props":2294,"children":2295},{},[2296],{"type":45,"value":2297},"        \"nodes.node_2.completed_at\": \"2024-03-15T10:33:00Z\",\n",{"type":40,"tag":168,"props":2299,"children":2300},{"class":170,"line":225},[2301],{"type":40,"tag":168,"props":2302,"children":2303},{},[2304],{"type":45,"value":2305},"        \"nodes.node_2.observations\": \"No peak found after 3 attempts\"\n",{"type":40,"tag":168,"props":2307,"children":2308},{"class":170,"line":234},[2309],{"type":40,"tag":168,"props":2310,"children":2311},{},[2312],{"type":45,"value":249},{"type":40,"tag":168,"props":2314,"children":2315},{"class":170,"line":243},[2316],{"type":40,"tag":168,"props":2317,"children":2318},{},[2319],{"type":45,"value":258},{"type":40,"tag":70,"props":2321,"children":2322},{},[2323,2325],{"type":45,"value":2324},"Log failure:\n",{"type":40,"tag":157,"props":2326,"children":2328},{"className":159,"code":2327,"language":161,"meta":162,"style":162},"workflow(\n    action=\"log\",\n    workflow_id=\"calibrate_q0\",\n    event=\"node_completed\",\n    node=\"node_2\",\n    state=\"failed\",\n    observations=\"No peak found after 3 attempts\"\n)\n",[2329],{"type":40,"tag":81,"props":2330,"children":2331},{"__ignoreMap":162},[2332,2339,2346,2353,2360,2368,2376,2384],{"type":40,"tag":168,"props":2333,"children":2334},{"class":170,"line":171},[2335],{"type":40,"tag":168,"props":2336,"children":2337},{},[2338],{"type":45,"value":177},{"type":40,"tag":168,"props":2340,"children":2341},{"class":170,"line":180},[2342],{"type":40,"tag":168,"props":2343,"children":2344},{},[2345],{"type":45,"value":389},{"type":40,"tag":168,"props":2347,"children":2348},{"class":170,"line":189},[2349],{"type":40,"tag":168,"props":2350,"children":2351},{},[2352],{"type":45,"value":195},{"type":40,"tag":168,"props":2354,"children":2355},{"class":170,"line":198},[2356],{"type":40,"tag":168,"props":2357,"children":2358},{},[2359],{"type":45,"value":404},{"type":40,"tag":168,"props":2361,"children":2362},{"class":170,"line":207},[2363],{"type":40,"tag":168,"props":2364,"children":2365},{},[2366],{"type":45,"value":2367},"    node=\"node_2\",\n",{"type":40,"tag":168,"props":2369,"children":2370},{"class":170,"line":216},[2371],{"type":40,"tag":168,"props":2372,"children":2373},{},[2374],{"type":45,"value":2375},"    state=\"failed\",\n",{"type":40,"tag":168,"props":2377,"children":2378},{"class":170,"line":225},[2379],{"type":40,"tag":168,"props":2380,"children":2381},{},[2382],{"type":45,"value":2383},"    observations=\"No peak found after 3 attempts\"\n",{"type":40,"tag":168,"props":2385,"children":2386},{"class":170,"line":234},[2387],{"type":40,"tag":168,"props":2388,"children":2389},{},[2390],{"type":45,"value":258},{"type":40,"tag":70,"props":2392,"children":2393},{},[2394],{"type":45,"value":2395},"Go to Step 5 (decide next action)",{"type":40,"tag":145,"props":2397,"children":2399},{"id":2398},"step-5-handle-failure",[2400],{"type":45,"value":2401},"Step 5: Handle Failure",{"type":40,"tag":48,"props":2403,"children":2404},{},[2405],{"type":45,"value":2406},"Review the failure and history. Decide:",{"type":40,"tag":48,"props":2408,"children":2409},{},[2410,2415],{"type":40,"tag":137,"props":2411,"children":2412},{},[2413],{"type":45,"value":2414},"If clear what to do",{"type":45,"value":2416}," (based on your analysis):",{"type":40,"tag":268,"props":2418,"children":2419},{},[2420,2519],{"type":40,"tag":70,"props":2421,"children":2422},{},[2423,2428,2430],{"type":40,"tag":137,"props":2424,"children":2425},{},[2426],{"type":45,"value":2427},"Backtrack",{"type":45,"value":2429},": A previous node's result may be invalid",{"type":40,"tag":157,"props":2431,"children":2433},{"className":159,"code":2432,"language":161,"meta":162,"style":162},"# Reset nodes\nworkflow(\n    action=\"update\",\n    workflow_id=\"calibrate_q0\",\n    data={\n        \"nodes.node_1.state\": \"pending\",\n        \"nodes.node_2.state\": \"pending\"\n    }\n)\n# Log backtrack\nworkflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"backtrack\", from_node=\"node_2\", to_node=\"node_1\", reason=\"Resonator may have drifted\")\n",[2434],{"type":40,"tag":81,"props":2435,"children":2436},{"__ignoreMap":162},[2437,2445,2452,2459,2466,2473,2481,2489,2496,2503,2511],{"type":40,"tag":168,"props":2438,"children":2439},{"class":170,"line":171},[2440],{"type":40,"tag":168,"props":2441,"children":2442},{},[2443],{"type":45,"value":2444},"# Reset nodes\n",{"type":40,"tag":168,"props":2446,"children":2447},{"class":170,"line":180},[2448],{"type":40,"tag":168,"props":2449,"children":2450},{},[2451],{"type":45,"value":177},{"type":40,"tag":168,"props":2453,"children":2454},{"class":170,"line":189},[2455],{"type":40,"tag":168,"props":2456,"children":2457},{},[2458],{"type":45,"value":186},{"type":40,"tag":168,"props":2460,"children":2461},{"class":170,"line":198},[2462],{"type":40,"tag":168,"props":2463,"children":2464},{},[2465],{"type":45,"value":195},{"type":40,"tag":168,"props":2467,"children":2468},{"class":170,"line":207},[2469],{"type":40,"tag":168,"props":2470,"children":2471},{},[2472],{"type":45,"value":204},{"type":40,"tag":168,"props":2474,"children":2475},{"class":170,"line":216},[2476],{"type":40,"tag":168,"props":2477,"children":2478},{},[2479],{"type":45,"value":2480},"        \"nodes.node_1.state\": \"pending\",\n",{"type":40,"tag":168,"props":2482,"children":2483},{"class":170,"line":225},[2484],{"type":40,"tag":168,"props":2485,"children":2486},{},[2487],{"type":45,"value":2488},"        \"nodes.node_2.state\": \"pending\"\n",{"type":40,"tag":168,"props":2490,"children":2491},{"class":170,"line":234},[2492],{"type":40,"tag":168,"props":2493,"children":2494},{},[2495],{"type":45,"value":249},{"type":40,"tag":168,"props":2497,"children":2498},{"class":170,"line":243},[2499],{"type":40,"tag":168,"props":2500,"children":2501},{},[2502],{"type":45,"value":258},{"type":40,"tag":168,"props":2504,"children":2505},{"class":170,"line":252},[2506],{"type":40,"tag":168,"props":2507,"children":2508},{},[2509],{"type":45,"value":2510},"# Log backtrack\n",{"type":40,"tag":168,"props":2512,"children":2513},{"class":170,"line":792},[2514],{"type":40,"tag":168,"props":2515,"children":2516},{},[2517],{"type":45,"value":2518},"workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"backtrack\", from_node=\"node_2\", to_node=\"node_1\", reason=\"Resonator may have drifted\")\n",{"type":40,"tag":70,"props":2520,"children":2521},{},[2522,2527,2529],{"type":40,"tag":137,"props":2523,"children":2524},{},[2525],{"type":45,"value":2526},"Skip",{"type":45,"value":2528},": Node is optional, continue without it",{"type":40,"tag":157,"props":2530,"children":2532},{"className":159,"code":2531,"language":161,"meta":162,"style":162},"workflow(\n    action=\"update\",\n    workflow_id=\"calibrate_q0\",\n    data={\"nodes.node_2.state\": \"skipped\"}\n)\nworkflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"node_skipped\", node=\"node_2\", reason=\"Optional measurement\")\n",[2533],{"type":40,"tag":81,"props":2534,"children":2535},{"__ignoreMap":162},[2536,2543,2550,2557,2565,2572],{"type":40,"tag":168,"props":2537,"children":2538},{"class":170,"line":171},[2539],{"type":40,"tag":168,"props":2540,"children":2541},{},[2542],{"type":45,"value":177},{"type":40,"tag":168,"props":2544,"children":2545},{"class":170,"line":180},[2546],{"type":40,"tag":168,"props":2547,"children":2548},{},[2549],{"type":45,"value":186},{"type":40,"tag":168,"props":2551,"children":2552},{"class":170,"line":189},[2553],{"type":40,"tag":168,"props":2554,"children":2555},{},[2556],{"type":45,"value":195},{"type":40,"tag":168,"props":2558,"children":2559},{"class":170,"line":198},[2560],{"type":40,"tag":168,"props":2561,"children":2562},{},[2563],{"type":45,"value":2564},"    data={\"nodes.node_2.state\": \"skipped\"}\n",{"type":40,"tag":168,"props":2566,"children":2567},{"class":170,"line":207},[2568],{"type":40,"tag":168,"props":2569,"children":2570},{},[2571],{"type":45,"value":258},{"type":40,"tag":168,"props":2573,"children":2574},{"class":170,"line":216},[2575],{"type":40,"tag":168,"props":2576,"children":2577},{},[2578],{"type":45,"value":2579},"workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"node_skipped\", node=\"node_2\", reason=\"Optional measurement\")\n",{"type":40,"tag":48,"props":2581,"children":2582},{},[2583,2588],{"type":40,"tag":137,"props":2584,"children":2585},{},[2586],{"type":45,"value":2587},"If unclear, pause for human",{"type":45,"value":514},{"type":40,"tag":66,"props":2590,"children":2591},{},[2592,2718,2737],{"type":40,"tag":70,"props":2593,"children":2594},{},[2595,2597],{"type":45,"value":2596},"Update workflow status:",{"type":40,"tag":157,"props":2598,"children":2600},{"className":159,"code":2599,"language":161,"meta":162,"style":162},"workflow(\n    action=\"update\",\n    workflow_id=\"calibrate_q0\",\n    data={\n        \"status\": \"paused\",\n        \"paused_at\": \"2024-03-15T10:34:00Z\",\n        \"paused_reason\": \"Qubit spectroscopy failed after 3 attempts\",\n        \"suggestions\": [\n            {\"action\": \"backtrack\", \"target\": \"node_1\", \"reason\": \"Resonator frequency may have drifted\"},\n            {\"action\": \"retry\", \"reason\": \"Try with wider frequency range\"},\n            {\"action\": \"skip\", \"reason\": \"Continue without qubit frequency\"},\n            {\"action\": \"abort\", \"reason\": \"Stop workflow, investigate hardware\"}\n        ]\n    }\n)\n",[2601],{"type":40,"tag":81,"props":2602,"children":2603},{"__ignoreMap":162},[2604,2611,2618,2625,2632,2640,2648,2656,2664,2672,2680,2688,2696,2704,2711],{"type":40,"tag":168,"props":2605,"children":2606},{"class":170,"line":171},[2607],{"type":40,"tag":168,"props":2608,"children":2609},{},[2610],{"type":45,"value":177},{"type":40,"tag":168,"props":2612,"children":2613},{"class":170,"line":180},[2614],{"type":40,"tag":168,"props":2615,"children":2616},{},[2617],{"type":45,"value":186},{"type":40,"tag":168,"props":2619,"children":2620},{"class":170,"line":189},[2621],{"type":40,"tag":168,"props":2622,"children":2623},{},[2624],{"type":45,"value":195},{"type":40,"tag":168,"props":2626,"children":2627},{"class":170,"line":198},[2628],{"type":40,"tag":168,"props":2629,"children":2630},{},[2631],{"type":45,"value":204},{"type":40,"tag":168,"props":2633,"children":2634},{"class":170,"line":207},[2635],{"type":40,"tag":168,"props":2636,"children":2637},{},[2638],{"type":45,"value":2639},"        \"status\": \"paused\",\n",{"type":40,"tag":168,"props":2641,"children":2642},{"class":170,"line":216},[2643],{"type":40,"tag":168,"props":2644,"children":2645},{},[2646],{"type":45,"value":2647},"        \"paused_at\": \"2024-03-15T10:34:00Z\",\n",{"type":40,"tag":168,"props":2649,"children":2650},{"class":170,"line":225},[2651],{"type":40,"tag":168,"props":2652,"children":2653},{},[2654],{"type":45,"value":2655},"        \"paused_reason\": \"Qubit spectroscopy failed after 3 attempts\",\n",{"type":40,"tag":168,"props":2657,"children":2658},{"class":170,"line":234},[2659],{"type":40,"tag":168,"props":2660,"children":2661},{},[2662],{"type":45,"value":2663},"        \"suggestions\": [\n",{"type":40,"tag":168,"props":2665,"children":2666},{"class":170,"line":243},[2667],{"type":40,"tag":168,"props":2668,"children":2669},{},[2670],{"type":45,"value":2671},"            {\"action\": \"backtrack\", \"target\": \"node_1\", \"reason\": \"Resonator frequency may have drifted\"},\n",{"type":40,"tag":168,"props":2673,"children":2674},{"class":170,"line":252},[2675],{"type":40,"tag":168,"props":2676,"children":2677},{},[2678],{"type":45,"value":2679},"            {\"action\": \"retry\", \"reason\": \"Try with wider frequency range\"},\n",{"type":40,"tag":168,"props":2681,"children":2682},{"class":170,"line":792},[2683],{"type":40,"tag":168,"props":2684,"children":2685},{},[2686],{"type":45,"value":2687},"            {\"action\": \"skip\", \"reason\": \"Continue without qubit frequency\"},\n",{"type":40,"tag":168,"props":2689,"children":2690},{"class":170,"line":818},[2691],{"type":40,"tag":168,"props":2692,"children":2693},{},[2694],{"type":45,"value":2695},"            {\"action\": \"abort\", \"reason\": \"Stop workflow, investigate hardware\"}\n",{"type":40,"tag":168,"props":2697,"children":2698},{"class":170,"line":856},[2699],{"type":40,"tag":168,"props":2700,"children":2701},{},[2702],{"type":45,"value":2703},"        ]\n",{"type":40,"tag":168,"props":2705,"children":2706},{"class":170,"line":887},[2707],{"type":40,"tag":168,"props":2708,"children":2709},{},[2710],{"type":45,"value":249},{"type":40,"tag":168,"props":2712,"children":2713},{"class":170,"line":925},[2714],{"type":40,"tag":168,"props":2715,"children":2716},{},[2717],{"type":45,"value":258},{"type":40,"tag":70,"props":2719,"children":2720},{},[2721,2723],{"type":45,"value":2722},"Log pause:",{"type":40,"tag":157,"props":2724,"children":2726},{"className":159,"code":2725,"language":161,"meta":162,"style":162},"workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"workflow_paused\", reason=\"Qubit spectroscopy failed\")\n",[2727],{"type":40,"tag":81,"props":2728,"children":2729},{"__ignoreMap":162},[2730],{"type":40,"tag":168,"props":2731,"children":2732},{"class":170,"line":171},[2733],{"type":40,"tag":168,"props":2734,"children":2735},{},[2736],{"type":45,"value":2725},{"type":40,"tag":70,"props":2738,"children":2739},{},[2740],{"type":45,"value":2741},"Inform user and wait for decision",{"type":40,"tag":54,"props":2743,"children":2745},{"id":2744},"resuming-a-paused-workflow",[2746],{"type":45,"value":2747},"Resuming a Paused Workflow",{"type":40,"tag":48,"props":2749,"children":2750},{},[2751],{"type":45,"value":2752},"When user provides a decision:",{"type":40,"tag":66,"props":2754,"children":2755},{},[2756,2775,2830,2849],{"type":40,"tag":70,"props":2757,"children":2758},{},[2759,2761],{"type":45,"value":2760},"Log the decision:",{"type":40,"tag":157,"props":2762,"children":2764},{"className":159,"code":2763,"language":161,"meta":162,"style":162},"workflow(action=\"log\", workflow_id=\"calibrate_q0\", event=\"human_decision\", decision=\"backtrack\", target=\"node_1\")\n",[2765],{"type":40,"tag":81,"props":2766,"children":2767},{"__ignoreMap":162},[2768],{"type":40,"tag":168,"props":2769,"children":2770},{"class":170,"line":171},[2771],{"type":40,"tag":168,"props":2772,"children":2773},{},[2774],{"type":45,"value":2763},{"type":40,"tag":70,"props":2776,"children":2777},{},[2778,2780],{"type":45,"value":2779},"Execute the decision:",{"type":40,"tag":268,"props":2781,"children":2782},{},[2783,2793,2803,2813],{"type":40,"tag":70,"props":2784,"children":2785},{},[2786,2791],{"type":40,"tag":137,"props":2787,"children":2788},{},[2789],{"type":45,"value":2790},"backtrack",{"type":45,"value":2792},": Reset nodes and continue from target",{"type":40,"tag":70,"props":2794,"children":2795},{},[2796,2801],{"type":40,"tag":137,"props":2797,"children":2798},{},[2799],{"type":45,"value":2800},"retry",{"type":45,"value":2802},": Re-run current node with new approach",{"type":40,"tag":70,"props":2804,"children":2805},{},[2806,2811],{"type":40,"tag":137,"props":2807,"children":2808},{},[2809],{"type":45,"value":2810},"skip",{"type":45,"value":2812},": Mark node skipped, continue",{"type":40,"tag":70,"props":2814,"children":2815},{},[2816,2821,2823,2828],{"type":40,"tag":137,"props":2817,"children":2818},{},[2819],{"type":45,"value":2820},"abort",{"type":45,"value":2822},": Mark workflow ",{"type":40,"tag":81,"props":2824,"children":2826},{"className":2825},[],[2827],{"type":45,"value":1536},{"type":45,"value":2829},", stop",{"type":40,"tag":70,"props":2831,"children":2832},{},[2833,2835],{"type":45,"value":2834},"Update status:",{"type":40,"tag":157,"props":2836,"children":2838},{"className":159,"code":2837,"language":161,"meta":162,"style":162},"workflow(action=\"update\", workflow_id=\"calibrate_q0\", data={\"status\": \"running\"})\n",[2839],{"type":40,"tag":81,"props":2840,"children":2841},{"__ignoreMap":162},[2842],{"type":40,"tag":168,"props":2843,"children":2844},{"class":170,"line":171},[2845],{"type":40,"tag":168,"props":2846,"children":2847},{},[2848],{"type":45,"value":2837},{"type":40,"tag":70,"props":2850,"children":2851},{},[2852],{"type":45,"value":2853},"Continue execution from Step 2",{"type":40,"tag":54,"props":2855,"children":2857},{"id":2856},"resuming-after-interruption",[2858],{"type":45,"value":2859},"Resuming After Interruption",{"type":40,"tag":48,"props":2861,"children":2862},{},[2863,2865,2871],{"type":45,"value":2864},"If workflow shows ",{"type":40,"tag":81,"props":2866,"children":2868},{"className":2867},[],[2869],{"type":45,"value":2870},"status: running",{"type":45,"value":2872}," but was interrupted:",{"type":40,"tag":66,"props":2874,"children":2875},{},[2876,2888,2900],{"type":40,"tag":70,"props":2877,"children":2878},{},[2879,2881,2886],{"type":45,"value":2880},"Check ",{"type":40,"tag":81,"props":2882,"children":2884},{"className":2883},[],[2885],{"type":45,"value":620},{"type":45,"value":2887}," - this node was interrupted",{"type":40,"tag":70,"props":2889,"children":2890},{},[2891,2893,2898],{"type":45,"value":2892},"Treat it as a fresh start for that node (reset to ",{"type":40,"tag":81,"props":2894,"children":2896},{"className":2895},[],[2897],{"type":45,"value":1401},{"type":45,"value":2899},")",{"type":40,"tag":70,"props":2901,"children":2902},{},[2903],{"type":45,"value":2904},"Continue execution normally",{"type":40,"tag":54,"props":2906,"children":2908},{"id":2907},"checking-status",[2909],{"type":45,"value":2910},"Checking Status",{"type":40,"tag":48,"props":2912,"children":2913},{},[2914],{"type":45,"value":2915},"Use the workflow tool:",{"type":40,"tag":157,"props":2917,"children":2919},{"className":159,"code":2918,"language":161,"meta":162,"style":162},"workflow(action=\"status\", workflow_id=\"calibrate_q0\")\n",[2920],{"type":40,"tag":81,"props":2921,"children":2922},{"__ignoreMap":162},[2923],{"type":40,"tag":168,"props":2924,"children":2925},{"class":170,"line":171},[2926],{"type":40,"tag":168,"props":2927,"children":2928},{},[2929],{"type":45,"value":2918},{"type":40,"tag":48,"props":2931,"children":2932},{},[2933],{"type":45,"value":2934},"Shows:",{"type":40,"tag":268,"props":2936,"children":2937},{},[2938,2943,2947,2952],{"type":40,"tag":70,"props":2939,"children":2940},{},[2941],{"type":45,"value":2942},"Current status and progress",{"type":40,"tag":70,"props":2944,"children":2945},{},[2946],{"type":45,"value":1544},{"type":40,"tag":70,"props":2948,"children":2949},{},[2950],{"type":45,"value":2951},"Recent history",{"type":40,"tag":70,"props":2953,"children":2954},{},[2955],{"type":45,"value":2956},"Suggestions (if paused)",{"type":40,"tag":54,"props":2958,"children":2960},{"id":2959},"example-execution-session",[2961],{"type":45,"value":2962},"Example Execution Session",{"type":40,"tag":157,"props":2964,"children":2967},{"className":2965,"code":2966,"language":45},[450],"User: Execute workflow calibrate_q0\n\nAgent: Starting workflow \"Calibrate Qubit Q0\"...\n\n[Calls: workflow(action=\"status\", workflow_id=\"calibrate_q0\")]\n\nExecuting node_1: Resonator Spectroscopy...\n\n[Calls: workflow(action=\"update\", ..., data={\"current_node\": \"node_1\", \"nodes.node_1.state\": \"running\", ...})]\n[Calls: workflow(action=\"log\", ..., event=\"node_started\", node=\"node_1\")]\n\n> Running experiment with center_freq=6.0 GHz, span=0.2 GHz\n> Experiment complete: 20240315_103015_resonator\n> Analyzing plot with vlm_inspect...\n> VLM: \"Clear dip visible at 5.823 GHz. SNR ~12.\"\n\nNode_1 SUCCESS\n- Extracted: resonator_frequency = 5.823 GHz\n\n[Calls: workflow(action=\"update\", ..., data={\"nodes.node_1.state\": \"success\", \"nodes.node_1.extracted\": {...}, \"context.resonator_frequency\": 5.823})]\n[Calls: workflow(action=\"log\", ..., event=\"node_completed\", state=\"success\")]\n\nMoving to next node...\n\nExecuting node_2: Qubit Spectroscopy...\n\n> Using resonator_frequency = 5.823 GHz from context\n> Attempt 1: center=4.5 GHz, span=0.2 GHz\n> Analyzing plot... No clear peak found\n> Attempt 2: Expanding range to span=0.4 GHz\n> Analyzing plot... Still no peak visible\n> Attempt 3: Expanding range to span=0.6 GHz\n> Analyzing plot... No peak found\n\nNode_2 FAILED after 3 attempts\n- Observations: No peak found with increasing range\n\n[Calls: workflow(action=\"update\", ..., data={\"nodes.node_2.state\": \"failed\", \"status\": \"paused\", ...})]\n[Calls: workflow(action=\"log\", ..., event=\"node_completed\", state=\"failed\")]\n[Calls: workflow(action=\"log\", ..., event=\"workflow_paused\")]\n\nPausing workflow for human decision.\n\nSuggestions:\n1. Backtrack to node_1: Resonator frequency may have drifted\n2. Retry with different center frequency\n3. Skip this node (will affect downstream calibration)\n4. Abort workflow\n\nPlease advise which action to take.\n\nUser: Try backtracking to node_1\n\nAgent: Backtracking to node_1...\n\n[Calls: workflow(action=\"log\", ..., event=\"human_decision\", decision=\"backtrack\")]\n[Calls: workflow(action=\"update\", ..., data={\"nodes.node_1.state\": \"pending\", \"nodes.node_2.state\": \"pending\", \"status\": \"running\"})]\n\nExecuting node_1: Resonator Spectroscopy (run 2)...\n\n> Running experiment...\n> Found dip at 5.819 GHz (shifted from 5.823)\n\nNode_1 SUCCESS\n- Extracted: resonator_frequency = 5.819 GHz\n\n[Updates state, continues to node_2...]\n",[2968],{"type":40,"tag":81,"props":2969,"children":2970},{"__ignoreMap":162},[2971],{"type":45,"value":2966},{"type":40,"tag":54,"props":2973,"children":2975},{"id":2974},"best-practices",[2976],{"type":45,"value":2977},"Best Practices",{"type":40,"tag":66,"props":2979,"children":2980},{},[2981,3005,3015,3025,3035],{"type":40,"tag":70,"props":2982,"children":2983},{},[2984,2989,2991,2996,2998,3003],{"type":40,"tag":137,"props":2985,"children":2986},{},[2987],{"type":45,"value":2988},"Execute experiments directly",{"type":45,"value":2990}," - Use ",{"type":40,"tag":81,"props":2992,"children":2994},{"className":2993},[],[2995],{"type":45,"value":86},{"type":45,"value":2997}," and ",{"type":40,"tag":81,"props":2999,"children":3001},{"className":3000},[],[3002],{"type":45,"value":97},{"type":45,"value":3004}," tools",{"type":40,"tag":70,"props":3006,"children":3007},{},[3008,3013],{"type":40,"tag":137,"props":3009,"children":3010},{},[3011],{"type":45,"value":3012},"Use workflow tool for state changes",{"type":45,"value":3014}," - Never edit workflow.json directly",{"type":40,"tag":70,"props":3016,"children":3017},{},[3018,3023],{"type":40,"tag":137,"props":3019,"children":3020},{},[3021],{"type":45,"value":3022},"Log key events",{"type":45,"value":3024}," - Record node start, experiment completion, node completion",{"type":40,"tag":70,"props":3026,"children":3027},{},[3028,3033],{"type":40,"tag":137,"props":3029,"children":3030},{},[3031],{"type":45,"value":3032},"Use context from previous nodes",{"type":45,"value":3034}," - Pass extracted values to subsequent experiments",{"type":40,"tag":70,"props":3036,"children":3037},{},[3038,3043],{"type":40,"tag":137,"props":3039,"children":3040},{},[3041],{"type":45,"value":3042},"Be conservative with failures",{"type":45,"value":3044}," - When unsure, pause and ask the user",{"type":40,"tag":54,"props":3046,"children":3048},{"id":3047},"workflow-tool-actions-reference",[3049],{"type":45,"value":3050},"Workflow Tool Actions Reference",{"type":40,"tag":3052,"props":3053,"children":3054},"table",{},[3055,3079],{"type":40,"tag":3056,"props":3057,"children":3058},"thead",{},[3059],{"type":40,"tag":3060,"props":3061,"children":3062},"tr",{},[3063,3069,3074],{"type":40,"tag":3064,"props":3065,"children":3066},"th",{},[3067],{"type":45,"value":3068},"Action",{"type":40,"tag":3064,"props":3070,"children":3071},{},[3072],{"type":45,"value":3073},"Description",{"type":40,"tag":3064,"props":3075,"children":3076},{},[3077],{"type":45,"value":3078},"Required Params",{"type":40,"tag":3080,"props":3081,"children":3082},"tbody",{},[3083,3106,3131,3164,3189,3222],{"type":40,"tag":3060,"props":3084,"children":3085},{},[3086,3096,3101],{"type":40,"tag":3087,"props":3088,"children":3089},"td",{},[3090],{"type":40,"tag":81,"props":3091,"children":3093},{"className":3092},[],[3094],{"type":45,"value":3095},"list",{"type":40,"tag":3087,"props":3097,"children":3098},{},[3099],{"type":45,"value":3100},"List all workflows",{"type":40,"tag":3087,"props":3102,"children":3103},{},[3104],{"type":45,"value":3105},"-",{"type":40,"tag":3060,"props":3107,"children":3108},{},[3109,3117,3122],{"type":40,"tag":3087,"props":3110,"children":3111},{},[3112],{"type":40,"tag":81,"props":3113,"children":3115},{"className":3114},[],[3116],{"type":45,"value":583},{"type":40,"tag":3087,"props":3118,"children":3119},{},[3120],{"type":45,"value":3121},"Show workflow progress",{"type":40,"tag":3087,"props":3123,"children":3124},{},[3125],{"type":40,"tag":81,"props":3126,"children":3128},{"className":3127},[],[3129],{"type":45,"value":3130},"workflow_id",{"type":40,"tag":3060,"props":3132,"children":3133},{},[3134,3143,3148],{"type":40,"tag":3087,"props":3135,"children":3136},{},[3137],{"type":40,"tag":81,"props":3138,"children":3140},{"className":3139},[],[3141],{"type":45,"value":3142},"history",{"type":40,"tag":3087,"props":3144,"children":3145},{},[3146],{"type":45,"value":3147},"Show event history",{"type":40,"tag":3087,"props":3149,"children":3150},{},[3151,3156,3158],{"type":40,"tag":81,"props":3152,"children":3154},{"className":3153},[],[3155],{"type":45,"value":3130},{"type":45,"value":3157},", optional ",{"type":40,"tag":81,"props":3159,"children":3161},{"className":3160},[],[3162],{"type":45,"value":3163},"last_n",{"type":40,"tag":3060,"props":3165,"children":3166},{},[3167,3176,3181],{"type":40,"tag":3087,"props":3168,"children":3169},{},[3170],{"type":40,"tag":81,"props":3171,"children":3173},{"className":3172},[],[3174],{"type":45,"value":3175},"validate",{"type":40,"tag":3087,"props":3177,"children":3178},{},[3179],{"type":45,"value":3180},"Validate workflow structure",{"type":40,"tag":3087,"props":3182,"children":3183},{},[3184],{"type":40,"tag":81,"props":3185,"children":3187},{"className":3186},[],[3188],{"type":45,"value":3130},{"type":40,"tag":3060,"props":3190,"children":3191},{},[3192,3201,3206],{"type":40,"tag":3087,"props":3193,"children":3194},{},[3195],{"type":40,"tag":81,"props":3196,"children":3198},{"className":3197},[],[3199],{"type":45,"value":3200},"update",{"type":40,"tag":3087,"props":3202,"children":3203},{},[3204],{"type":45,"value":3205},"Update workflow state",{"type":40,"tag":3087,"props":3207,"children":3208},{},[3209,3214,3216],{"type":40,"tag":81,"props":3210,"children":3212},{"className":3211},[],[3213],{"type":45,"value":3130},{"type":45,"value":3215},", ",{"type":40,"tag":81,"props":3217,"children":3219},{"className":3218},[],[3220],{"type":45,"value":3221},"data",{"type":40,"tag":3060,"props":3223,"children":3224},{},[3225,3234,3239],{"type":40,"tag":3087,"props":3226,"children":3227},{},[3228],{"type":40,"tag":81,"props":3229,"children":3231},{"className":3230},[],[3232],{"type":45,"value":3233},"log",{"type":40,"tag":3087,"props":3235,"children":3236},{},[3237],{"type":45,"value":3238},"Append event to history",{"type":40,"tag":3087,"props":3240,"children":3241},{},[3242,3247,3248,3254],{"type":40,"tag":81,"props":3243,"children":3245},{"className":3244},[],[3246],{"type":45,"value":3130},{"type":45,"value":3215},{"type":40,"tag":81,"props":3249,"children":3251},{"className":3250},[],[3252],{"type":45,"value":3253},"event",{"type":45,"value":3255},", any additional fields",{"type":40,"tag":3257,"props":3258,"children":3259},"style",{},[3260],{"type":45,"value":3261},"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":3263,"total":216},[3264,3278,3293,3307,3314,3327],{"slug":3265,"name":3265,"fn":3266,"description":3267,"org":3268,"tags":3269,"stars":23,"repoUrl":24,"updatedAt":3277},"analysis-scripts","analyze quantum experiment data","Write and run Python scripts to analyze quantum experiment data stored in HDF5 files. Use when the user asks to analyze experiment results, fit peaks or curves, extract features from measurement arrays, or when reusable analysis logic should be saved alongside an experiment for future reuse.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3270,3273,3274,3276],{"name":3271,"slug":3272,"type":15},"Data Analysis","data-analysis",{"name":9,"slug":8,"type":15},{"name":3275,"slug":161,"type":15},"Python",{"name":18,"slug":19,"type":15},"2026-07-14T05:32:45.980229",{"slug":3279,"name":3279,"fn":3280,"description":3281,"org":3282,"tags":3283,"stars":23,"repoUrl":24,"updatedAt":3292},"experiment-execution","run quantum calibration experiments","Reference guide for running individual quantum calibration experiments and interpreting their results. Use when the user asks to run a single experiment (e.g. resonator spectroscopy, qubit spectroscopy, T1, T2), inspect experiment plots with the VLM, or query experiment history and schemas via the lab tool.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3284,3287,3288,3289],{"name":3285,"slug":3286,"type":15},"Benchmarking","benchmarking",{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},{"name":3290,"slug":3291,"type":15},"Simulation","simulation","2026-07-14T05:32:41.013079",{"slug":3294,"name":3294,"fn":3295,"description":3296,"org":3297,"tags":3298,"stars":23,"repoUrl":24,"updatedAt":3306},"vlm-configuration","configure Vision Language Models","Configure the Vision Language Model (VLM) used for analyzing experiment plots. Use when the user asks to change the VLM provider or model, adjust temperature or max_tokens, enable or disable thinking mode, or troubleshoot VLM-related behavior in config.yaml.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3299,3302,3305],{"name":3300,"slug":3301,"type":15},"AI Infrastructure","ai-infrastructure",{"name":3303,"slug":3304,"type":15},"LLM","llm",{"name":9,"slug":8,"type":15},"2026-07-14T05:32:43.482864",{"slug":4,"name":4,"fn":5,"description":6,"org":3308,"tags":3309,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3310,3311,3312,3313],{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":18,"slug":19,"type":15},{"name":21,"slug":22,"type":15},{"slug":3315,"name":3315,"fn":3316,"description":3317,"org":3318,"tags":3319,"stars":23,"repoUrl":24,"updatedAt":3326},"workflow-planning","plan quantum calibration workflows","Plan a new calibration workflow by discussing experiment sequences, success\u002Ffailure criteria, and extracted parameters with the user before any files are created. Use when the user asks to plan, design, or create a new calibration sequence, or to build a multi-step workflow for a qubit or device. Requires explicit user confirmation before writing workflow files.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3320,3321,3324,3325],{"name":9,"slug":8,"type":15},{"name":3322,"slug":3323,"type":15},"Planning","planning",{"name":18,"slug":19,"type":15},{"name":21,"slug":22,"type":15},"2026-07-14T05:32:39.734157",{"slug":3328,"name":3328,"fn":3329,"description":3330,"org":3331,"tags":3332,"stars":23,"repoUrl":24,"updatedAt":3339},"writing-experiment-scripts","author quantum experiment scripts","Author new experiment scripts that are compatible with the lab system's auto-discovery. Use when the user asks to create a new experiment type, add a custom measurement, or write a Python script that should be discoverable via the `lab` and `run_experiment` tools. Covers required function signatures, type hints, docstrings, and return formats.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3333,3336,3337,3338],{"name":3334,"slug":3335,"type":15},"Laboratory","laboratory",{"name":9,"slug":8,"type":15},{"name":3275,"slug":161,"type":15},{"name":18,"slug":19,"type":15},"2026-07-14T05:32:42.253966",{"items":3341,"total":3494},[3342,3360,3376,3387,3399,3413,3424,3438,3451,3462,3476,3485],{"slug":3343,"name":3343,"fn":3344,"description":3345,"org":3346,"tags":3347,"stars":3357,"repoUrl":3358,"updatedAt":3359},"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},[3348,3351,3354],{"name":3349,"slug":3350,"type":15},"Documentation","documentation",{"name":3352,"slug":3353,"type":15},"MCP","mcp",{"name":3355,"slug":3356,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":3361,"name":3361,"fn":3362,"description":3363,"org":3364,"tags":3365,"stars":3373,"repoUrl":3374,"updatedAt":3375},"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},[3366,3369,3372],{"name":3367,"slug":3368,"type":15},"Containers","containers",{"name":3370,"slug":3371,"type":15},"Deployment","deployment",{"name":3275,"slug":161,"type":15},17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":3377,"name":3377,"fn":3378,"description":3379,"org":3380,"tags":3381,"stars":3373,"repoUrl":3374,"updatedAt":3386},"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},[3382,3385],{"name":3383,"slug":3384,"type":15},"CI\u002FCD","ci-cd",{"name":3370,"slug":3371,"type":15},"2026-07-14T05:25:59.97109",{"slug":3388,"name":3388,"fn":3389,"description":3390,"org":3391,"tags":3392,"stars":3373,"repoUrl":3374,"updatedAt":3398},"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},[3393,3394,3395],{"name":3383,"slug":3384,"type":15},{"name":3370,"slug":3371,"type":15},{"name":3396,"slug":3397,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":3400,"name":3400,"fn":3401,"description":3402,"org":3403,"tags":3404,"stars":3373,"repoUrl":3374,"updatedAt":3412},"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},[3405,3408,3409],{"name":3406,"slug":3407,"type":15},"Debugging","debugging",{"name":3396,"slug":3397,"type":15},{"name":3410,"slug":3411,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":3414,"name":3414,"fn":3415,"description":3416,"org":3417,"tags":3418,"stars":3373,"repoUrl":3374,"updatedAt":3423},"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},[3419,3420],{"name":2977,"slug":2974,"type":15},{"name":3421,"slug":3422,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":3425,"name":3425,"fn":3426,"description":3427,"org":3428,"tags":3429,"stars":3373,"repoUrl":3374,"updatedAt":3437},"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},[3430,3433,3436],{"name":3431,"slug":3432,"type":15},"Machine Learning","machine-learning",{"name":3434,"slug":3435,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":3439,"name":3439,"fn":3440,"description":3441,"org":3442,"tags":3443,"stars":3373,"repoUrl":3374,"updatedAt":3450},"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},[3444,3447],{"name":3445,"slug":3446,"type":15},"QA","qa",{"name":3448,"slug":3449,"type":15},"Testing","testing","2026-07-14T05:25:53.673039",{"slug":3452,"name":3452,"fn":3453,"description":3454,"org":3455,"tags":3456,"stars":3373,"repoUrl":3374,"updatedAt":3461},"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},[3457,3458],{"name":3370,"slug":3371,"type":15},{"name":3459,"slug":3460,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":3463,"name":3463,"fn":3464,"description":3465,"org":3466,"tags":3467,"stars":3373,"repoUrl":3374,"updatedAt":3475},"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},[3468,3471,3472],{"name":3469,"slug":3470,"type":15},"Code Review","code-review",{"name":3396,"slug":3397,"type":15},{"name":3473,"slug":3474,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":3477,"name":3477,"fn":3478,"description":3479,"org":3480,"tags":3481,"stars":3373,"repoUrl":3374,"updatedAt":3484},"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},[3482,3483],{"name":3445,"slug":3446,"type":15},{"name":3448,"slug":3449,"type":15},"2026-07-14T05:25:54.928983",{"slug":3486,"name":3486,"fn":3487,"description":3488,"org":3489,"tags":3490,"stars":3373,"repoUrl":3374,"updatedAt":3493},"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},[3491,3492],{"name":13,"slug":14,"type":15},{"name":3383,"slug":3384,"type":15},"2026-07-30T05:29:03.275638",496]