Skip to content

full build workflow and demonstration#106

Merged
Gonza10V merged 5 commits into
mainfrom
full_build
Jul 12, 2026
Merged

full build workflow and demonstration#106
Gonza10V merged 5 commits into
mainfrom
full_build

Conversation

@Gonza10V

Copy link
Copy Markdown
Contributor

No description provided.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: adfa3767b7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

overwrite: bool,
) -> list[Any]:
try:
products = list(self.domestication(parts))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Index domesticated products before retrying assembly

When full_build uses the recovery path for a failed level-1 assembly, this call generates domesticated plasmids but only keeps the returned ComponentDefinitions. The subsequent retry in _attempt_lvl1_then_domesticate still calls _run_one_lvl1_design, whose _construct_plasmid_dict searches only self.indexed_plasmids, so the newly domesticated part is invisible and recovery fails even though domestication succeeded. Index or wrap the returned domestication products as plasmid routes before retrying assembly.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codex good catch, plasmids have to be reindexed as they are created on the workflow so they are ready to use for new attempts of assembly. Please fix the described issue.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

Testing

  • python -m pytest tests/test_full_build.py tests/integration/test_missing_lvl1_then_domestication.py -q
  • python -m pytest -q

Committed changes:

  • a352cbbIndex domesticated plasmids before assembly retry

Created PR:

  • Index domesticated plasmids before retrying assembly

View task →

Comment thread src/buildcompiler/buildcompiler.py Outdated
transformations_to_pudu_json(
strain_identities=strain_ids,
chassis_identities=[chassis for _ in strain_ids],
plasmid_sets=[products for _ in strain_ids],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Pair each transformed strain with its own plasmid

When a transformation batch contains multiple products, strain_ids has one entry per transformed strain but plasmid_sets=[products for _ in strain_ids] attaches the entire product list to every strain. This makes transformation_pudu_input.json instruct PUDU to transform each strain with all products instead of the corresponding single plasmid, producing invalid protocols for multi-product level-1/combinatorial builds. Build one plasmid set per product/strain pair instead.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codex good catch, please solve this issue.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

  • Updated full-build PUDU transformation artifact generation so each transformed strain is paired with its corresponding single plasmid product when product and strain counts match. src/buildcompiler/buildcompiler.pyL1723-L1730
  • Added _plasmid_sets_for_transformed_strains to preserve the prior fallback behavior for mismatched counts while fixing the one-product-per-strain path. src/buildcompiler/buildcompiler.pyL1781-L1787
  • Added a regression test that verifies multi-product transformation JSON writes one plasmid per transformed strain instead of all products for every strain. tests/test_full_build.pyL226-L272

Testing

  • python -m pytest tests/test_full_build.py -q
  • git diff --check
  • python -m pytest -q

Committed changes:

  • 7629793Pair transformed strains with individual plasmids

Created PR:

  • Pair transformed strains with their plasmids

View task →

@Gonza10V Gonza10V merged commit 4c3691a into main Jul 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant