Parent sprint: #87
Depends on: #88, #89, #90, #91, #92
Recommended order: 6
Codex-ready: yes
Goal
Add small canonical SBOL2 fixture documents for software tests of indexing, selection, assembly-artifact generation, and transformation/plating boundaries.
Background
The current implementation needs known-good local SBOL fixtures before debugging higher-level behavior. Without deterministic fixtures, failures may come from malformed SBOL, missing implementations, inconsistent roles, missing fusion-site metadata, or missing antibiotic metadata rather than from BuildCompiler logic.
Scope
Create minimal fixtures under a path such as:
Fixtures should cover:
- a complete local inventory fixture sufficient for lvl1 route-selection tests;
- a minimal design fixture that references the inventory fixture;
- an incomplete inventory fixture for missing-input/audit tests;
- a metadata-defect fixture for audit diagnostics.
Requirements
- Fixtures are local/offline and load with
sbol2.Document().read(...) or an equivalent helper.
- Fixture identities and display IDs are deterministic.
- Fixture structure matches current BuildCompiler indexing expectations.
- Add small fixture-loader helpers if helpful.
Non-goals
- Do not use live SynBioHub.
- Do not add large real-world inventory dumps.
- Do not add PUDU or Opentrons dependencies.
- Do not add wet-lab protocol instructions.
Acceptance criteria
Verification
pytest -k "fixture or sbol or index"
ruff check .
Codex implementation notes
Keep fixtures minimal. The goal is deterministic software regression coverage, not realistic experimental design.
Parent sprint: #87
Depends on: #88, #89, #90, #91, #92
Recommended order: 6
Codex-ready: yes
Goal
Add small canonical SBOL2 fixture documents for software tests of indexing, selection, assembly-artifact generation, and transformation/plating boundaries.
Background
The current implementation needs known-good local SBOL fixtures before debugging higher-level behavior. Without deterministic fixtures, failures may come from malformed SBOL, missing implementations, inconsistent roles, missing fusion-site metadata, or missing antibiotic metadata rather than from BuildCompiler logic.
Scope
Create minimal fixtures under a path such as:
Fixtures should cover:
Requirements
sbol2.Document().read(...)or an equivalent helper.Non-goals
Acceptance criteria
Verification
Codex implementation notes
Keep fixtures minimal. The goal is deterministic software regression coverage, not realistic experimental design.