Skip to content

Demo Release

Latest

Choose a tag to compare

@GeorgDaniel GeorgDaniel released this 03 Nov 12:24
178a0ae

Highlights

  • Expanded the enrichment toolchain for the Köln demo: signed arithmetic, array-based basis/angle encodings, richer measurement handling, and Qiskit-backed state preparation with GHZ/W/Bell presets (app/enricher/encode_value.py, app/enricher/operator.py, app/enricher/qiskit_prepare.py).
  • Introduced first-class request metadata and payload persistence, plus automated database migrations so existing installs pick up the new schema on startup (app/db_migrations.py, app/services.py).

Added

  • Qiskit prepare-state strategy with optional dependency detection and sample scripts for GHZ, W, Bell, and uniform states (scripts/qiskit-enrichment/*).
  • Signed basis addition requests, angle-array encoders, and associated fixtures/tests covering negative inputs and mixed encodings (tests/enricher/test_encode_value.py, scripts/basis_signed_addition_request.json).
  • Schema migrations that add the compilation target, request metadata, and raw payload storage to the persistence layer (app/db_migrations.py).
  • QISKIT_COMPAT_MODE environment toggle for Qiskit-friendly post-processing (.env.template).

Changed

  • Refactored encode/measure/operator components to share normalization utilities, clamp bounds consistently, and expose richer metadata (app/enricher/utils.py, app/enricher/measure.py).
  • Reworked CompileRequest models to cover new node types, data coercion, and validation rules used by the workflow pipeline (app/model/CompileRequest.py).
  • Updated pre-processing (IO parsing, size casting) to cope with signed integers and the expanded node vocabulary (app/transformation_manager/pre/*).
  • main.py now stores original request payloads, propagates optimization metadata, and resolves the active compilation target per processor.

Fixed

  • Stabilized addition workflows with signed inputs and enforced measurement index validation, ensuring enrichment succeeds for demo scenarios (app/enricher/operator.py, app/transformation_manager/pre/io_parser.py).
  • Normalized basis and angle encodings so array inputs retain ordering and normalization across the enrichment stack (app/enricher/encode_value.py).

Docs & Examples

  • README updates plus a scripts README that documents the new demo requests and helpers (scripts/README.md).

Upgrade Notes

  1. Pull the release and run uv sync to pick up pinned dependencies (install qiskit ≥ 2.0 if you need the new prepare-state enrichment).
  2. Ensure the application can apply the bundled migrations on startup; otherwise run app/db_migrations.apply_migrations manually against your database.
  3. Set QISKIT_COMPAT_MODE in your environment when Qiskit-aligned output is required.