← Commit history
.gitignore+2
@@ -24,3 +24,5 @@ demo/routing/obstacles/*screenshot*.json # Demo videos live on the wiki page (adom/fusion-bridge, demo/routing) and adom/codex; GitHub keeps the scripts and evidence only. demo/routing/**/*.mp4 .claude/worktrees/+rust/target-pr/+rust/target-pr-dash/
.insiders-stage/fusion-bridge/version.json+5−5
@@ -1,14 +1,14 @@ {   "manifest_version": 1,   "name": "fusion360",-  "version": "1.12.8",-  "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.12.8/adom-bridge-fusion-v1.12.8.zip",-  "sha256": "cf4115e1c3834785f3aeaf0a1cdfda6123ed9aa0208a7e3e3977ae21aefc5191",-  "size": 7031244,+  "version": "1.13.0",+  "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.13.0/adom-bridge-fusion-v1.13.0.zip",+  "sha256": "98ee2fbe4979593ed8f9d4ed97a318600e56463c7a84e44b26dd852b6fab47ef",+  "size": 7355952,   "verbPrefixes": [     "fusion_"   ],   "healthEndpoint": "/status",-  "released_at": "2026-10-27T21:39:35Z",+  "released_at": "2026-10-28T15:17:09Z",   "tier": "insiders" }\ No newline at end of file
.release-page-head+1−1
@@ -1 +1 @@-81c178b735f49d79c30034257a48f543c3f62336\ No newline at end of file+45484cb896c5276f7c2ca48c06d54cddef0d4e93\ No newline at end of file
install.sh

  
page.json+10−4
@@ -17,7 +17,9 @@     "pcb",     "exports",     "aps",-    "modeling"+    "modeling",+    "mechanical",+    "assemblies"   ],   "org": "adom",   "title": "Fusion - the Fusion 360 Bridge",@@ -90,9 +92,13 @@     "pin electrical types from a schematic",     "part heights on my fusion board",     "which fusion parts have no 3d model",-    "will my fusion board fit the enclosure"+    "will my fusion board fit the enclosure",+    "build a parametric part in fusion",+    "assemble mechanical parts in fusion",+    "insert a McMaster part in fusion",+    "generate a mechanical assembly BOM"   ],-  "discovery_pitch": "Use the Adom Bridge Fusion 360 bridge when the user wants to DRIVE Autodesk Fusion 360 from the cloud: open/search their team's Fusion cloud designs, lay out a PCB or do electronics, export STEP/IGES/STL/Gerbers/BOM, or build a component library with real rendering 3D. It runs Fusion on the user's own machine via Adom Bridge. NOT for web/browser/login/form-filling (that's the native-browser extension) and NOT for KiCad (that's the kicad bridge).",+  "discovery_pitch": "Use the Adom Bridge Fusion 360 bridge when the user wants to DRIVE Autodesk Fusion 360 from the cloud: open/search their team's Fusion cloud designs, author parametric mechanical parts and internal assemblies, ingest McMaster CAD and generate mechanical BOMs, lay out a PCB or do electronics, export STEP/IGES/STL/Gerbers/BOM, or build a component library with real rendering 3D. It runs Fusion on the user's own machine via Adom Bridge. NOT for web/browser/login/form-filling (that's the native-browser extension) and NOT for KiCad (that's the kicad bridge).",   "brief": "Drive Autodesk Fusion 360 from the cloud via Adom Bridge: component libraries, IPC package generation, board layout, exports (STEP/Gerbers/BOM/CPL), fast APS cloud search, and parametric modeling.",   "sample_prompts": [     {@@ -143,4 +149,4 @@     "name": "John Lauer",     "email": "[email protected]"   }-}+}\ No newline at end of file
rust/Cargo.lock+5−5
@@ -17,7 +17,7 @@ dependencies = [  [[package]] name = "adom-fusion-bridge"-version = "1.13.0-dev.1"+version = "1.13.0" dependencies = [  "adom-eda-checks",  "base64",@@ -282,7 +282,7 @@ dependencies = [  [[package]] name = "fusion-core"-version = "1.13.0-dev.1"+version = "1.13.0" dependencies = [  "serde",  "serde_json",@@ -293,7 +293,7 @@ dependencies = [  [[package]] name = "fusion-lbr"-version = "1.13.0-dev.1"+version = "1.13.0" dependencies = [  "regex",  "roxmltree",@@ -305,14 +305,14 @@ dependencies = [  [[package]] name = "fusion-os-mac"-version = "1.13.0-dev.1"+version = "1.13.0" dependencies = [  "fusion-core", ]  [[package]] name = "fusion-os-win"-version = "1.13.0-dev.1"+version = "1.13.0" dependencies = [  "fusion-core",  "windows-sys 0.59.0",
rust/lbr/src/lbr_template_head.xmladded+51
@@ -0,0 +1,51 @@+<?xml version="1.0" encoding="utf-8"?>+<!DOCTYPE eagle SYSTEM "eagle.dtd">+<eagle version="9.6.2">+<drawing>+<settings><setting alwaysvectorfont="no"/></settings>+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>+<layers>+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="yes"/>+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="yes"/>+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="yes"/>+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="yes"/>+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="yes"/>+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>+</layers>
rust/lbr/tests/golden.rs+44
@@ -212,3 +212,47 @@ fn edit_footprint_pads_graphics_and_connects() {     assert!(fusion_lbr::edit_footprint(&lbr, "QFN-48_7x7mm", &serde_json::json!({"models": {"mode": "delete"}})).is_err());     assert!(fusion_lbr::edit_footprint(&lbr, "QFN-48_7x7mm", &serde_json::json!({"renumber": {"map": {"3": "4"}}})).is_err()); }++#[test]+fn authoring_builds_a_part_fusion_will_open() {+    use fusion_lbr::authoring as a;+    let pre = |t: &str| { let p = std::env::temp_dir().join(format!("adom-auth-{}.lbr", std::process::id())); std::fs::write(&p, t).unwrap(); let r = fusion_lbr::authoring::preflight_text(&p); let _ = std::fs::remove_file(&p); r };+    // an SOIC-8 footprint in a new library (pads in mil, the standard's string form)+    let pads = "1,-108,75,60,24,rect,0;2,-108,25,60,24,rect,0;3,-108,-25,60,24,rect,0;4,-108,-75,60,24,rect,0;5,108,-75,60,24,rect,0;6,108,-25,60,24,rect,0;7,108,25,60,24,rect,0;8,108,75,60,24,rect,0";+    let (t, s) = a::create_footprint(None, &serde_json::json!({"name": "SOIC-8", "pads": pads})).unwrap();+    assert_eq!(s["libraryState"], "created");+    assert!(pre(&t).0, "{:?}", pre(&t).1);+    // a dual op-amp: parts A and B, supply pins on a power gate+    let pins = "1,OUTA,right,100,1;2,-INA,left,100,1;3,+INA,left,200,1;7,OUTB,right,100,2;6,-INB,left,100,2;5,+INB,left,200,2;8,V+,left,100,0;4,V-,left,200,0";+    let (t, s) = a::create_symbol(Some(&t), &serde_json::json!({"name": "LM358", "pins": pins, "designator": "U"})).unwrap();+    assert_eq!(s["symbols"][0]["parts"], 2);+    assert!(pre(&t).0, "a symbol not yet on a footprint is fine mid-build: {:?}", pre(&t).1);+    // join pins to pads and set parameters+    let (t, s) = a::set_params(&t, Some("LM358"), &serde_json::json!({"MPN": "LM358DR", "Manufacturer": "TI"}), Some("LM358"), Some("SOIC-8")).unwrap();+    assert_eq!(s["footprint"], "SOIC-8");+    assert!(pre(&t).0, "{:?}", pre(&t).1);+    assert!(fusion_lbr::preflight_lbr(&{ let p = std::env::temp_dir().join("adom-auth-full.lbr"); std::fs::write(&p, &t).unwrap(); p }).ok, "a complete part passes the full preflight");+    let r = a::read_symbol(&t, "lm358").unwrap();+    assert_eq!(r["pinsMode0"], 8);+    assert_eq!(r["models"][0]["name"], "SOIC-8");+    let outa = r["pins"].as_array().unwrap().iter().find(|p| p["name"] == "OUTA").unwrap();+    assert_eq!(outa["des"], "1");+    assert!(r["params"].as_array().unwrap().iter().any(|p| p["name"] == "MPN" && p["value"] == "LM358DR"));+    // the library tools+    let (t, _) = a::copy_footprint(&t, None, "SOIC-8", "SOIC-8-COPY").unwrap();+    let (t, s) = a::rename_footprint(&t, "SOIC-8", "SOIC127P600X175-8").unwrap();+    assert_eq!(s["devicesUpdated"], 1);+    assert!(a::remove_footprint(&t, "SOIC127P600X175-8").is_err(), "a used footprint must be refused");+    let (t, _) = a::remove_footprint(&t, "SOIC-8-COPY").unwrap();+    let (t, _) = a::clone_symbol(&t, "LM358", "LM2904").unwrap();+    let (t, _) = a::rename_symbol(&t, "LM2904", "LM2904B").unwrap();+    let f = a::find_symbol(&[("lib".into(), t.clone())], "lm", false);+    assert_eq!(f["matches"].as_array().unwrap().len(), 2);+    let (t, s) = a::remove_symbol(&t, "LM2904B").unwrap();+    assert!(!s["symbolsRemoved"].as_array().unwrap().is_empty());+    assert!(a::read_symbol(&t, "LM358").is_ok());+    // xcopy into a second new library+    let (t2, _) = a::copy_footprint(&a::new_library("dest"), Some(&t), "SOIC127P600X175-8", "SO8").unwrap();+    assert!(pre(&t2).0);+    assert!(pre(&t).0, "{:?}", pre(&t).1);+}
tests/reports/verb-test-2026-10-28_1129.jsonadded+1788
@@ -0,0 +1,1788 @@+{+ "date": "2026-10-28_1129",+ "target": "DESKTOP-BAR6S0F",+ "tier": "daily",+ "pass": 108,+ "fail": 41,+ "sections": {+  "cad-3d-bom": {+   "PASS": 20,+   "FAIL": 11,+   "MANUAL": 10,+   "SKIP": 0+  },+  "bridge-lifecycle": {+   "PASS": 15,+   "FAIL": 1,+   "MANUAL": 17,+   "SKIP": 0+  },+  "auth-tokens": {+   "PASS": 2,+   "FAIL": 1,+   "MANUAL": 5,+   "SKIP": 0+  },+  "gui-driving": {+   "PASS": 19,+   "FAIL": 1,+   "MANUAL": 25,+   "SKIP": 0+  },+  "aps": {+   "PASS": 5,+   "FAIL": 4,+   "MANUAL": 15,+   "SKIP": 0+  },+  "mcp-server": {+   "PASS": 1,+   "FAIL": 0,+   "MANUAL": 1,+   "SKIP": 0+  },+  "python-addin": {+   "PASS": 4,+   "FAIL": 2,+   "MANUAL": 1,+   "SKIP": 0+  },+  "routing": {+   "PASS": 42,+   "FAIL": 16,+   "MANUAL": 39,+   "SKIP": 0+  },+  "exports": {+   "PASS": 0,+   "FAIL": 5,+   "MANUAL": 2,+   "SKIP": 0+  }+ },+ "results": [+  {+   "verb": "fusion_clone_symbol",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_copy_footprint",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_footprint",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_symbol",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_remove_footprint",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_remove_symbol",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_rename_footprint",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_rename_symbol",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_params",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_xcopy_footprint",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_readiness",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_prewarm",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_account",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_claim_seat",+   "status": "MANUAL",+   "why": "moves the Autodesk seat between machines; suspends another box's Fusion",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_release_seat",+   "status": "MANUAL",+   "why": "closes Fusion on the box to free the seat",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_describe",+   "status": "FAIL",+   "why": "verbs described but UNTRIAGED in test plan: ['fusion_clone_symbol', 'fusion_copy_footprint', 'fusion_create_footprint', 'fusion_create_symbol', 'fusion_remove_footprint', 'fusion_remove_symbol']",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_get_app_state",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_search_cloud_files",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_walk_cloud_tree",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_status",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_aps_get_browser",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_search",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; expected >0 results",+   "sec": 3.3,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_recent",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; expected >0 results",+   "sec": 0.1,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_browse",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; missing field 'hubs'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_file_info",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; missing field 'versionCount'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_get",+   "status": "FAIL",+   "why": "expected success, got error= code=None",+   "sec": 0.0,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_uninstall",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_seat_takeover",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_aps_create_folder",+   "status": "MANUAL",+   "why": "needs projectId/parentFolderId of the test workspace",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_upload",+   "status": "MANUAL",+   "why": "cloud write; exercised via build flows weekly",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_set_client_id",+   "status": "MANUAL",+   "why": "would clobber org auth config",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_aps_set_browser",+   "status": "MANUAL",+   "why": "",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_forget_browser",+   "status": "MANUAL",+   "why": "",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_signin",+   "status": "MANUAL",+   "why": "opens a browser on the user's machine",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_start",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_get_preferences",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_set_preference",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_mcp_status",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "mcp-server"+  },+  {+   "verb": "fusion_mcp_enable",+   "status": "MANUAL",+   "why": "drives the prefs UI, takes foreground",+   "section": "mcp-server"+  },+  {+   "verb": "fusion_prefs_open",+   "status": "MANUAL",+   "why": "opens a dialog on the user's screen",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_prefs_close",+   "status": "MANUAL",+   "why": "",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_set_auto_update",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_assembly_bom",+   "status": "PASS",+   "why": "",+   "sec": 1.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_dismiss_blocking_dialogs",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_cloud_file",+   "status": "PASS",+   "why": "",+   "sec": 7.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_schematic",+   "status": "PASS",+   "why": "",+   "sec": 2.7,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_2d_board",+   "status": "PASS",+   "why": "",+   "sec": 4.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_board_info",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_electronics",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "section": "python-addin"+  },+  {+   "verb": "fusion_routing_state",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_layer_stack",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "routing"+  },+  {+   "verb": "fusion_netlist",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_pour_state",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_component_data",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_component_pins",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_list_nets",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_net_connections",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_list_designators",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_layers",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "routing"+  },+  {+   "verb": "fusion_copper_layers",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "routing"+  },+  {+   "verb": "fusion_layers_in_use",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_read_rules",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_rules_by_kind",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_silk_state",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_net_classes",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_board_summary",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "section": "routing"+  },+  {+   "verb": "fusion_zoom_to",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_select_net",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_set_layer_visibility#hide",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "routing"+  },+  {+   "verb": "fusion_set_layer_visibility#show",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "routing"+  },+  {+   "verb": "fusion_board_outline",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_run_erc",+   "status": "PASS",+   "why": "",+   "sec": 5.3,+   "section": "routing"+  },+  {+   "verb": "fusion_status",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_check_dialogs",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_dialog_log",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_signin_status",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_license_status",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_list_commands",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_save",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "aps"+  },+  {+   "verb": "fusion_run_script",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_run_command",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_document",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_show_3d_chip",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_sch_items",+   "status": "PASS",+   "why": "",+   "sec": 4.9,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_pins",+   "status": "PASS",+   "why": "",+   "sec": 4.7,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_trace_point",+   "status": "PASS",+   "why": "",+   "sec": 4.9,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_page",+   "status": "PASS",+   "why": "",+   "sec": 4.8,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_hierarchy",+   "status": "PASS",+   "why": "",+   "sec": 4.7,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_sheet_pins",+   "status": "PASS",+   "why": "",+   "sec": 5.1,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_connect_pins#dry",+   "status": "PASS",+   "why": "",+   "sec": 4.8,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_fix_connectivity",+   "status": "PASS",+   "why": "",+   "sec": 4.8,+   "section": "routing"+  },+  {+   "verb": "fusion_render_schematic",+   "status": "PASS",+   "why": "",+   "sec": 9.1,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_update_from_library#refuse",+   "status": "PASS",+   "why": "",+   "sec": 5.1,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_text",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_junction",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_delete_wire",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_connect_pins",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_split_wire",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_bus",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_edit_label",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_move_region",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_bus_entry",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_connect_to_bus",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_reset_fields",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_create",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_update_board_from_eagle#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_update_board_from_eagle",+   "status": "MANUAL",+   "why": "writes a saved design: tested live on fl-sync-test in Default Project / fusion-lane-tests (#125 item 4)",+   "section": "routing"+  },+  {+   "verb": "fusion_export_dxf#board",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_plan_route#standard",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "routing"+  },+  {+   "verb": "fusion_render_board_3d",+   "status": "FAIL",+   "why": "expected success, got error=Add-in request failed: http://127.0.0.1:8774/command: Network Error: Network Err code=None; missing field 'path'",+   "sec": 10.8,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_remove_graphics#dry",+   "status": "FAIL",+   "why": "expected success, got error=Activate a PCB board before reading or routing it code=wrong_document; missing field 'removed'; missing field 'count'",+   "sec": 33.7,+   "section": "routing"+  },+  {+   "verb": "fusion_align_parts#dry",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'targets'",+   "sec": 1.2,+   "section": "routing"+  },+  {+   "verb": "fusion_remove_parts#dry",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'removed'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_edit_parts#dry",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'plan'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_edit_parts",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_align_parts",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_graphics",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_parts",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_generate_body",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_library_views",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_copper_balance",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'pairs'; missing field 'engine'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_return_path",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'engine'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_impedance",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'layers'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_current_capacity",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'nets'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_fab_check",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'measured'; missing field 'outsideLimits'; missing field 'fab'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_export_odb",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'path'; missing field 'layers'; missing field 'nets'",+   "sec": 1.1,+   "section": "exports"+  },+  {+   "verb": "fusion_export_ipc356",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'path'; missing field 'records'",+   "sec": 1.1,+   "section": "exports"+  },+  {+   "verb": "fusion_export_gencad",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'path'; missing field 'components'; missing field 'signals'",+   "sec": 1.1,+   "section": "exports"+  },+  {+   "verb": "fusion_export_ipc2581",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'path'; missing field 'components'; missing field 'pourIslands'",+   "sec": 1.1,+   "section": "exports"+  },+  {+   "verb": "fusion_read_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_project_info",+   "status": "FAIL",+   "why": "expected success, got error=No open design is named lane-BQ25792-copy code=not_open; missing field 'files'; missing field 'board'; missing field 'sheets'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_project_rename",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "routing"+  },+  {+   "verb": "fusion_project_create",+   "status": "PASS",+   "why": "",+   "sec": 1.3,+   "section": "routing"+  },+  {+   "verb": "fusion_project_snapshot",+   "status": "FAIL",+   "why": "expected success, got error=No open design is named lane-BQ25792-copy code=not_open; missing field 'folder'; missing field 'files'; missing field 'pdfs'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_cross_probe",+   "status": "FAIL",+   "why": "expected success, got error=No open document is named lane-BQ25792-copy code=wrong_document; missing field 'matches'; missing field 'symbolWithoutPart'",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_set_layer_count",+   "status": "FAIL",+   "why": "expected errorCode=layers_in_use got wrong_document (error=Active document is 'Untitled', expected 'lane-BQ25792-copy'.)",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_copy_routing",+   "status": "FAIL",+   "why": "expected errorCode=destination_conflict got wrong_document (error=Active document is 'Untitled', expected 'lane-BQ25792-copy'.)",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_import_svg",+   "status": "FAIL",+   "why": "expected errorCode=not_supported got wrong_document (error=Active document is 'Untitled', expected 'lane-BQ25792-copy'.)",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_export_bom#parts",+   "status": "FAIL",+   "why": "expected success, got error=no board is open (the active document is \"Untitled\" \"DesignProductType\") code=no_board; BOM has no MPN/LCSC columns; no part carries an MPN or LCSC number",+   "sec": 3.2,+   "section": "exports"+  },+  {+   "verb": "fusion_list_text_commands",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "python-addin"+  },+  {+   "verb": "fusion_execute_text_command",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document",+   "sec": 2.3,+   "section": "python-addin"+  },+  {+   "verb": "fusion_bodies",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document; missing field 'bodies'; missing field 'noBody'; missing field 'suspect'",+   "sec": 3.1,+   "section": "routing"+  },+  {+   "verb": "fusion_show_3d_board",+   "status": "FAIL",+   "why": "expected success, got error=Switch to 3D PCB failed: 3 : Please open or create an electronics design to cont code=not_an_electronics_design",+   "sec": 2.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_inspect_bodies",+   "status": "PASS",+   "why": "",+   "sec": 2.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_physical_properties",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_design_info",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_parameters",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_document_info",+   "status": "PASS",+   "why": "",+   "sec": 1.2,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_delete_cloud_file#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "aps"+  },+  {+   "verb": "fusion_delete_cloud_file",+   "status": "MANUAL",+   "why": "destructive cloud delete; only against files a rehearsal created",+   "section": "aps"+  },+  {+   "verb": "fusion_create_cloud_folder",+   "status": "MANUAL",+   "why": "cloud write into the team hub",+   "section": "aps"+  },+  {+   "verb": "fusion_set_parameter#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_parameter",+   "status": "MANUAL",+   "why": "mutates the active design's parameters",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script#guard",+   "status": "PASS",+   "why": "",+   "sec": 2.3,+   "section": "python-addin"+  },+  {+   "verb": "fusion_assembly_bom#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script",+   "status": "FAIL",+   "why": "expected success, got error=Active document is 'Untitled', expected 'lane-BQ25792-copy'. code=wrong_document",+   "sec": 2.3,+   "section": "python-addin"+  },+  {+   "verb": "fusion_electron_select",+   "status": "MANUAL",+   "why": "selection state is user-visible",+   "section": "python-addin"+  },+  {+   "verb": "fusion_open_design",+   "status": "MANUAL",+   "why": "local-file open; superseded by cloud flows",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_board",+   "status": "MANUAL",+   "why": "local .brd open; needs a .brd on the box (make_test_project exercises the same newDesignFromLocal path)",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_schematic",+   "status": "MANUAL",+   "why": "local .sch open; needs a .sch on the box (make_test_project exercises the same newDesignFromLocal path)",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_import_electronics",+   "status": "MANUAL",+   "why": "needs a Fusion-native .fsch/.fbrd/.flbr on the box; creates a NEW unsaved document",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_close_window#noargs",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_close_document",+   "status": "MANUAL",+   "why": "",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_close_all_documents",+   "status": "MANUAL",+   "why": "would close the user's own tabs",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_export_obj",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_fbx",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_usdz",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_dxf",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_dwg",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_skp",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_design_rules",+   "status": "MANUAL",+   "why": "mutates the board's DRC rules",+   "section": "exports"+  },+  {+   "verb": "fusion_show_3d_package",+   "status": "MANUAL",+   "why": "enters Package3DEnvironment (exit needs Package3DStop + dialog); tour covers it; attach path in release rehearsals",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_bind_library_3d",+   "status": "MANUAL",+   "why": "cloud f3d mint per run; release rehearsals (needs signed-in session)",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_attach_3d_package",+   "status": "MANUAL",+   "why": "modal Save dialog needs a human eye",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_make_3d_package",+   "status": "MANUAL",+   "why": "cloud upload; run in release rehearsals",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_build_library_3d",+   "status": "MANUAL",+   "why": "long multi-part build; release rehearsals",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_cleanup_cloud_files#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "aps"+  },+  {+   "verb": "fusion_cleanup_cloud_files",+   "status": "MANUAL",+   "why": "real cleanup takes explicit lineage urns; used by weekly build rehearsals",+   "section": "aps"+  },+  {+   "verb": "fusion_new_electronics_from_eagle",+   "status": "MANUAL",+   "why": "drives native dialogs",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_screenshot_fusion",+   "status": "PASS",+   "why": "",+   "sec": 0.4,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_state",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_demo_progress#unknown",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_stop",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_kill",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_signin",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_signin_2fa",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_demo",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_install_fusion",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_notify_owner",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_open_by_urn_note",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_action_ledger",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_addin_status",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "python-addin"+  },+  {+   "verb": "fusion_alerts",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_verb_times",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_live_feed",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_prove_result",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_driving_badge",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_window_sizing",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_cancel_run",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_preflight_lbr",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_library_parts",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_read_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_find_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_edit_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_export_library_part",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_library",+   "status": "MANUAL",+   "why": "the five-part drill covers it (fusion_install_library_bundle -> prove)",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_install_library_bundle",+   "status": "MANUAL",+   "why": "the five-part drill covers it; needs a bundle zip on the box",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_managed_library_create",+   "status": "MANUAL",+   "why": "creates a managed library on the hub (cloud write)",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_link",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs against the hub",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_pull",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs against the hub",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_push",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs; cloud write",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_unlink",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs against the hub",+   "section": "aps"+  },+  {+   "verb": "fusion_reset_workspace",+   "status": "MANUAL",+   "why": "closes the user's documents",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_restart_for_addin",+   "status": "MANUAL",+   "why": "restarts Fusion",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_save_to_cloud",+   "status": "MANUAL",+   "why": "cloud write; exercised by the drills",+   "section": "aps"+  },+  {+   "verb": "fusion_web_signin",+   "status": "MANUAL",+   "why": "opens a browser on the user's machine",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_routing_state#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_route_net#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_routing_drc#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_plan_route#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.0,+   "section": "routing"+  },+  {+   "verb": "fusion_route_net",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_routing_drc",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_plan_route",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_move_parts",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_place_vias",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_apply_pours",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_source",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_ripup_nets",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_schematic_run",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_bom",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_change_pours",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_seed",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_schematic_plan",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_pours",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_run_drc",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_repour",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_apply_silkscreen",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_set_track_width",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_items",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_set_outline",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_shape",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_autoroute",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_apply_fusion_update",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_resolve_seat_dialog",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_interactive",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_narrate",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_view",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_electronics_query",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_schematic#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_launch",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_gerber",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "exports"+  },+  {+   "verb": "fusion_dismiss_dialogs",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_install",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_save_document",+   "status": "MANUAL",+   "why": "saves a cloud design in place (a new version): exercised live on a scratch design in a test folder",+   "section": "aps"+  },+  {+   "verb": "fusion_read_sheet_file#guard",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "routing"+  },+  {+   "verb": "fusion_schematic#missing",+   "status": "PASS",+   "why": "",+   "sec": 2.9,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_schematic",+   "status": "MANUAL",+   "why": "open a cloud design's schematic / create a blank one: exercised by the weekly tour",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_make_showcase_project#guard",+   "status": "PASS",+   "why": "",+   "sec": 2.5,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_make_showcase_project",+   "status": "MANUAL",+   "why": "places a library's parts on a fresh sch+brd; exercised on the Adom_ToF library",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_eagle_import_status#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_eagle_import_status",+   "status": "MANUAL",+   "why": "status of a background EAGLE import",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_show_attributes#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_show_attributes",+   "status": "MANUAL",+   "why": "opens the device editor for a deviceset and returns its metadata",+   "section": "cad-3d-bom"+  },+  {+   "verb": "focus_invariance",+   "status": "PASS",+   "why": "",+   "section": "gui-driving"+  }+ ],+ "durationSec": 242.1+}\ No newline at end of file
tests/reports/verb-test-2026-10-28_1132.jsonadded+57
@@ -0,0 +1,57 @@+{+ "date": "2026-10-28_1132",+ "target": "DESKTOP-BAR6S0F",+ "tier": "daily",+ "pass": 4,+ "fail": 0,+ "sections": {+  "bridge-lifecycle": {+   "PASS": 1,+   "FAIL": 0,+   "MANUAL": 0,+   "SKIP": 0+  },+  "cad-3d-bom": {+   "PASS": 2,+   "FAIL": 0,+   "MANUAL": 0,+   "SKIP": 0+  },+  "gui-driving": {+   "PASS": 1,+   "FAIL": 0,+   "MANUAL": 0,+   "SKIP": 0+  }+ },+ "results": [+  {+   "verb": "fusion_describe",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_create_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "focus_invariance",+   "status": "PASS",+   "why": "",+   "section": "gui-driving"+  }+ ],+ "durationSec": 0.3+}\ No newline at end of file
tests/reports/verb-test-2026-10-28_1137.jsonadded+1798
@@ -0,0 +1,1798 @@+{+ "date": "2026-10-28_1137",+ "target": "DESKTOP-BAR6S0F",+ "tier": "daily",+ "pass": 144,+ "fail": 5,+ "sections": {+  "bridge-lifecycle": {+   "PASS": 16,+   "FAIL": 0,+   "MANUAL": 17,+   "SKIP": 0+  },+  "auth-tokens": {+   "PASS": 2,+   "FAIL": 1,+   "MANUAL": 5,+   "SKIP": 0+  },+  "gui-driving": {+   "PASS": 20,+   "FAIL": 0,+   "MANUAL": 25,+   "SKIP": 0+  },+  "aps": {+   "PASS": 5,+   "FAIL": 4,+   "MANUAL": 15,+   "SKIP": 0+  },+  "mcp-server": {+   "PASS": 1,+   "FAIL": 0,+   "MANUAL": 1,+   "SKIP": 0+  },+  "cad-3d-bom": {+   "PASS": 31,+   "FAIL": 0,+   "MANUAL": 10,+   "SKIP": 0+  },+  "python-addin": {+   "PASS": 6,+   "FAIL": 0,+   "MANUAL": 1,+   "SKIP": 0+  },+  "routing": {+   "PASS": 58,+   "FAIL": 0,+   "MANUAL": 39,+   "SKIP": 0+  },+  "exports": {+   "PASS": 5,+   "FAIL": 0,+   "MANUAL": 2,+   "SKIP": 0+  }+ },+ "results": [+  {+   "verb": "fusion_readiness",+   "status": "PASS",+   "why": "",+   "sec": 0.4,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_prewarm",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_account",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_claim_seat",+   "status": "MANUAL",+   "why": "moves the Autodesk seat between machines; suspends another box's Fusion",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_release_seat",+   "status": "MANUAL",+   "why": "closes Fusion on the box to free the seat",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_describe",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_get_app_state",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_search_cloud_files",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_walk_cloud_tree",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_status",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_aps_get_browser",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_search",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; expected >0 results",+   "sec": 3.3,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_recent",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; expected >0 results",+   "sec": 0.1,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_browse",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; missing field 'hubs'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_file_info",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; missing field 'versionCount'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_get",+   "status": "FAIL",+   "why": "expected success, got error= code=None",+   "sec": 0.0,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_uninstall",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_seat_takeover",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_aps_create_folder",+   "status": "MANUAL",+   "why": "needs projectId/parentFolderId of the test workspace",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_upload",+   "status": "MANUAL",+   "why": "cloud write; exercised via build flows weekly",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_set_client_id",+   "status": "MANUAL",+   "why": "would clobber org auth config",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_aps_set_browser",+   "status": "MANUAL",+   "why": "",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_forget_browser",+   "status": "MANUAL",+   "why": "",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_signin",+   "status": "MANUAL",+   "why": "opens a browser on the user's machine",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_start",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_get_preferences",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_set_preference",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_mcp_status",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "mcp-server"+  },+  {+   "verb": "fusion_mcp_enable",+   "status": "MANUAL",+   "why": "drives the prefs UI, takes foreground",+   "section": "mcp-server"+  },+  {+   "verb": "fusion_prefs_open",+   "status": "MANUAL",+   "why": "opens a dialog on the user's screen",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_prefs_close",+   "status": "MANUAL",+   "why": "",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_set_auto_update",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_assembly_bom",+   "status": "PASS",+   "why": "",+   "sec": 1.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_dismiss_blocking_dialogs",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_cloud_file",+   "status": "PASS",+   "why": "",+   "sec": 8.9,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_schematic",+   "status": "PASS",+   "why": "",+   "sec": 3.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_2d_board",+   "status": "PASS",+   "why": "",+   "sec": 3.6,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_board_info",+   "status": "PASS",+   "why": "",+   "sec": 2.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_electronics",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "section": "python-addin"+  },+  {+   "verb": "fusion_routing_state",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_layer_stack",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_netlist",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_pour_state",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_component_data",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_component_pins",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_list_nets",+   "status": "PASS",+   "why": "",+   "sec": 2.4,+   "section": "routing"+  },+  {+   "verb": "fusion_net_connections",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_list_designators",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_layers",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_copper_layers",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_layers_in_use",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_read_rules",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_rules_by_kind",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_silk_state",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_net_classes",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_board_summary",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "routing"+  },+  {+   "verb": "fusion_zoom_to",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "routing"+  },+  {+   "verb": "fusion_select_net",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_set_layer_visibility#hide",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "section": "routing"+  },+  {+   "verb": "fusion_set_layer_visibility#show",+   "status": "PASS",+   "why": "",+   "sec": 2.3,+   "section": "routing"+  },+  {+   "verb": "fusion_board_outline",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_run_erc",+   "status": "PASS",+   "why": "",+   "sec": 4.4,+   "section": "routing"+  },+  {+   "verb": "fusion_status",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_check_dialogs",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_dialog_log",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_signin_status",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_license_status",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_list_commands",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_save",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "aps"+  },+  {+   "verb": "fusion_run_script",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_run_command",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_document",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_show_3d_chip",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_sch_items",+   "status": "PASS",+   "why": "",+   "sec": 3.5,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_pins",+   "status": "PASS",+   "why": "",+   "sec": 3.4,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_trace_point",+   "status": "PASS",+   "why": "",+   "sec": 3.6,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_page",+   "status": "PASS",+   "why": "",+   "sec": 4.0,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_hierarchy",+   "status": "PASS",+   "why": "",+   "sec": 3.9,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_sheet_pins",+   "status": "PASS",+   "why": "",+   "sec": 4.1,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_connect_pins#dry",+   "status": "PASS",+   "why": "",+   "sec": 4.0,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_fix_connectivity",+   "status": "PASS",+   "why": "",+   "sec": 3.9,+   "section": "routing"+  },+  {+   "verb": "fusion_render_schematic",+   "status": "PASS",+   "why": "",+   "sec": 7.4,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_update_from_library#refuse",+   "status": "PASS",+   "why": "",+   "sec": 3.7,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_text",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_junction",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_delete_wire",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_connect_pins",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_split_wire",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_bus",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_edit_label",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_move_region",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_bus_entry",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_connect_to_bus",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_reset_fields",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_create",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_update_board_from_eagle#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_update_board_from_eagle",+   "status": "MANUAL",+   "why": "writes a saved design: tested live on fl-sync-test in Default Project / fusion-lane-tests (#125 item 4)",+   "section": "routing"+  },+  {+   "verb": "fusion_export_dxf#board",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_plan_route#standard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_render_board_3d",+   "status": "PASS",+   "why": "",+   "sec": 2.8,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_remove_graphics#dry",+   "status": "PASS",+   "why": "",+   "sec": 1.5,+   "section": "routing"+  },+  {+   "verb": "fusion_align_parts#dry",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_remove_parts#dry",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "routing"+  },+  {+   "verb": "fusion_edit_parts#dry",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "routing"+  },+  {+   "verb": "fusion_edit_parts",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_align_parts",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_graphics",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_parts",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_generate_body",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_library_views",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_copper_balance",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_return_path",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_impedance",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_current_capacity",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_fab_check",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_export_odb",+   "status": "PASS",+   "why": "",+   "sec": 2.8,+   "section": "exports"+  },+  {+   "verb": "fusion_export_ipc356",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "exports"+  },+  {+   "verb": "fusion_export_gencad",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "exports"+  },+  {+   "verb": "fusion_export_ipc2581",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "exports"+  },+  {+   "verb": "fusion_read_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_project_info",+   "status": "PASS",+   "why": "",+   "sec": 17.6,+   "section": "routing"+  },+  {+   "verb": "fusion_project_rename",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "routing"+  },+  {+   "verb": "fusion_project_create",+   "status": "PASS",+   "why": "",+   "sec": 1.3,+   "section": "routing"+  },+  {+   "verb": "fusion_project_snapshot",+   "status": "PASS",+   "why": "",+   "sec": 32.0,+   "section": "routing"+  },+  {+   "verb": "fusion_cross_probe",+   "status": "PASS",+   "why": "",+   "sec": 4.8,+   "section": "routing"+  },+  {+   "verb": "fusion_set_layer_count",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_copy_routing",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_import_svg",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_export_bom#parts",+   "status": "PASS",+   "why": "",+   "sec": 2.6,+   "section": "exports"+  },+  {+   "verb": "fusion_list_text_commands",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "python-addin"+  },+  {+   "verb": "fusion_execute_text_command",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "python-addin"+  },+  {+   "verb": "fusion_bodies",+   "status": "PASS",+   "why": "",+   "sec": 11.3,+   "section": "routing"+  },+  {+   "verb": "fusion_show_3d_board",+   "status": "PASS",+   "why": "",+   "sec": 4.7,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_inspect_bodies",+   "status": "PASS",+   "why": "",+   "sec": 2.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_physical_properties",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_design_info",+   "status": "PASS",+   "why": "",+   "sec": 0.6,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_parameters",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_document_info",+   "status": "PASS",+   "why": "",+   "sec": 1.2,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_delete_cloud_file#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "aps"+  },+  {+   "verb": "fusion_delete_cloud_file",+   "status": "MANUAL",+   "why": "destructive cloud delete; only against files a rehearsal created",+   "section": "aps"+  },+  {+   "verb": "fusion_create_cloud_folder",+   "status": "MANUAL",+   "why": "cloud write into the team hub",+   "section": "aps"+  },+  {+   "verb": "fusion_set_parameter#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_parameter",+   "status": "MANUAL",+   "why": "mutates the active design's parameters",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script#guard",+   "status": "PASS",+   "why": "",+   "sec": 2.3,+   "section": "python-addin"+  },+  {+   "verb": "fusion_assembly_bom#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "python-addin"+  },+  {+   "verb": "fusion_electron_select",+   "status": "MANUAL",+   "why": "selection state is user-visible",+   "section": "python-addin"+  },+  {+   "verb": "fusion_open_design",+   "status": "MANUAL",+   "why": "local-file open; superseded by cloud flows",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_board",+   "status": "MANUAL",+   "why": "local .brd open; needs a .brd on the box (make_test_project exercises the same newDesignFromLocal path)",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_schematic",+   "status": "MANUAL",+   "why": "local .sch open; needs a .sch on the box (make_test_project exercises the same newDesignFromLocal path)",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_import_electronics",+   "status": "MANUAL",+   "why": "needs a Fusion-native .fsch/.fbrd/.flbr on the box; creates a NEW unsaved document",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_close_window#noargs",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_close_document",+   "status": "MANUAL",+   "why": "",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_close_all_documents",+   "status": "MANUAL",+   "why": "would close the user's own tabs",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_export_obj",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_fbx",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_usdz",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_dxf",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_dwg",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_skp",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_design_rules",+   "status": "MANUAL",+   "why": "mutates the board's DRC rules",+   "section": "exports"+  },+  {+   "verb": "fusion_show_3d_package",+   "status": "MANUAL",+   "why": "enters Package3DEnvironment (exit needs Package3DStop + dialog); tour covers it; attach path in release rehearsals",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_bind_library_3d",+   "status": "MANUAL",+   "why": "cloud f3d mint per run; release rehearsals (needs signed-in session)",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_attach_3d_package",+   "status": "MANUAL",+   "why": "modal Save dialog needs a human eye",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_make_3d_package",+   "status": "MANUAL",+   "why": "cloud upload; run in release rehearsals",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_build_library_3d",+   "status": "MANUAL",+   "why": "long multi-part build; release rehearsals",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_cleanup_cloud_files#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "aps"+  },+  {+   "verb": "fusion_cleanup_cloud_files",+   "status": "MANUAL",+   "why": "real cleanup takes explicit lineage urns; used by weekly build rehearsals",+   "section": "aps"+  },+  {+   "verb": "fusion_new_electronics_from_eagle",+   "status": "MANUAL",+   "why": "drives native dialogs",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_screenshot_fusion",+   "status": "PASS",+   "why": "",+   "sec": 0.5,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_state",+   "status": "PASS",+   "why": "",+   "sec": 0.7,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_demo_progress#unknown",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_stop",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_kill",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_signin",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_signin_2fa",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_demo",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_install_fusion",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_notify_owner",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_open_by_urn_note",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_action_ledger",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_addin_status",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "python-addin"+  },+  {+   "verb": "fusion_alerts",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_verb_times",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_live_feed",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_prove_result",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_driving_badge",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_window_sizing",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_cancel_run",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_preflight_lbr",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_library_parts",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_copy_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_rename_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_remove_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_clone_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_rename_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_remove_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_params",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_xcopy_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_read_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_find_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_edit_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_export_library_part",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_library",+   "status": "MANUAL",+   "why": "the five-part drill covers it (fusion_install_library_bundle -> prove)",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_install_library_bundle",+   "status": "MANUAL",+   "why": "the five-part drill covers it; needs a bundle zip on the box",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_managed_library_create",+   "status": "MANUAL",+   "why": "creates a managed library on the hub (cloud write)",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_link",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs against the hub",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_pull",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs against the hub",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_push",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs; cloud write",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_unlink",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs against the hub",+   "section": "aps"+  },+  {+   "verb": "fusion_reset_workspace",+   "status": "MANUAL",+   "why": "closes the user's documents",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_restart_for_addin",+   "status": "MANUAL",+   "why": "restarts Fusion",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_save_to_cloud",+   "status": "MANUAL",+   "why": "cloud write; exercised by the drills",+   "section": "aps"+  },+  {+   "verb": "fusion_web_signin",+   "status": "MANUAL",+   "why": "opens a browser on the user's machine",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_routing_state#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_route_net#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_routing_drc#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_plan_route#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_route_net",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_routing_drc",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_plan_route",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_move_parts",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_place_vias",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_apply_pours",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_source",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_ripup_nets",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_schematic_run",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_bom",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_change_pours",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_seed",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_schematic_plan",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_pours",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_run_drc",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_repour",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_apply_silkscreen",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_set_track_width",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_items",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_set_outline",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_shape",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_autoroute",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_apply_fusion_update",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_resolve_seat_dialog",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_interactive",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_narrate",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_view",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_electronics_query",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_schematic#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_launch",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_gerber",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "exports"+  },+  {+   "verb": "fusion_dismiss_dialogs",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_install",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_save_document",+   "status": "MANUAL",+   "why": "saves a cloud design in place (a new version): exercised live on a scratch design in a test folder",+   "section": "aps"+  },+  {+   "verb": "fusion_read_sheet_file#guard",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "routing"+  },+  {+   "verb": "fusion_schematic#missing",+   "status": "PASS",+   "why": "",+   "sec": 2.9,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_schematic",+   "status": "MANUAL",+   "why": "open a cloud design's schematic / create a blank one: exercised by the weekly tour",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_make_showcase_project#guard",+   "status": "PASS",+   "why": "",+   "sec": 2.5,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_make_showcase_project",+   "status": "MANUAL",+   "why": "places a library's parts on a fresh sch+brd; exercised on the Adom_ToF library",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_eagle_import_status#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_eagle_import_status",+   "status": "MANUAL",+   "why": "status of a background EAGLE import",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_show_attributes#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_show_attributes",+   "status": "MANUAL",+   "why": "opens the device editor for a deviceset and returns its metadata",+   "section": "cad-3d-bom"+  },+  {+   "verb": "focus_invariance",+   "status": "PASS",+   "why": "",+   "section": "gui-driving"+  }+ ],+ "durationSec": 267.1+}\ No newline at end of file
tests/reports/verb-test-2026-10-28_1146.jsonadded+1819
@@ -0,0 +1,1819 @@+{+ "date": "2026-10-28_1146",+ "target": "DESKTOP-BAR6S0F",+ "tier": "daily",+ "pass": 147,+ "fail": 5,+ "sections": {+  "bridge-lifecycle": {+   "PASS": 19,+   "FAIL": 0,+   "MANUAL": 17,+   "SKIP": 0+  },+  "auth-tokens": {+   "PASS": 2,+   "FAIL": 1,+   "MANUAL": 5,+   "SKIP": 0+  },+  "gui-driving": {+   "PASS": 20,+   "FAIL": 0,+   "MANUAL": 25,+   "SKIP": 0+  },+  "aps": {+   "PASS": 5,+   "FAIL": 4,+   "MANUAL": 15,+   "SKIP": 0+  },+  "mcp-server": {+   "PASS": 1,+   "FAIL": 0,+   "MANUAL": 1,+   "SKIP": 0+  },+  "cad-3d-bom": {+   "PASS": 31,+   "FAIL": 0,+   "MANUAL": 10,+   "SKIP": 0+  },+  "python-addin": {+   "PASS": 6,+   "FAIL": 0,+   "MANUAL": 1,+   "SKIP": 0+  },+  "routing": {+   "PASS": 58,+   "FAIL": 0,+   "MANUAL": 39,+   "SKIP": 0+  },+  "exports": {+   "PASS": 5,+   "FAIL": 0,+   "MANUAL": 2,+   "SKIP": 0+  }+ },+ "results": [+  {+   "verb": "fusion_readiness",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_prewarm",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_account",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_claim_seat",+   "status": "MANUAL",+   "why": "moves the Autodesk seat between machines; suspends another box's Fusion",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_release_seat",+   "status": "MANUAL",+   "why": "closes Fusion on the box to free the seat",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_describe",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_get_app_state",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_search_cloud_files",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_walk_cloud_tree",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_mech_capabilities",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_mech_operation_status",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_mechanical",+   "status": "PASS",+   "why": "",+   "sec": 1.3,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_aps_status",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_aps_get_browser",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_search",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; expected >0 results",+   "sec": 3.2,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_recent",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; expected >0 results",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_browse",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; missing field 'hubs'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_file_info",+   "status": "FAIL",+   "why": "expected success, got error=Not signed in to APS. code=aps_not_signed_in; missing field 'versionCount'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_get",+   "status": "FAIL",+   "why": "expected success, got error= code=None",+   "sec": 0.0,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_uninstall",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_seat_takeover",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_aps_create_folder",+   "status": "MANUAL",+   "why": "needs projectId/parentFolderId of the test workspace",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_upload",+   "status": "MANUAL",+   "why": "cloud write; exercised via build flows weekly",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_set_client_id",+   "status": "MANUAL",+   "why": "would clobber org auth config",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_aps_set_browser",+   "status": "MANUAL",+   "why": "",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_forget_browser",+   "status": "MANUAL",+   "why": "",+   "section": "aps"+  },+  {+   "verb": "fusion_aps_signin",+   "status": "MANUAL",+   "why": "opens a browser on the user's machine",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_start",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_get_preferences",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_set_preference",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_mcp_status",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "mcp-server"+  },+  {+   "verb": "fusion_mcp_enable",+   "status": "MANUAL",+   "why": "drives the prefs UI, takes foreground",+   "section": "mcp-server"+  },+  {+   "verb": "fusion_prefs_open",+   "status": "MANUAL",+   "why": "opens a dialog on the user's screen",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_prefs_close",+   "status": "MANUAL",+   "why": "",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_set_auto_update",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_assembly_bom",+   "status": "PASS",+   "why": "",+   "sec": 21.5,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_dismiss_blocking_dialogs",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_cloud_file",+   "status": "PASS",+   "why": "",+   "sec": 8.7,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_schematic",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_2d_board",+   "status": "PASS",+   "why": "",+   "sec": 3.4,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_board_info",+   "status": "PASS",+   "why": "",+   "sec": 2.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_electronics",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "section": "python-addin"+  },+  {+   "verb": "fusion_routing_state",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_layer_stack",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_netlist",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_pour_state",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_component_data",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_component_pins",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_list_nets",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_net_connections",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_list_designators",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "routing"+  },+  {+   "verb": "fusion_layers",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_copper_layers",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_layers_in_use",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_read_rules",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_rules_by_kind",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_silk_state",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_net_classes",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_board_summary",+   "status": "PASS",+   "why": "",+   "sec": 2.3,+   "section": "routing"+  },+  {+   "verb": "fusion_zoom_to",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "routing"+  },+  {+   "verb": "fusion_select_net",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "routing"+  },+  {+   "verb": "fusion_set_layer_visibility#hide",+   "status": "PASS",+   "why": "",+   "sec": 2.4,+   "section": "routing"+  },+  {+   "verb": "fusion_set_layer_visibility#show",+   "status": "PASS",+   "why": "",+   "sec": 2.3,+   "section": "routing"+  },+  {+   "verb": "fusion_board_outline",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_run_erc",+   "status": "PASS",+   "why": "",+   "sec": 4.7,+   "section": "routing"+  },+  {+   "verb": "fusion_status",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_check_dialogs",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_dialog_log",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_signin_status",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_license_status",+   "status": "PASS",+   "why": "",+   "sec": 2.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_list_commands",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_save",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "aps"+  },+  {+   "verb": "fusion_run_script",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_run_command",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_document",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_show_3d_chip",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias: the same verb as its target, which carries the tests",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_sch_items",+   "status": "PASS",+   "why": "",+   "sec": 4.1,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_pins",+   "status": "PASS",+   "why": "",+   "sec": 3.9,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_trace_point",+   "status": "PASS",+   "why": "",+   "sec": 3.8,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_page",+   "status": "PASS",+   "why": "",+   "sec": 3.4,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_hierarchy",+   "status": "PASS",+   "why": "",+   "sec": 3.6,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_sheet_pins",+   "status": "PASS",+   "why": "",+   "sec": 3.5,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_connect_pins#dry",+   "status": "PASS",+   "why": "",+   "sec": 4.0,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_fix_connectivity",+   "status": "PASS",+   "why": "",+   "sec": 4.1,+   "section": "routing"+  },+  {+   "verb": "fusion_render_schematic",+   "status": "PASS",+   "why": "",+   "sec": 6.5,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_update_from_library#refuse",+   "status": "PASS",+   "why": "",+   "sec": 3.7,+   "section": "routing"+  },+  {+   "verb": "fusion_sch_text",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_junction",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_delete_wire",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_connect_pins",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_split_wire",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_bus",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_edit_label",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_move_region",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_bus_entry",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_connect_to_bus",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_reset_fields",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_sch_create",+   "status": "MANUAL",+   "why": "schematic edit: tested live on a scratch import of BQ25792 (never the cloud design)",+   "section": "routing"+  },+  {+   "verb": "fusion_update_board_from_eagle#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_update_board_from_eagle",+   "status": "MANUAL",+   "why": "writes a saved design: tested live on fl-sync-test in Default Project / fusion-lane-tests (#125 item 4)",+   "section": "routing"+  },+  {+   "verb": "fusion_export_dxf#board",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_plan_route#standard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_render_board_3d",+   "status": "PASS",+   "why": "",+   "sec": 3.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_remove_graphics#dry",+   "status": "PASS",+   "why": "",+   "sec": 1.5,+   "section": "routing"+  },+  {+   "verb": "fusion_align_parts#dry",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "routing"+  },+  {+   "verb": "fusion_remove_parts#dry",+   "status": "PASS",+   "why": "",+   "sec": 1.5,+   "section": "routing"+  },+  {+   "verb": "fusion_edit_parts#dry",+   "status": "PASS",+   "why": "",+   "sec": 1.5,+   "section": "routing"+  },+  {+   "verb": "fusion_edit_parts",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_align_parts",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_graphics",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_parts",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "routing"+  },+  {+   "verb": "fusion_generate_body",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_library_views",+   "status": "MANUAL",+   "why": "edits a design, writes files or closes documents: tested live on scratch imports and fl-sync-test",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_copper_balance",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_return_path",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "routing"+  },+  {+   "verb": "fusion_impedance",+   "status": "PASS",+   "why": "",+   "sec": 1.8,+   "section": "routing"+  },+  {+   "verb": "fusion_current_capacity",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "routing"+  },+  {+   "verb": "fusion_fab_check",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_export_odb",+   "status": "PASS",+   "why": "",+   "sec": 2.4,+   "section": "exports"+  },+  {+   "verb": "fusion_export_ipc356",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "exports"+  },+  {+   "verb": "fusion_export_gencad",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "exports"+  },+  {+   "verb": "fusion_export_ipc2581",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "exports"+  },+  {+   "verb": "fusion_read_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_project_info",+   "status": "PASS",+   "why": "",+   "sec": 15.4,+   "section": "routing"+  },+  {+   "verb": "fusion_project_rename",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "routing"+  },+  {+   "verb": "fusion_project_create",+   "status": "PASS",+   "why": "",+   "sec": 1.3,+   "section": "routing"+  },+  {+   "verb": "fusion_project_snapshot",+   "status": "PASS",+   "why": "",+   "sec": 28.8,+   "section": "routing"+  },+  {+   "verb": "fusion_cross_probe",+   "status": "PASS",+   "why": "",+   "sec": 4.4,+   "section": "routing"+  },+  {+   "verb": "fusion_set_layer_count",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_copy_routing",+   "status": "PASS",+   "why": "",+   "sec": 3.4,+   "section": "routing"+  },+  {+   "verb": "fusion_import_svg",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "routing"+  },+  {+   "verb": "fusion_export_bom#parts",+   "status": "PASS",+   "why": "",+   "sec": 3.1,+   "section": "exports"+  },+  {+   "verb": "fusion_list_text_commands",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "python-addin"+  },+  {+   "verb": "fusion_execute_text_command",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "section": "python-addin"+  },+  {+   "verb": "fusion_bodies",+   "status": "PASS",+   "why": "",+   "sec": 11.8,+   "section": "routing"+  },+  {+   "verb": "fusion_show_3d_board",+   "status": "PASS",+   "why": "",+   "sec": 5.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_inspect_bodies",+   "status": "PASS",+   "why": "",+   "sec": 2.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_physical_properties",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_design_info",+   "status": "PASS",+   "why": "",+   "sec": 0.8,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_parameters",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_document_info",+   "status": "PASS",+   "why": "",+   "sec": 1.2,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_delete_cloud_file#guard",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "aps"+  },+  {+   "verb": "fusion_delete_cloud_file",+   "status": "MANUAL",+   "why": "destructive cloud delete; only against files a rehearsal created",+   "section": "aps"+  },+  {+   "verb": "fusion_create_cloud_folder",+   "status": "MANUAL",+   "why": "cloud write into the team hub",+   "section": "aps"+  },+  {+   "verb": "fusion_set_parameter#guard",+   "status": "PASS",+   "why": "",+   "sec": 2.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_parameter",+   "status": "MANUAL",+   "why": "mutates the active design's parameters",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script#guard",+   "status": "PASS",+   "why": "",+   "sec": 2.4,+   "section": "python-addin"+  },+  {+   "verb": "fusion_assembly_bom#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "python-addin"+  },+  {+   "verb": "fusion_electron_select",+   "status": "MANUAL",+   "why": "selection state is user-visible",+   "section": "python-addin"+  },+  {+   "verb": "fusion_open_design",+   "status": "MANUAL",+   "why": "local-file open; superseded by cloud flows",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_board",+   "status": "MANUAL",+   "why": "local .brd open; needs a .brd on the box (make_test_project exercises the same newDesignFromLocal path)",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_schematic",+   "status": "MANUAL",+   "why": "local .sch open; needs a .sch on the box (make_test_project exercises the same newDesignFromLocal path)",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_import_electronics",+   "status": "MANUAL",+   "why": "needs a Fusion-native .fsch/.fbrd/.flbr on the box; creates a NEW unsaved document",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_close_window#noargs",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_close_document",+   "status": "MANUAL",+   "why": "",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_close_all_documents",+   "status": "MANUAL",+   "why": "would close the user's own tabs",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_export_obj",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_fbx",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_usdz",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_dxf",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_dwg",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_skp",+   "status": "MANUAL",+   "why": "build/doc-type dependent (OBJ refused on the 2026-08-14 box); verify quarterly",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_design_rules",+   "status": "MANUAL",+   "why": "mutates the board's DRC rules",+   "section": "exports"+  },+  {+   "verb": "fusion_show_3d_package",+   "status": "MANUAL",+   "why": "enters Package3DEnvironment (exit needs Package3DStop + dialog); tour covers it; attach path in release rehearsals",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_bind_library_3d",+   "status": "MANUAL",+   "why": "cloud f3d mint per run; release rehearsals (needs signed-in session)",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_attach_3d_package",+   "status": "MANUAL",+   "why": "modal Save dialog needs a human eye",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_make_3d_package",+   "status": "MANUAL",+   "why": "cloud upload; run in release rehearsals",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_build_library_3d",+   "status": "MANUAL",+   "why": "long multi-part build; release rehearsals",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_cleanup_cloud_files#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "aps"+  },+  {+   "verb": "fusion_cleanup_cloud_files",+   "status": "MANUAL",+   "why": "real cleanup takes explicit lineage urns; used by weekly build rehearsals",+   "section": "aps"+  },+  {+   "verb": "fusion_new_electronics_from_eagle",+   "status": "MANUAL",+   "why": "drives native dialogs",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_screenshot_fusion",+   "status": "PASS",+   "why": "",+   "sec": 0.7,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_state",+   "status": "PASS",+   "why": "",+   "sec": 1.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_demo_progress#unknown",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_stop",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_kill",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_signin",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_signin_2fa",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_demo",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_install_fusion",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_notify_owner",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_open_by_urn_note",+   "status": "MANUAL",+   "why": "lifecycle/human-wall verbs; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_action_ledger",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_addin_status",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "python-addin"+  },+  {+   "verb": "fusion_alerts",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_verb_times",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_live_feed",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_prove_result",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_driving_badge",+   "status": "PASS",+   "why": "",+   "sec": 0.8,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_window_sizing",+   "status": "PASS",+   "why": "",+   "sec": 0.6,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_cancel_run",+   "status": "PASS",+   "why": "",+   "sec": 0.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_preflight_lbr",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_library_parts",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_copy_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_rename_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_remove_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_clone_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_rename_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_remove_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_params",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_xcopy_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_read_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_find_symbol",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_edit_footprint",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_export_library_part",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_create_library",+   "status": "MANUAL",+   "why": "the five-part drill covers it (fusion_install_library_bundle -> prove)",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_install_library_bundle",+   "status": "MANUAL",+   "why": "the five-part drill covers it; needs a bundle zip on the box",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_managed_library_create",+   "status": "MANUAL",+   "why": "creates a managed library on the hub (cloud write)",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_link",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs against the hub",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_pull",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs against the hub",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_push",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs; cloud write",+   "section": "aps"+  },+  {+   "verb": "fusion_managed_library_unlink",+   "status": "MANUAL",+   "why": "drives LIBRARY.IO dialogs against the hub",+   "section": "aps"+  },+  {+   "verb": "fusion_reset_workspace",+   "status": "MANUAL",+   "why": "closes the user's documents",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_restart_for_addin",+   "status": "MANUAL",+   "why": "restarts Fusion",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_save_to_cloud",+   "status": "MANUAL",+   "why": "cloud write; exercised by the drills",+   "section": "aps"+  },+  {+   "verb": "fusion_web_signin",+   "status": "MANUAL",+   "why": "opens a browser on the user's machine",+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_routing_state#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_route_net#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.2,+   "section": "routing"+  },+  {+   "verb": "fusion_routing_drc#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_plan_route#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "routing"+  },+  {+   "verb": "fusion_route_net",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_routing_drc",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_plan_route",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_move_parts",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_place_vias",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_apply_pours",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_source",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_ripup_nets",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_schematic_run",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_bom",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_change_pours",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_seed",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_schematic_plan",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_pours",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_run_drc",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_repour",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_apply_silkscreen",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_set_track_width",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_remove_items",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_set_outline",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_board_shape",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_autoroute",+   "status": "MANUAL",+   "why": "live routing on a fixture board: demo/routing/run_demo.py is the weekly proof (needs a board open)",+   "section": "routing"+  },+  {+   "verb": "fusion_apply_fusion_update",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_resolve_seat_dialog",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_interactive",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_narrate",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_view",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_electronics_query",+   "status": "MANUAL",+   "why": "lifecycle, seat or presentation verbs: need a human-visible Fusion state; manual tier",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_schematic#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_launch",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_export_gerber",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "exports"+  },+  {+   "verb": "fusion_dismiss_dialogs",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_install",+   "status": "MANUAL",+   "why": "EDA Bridge Standard alias of an existing verb (the reply carries aliasOf); tested through the verb it names",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_save_document",+   "status": "MANUAL",+   "why": "saves a cloud design in place (a new version): exercised live on a scratch design in a test folder",+   "section": "aps"+  },+  {+   "verb": "fusion_read_sheet_file#guard",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "routing"+  },+  {+   "verb": "fusion_schematic#missing",+   "status": "PASS",+   "why": "",+   "sec": 3.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_schematic",+   "status": "MANUAL",+   "why": "open a cloud design's schematic / create a blank one: exercised by the weekly tour",+   "section": "gui-driving"+  },+  {+   "verb": "fusion_make_showcase_project#guard",+   "status": "PASS",+   "why": "",+   "sec": 2.6,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_make_showcase_project",+   "status": "MANUAL",+   "why": "places a library's parts on a fresh sch+brd; exercised on the Adom_ToF library",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_eagle_import_status#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_eagle_import_status",+   "status": "MANUAL",+   "why": "status of a background EAGLE import",+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_show_attributes#guard",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_show_attributes",+   "status": "MANUAL",+   "why": "opens the device editor for a deviceset and returns its metadata",+   "section": "cad-3d-bom"+  },+  {+   "verb": "focus_invariance",+   "status": "PASS",+   "why": "",+   "section": "gui-driving"+  }+ ],+ "durationSec": 288.6+}\ No newline at end of file