The map, not the expedition
Selene + Guppy is a coherent Python → quantum runtime. Here is the territory this repo has touched, and the territory it hasn't.
Four axes. Twelve concrete directions. Each card has its own page with motivation, kernel sketch, predicted outcome, and the refutation criterion that would kill it — in the same shot-budget vocabulary the existing G1 / G2 / G3 pages use.
What we've already proven
10 kernels in repo| Kernel | Selene / Guppy feature stressed | JSON |
|---|---|---|
| qtda_vietoris_rips | SWAP test, CSWAP ancilla, amplitude encoding, 28 pair runs | qtda.json |
| nadarasa.modal_projector | Single mid-circuit measurement (P_{p,s₀}) | nadarasa.json |
| nadarasa_g1.coset_qft | Coset-state QFT readout, per-qubit controlled phase, residue histogram | nadarasa_g1.json |
| nadarasa_g2.two_window | Mid-circuit measure + reset glue, ancilla reuse across windows | nadarasa_g2.json |
| nadarasa_g3.birthday | Same coset kernel, host-side Birthday post-processor | nadarasa_g3.json |
| nadarasa_g4.feed_forward | Real Guppy `if measured: rz(...)` — verified | nadarasa_g4.json |
| nadarasa_g5.recycling | Ancilla slot recycling via mid-circuit measure — verified | nadarasa_g5.json |
| nadarasa_g6.encoded_parity | GHZ-encoded ancilla — code-subspace leak under naive probe | nadarasa_g6.json |
| nadarasa_g7.kernel_fusion | Host-fusion 3.47× speedup; entry-point args blocked | nadarasa_g7.json |
| shor / qsvt smoke | QFT, modular exp, QSP phase sequence — toolchain verification | shor.json, qsvt.json |
See /selene-notes for qubit counts, ancilla patterns, and shot counts per kernel.
Runtime — frontier
3 directionsSelene capabilities we haven't asked the runtime to do yet — true feed-forward, qubit recycling, error-detection patterns.
Real feed-forward, not measure-and-reset glue
VerifiedBranch a Guppy gate on a mid-circuit measurement outcome instead of faking it with measure-and-reset.
Dynamic qubit allocation across windows
VerifiedUse explicit discard + re-`qubit()` so a k-window sieve runs in O(log N) live qubits, not O(log N)·k.
Repetition-code error detection on the ancilla
VerifiedEncode the parity ancilla as a 3-qubit repetition code; majority-vote on readout. Zero-noise baseline for a future noise model.
Compilation — frontier
3 directionsThe Python → Guppy driver layer. Three nearly-identical drivers today; wide-open surface area for a real compilation discipline.
Parameter sweep as a first-class object
VerifiedOne `SweepRunner(params, kernel_template, post_process)` driver replaces the hand-rolled loops in g1.py + g3.py.
JSON-as-IR: a versioned selene_run schema
VerifiedOne schema (kernel snippet, qubits, shots, records, metrics) so a single <SeleneRun /> renders every future experiment.
Kernel fusion across slopes
VerifiedCompile once; parameterize angles per-shot via Guppy comptime constants. Cuts G3 wall-clock from minutes to seconds.
Primitive — frontier
4 directionsAlgorithm building blocks Guppy expresses cleanly but we haven't built. Unlocks every downstream demo for free.
QSP / QSVT phase-sequence library
VerifiedCompute phases from a target polynomial; run the sequence on Selene; verify against classical Chebyshev.
Block-encoding via LCU
VerifiedTwo prep ancillas + select-oracle. The substrate every QSP/QSVT demo needs.
Canonical amplitude estimation
VerifiedBrassard–Høyer–Mosca AE on the G3 coset state. Apples-to-apples vs. the birthday post-processor.
Modular arithmetic kit + real small-N Shor
Verifiedmul_const_mod / pow_const_mod on the same ripple-carry shape as G2. Real period-finding for N = 15.
Frontend — frontier
3 directionsThe 'kernel as JSON endpoint' pattern, taken seriously. Live shot streams, diffable kernels, in-browser classical baselines.
Live shot stream → React
VerifiedSSE stream from a Selene runner; histogram fills in shot-by-shot in the browser.
Diffable circuit snippets
Verified<KernelDiff> showing G1 vs. G3 side-by-side. Same kernel, different post-processing — proves the structural point without prose.
In-browser classical baseline
VerifiedPair every quantum chart with a TypeScript-side classical simulation of the same distribution. Forces every claim to be browser-falsifiable.
What this is not
Honest limits- · No H-series ion-trap shots — Selene is the emulator, every direction above assumes the same.
- · No noise model. Every "smallest experiment" gives a noise-free baseline, nothing more.
- · No T-counting, no magic-state accounting. The Arun Calculus notebook is where that conversation starts.
- · No claim that any of this beats classical at scale. The point is what the stack can express cleanly, not what it can outpace.