Skip to content

fix: drop unsupported subsystem_levels kwarg from build_problem calls#1

Open
aarontrowbridge wants to merge 1 commit intomainfrom
stretto/drop-subsystem-levels-kwarg
Open

fix: drop unsupported subsystem_levels kwarg from build_problem calls#1
aarontrowbridge wants to merge 1 commit intomainfrom
stretto/drop-subsystem-levels-kwarg

Conversation

@aarontrowbridge
Copy link
Copy Markdown
Member

Summary

Piccolo's SplinePulseProblem does not accept a subsystem_levels kwarg — the info is already carried by the EmbeddedOperator goal attached to the trajectory. Stretto was passing this kwarg in two call sites (compile_block and _compile_block_with_strategy), so any end-to-end run through the Piccolo API threw:

MethodError: no method matching SplinePulseProblem(...; ..., subsystem_levels=[3,3])
got unsupported keyword argument "subsystem_levels"

This was masked from CI because compile_block integration tests were sentinel-instrumented at commit a3a8e6e to never reach the solve. The failure surfaced once the Strettissimo v0.1 suite exercised the full pipeline end-to-end on a patched Piccolo.

Changes

  • src/compile.jl — drop subsystem_levels = sys.subsystem_levels from both build_problem(...) call sites.

Test plan

  • Validated via Strettissimo v0.1 integration suite (requires Piccolo PR #144 merged or dev-checked-out): 8/8 PASS, 5m46s.
  • No other call sites reference the removed kwarg.
  • Stretto's own CI should remain green (no behavior change for existing callers since the kwarg was simply being silently rejected, not consumed).

Dependencies

  • Full pipeline validation requires Piccolo PR #144 (AbstractQuantumSystem parity for CompositeQuantumSystem) to be merged and released (or dev-checked-out). This Stretto-side change is independent and non-breaking on its own — merging it before Piccolo #144 doesn't change Stretto's observable behavior (the kwarg was never being consumed).

🤖 Generated with Claude Code

Piccolo's `SplinePulseProblem` does not accept a `subsystem_levels` kwarg;
the required information is already carried by the `EmbeddedOperator` goal
that lives on the trajectory. Stretto was passing this kwarg in two places
(`compile_block` and `_compile_block_with_strategy`), causing
`SplinePulseProblem` to throw `MethodError: ... got unsupported keyword
argument "subsystem_levels"` once the upstream composite-system path was
correctly exercised end-to-end.

Validated against the Strettissimo v0.1 integration suite (2Q H→CZ + 3Q
Toffoli full compile_block runs) — 8/8 PASS, 5m46s.

Depends on Piccolo PR #144 (AbstractQuantumSystem parity for
CompositeQuantumSystem) for the full pipeline to run to Ipopt; this
Stretto-side change is independent and non-breaking on its own.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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