← Commit history
.insiders-stage/fusion-bridge/version.json+4−4
@@ -1,10 +1,10 @@ {   "manifest_version": 1,   "name": "fusion360",-  "version": "1.9.369",-  "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.369/adom-bridge-fusion-v1.9.369.zip",-  "sha256": "1be41c798f6d70ea808b1f5ca9caea5898570c533b1707f367cefce2ffa27a6f",-  "size": 6313361,+  "version": "1.9.370",+  "url": "https://wiki.adom.inc/download/adom/fusion-bridge/1.9.370/adom-bridge-fusion-v1.9.370.zip",+  "sha256": "30a29009095afa612407e211c09698530fea07ae668bd97f4b9ec1dbb86a1560",+  "size": 6315342,   "verbPrefixes": [     "fusion_"   ],
.release-page-head+1−1
@@ -1 +1 @@-f721a9b390ed6cd022b33eccd2f13e126f8704f2\ No newline at end of file+c09bd3b2afb25b4d36d8e6d0e09552c0b6b05805\ No newline at end of file
page.json+26−10
@@ -11,10 +11,6 @@     "uninstall": "./uninstall.sh"   },   "tags": [-    "ab",-    "bridge",-    "fusion",-    "desktop-app",     "fusion360",     "autodesk",     "cad",@@ -79,10 +75,7 @@     "build a basic parts library",     "add a 3d model to a component",     "make a fusion 360 library with 3d",-    "set up the fusion bridge",-    "fusion dashboard",-    "fusion status page",-    "open the fusion launch page"+    "set up the fusion 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, 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.",@@ -111,5 +104,28 @@       "label": "Part volume",       "prompt": "How much material does each printed part in this assembly use?"     }-  ]-}+  ],+  "agent_permissions": {+    "allow_bash": [],+    "allow": [+      "adom-desktop-fusion-bridge read-only verbs (via the adom-bridge CLI): fusion_readiness, fusion_get_app_state, fusion_addin_status, fusion_check_dialogs - state queries; they change nothing.",+      "adom-desktop-fusion-bridge read-only verbs: fusion_alerts (reads Fusion's own log for toasts), fusion_document_info, fusion_window_info, fusion_board_info, fusion_library_parts - inspect only.",+      "adom-desktop-fusion-bridge read-only verbs: fusion_prove_result (a persisted run report), fusion_plan_library_import (report-only preflight), fusion_list_cloud_projects, fusion_describe.",+      "adom-desktop-fusion-bridge evidence captures fusion_screenshot_fusion and fusion_capture_library_views read pixels and write local image files only."+    ],+    "soft_deny": [+      "adom-desktop-fusion-bridge lifecycle verbs fusion_stop, fusion_kill, fusion_restart_for_addin close or kill the Fusion application - keep the human prompt.",+      "adom-desktop-fusion-bridge fusion_install_fusion silently installs Autodesk Fusion on the user's machine.",+      "adom-desktop-fusion-bridge fusion_cleanup_cloud_files deletes files from the user's Autodesk cloud hub.",+      "adom-desktop-fusion-bridge managed-library verbs (fusion_managed_library_push/pull/create/link/unlink) publish to or overwrite the user's library.io libraries."+    ],+    "environment": [+      "adom-desktop-fusion-bridge is the Fusion 360 bridge for Adom Bridge; its fusion_* verbs are invoked through the adom-bridge CLI and drive Autodesk Fusion on the user's own desktop.",+      "adom-desktop-fusion-bridge desktop actions also pass Adom Bridge's own human-approval gate (caller identity, per-call reason, Activity Log) - a container approval is the first of two gates."+    ]+  },+  "author": {+    "name": "John Lauer",+    "email": "[email protected]"+  }+}\ No newline at end of file
resources/demo-audio/hl-board2d.jsonadded+8
@@ -0,0 +1,8 @@+{+  "desc": "",+  "label": "",+  "rate": "+0%",+  "text": "The same board in 2D: real copper, real routing, every part where the designer placed it.",+  "tts_hash": "8ae52d084acff66457cbcac0f29f5817fa3ad8242e1afa46667798e38b1ba12e",+  "voice": "en-US-AndrewNeural"+}\ No newline at end of file
resources/demo-audio/hl-board2d.mp3added
⋯ 1 unchanged line ⋯
resources/demo-audio/hl-board3d.jsonadded+8
@@ -0,0 +1,8 @@+{+  "desc": "",+  "label": "",+  "rate": "+0%",+  "text": "And in 3D, every component body in place, as the board turns in front of you.",+  "tts_hash": "df8b7ce94e84af7f346f871f3072f1fc0fdd8f198bf2c245c1c12c733b74d238",+  "voice": "en-US-AndrewNeural"+}\ No newline at end of file
resources/demo-audio/hl-board3d.mp3added
⋯ 1 unchanged line ⋯
resources/demo-audio/hl-chip.jsonadded+8
@@ -0,0 +1,8 @@+{+  "desc": "",+  "label": "",+  "rate": "+0%",+  "text": "The 3D chip: minted from the STEP file, bound to the footprint, and saved to your hub as a real design.",+  "tts_hash": "35649e760d3456bf3bba6c8aa97514373be8bf64a1538b84ddc7e35a4f36d310",+  "voice": "en-US-AndrewNeural"+}\ No newline at end of file
resources/demo-audio/hl-chip.mp3added
⋯ 1 unchanged line ⋯
resources/demo-audio/hl-footprint.jsonadded+8
@@ -0,0 +1,8 @@+{+  "desc": "",+  "label": "",+  "rate": "+0%",+  "text": "The footprint: sixty-four pads on copper, mask and silk, generated from the datasheet, with the pointer walking the rows.",+  "tts_hash": "611f12d1117ee4e1cad857869b566c705d9b4ad149c8f60dcaa8fbdff68dcb77",+  "voice": "en-US-AndrewNeural"+}\ No newline at end of file
resources/demo-audio/hl-footprint.mp3added
⋯ 1 unchanged line ⋯
resources/demo-audio/hl-library.jsonadded+8
@@ -0,0 +1,8 @@+{+  "desc": "",+  "label": "",+  "rate": "+0%",+  "text": "Adom opens the sample library on its component view: the symbol, the package table that binds it to the footprint, and the footprint and 3D previews.",+  "tts_hash": "424af973c0e8d736753812a27987695f5932b9c9ad6ebdd10e7fc9f00689509c",+  "voice": "en-US-AndrewNeural"+}\ No newline at end of file
resources/demo-audio/hl-library.mp3added
⋯ 1 unchanged line ⋯
resources/demo-audio/hl-opening.jsonadded+8
@@ -0,0 +1,8 @@+{+  "desc": "",+  "label": "",+  "rate": "+0%",+  "text": "Fusion lives in the Adom dock. Open the dock, click the Fusion card, and the dashboard comes up. One click on Play the demo, and the tour runs itself, narrated, in the background.",+  "tts_hash": "4ecd52bf74bb22fb6f9924bf9674024777d7c241ba1b781889d0b723360aa919",+  "voice": "en-US-AndrewNeural"+}\ No newline at end of file
resources/demo-audio/hl-opening.mp3added
⋯ 1 unchanged line ⋯
resources/demo-audio/hl-outro.jsonadded+8
@@ -0,0 +1,8 @@+{+  "desc": "",+  "label": "",+  "rate": "+0%",+  "text": "Symbol, footprint, 3D chip, schematic and board, all driven by your AI in the background. That is the Fusion bridge.",+  "tts_hash": "e900a7b475e48d46b97b98d3cb462ad3b6968ea9862f289ed1ab99932c98091e",+  "voice": "en-US-AndrewNeural"+}\ No newline at end of file
resources/demo-audio/hl-outro.mp3added
⋯ 1 unchanged line ⋯
resources/demo-audio/hl-schematic.jsonadded+8
@@ -0,0 +1,8 @@+{+  "desc": "",+  "label": "",+  "rate": "+0%",+  "text": "A real board from your hub: the BQ25792 charger schematic, every net as the designer drew it.",+  "tts_hash": "bf7c3be83e95476f01f96e5aa38ada32d976df26cdcc2aa1cb6aa54b913303fa",+  "voice": "en-US-AndrewNeural"+}\ No newline at end of file
resources/demo-audio/hl-schematic.mp3added
⋯ 1 unchanged line ⋯
resources/demo-audio/hl-symbol.jsonadded+8
@@ -0,0 +1,8 @@+{+  "desc": "",+  "label": "",+  "rate": "+0%",+  "text": "The symbol. All sixty-four pins, converted pin for pin, and Adom zooms in close enough to read every name.",+  "tts_hash": "acda740197b6affc6777646538ba38d65e07b7b43f6bde84bf7ec3a3d8fdb4d2",+  "voice": "en-US-AndrewNeural"+}\ No newline at end of file
resources/demo-audio/hl-symbol.mp3added
⋯ 1 unchanged line ⋯
rust/Cargo.lock+5−5
@@ -10,7 +10,7 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"  [[package]] name = "adom-fusion-bridge"-version = "1.9.369"+version = "1.9.370" dependencies = [  "base64",  "chrono",@@ -273,7 +273,7 @@ dependencies = [  [[package]] name = "fusion-core"-version = "1.9.369"+version = "1.9.370" dependencies = [  "serde",  "serde_json",@@ -283,7 +283,7 @@ dependencies = [  [[package]] name = "fusion-lbr"-version = "1.9.369"+version = "1.9.370" dependencies = [  "regex",  "roxmltree",@@ -295,14 +295,14 @@ dependencies = [  [[package]] name = "fusion-os-mac"-version = "1.9.369"+version = "1.9.370" dependencies = [  "fusion-core", ]  [[package]] name = "fusion-os-win"-version = "1.9.369"+version = "1.9.370" dependencies = [  "fusion-core",  "windows-sys 0.59.0",
tests/reports/daily-cron-2026-09-06.logadded+109
@@ -0,0 +1,109 @@+warmup: waking the bridge (unscored)...+  fusion_readiness                           PASS +  fusion_describe                            FAIL - verbs described but UNTRIAGED in test plan: ['fusion_load_design_rules']+  fusion_get_app_state                       FAIL - expected success, got error=Fusion 360 is installed but not running. code=fusion_not_running+  fusion_search_cloud_files                  PASS +  fusion_walk_cloud_tree                     PASS +  fusion_aps_status                          PASS +  fusion_aps_get_browser                     PASS +  fusion_aps_search                          FAIL - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; expected >0 results+  fusion_aps_recent                          FAIL - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; expected >0 results+  fusion_aps_browse                          FAIL - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; missing field 'hubs'+  fusion_aps_file_info                       FAIL - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; missing field 'versionCount'+  fusion_aps_get                             PASS +  fusion_uninstall                           FAIL - expected success, got error=Fusion 360 is installed but not running. (command: uninstall) code=fusion_not_running; missing field 'removed'; missing field 'skipped'; missing field 'dryRun'+  fusion_set_seat_takeover                   FAIL - expected success, got error=Fusion 360 is installed but not running. (command: set_seat_takeover) code=fusion_not_running; missing field 'autoTakeOverSeat'+  fusion_start                               PASS +  fusion_get_preferences                     PASS +  fusion_set_preference                      PASS +  fusion_mcp_status                          FAIL - expected success, got error=Unknown command: mcp_status code=None; missing field 'enabled'+  fusion_set_auto_update                     FAIL - expected success, got error=Unknown command: set_auto_update code=None+  fusion_assembly_bom                        FAIL - expected a BOM or the budget refusal, got error=Unknown command: assembly_bom code=None+  fusion_dismiss_blocking_dialogs            PASS +  fusion_open_cloud_file                     FAIL - expected success, got error=Project 'Main' not found code=None+  fusion_show_schematic                      FAIL - expected success, got error=Switch to schematic failed: 3 : Please open or create an electronics design to c code=None+  fusion_show_2d_board                       FAIL - expected success, got error=Switch to 2D board failed: 3 : Please open or create an electronics design to co code=None+  fusion_board_info                          FAIL - expected success, got error=No board open (current workspace: Design). Open a .brd file first with fusion_op code=None; missing field 'rawXml'+  fusion_execute_text_command                FAIL - expected success, got error=Text command failed: 3 : No active asset adapter. code=None+  fusion_show_3d_board                       FAIL - expected success, got error=Not in Electronics editor (current workspace: Design). Open a .brd board file fi code=None+  fusion_inspect_bodies                      FAIL - expected success, got error=Unknown command: inspect_bodies code=None; missing field 'bodies'; missing field 'units'+  fusion_physical_properties                 FAIL - expected success, got error=Unknown command: physical_properties code=None+  fusion_get_design_info                     PASS +  fusion_get_parameters                      PASS +  fusion_document_info                       PASS +  fusion_run_modeling_script#guard           FAIL - expected errorCode=wrong_document got None (error=)+  fusion_assembly_bom#guard                  FAIL - expected errorCode=wrong_document got None (error=Unknown command: assembly_bom)+  fusion_run_modeling_script                 PASS +  fusion_close_window#noargs                 PASS +  fusion_cleanup_cloud_files#guard           PASS +  fusion_screenshot_fusion                   PASS +  fusion_state                               FAIL - expected success, got error=Unknown command: state code=None; missing field 'running'+  fusion_demo_progress#unknown               PASS +  fusion_action_ledger                       FAIL - expected success, got error=Unknown command: action_ledger code=None+  fusion_addin_status                        PASS +  fusion_alerts                              FAIL - expected success, got error=Unknown command: alerts code=None; missing field 'alerts'+  fusion_verb_times                          FAIL - expected success, got error=Unknown command: verb_times code=None+  fusion_live_feed                           FAIL - expected success, got error=Unknown command: live_feed code=None+  fusion_prove_result                        FAIL - expected success, got error=Unknown command: prove_result code=None+  fusion_set_driving_badge                   FAIL - expected success, got error=Unknown command: set_driving_badge code=None+  fusion_set_window_sizing                   FAIL - expected success, got error=Unknown command: set_window_sizing code=None+  fusion_cancel_run                          PASS +  fusion_preflight_lbr                       PASS +  fusion_library_parts                       PASS +  focus_invariance                           PASS+cleanup: this run started Fusion - closing it (fusion_stop)...+  fusion_stop: ok++Section coverage (John's product map, 2026-08-14):+  gui-driving                            6 pass / 9 fail (14 manual, 0 skip)  RED+  cad-3d-bom                             6 pass / 5 fail (2 manual, 0 skip)  RED+  mcp-server                             0 pass / 1 fail (1 manual, 0 skip)  RED+  python-addin                           2 pass / 2 fail (1 manual, 0 skip)  RED+  aps                                    4 pass / 4 fail (11 manual, 0 skip)  RED+  auth-tokens                            2 pass / 0 fail (3 manual, 0 skip)  green+  exports                                0 pass / 0 fail (1 manual, 0 skip)  untested-this-tier+  bridge-lifecycle                       3 pass / 14 fail (13 manual, 0 skip)  RED++23 PASS, 35 FAIL (46 manual-tier, 0 skipped) -> /home/adom/project/adom-desktop-fusion-bridge/tests/reports/verb-test-2026-09-06_1151.json+  FAIL: fusion_apply_fusion_update - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_electronics_query - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_interactive - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_narrate - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_resolve_seat_dialog - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_view - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_describe - verbs described but UNTRIAGED in test plan: ['fusion_load_design_rules']+  FAIL: fusion_get_app_state - expected success, got error=Fusion 360 is installed but not running. code=fusion_not_running+  FAIL: fusion_aps_search - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; expected >0 results+  FAIL: fusion_aps_recent - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; expected >0 results+  FAIL: fusion_aps_browse - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; missing field 'hubs'+  FAIL: fusion_aps_file_info - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; missing field 'versionCount'+  FAIL: fusion_uninstall - expected success, got error=Fusion 360 is installed but not running. (command: uninstall) code=fusion_not_running; missing field 'removed'; missing field 'skipped'; missing field 'dryRun'+  FAIL: fusion_set_seat_takeover - expected success, got error=Fusion 360 is installed but not running. (command: set_seat_takeover) code=fusion_not_running; missing field 'autoTakeOverSeat'+  FAIL: fusion_mcp_status - expected success, got error=Unknown command: mcp_status code=None; missing field 'enabled'+  FAIL: fusion_set_auto_update - expected success, got error=Unknown command: set_auto_update code=None+  FAIL: fusion_assembly_bom - expected a BOM or the budget refusal, got error=Unknown command: assembly_bom code=None+  FAIL: fusion_open_cloud_file - expected success, got error=Project 'Main' not found code=None+  FAIL: fusion_show_schematic - expected success, got error=Switch to schematic failed: 3 : Please open or create an electronics design to c code=None+  FAIL: fusion_show_2d_board - expected success, got error=Switch to 2D board failed: 3 : Please open or create an electronics design to co code=None+  FAIL: fusion_board_info - expected success, got error=No board open (current workspace: Design). Open a .brd file first with fusion_op code=None; missing field 'rawXml'+  FAIL: fusion_execute_text_command - expected success, got error=Text command failed: 3 : No active asset adapter. code=None+  FAIL: fusion_show_3d_board - expected success, got error=Not in Electronics editor (current workspace: Design). Open a .brd board file fi code=None+  FAIL: fusion_inspect_bodies - expected success, got error=Unknown command: inspect_bodies code=None; missing field 'bodies'; missing field 'units'+  FAIL: fusion_physical_properties - expected success, got error=Unknown command: physical_properties code=None+  FAIL: fusion_run_modeling_script#guard - expected errorCode=wrong_document got None (error=)+  FAIL: fusion_assembly_bom#guard - expected errorCode=wrong_document got None (error=Unknown command: assembly_bom)+  FAIL: fusion_state - expected success, got error=Unknown command: state code=None; missing field 'running'+  FAIL: fusion_action_ledger - expected success, got error=Unknown command: action_ledger code=None+  FAIL: fusion_alerts - expected success, got error=Unknown command: alerts code=None; missing field 'alerts'+  FAIL: fusion_verb_times - expected success, got error=Unknown command: verb_times code=None+  FAIL: fusion_live_feed - expected success, got error=Unknown command: live_feed code=None+  FAIL: fusion_prove_result - expected success, got error=Unknown command: prove_result code=None+  FAIL: fusion_set_driving_badge - expected success, got error=Unknown command: set_driving_badge code=None+  FAIL: fusion_set_window_sizing - expected success, got error=Unknown command: set_window_sizing code=None+error: unrecognized subcommand 'issue'++  tip: a similar subcommand exists: 'asset'++Usage: adom-wiki <COMMAND>++For more information, try '--help'.
tests/reports/daily-cron-2026-09-07.logadded+109
@@ -0,0 +1,109 @@+warmup: waking the bridge (unscored)...+  fusion_readiness                           PASS +  fusion_describe                            FAIL - verbs described but UNTRIAGED in test plan: ['fusion_load_design_rules']+  fusion_get_app_state                       FAIL - expected success, got error=Fusion 360 is installed but not running. code=fusion_not_running+  fusion_search_cloud_files                  PASS +  fusion_walk_cloud_tree                     PASS +  fusion_aps_status                          PASS +  fusion_aps_get_browser                     PASS +  fusion_aps_search                          FAIL - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; expected >0 results+  fusion_aps_recent                          FAIL - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; expected >0 results+  fusion_aps_browse                          FAIL - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; missing field 'hubs'+  fusion_aps_file_info                       FAIL - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; missing field 'versionCount'+  fusion_aps_get                             PASS +  fusion_uninstall                           FAIL - expected success, got error=Fusion 360 is installed but not running. (command: uninstall) code=fusion_not_running; missing field 'removed'; missing field 'skipped'; missing field 'dryRun'+  fusion_set_seat_takeover                   FAIL - expected success, got error=Fusion 360 is installed but not running. (command: set_seat_takeover) code=fusion_not_running; missing field 'autoTakeOverSeat'+  fusion_start                               PASS +  fusion_get_preferences                     PASS +  fusion_set_preference                      PASS +  fusion_mcp_status                          FAIL - expected success, got error=Unknown command: mcp_status code=None; missing field 'enabled'+  fusion_set_auto_update                     FAIL - expected success, got error=Unknown command: set_auto_update code=None+  fusion_assembly_bom                        FAIL - expected a BOM or the budget refusal, got error=Unknown command: assembly_bom code=None+  fusion_dismiss_blocking_dialogs            PASS +  fusion_open_cloud_file                     FAIL - expected success, got error=Project 'Main' not found code=None+  fusion_show_schematic                      FAIL - expected success, got error=Switch to schematic failed: 3 : Please open or create an electronics design to c code=None+  fusion_show_2d_board                       FAIL - expected success, got error=Switch to 2D board failed: 3 : Please open or create an electronics design to co code=None+  fusion_board_info                          FAIL - expected success, got error=No board open (current workspace: Design). Open a .brd file first with fusion_op code=None; missing field 'rawXml'+  fusion_execute_text_command                FAIL - expected success, got error=Text command failed: 3 : No active asset adapter. code=None+  fusion_show_3d_board                       FAIL - expected success, got error=Not in Electronics editor (current workspace: Design). Open a .brd board file fi code=None+  fusion_inspect_bodies                      FAIL - expected success, got error=Unknown command: inspect_bodies code=None; missing field 'bodies'; missing field 'units'+  fusion_physical_properties                 FAIL - expected success, got error=Unknown command: physical_properties code=None+  fusion_get_design_info                     PASS +  fusion_get_parameters                      PASS +  fusion_document_info                       PASS +  fusion_run_modeling_script#guard           FAIL - expected errorCode=wrong_document got None (error=)+  fusion_assembly_bom#guard                  FAIL - expected errorCode=wrong_document got None (error=Unknown command: assembly_bom)+  fusion_run_modeling_script                 PASS +  fusion_close_window#noargs                 PASS +  fusion_cleanup_cloud_files#guard           PASS +  fusion_screenshot_fusion                   PASS +  fusion_state                               FAIL - expected success, got error=Unknown command: state code=None; missing field 'running'+  fusion_demo_progress#unknown               PASS +  fusion_action_ledger                       FAIL - expected success, got error=Unknown command: action_ledger code=None+  fusion_addin_status                        PASS +  fusion_alerts                              FAIL - expected success, got error=Unknown command: alerts code=None; missing field 'alerts'+  fusion_verb_times                          FAIL - expected success, got error=Unknown command: verb_times code=None+  fusion_live_feed                           FAIL - expected success, got error=Unknown command: live_feed code=None+  fusion_prove_result                        FAIL - expected success, got error=Unknown command: prove_result code=None+  fusion_set_driving_badge                   FAIL - expected success, got error=Unknown command: set_driving_badge code=None+  fusion_set_window_sizing                   FAIL - expected success, got error=Unknown command: set_window_sizing code=None+  fusion_cancel_run                          PASS +  fusion_preflight_lbr                       PASS +  fusion_library_parts                       PASS +  focus_invariance                           PASS+cleanup: this run started Fusion - closing it (fusion_stop)...+  fusion_stop: ok++Section coverage (John's product map, 2026-08-14):+  gui-driving                            6 pass / 9 fail (14 manual, 0 skip)  RED+  cad-3d-bom                             6 pass / 5 fail (2 manual, 0 skip)  RED+  mcp-server                             0 pass / 1 fail (1 manual, 0 skip)  RED+  python-addin                           2 pass / 2 fail (1 manual, 0 skip)  RED+  aps                                    4 pass / 4 fail (11 manual, 0 skip)  RED+  auth-tokens                            2 pass / 0 fail (3 manual, 0 skip)  green+  exports                                0 pass / 0 fail (1 manual, 0 skip)  untested-this-tier+  bridge-lifecycle                       3 pass / 14 fail (13 manual, 0 skip)  RED++23 PASS, 35 FAIL (46 manual-tier, 0 skipped) -> /home/adom/project/adom-desktop-fusion-bridge/tests/reports/verb-test-2026-09-07_1152.json+  FAIL: fusion_apply_fusion_update - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_electronics_query - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_interactive - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_narrate - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_resolve_seat_dialog - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_view - described but untriaged in tests/run_verb_tests.py+  FAIL: fusion_describe - verbs described but UNTRIAGED in test plan: ['fusion_load_design_rules']+  FAIL: fusion_get_app_state - expected success, got error=Fusion 360 is installed but not running. code=fusion_not_running+  FAIL: fusion_aps_search - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; expected >0 results+  FAIL: fusion_aps_recent - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; expected >0 results+  FAIL: fusion_aps_browse - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; missing field 'hubs'+  FAIL: fusion_aps_file_info - expected success, got error=APS is token_expired — sign in before cloud file operations. code=None; missing field 'versionCount'+  FAIL: fusion_uninstall - expected success, got error=Fusion 360 is installed but not running. (command: uninstall) code=fusion_not_running; missing field 'removed'; missing field 'skipped'; missing field 'dryRun'+  FAIL: fusion_set_seat_takeover - expected success, got error=Fusion 360 is installed but not running. (command: set_seat_takeover) code=fusion_not_running; missing field 'autoTakeOverSeat'+  FAIL: fusion_mcp_status - expected success, got error=Unknown command: mcp_status code=None; missing field 'enabled'+  FAIL: fusion_set_auto_update - expected success, got error=Unknown command: set_auto_update code=None+  FAIL: fusion_assembly_bom - expected a BOM or the budget refusal, got error=Unknown command: assembly_bom code=None+  FAIL: fusion_open_cloud_file - expected success, got error=Project 'Main' not found code=None+  FAIL: fusion_show_schematic - expected success, got error=Switch to schematic failed: 3 : Please open or create an electronics design to c code=None+  FAIL: fusion_show_2d_board - expected success, got error=Switch to 2D board failed: 3 : Please open or create an electronics design to co code=None+  FAIL: fusion_board_info - expected success, got error=No board open (current workspace: Design). Open a .brd file first with fusion_op code=None; missing field 'rawXml'+  FAIL: fusion_execute_text_command - expected success, got error=Text command failed: 3 : No active asset adapter. code=None+  FAIL: fusion_show_3d_board - expected success, got error=Not in Electronics editor (current workspace: Design). Open a .brd board file fi code=None+  FAIL: fusion_inspect_bodies - expected success, got error=Unknown command: inspect_bodies code=None; missing field 'bodies'; missing field 'units'+  FAIL: fusion_physical_properties - expected success, got error=Unknown command: physical_properties code=None+  FAIL: fusion_run_modeling_script#guard - expected errorCode=wrong_document got None (error=)+  FAIL: fusion_assembly_bom#guard - expected errorCode=wrong_document got None (error=Unknown command: assembly_bom)+  FAIL: fusion_state - expected success, got error=Unknown command: state code=None; missing field 'running'+  FAIL: fusion_action_ledger - expected success, got error=Unknown command: action_ledger code=None+  FAIL: fusion_alerts - expected success, got error=Unknown command: alerts code=None; missing field 'alerts'+  FAIL: fusion_verb_times - expected success, got error=Unknown command: verb_times code=None+  FAIL: fusion_live_feed - expected success, got error=Unknown command: live_feed code=None+  FAIL: fusion_prove_result - expected success, got error=Unknown command: prove_result code=None+  FAIL: fusion_set_driving_badge - expected success, got error=Unknown command: set_driving_badge code=None+  FAIL: fusion_set_window_sizing - expected success, got error=Unknown command: set_window_sizing code=None+error: unrecognized subcommand 'issue'++  tip: a similar subcommand exists: 'asset'++Usage: adom-wiki <COMMAND>++For more information, try '--help'.
tests/reports/daily-cron-history.txt+2
@@ -15,3 +15,5 @@ RED 2026-09-02 (exit 1) RED 2026-09-03 (exit 1) RED 2026-09-04 (exit 1) RED 2026-09-05 (exit 1)+RED 2026-09-06 (exit 1)+RED 2026-09-07 (exit 1)
tests/reports/verb-test-2026-09-06_1151.jsonadded+735
@@ -0,0 +1,735 @@+{+ "date": "2026-09-06_1151",+ "target": "AdomLapper",+ "tier": "daily",+ "pass": 23,+ "fail": 35,+ "sections": {+  "bridge-lifecycle": {+   "PASS": 3,+   "FAIL": 14,+   "MANUAL": 13,+   "SKIP": 0+  },+  "gui-driving": {+   "PASS": 6,+   "FAIL": 9,+   "MANUAL": 14,+   "SKIP": 0+  },+  "aps": {+   "PASS": 4,+   "FAIL": 4,+   "MANUAL": 11,+   "SKIP": 0+  },+  "auth-tokens": {+   "PASS": 2,+   "FAIL": 0,+   "MANUAL": 3,+   "SKIP": 0+  },+  "mcp-server": {+   "PASS": 0,+   "FAIL": 1,+   "MANUAL": 1,+   "SKIP": 0+  },+  "cad-3d-bom": {+   "PASS": 6,+   "FAIL": 5,+   "MANUAL": 2,+   "SKIP": 0+  },+  "python-addin": {+   "PASS": 2,+   "FAIL": 2,+   "MANUAL": 1,+   "SKIP": 0+  },+  "exports": {+   "PASS": 0,+   "FAIL": 0,+   "MANUAL": 1,+   "SKIP": 0+  }+ },+ "results": [+  {+   "verb": "fusion_apply_fusion_update",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_electronics_query",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_interactive",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_narrate",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_resolve_seat_dialog",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_view",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_readiness",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_describe",+   "status": "FAIL",+   "why": "verbs described but UNTRIAGED in test plan: ['fusion_load_design_rules']",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_get_app_state",+   "status": "FAIL",+   "why": "expected success, got error=Fusion 360 is installed but not running. code=fusion_not_running",+   "sec": 0.2,+   "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=APS is token_expired \u2014 sign in before cloud file operations. code=None; expected >0 results",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_recent",+   "status": "FAIL",+   "why": "expected success, got error=APS is token_expired \u2014 sign in before cloud file operations. code=None; expected >0 results",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_browse",+   "status": "FAIL",+   "why": "expected success, got error=APS is token_expired \u2014 sign in before cloud file operations. code=None; missing field 'hubs'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_file_info",+   "status": "FAIL",+   "why": "expected success, got error=APS is token_expired \u2014 sign in before cloud file operations. code=None; missing field 'versionCount'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_get",+   "status": "PASS",+   "why": "",+   "sec": 1.6,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_uninstall",+   "status": "FAIL",+   "why": "expected success, got error=Fusion 360 is installed but not running. (command: uninstall) code=fusion_not_running; missing field 'removed'; missing field 'skipped'; missing field 'dryRun'",+   "sec": 2.3,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_seat_takeover",+   "status": "FAIL",+   "why": "expected success, got error=Fusion 360 is installed but not running. (command: set_seat_takeover) code=fusion_not_running; missing field 'autoTakeOverSeat'",+   "sec": 2.2,+   "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": 53.7,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_get_preferences",+   "status": "PASS",+   "why": "",+   "sec": 5.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_set_preference",+   "status": "PASS",+   "why": "",+   "sec": 0.6,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_mcp_status",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: mcp_status code=None; missing field 'enabled'",+   "sec": 0.3,+   "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": "FAIL",+   "why": "expected success, got error=Unknown command: set_auto_update code=None",+   "sec": 0.3,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_assembly_bom",+   "status": "FAIL",+   "why": "expected a BOM or the budget refusal, got error=Unknown command: assembly_bom code=None",+   "sec": 0.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_dismiss_blocking_dialogs",+   "status": "PASS",+   "why": "",+   "sec": 0.7,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_cloud_file",+   "status": "FAIL",+   "why": "expected success, got error=Project 'Main' not found code=None",+   "sec": 188.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_schematic",+   "status": "FAIL",+   "why": "expected success, got error=Switch to schematic failed: 3 : Please open or create an electronics design to c code=None",+   "sec": 0.4,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_2d_board",+   "status": "FAIL",+   "why": "expected success, got error=Switch to 2D board failed: 3 : Please open or create an electronics design to co code=None",+   "sec": 0.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_board_info",+   "status": "FAIL",+   "why": "expected success, got error=No board open (current workspace: Design). Open a .brd file first with fusion_op code=None; missing field 'rawXml'",+   "sec": 0.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_execute_text_command",+   "status": "FAIL",+   "why": "expected success, got error=Text command failed: 3 : No active asset adapter. code=None",+   "sec": 0.9,+   "section": "python-addin"+  },+  {+   "verb": "fusion_show_3d_board",+   "status": "FAIL",+   "why": "expected success, got error=Not in Electronics editor (current workspace: Design). Open a .brd board file fi code=None",+   "sec": 0.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_inspect_bodies",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: inspect_bodies code=None; missing field 'bodies'; missing field 'units'",+   "sec": 0.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_physical_properties",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: physical_properties code=None",+   "sec": 0.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_design_info",+   "status": "PASS",+   "why": "",+   "sec": 0.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_parameters",+   "status": "PASS",+   "why": "",+   "sec": 0.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_document_info",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script#guard",+   "status": "FAIL",+   "why": "expected errorCode=wrong_document got None (error=)",+   "sec": 0.9,+   "section": "python-addin"+  },+  {+   "verb": "fusion_assembly_bom#guard",+   "status": "FAIL",+   "why": "expected errorCode=wrong_document got None (error=Unknown command: assembly_bom)",+   "sec": 0.3,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script",+   "status": "PASS",+   "why": "",+   "sec": 0.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_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": 0.3,+   "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": 2.7,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_state",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: state code=None; missing field 'running'",+   "sec": 0.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_demo_progress#unknown",+   "status": "PASS",+   "why": "",+   "sec": 0.2,+   "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": "FAIL",+   "why": "expected success, got error=Unknown command: action_ledger code=None",+   "sec": 0.3,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_addin_status",+   "status": "PASS",+   "why": "",+   "sec": 0.0,+   "section": "python-addin"+  },+  {+   "verb": "fusion_alerts",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: alerts code=None; missing field 'alerts'",+   "sec": 0.2,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_verb_times",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: verb_times code=None",+   "sec": 0.3,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_live_feed",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: live_feed code=None",+   "sec": 0.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_prove_result",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: prove_result code=None",+   "sec": 0.2,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_driving_badge",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: set_driving_badge code=None",+   "sec": 0.2,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_window_sizing",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: set_window_sizing code=None",+   "sec": 0.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_cancel_run",+   "status": "PASS",+   "why": "",+   "sec": 0.3,+   "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.2,+   "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": "focus_invariance",+   "status": "PASS",+   "why": "",+   "section": "gui-driving"+  }+ ],+ "durationSec": 282.7+}\ No newline at end of file
tests/reports/verb-test-2026-09-07_1152.jsonadded+735
@@ -0,0 +1,735 @@+{+ "date": "2026-09-07_1152",+ "target": "AdomLapper",+ "tier": "daily",+ "pass": 23,+ "fail": 35,+ "sections": {+  "bridge-lifecycle": {+   "PASS": 3,+   "FAIL": 14,+   "MANUAL": 13,+   "SKIP": 0+  },+  "gui-driving": {+   "PASS": 6,+   "FAIL": 9,+   "MANUAL": 14,+   "SKIP": 0+  },+  "aps": {+   "PASS": 4,+   "FAIL": 4,+   "MANUAL": 11,+   "SKIP": 0+  },+  "auth-tokens": {+   "PASS": 2,+   "FAIL": 0,+   "MANUAL": 3,+   "SKIP": 0+  },+  "mcp-server": {+   "PASS": 0,+   "FAIL": 1,+   "MANUAL": 1,+   "SKIP": 0+  },+  "cad-3d-bom": {+   "PASS": 6,+   "FAIL": 5,+   "MANUAL": 2,+   "SKIP": 0+  },+  "python-addin": {+   "PASS": 2,+   "FAIL": 2,+   "MANUAL": 1,+   "SKIP": 0+  },+  "exports": {+   "PASS": 0,+   "FAIL": 0,+   "MANUAL": 1,+   "SKIP": 0+  }+ },+ "results": [+  {+   "verb": "fusion_apply_fusion_update",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_electronics_query",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_interactive",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_narrate",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_resolve_seat_dialog",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_view",+   "status": "FAIL",+   "why": "described but untriaged in tests/run_verb_tests.py",+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_readiness",+   "status": "PASS",+   "why": "",+   "sec": 1.9,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_describe",+   "status": "FAIL",+   "why": "verbs described but UNTRIAGED in test plan: ['fusion_load_design_rules']",+   "sec": 0.1,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_get_app_state",+   "status": "FAIL",+   "why": "expected success, got error=Fusion 360 is installed but not running. code=fusion_not_running",+   "sec": 0.4,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_search_cloud_files",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "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=APS is token_expired \u2014 sign in before cloud file operations. code=None; expected >0 results",+   "sec": 0.1,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_recent",+   "status": "FAIL",+   "why": "expected success, got error=APS is token_expired \u2014 sign in before cloud file operations. code=None; expected >0 results",+   "sec": 0.1,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_browse",+   "status": "FAIL",+   "why": "expected success, got error=APS is token_expired \u2014 sign in before cloud file operations. code=None; missing field 'hubs'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_file_info",+   "status": "FAIL",+   "why": "expected success, got error=APS is token_expired \u2014 sign in before cloud file operations. code=None; missing field 'versionCount'",+   "sec": 0.0,+   "section": "aps"+  },+  {+   "verb": "fusion_aps_get",+   "status": "PASS",+   "why": "",+   "sec": 1.7,+   "section": "auth-tokens"+  },+  {+   "verb": "fusion_uninstall",+   "status": "FAIL",+   "why": "expected success, got error=Fusion 360 is installed but not running. (command: uninstall) code=fusion_not_running; missing field 'removed'; missing field 'skipped'; missing field 'dryRun'",+   "sec": 2.8,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_seat_takeover",+   "status": "FAIL",+   "why": "expected success, got error=Fusion 360 is installed but not running. (command: set_seat_takeover) code=fusion_not_running; missing field 'autoTakeOverSeat'",+   "sec": 2.6,+   "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": 53.0,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_get_preferences",+   "status": "PASS",+   "why": "",+   "sec": 5.8,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_set_preference",+   "status": "PASS",+   "why": "",+   "sec": 0.7,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_mcp_status",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: mcp_status code=None; missing field 'enabled'",+   "sec": 0.5,+   "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": "FAIL",+   "why": "expected success, got error=Unknown command: set_auto_update code=None",+   "sec": 0.4,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_assembly_bom",+   "status": "FAIL",+   "why": "expected a BOM or the budget refusal, got error=Unknown command: assembly_bom code=None",+   "sec": 0.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_dismiss_blocking_dialogs",+   "status": "PASS",+   "why": "",+   "sec": 1.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_open_cloud_file",+   "status": "FAIL",+   "why": "expected success, got error=Project 'Main' not found code=None",+   "sec": 192.2,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_schematic",+   "status": "FAIL",+   "why": "expected success, got error=Switch to schematic failed: 3 : Please open or create an electronics design to c code=None",+   "sec": 1.2,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_show_2d_board",+   "status": "FAIL",+   "why": "expected success, got error=Switch to 2D board failed: 3 : Please open or create an electronics design to co code=None",+   "sec": 2.1,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_board_info",+   "status": "FAIL",+   "why": "expected success, got error=No board open (current workspace: Design). Open a .brd file first with fusion_op code=None; missing field 'rawXml'",+   "sec": 0.9,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_execute_text_command",+   "status": "FAIL",+   "why": "expected success, got error=Text command failed: 3 : No active asset adapter. code=None",+   "sec": 2.5,+   "section": "python-addin"+  },+  {+   "verb": "fusion_show_3d_board",+   "status": "FAIL",+   "why": "expected success, got error=Not in Electronics editor (current workspace: Design). Open a .brd board file fi code=None",+   "sec": 1.3,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_inspect_bodies",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: inspect_bodies code=None; missing field 'bodies'; missing field 'units'",+   "sec": 0.7,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_physical_properties",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: physical_properties code=None",+   "sec": 0.5,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_design_info",+   "status": "PASS",+   "why": "",+   "sec": 0.5,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_get_parameters",+   "status": "PASS",+   "why": "",+   "sec": 0.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_document_info",+   "status": "PASS",+   "why": "",+   "sec": 1.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script#guard",+   "status": "FAIL",+   "why": "expected errorCode=wrong_document got None (error=)",+   "sec": 1.1,+   "section": "python-addin"+  },+  {+   "verb": "fusion_assembly_bom#guard",+   "status": "FAIL",+   "why": "expected errorCode=wrong_document got None (error=Unknown command: assembly_bom)",+   "sec": 0.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_run_modeling_script",+   "status": "PASS",+   "why": "",+   "sec": 2.2,+   "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_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": 0.5,+   "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": 5.0,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_state",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: state code=None; missing field 'running'",+   "sec": 0.5,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_demo_progress#unknown",+   "status": "PASS",+   "why": "",+   "sec": 0.4,+   "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": "FAIL",+   "why": "expected success, got error=Unknown command: action_ledger code=None",+   "sec": 0.5,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_addin_status",+   "status": "PASS",+   "why": "",+   "sec": 0.1,+   "section": "python-addin"+  },+  {+   "verb": "fusion_alerts",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: alerts code=None; missing field 'alerts'",+   "sec": 0.4,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_verb_times",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: verb_times code=None",+   "sec": 0.5,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_live_feed",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: live_feed code=None",+   "sec": 0.5,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_prove_result",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: prove_result code=None",+   "sec": 0.5,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_set_driving_badge",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: set_driving_badge code=None",+   "sec": 0.4,+   "section": "bridge-lifecycle"+  },+  {+   "verb": "fusion_set_window_sizing",+   "status": "FAIL",+   "why": "expected success, got error=Unknown command: set_window_sizing code=None",+   "sec": 0.5,+   "section": "gui-driving"+  },+  {+   "verb": "fusion_cancel_run",+   "status": "PASS",+   "why": "",+   "sec": 0.5,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_preflight_lbr",+   "status": "PASS",+   "why": "",+   "sec": 0.4,+   "section": "cad-3d-bom"+  },+  {+   "verb": "fusion_library_parts",+   "status": "PASS",+   "why": "",+   "sec": 0.4,+   "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": "focus_invariance",+   "status": "PASS",+   "why": "",+   "section": "gui-driving"+  }+ ],+ "durationSec": 306.0+}\ No newline at end of file