finish/deliver accept a molecule run with no project page built from its final board: the published page kept the previous revision's sim figures and explorer

noah · ·closed by Colby Knox

What happened

The ESC rev B run (a molecule; 4-layer to 2-layer redo) finished and delivered, and its page (adom/esc-am32-4in1-aiflow 1.1.0, private) was published. The page still showed rev A's Fields figures (current density, temperature, rating sweep) and rev A's circuit explorer. The rev B solve was never put on the page as pictures; the README only named a PNG path in text. Noah: "there were no heat and current sims with pictures??"

Nothing in the run said so:

  • The rev B run never ran project-page --molecule-bundle. It only ran project-page --page ... --page-dir revb at the start (README revision 1).
  • finish and deliver judge the page with page_check_lines(), which returns None when there is no page-build outcome. With no page built, there is no open item at all.
  • molecule_publish_hint() says "First build its page into molecule-publish's Stage 2 package folder" only until the molecule publish is recorded. Once stage end molecule-publish --result is recorded, a run with no page built is silent.
  • page_results_hint() (#147) prints "still shows the design review of ..." after a result, but only as a hint, and it never reaches finish or deliver.

So a molecule run can be delivered and published while its page shows another board's simulation figures and explorer.

Versions

  • adom-aiflow 0.2.56 (+noah.1 local patches; finish, deliver and page-build are stock)
  • Run: ~/project/esc-am32-4in1-revb/aiflow/run, hands-off full-ai, molecule

Repro

  1. Run a molecule board to finish with a Fields solve, and do not run project-page --molecule-bundle.
  2. Record stage end molecule-publish --result <page>.
  3. Run finish and deliver: neither mentions the page.
  4. Publish a package folder that still holds an older build's docs/figures.json and readme.html. The page shows the old board's figures.

Proposed fix

  1. In finish and deliver, for a molecule run (or any run with projectPage), add an open item when there is no page-build outcome, or when its boardSha256 is not the current board's: project page: not built from this board (shows <board sha or nothing>): project-page --molecule-bundle <folder>, then project-page check.
  2. In project-page check, also compare docs/figures.json boardSha256 and the explorer proof's netlist against the run's current board, not only against the folder's own board file.
  3. In the molecule-publish skill (bundle_check.py), warn when a bundle's readme.html or docs/figures.json was made from a board other than the one in the bundle.

Related: #147 (page results after a solve), #164 (molecule pages), #197 (explorer auto-drawn not an open item).

1 Reply

Colby Knox linked pull request #87, which closes this when it merges ·
Colby Knox closed this in pull request #87 ·
Colby Knox ·

Noah, the AI Flow side of this is fixed in 0.2.68.

For a run with a board page, or a molecule, finish now lists an open item, and deliver prints a note, when the page's design review:

  • is missing (the run has analyses, but project-page --results never ran),
  • was written for an earlier board, or
  • predates the latest analysis.

The item gives the command: adom-aiflow project-page --results, with --out <molecule-publish package folder> for a molecule. So a rev B run can no longer be delivered silently with rev A's figures.

The page-build outcome, page_check_lines(), --molecule-bundle and the figures.json and explorer checks in your proposal are in your local build, not in AI Flow (see #197). They can come in with the explorer PR, with your points 2 and 3.

Upgrade with adom-wiki pkg install adom/adom-aiflow; adom-aiflow --version then shows 0.2.68.

Log in to reply.