Notion task: https://app.notion.com/p/39f1a3339dcb81b79b6cdfd8f35d0522
Parent epic: #111
Notion program: https://app.notion.com/p/39f1a3339dcb818ea29eec44007d8e6e
Temporary ID: BC-01
Release: R2 Planning Preview
Dependencies: BuildCompiler #88, #89, #91, #95
Codex-ready: yes after dependencies are satisfied
Goal
Make buildcompiler.api.BuildCompiler.from_synbiohub load authenticated collection inventory and resolve missing identities without importing the legacy BuildCompiler class.
Expected files/modules
src/buildcompiler/api/compiler.py
src/buildcompiler/inventory/
src/buildcompiler/sbol/resolver.py
tests/unit/api/
tests/integration/
Scope
- Accept collections, sbh_registry, auth_token, sbol_doc, and options.
- Reuse clean inventory/resolver boundaries and existing indexing work.
- Use token-only authentication; keep email/password outside BuildCompiler.
- Add mocked PartShop and optional live-token tests.
Non-goals
- Do not preserve the legacy constructor signature.
- Do not require PUDU/Opentrons.
- Do not store credentials.
Acceptance criteria
Verification
- uv run --extra test pytest tests/unit tests/stages tests/integration -q
- ruff check and format check on clean modules.
Risks and review
- Risk tags: security, cross-repo-contract, biological-semantics
- Human checkpoint required: yes
- Treat AI-generated changes as unreviewed until tests and human review pass.
Codex handoff
Implement as one focused PR. Begin by verifying dependencies and current repository state. Preserve unrelated work. Report implemented behavior, tests, commands, assumptions, and blockers.
Notion task: https://app.notion.com/p/39f1a3339dcb81b79b6cdfd8f35d0522
Parent epic: #111
Notion program: https://app.notion.com/p/39f1a3339dcb818ea29eec44007d8e6e
Temporary ID:
BC-01Release: R2 Planning Preview
Dependencies: BuildCompiler #88, #89, #91, #95
Codex-ready: yes after dependencies are satisfied
Goal
Make buildcompiler.api.BuildCompiler.from_synbiohub load authenticated collection inventory and resolve missing identities without importing the legacy BuildCompiler class.
Expected files/modules
src/buildcompiler/api/compiler.pysrc/buildcompiler/inventory/src/buildcompiler/sbol/resolver.pytests/unit/api/tests/integration/Scope
Non-goals
Acceptance criteria
Verification
Risks and review
Codex handoff
Implement as one focused PR. Begin by verifying dependencies and current repository state. Preserve unrelated work. Report implemented behavior, tests, commands, assumptions, and blockers.