Skip to content

Make surface JIT DEM boundary providers data-driven #751

Description

@qciaran

Follow-up from #664 and its review.

The PR now shares boundary placement and canonical two-patch coordinate translation across the H, CX, and mixed H/CX providers. The remaining providers still encode eligibility checks, fixture selection, output routing, coordinate placement, schedule construction, and fallback decisions in separate methods. Adding a logical-gate family therefore still risks copying a substantial amount of orchestration code.

Acceptance criteria:

  • Define a typed boundary-family/provider description covering eligibility, canonical fixture keys, template selection, detector placement, GF(2) output routing, and exact-compile fallback conditions.
  • Migrate the H, CX, and mixed H/CX providers without changing their bounded cache keys or observable-reliability behavior.
  • Share schedule construction and common validation while keeping gate-specific physical template compilation explicit.
  • Ensure the assembled-circuit output schema remains the independent authority rather than provider-local reliability rules.
  • Add table-driven tests for one and repeated boundaries, mixed schedules, coordinate relocation, incompatible geometries, and fallback cases.
  • Document the minimum implementation required to register a new logical Clifford boundary family and measure the resulting code reduction.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestrustPull requests that update rust codeseverity:lowCosmetic, docs, or rare edge case

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions