Skip to content

[ISSUE-04] Add BuildCompiler API skeleton #56

@Gonza10V

Description

@Gonza10V

Parent: #52
Depends on: #53, #54, #55
Wave: 1

Goal

Add the new public API skeleton for the clean-architecture compiler without implementing real planning/execution behavior yet.

Scope

  • Add buildcompiler.api exports.
  • Add BuildCompiler with lightweight dependency-injected constructor.
  • Add BuildCompiler.from_synbiohub(...) placeholder or minimal factory boundary without constructor-driven indexing.
  • Add plan(...), execute(...), and convenience full_build(...) entry points with explicit placeholder behavior where downstream components are not implemented.
  • Add import tests.

Non-goals

  • Do not implement full planner/executor behavior.
  • Do not preserve legacy public signatures.
  • Do not import optional automation dependencies from API import paths.

Acceptance criteria

  • from buildcompiler.api import BuildCompiler succeeds.
  • from buildcompiler.api import full_build succeeds.
  • BuildCompiler.__init__ is lightweight and dependency-injected.
  • from_synbiohub is the only place reserved for automatic collection indexing.
  • Tests assert API imports do not load PUDU/Opentrons/SBOLInventory.

Verification

Run API/domain tests, import smoke tests, and Ruff.

Codex handoff

Keep this skeletal and contract-focused. Real behavior belongs to planner/executor issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions