Closed bug report

schematic_run on 1.13.47: the seed embeds an empty 3_005_Library_Main, so the first ADD fails with the assetAdded assert

Andy Engevold · 11d ago ·closed by Colby Knox

Summary

This is a follow-up to #135. On fusion-bridge 1.13.47 with AI Flow 0.2.30, a fresh run of the whole 3.005 flow gets through the library build and the seed. It then fails on the very first ADD of the schematic stage. The library now has line breaks between its elements, so that's no longer the cause. The reply shows that Fusion never loaded the library through USE.

Setup (Oct 31, 2026, times CT)

  • fusion-bridge 1.13.47 (public) and AI Flow 0.2.30, which it updated to on its own.
  • Fusion 2706.1.14, freshly restarted with no dialogs open before the run.
  • A clean run of the AI Flow chain: library, then seed, then schematic.

What happened

  1. The library step passed. 3_005_Library_Main.lbr was regenerated at 3:52 PM with line breaks and 0 back-to-back elements.

  2. The seed step passed.

  3. fusion_schematic_run, group wireless_rx: the first ADD (L1, WE-760308101208_LAP@3_005_Library_Main) failed at 3:52 PM:

    ADD of L1 did not land: Fusion found no such device in 3_005_Library_Main (Fusion did not take it from the .lbr loaded with USE).

    The deviceset WE-760308101208_LAP is in the file at line 2412.

  4. The reply fields were:

    • errorCode: fusion_assert, with the inner error add_failed
    • fusionAsserts: one entry, "PlacePartWorker.cpp, Line 23. Condition: assetAdded"
    • libraryReformatted: false
    • libraryFrom: use
    • librariesHeld: [] (empty)
  5. The bridge clicked OK on the assert itself, and the run stopped cleanly with no approval prompt. That part of the 1.13.47 fix works.

What this points to (read-only checks of the run reply)

  • No USE was sent. The wireless_rx command list has no USE command, even though the reply says libraryFrom: use.
  • The seed's embedded library is empty. Seed.sch embeds a library named 3_005_Library_Main with 0 devicesets. ADD goes to that empty copy, which explains "no such device", and the assert fires on that failed ADD.
  • A freshly rebuilt seed is empty too. We deleted the old seed, and AI Flow 0.2.30 rebuilt it at 4:06 PM. Seed.sch again embeds 3_005_Library_Main with 0 devicesets (4,528 bytes, the same as before), and Seed.brd has 0 packages. So the empty seed isn't a stale file; it's what the seed step produces when the run has 0 fixed parts.
  • Fixing a part doesn't help. With one part fixed (U3, the BC832), the rebuilt seed embedded only that part, 1 of the library's 36 devicesets. So the seed embeds only the fixed parts, never the whole library, and the schematic run never sends a USE for the full library. Any part that isn't fixed can't be added.
  • The log can't show which document was used. The import and the failed ADD both just say "Untitled", and 5 Untitled documents were open.
  • The run's own hint says fusion_board_seed embeds the whole library, but here it embedded none of it.

Ask

  1. fusion_board_seed should embed the whole library, or schematic_run should actually send USE when the design's copy is missing devices.
  2. With 0 fixed parts, the seed should still embed the whole library, or not create an empty library with the same name.
  3. The reply should report libraryFrom correctly.

Your passing run on #135 may have loaded the library some other way, so it would help to know how. We can send the run folder (run-01-wireless_rx.json, import.json and the seed files) if that helps reproduce it.

Related: #135 (open), adom/adom-aiflow#114 (closed). A screenshot of the assert is attached.

assetAdded-assert-1.13.47

7 Replies

Andy E · 10d ago

## Independent repro on a minimal 4-part board (same failure)

A separate agent ran a from-scratch AI Flow test on a generic board with four parts (ATtiny85 SOIC-8, SMD tact switch, CR2032 SMD holder, 0603 LED) and no fixed parts. It hit the same empty-seed problem, so this isn't specific to our project or board.

Versions: AI Flow 0.2.30, adom-bridge CLI 2.1.185, Fusion bridge 1.13.47, add-in 1.0.30 (expected 1.0.30), Fusion 2706.1.17.

What happened

  • The library step was OK with 4 parts. 3D binding failed for all 3 bindable parts: No project named Main in this Autodesk hub, so nothing was saved.
  • The seed embedded library was empty: 0 of 4 parts (an empty AIFlow4PartTest library in both Seed.sch and Seed.brd; the import reply had partsExpected: 0).
  • adom-aiflow fusion schematic failed in the design import (runId 1a8263ae7a4), after the seed and before any ADD: The 'sch' Open dialog never appeared. The import start reply had needsApproval: true.
  • But Fusion's native Open dialog was on screen (empty file name, in Documents) and stayed open after the step failed. Fusion then answered main_thread_busy. Screenshot attached.
  • USE: the step never reached fusion_schematic_run. AI Flow sends no USE itself (it passes libraryPath to the bridge).

Approval timing out: a request_shell_approval sent at 15:15:07Z timed out unanswered at 15:27:08Z (granted:false, status:timeout; shell status autoApproved:false, willPrompt:true). In our own rerun (run 1a824c6e8ca), the approval request for the Open dialog came back as a 504 "ab loopback API unreachable". In both runs the approval stall comes before the empty-seed ADD failure can show up.

agwatch_0933

Andy E · 10d ago

We are holding off on approving a rerun of the 3.005 import until a fix ships, since the empty seed would just make L1 fail again.

Colby Knox marked this in progress · 10d ago
Colby Knox · 10d ago

Thanks for the detail, Andy. fusion-bridge 1.13.49 is public and fixes the Open dialog problem. The assetAdded failure on L1 isn't fixed yet: I can't reproduce it without your library file, so could you attach it?

Please attach: 3_005_Library_Main.lbr and the run folder you offered (run-01-wireless_rx.json, import.json, the seed files).

The L1 failure. I couldn't make it happen on our test laptop (Fusion 2706). An empty seed isn't the cause: with 0 fixed parts, the import and the ADDs that follow all work. These made no difference either:

  • a library name starting with a digit
  • a 3D model Fusion can't resolve
  • a 46-part library
  • a freshly started Fusion
  • several Untitled documents open

libraryFrom: use was correct. The bridge sends USE itself, so it doesn't show in your command list; the reply now names the file as libraryLoaded.

I did find two more file formats that make Fusion's ADD raise this same error: a UTF-8 byte-order mark at the start of the file, and attributes in single quotes. 1.13.49 cleans both up before loading the library. If either is in your file, the reply will say libraryReformatted: true and L1 should go in. Your earlier reply said false, but that build didn't check for these two, so it's worth one rerun.

"The 'sch' Open dialog never appeared." Your screenshot shows it did. Most likely it appeared after the bridge's 90-second wait, with nothing left to fill or close it, so it stayed on your screen and blocked Fusion. In 1.13.49:

  • The import waits up to 5 minutes for the dialog.
  • If it still gives up, it closes a late dialog for the next 10 minutes, so one can't stay on your screen. I tested that case live.
  • If it can't reach Adom Bridge, it stops before opening any dialog.
  • If the wait for your Approve click breaks (your 504), it keeps checking for the approval for the rest of the 5 minutes.

The import still needs you to click Approve in Adom Bridge or Hydrogen when it asks, unless Auto is on.

"No project named Main." That's AI Flow's default project name, and your Autodesk hub doesn't have a project called Main. I've told the AI Flow team. Until they change it, pass one of your own projects: adom-aiflow fusion library --project "<your project>".

To rerun: update the Fusion bridge to 1.13.49, close any leftover empty Untitled documents, then run it again. A seed with 0 fixed parts now writes no library at all, instead of an empty one with your library's name.

Andy E · 10d ago ·edited

Colby, I've taken the files off this reply because they include proprietary Tacstix design data. I'm sending them to you privately instead.

A quick check of the .lbr: it starts with <?xml (no UTF-8 byte-order mark) and has no single-quoted attributes, so neither of the two cases 1.13.49 cleans up seems to apply. We're updating to 1.13.49 and rerunning anyway (with our own --project), and will post the result here.

Colby Knox · 9d ago

Andy, thanks for sending the library. We found the cause of the L1 failure, and the fix is public: fusion-bridge 1.13.52 and AI Flow 0.2.40.

What was wrong. When two parts share a footprint, the library build merges them into one package, but AI Flow still wrote a 3D entry naming the package that had been merged away. Your library had 11 of those entries. A single one makes Fusion raise assetAdded on every ADD, whichever part you're adding, which is why L1 failed even though it has no 3D model of its own. Your file's format was fine, and so were the seed and your commands.

What we tested. On our test laptop (Fusion 2706.1.14) your original library failed exactly as you reported. On 1.13.52:

  • your full wireless_rx command list ran: all 27 parts in, no Fusion error, no dialog
  • each of the library's 36 parts adds

That's one group plus each part on its own. I don't have your other groups, so the rest of the schematic and the board steps are yours to confirm. Your library and files are deleted from the test laptop, and nothing of yours went on the wiki.

What to try next, once your PC is back online:

  1. Update both: AI Flow to 0.2.40 and the Fusion bridge to 1.13.52. The bridge update includes a new add-in, so Fusion needs one restart; save your open documents first.
  2. Clear the seat dialog. "Active Sessions Exceeded" means your Autodesk account is active on another machine. You don't have to answer it yourself: ask your AI to run fusion_claim_seat. That makes this PC the active seat, and Fusion on the other machine suspends and keeps its documents, so check nobody is working there first. Adom Bridge will ask for your OK, so click Approve in Adom Bridge or Hydrogen, or turn on Auto. Your run most likely stopped here because that click needs approval, and the bridge wasn't telling you. 1.13.52 raises the prompt and says so. I couldn't test that prompt on our laptop, so if it still sits at the dialog, please paste the fusion_claim_seat reply.
  3. Run adom-aiflow fusion library again, with your --project. It rewrites the library without those entries and keeps the 3D models you've already built, so nothing is rebuilt.
  4. Run the schematic step. The import will ask for Approve too. If you don't click it within about 2 minutes, that's fine: it keeps waiting for up to 5.

If a part still fails, please send that run's run-01 reply privately.

One limit you may never meet: Fusion won't place a part more than about 1.97 m along X (or somewhere between 1.9 and 2.1 m along Y), and it reports that as "no such device". Your wireless_rx group is about 1.3 m wide. If a wider group fails that way on a part you know is in the library, that's the reason. The bridge will refuse it clearly in a later build.

Andy Engevold · 8d ago

Retested on Fusion Bridge 1.13.59 and AI Flow 0.2.40+. The empty-seed and L1 failure is fixed: there were no PlacePartWorker asserts or ADD failures, and the 504s stopped once approval was set to automatic. I'm fine with closing this one. The remaining problems are filed separately.

Colby Knox · 8d ago

Thanks for confirming, Andy. Closing this one. #137 is in progress.

Colby Knox closed this · 8d ago

Log in to reply.