Skip to content

Validate repetition parsing and Rydberg pulse semantics - #1

Open
LissanKoirala wants to merge 1 commit into
PrabhavD:mainfrom
LissanKoirala:agent/validate-repetition-and-rydberg-pulses
Open

Validate repetition parsing and Rydberg pulse semantics#1
LissanKoirala wants to merge 1 commit into
PrabhavD:mainfrom
LissanKoirala:agent/validate-repetition-and-rydberg-pulses

Conversation

@LissanKoirala

Copy link
Copy Markdown

Summary

  • validate repetition encoders sequentially so reconvergent and out-of-order CX graphs are rejected
  • reject reset and post-boundary CX gates that can mutate the data register
  • guard global Rydberg pi pulses against interaction strengths that invalidate the independent-atom X approximation
  • reject zero-ramp Braket drives that cannot start and end at zero
  • update the documented backend example and changelog

Root cause

The parser inferred an encoder from graph roots and unique target names without checking whether each CX copied from an already encoded qubit onto a fresh target. It also treated reset and every post-boundary CX as removable.

The emitters scheduled zero-detuning global pi pulses without comparing C6 / r^6 with the Rabi amplitude. At the previous documented 4 um spacing, Pulser simulation showed that the logical-one pulse did not prepare the requested 111 product codeword. Braket also allowed a zero-ramp segment whose deduplicated time series began and ended above zero.

User and API impact

  • malformed circuits now fail with CircuitNotSupportedError instead of producing non-equivalent pulse IR
  • Pulser reads C6 from the selected device and Braket reads backend["interaction_coeff"] in rad/s * m^6
  • emitters enforce max(C6 / r^6) / Omega <= 0.01 by default
  • allow_interacting=True remains available for explicitly non-equivalent exploratory schedules and emits a warning
  • active Braket programs require a positive ramp

Validation

  • pytest -q (103 tests, including a Pulser state-simulation regression)
  • ruff check src tests
  • ruff format --check src tests
  • python -m build
  • twine check dist/*

@LissanKoirala
LissanKoirala marked this pull request as ready for review August 19, 2026 17:12
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