app
Fusion - the Fusion 360 Bridge
Public Made by Adomby adom
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.
← Commit history
Publish 1.13.0
12 files changed
+5580−15
.gitignore+2.insiders-stage/fusion-bridge/version.json+5−5.release-page-head+1−1install.shpage.json+10−4rust/Cargo.lock+5−5rust/lbr/src/lbr_template_head.xml+51rust/lbr/tests/golden.rs+44tests/reports/verb-test-2026-10-28_1129.json+1788tests/reports/verb-test-2026-10-28_1132.json+57tests/reports/verb-test-2026-10-28_1137.json+1798tests/reports/verb-test-2026-10-28_1146.json+1819.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" }
.release-page-head+1−1@@ -1 +1 @@-81c178b735f49d79c30034257a48f543c3f62336+45484cb896c5276f7c2ca48c06d54cddef0d4e93
install.shpage.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]" }-}+}
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+}
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+}
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+}
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+}