Repository navigation
Conversation
Add FieldRead, GuestPcRead and GuestNextPcWrite FIR ops (.fslc v8, minimal version selection keeps v1-v7 bytes), a runtime-checked forward-only next-PC contract with BadBranchTarget status, .fslseq v2 written only when guest control is used, and C/Rust output. Standalone execution/emission refuse PC ops. Validated on a synthetic fixture only; no loader-backed origins or real ISA.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Direction
Experimental
fission-fslwith one canonical typed FIR and multiple output projections. Accuracy and behavioral recompilation are the priorities. The successor architecture does not split NIR/HIR. The long-term goal is Fission integration and replacement of the Sleigh dependency across CPU, GPU and VM targets.Keep this PR open for research development; merge is a later decision. Product changes stay on
codex/fsl-jvm-iadd-parity.Implemented scope
.fslcompiles to validated typed FIR and a versioned binary.fslcpackage. JSON remains comparison/evidence output.iadd, integer/stack execution slice and 128-bit Sleigh context support.s_add_u32ands_addc_u32: SGPR reads/writes, SCC reads/writes, wrapped sum and unsigned carry. Carry-input operations require package v4; older v1/v2/v3 remain readable..fslabitext grammar and typed parser preserve the admitted BPF/eBPF cspec metadata. Register identities link to the new byte layout; parameter allocation is still unsupported.Validation at cfcb0e0
fission-fsltests passed with no skips; formatting and Clippy with warnings denied passed.s_add_u32: 1,030 states and 4,120 C/Rust O0/O2 comparisons passed.s_add_u32followed bys_addc_u32: 1,060 reference-evaluator 64-bit sums. This does not establish recompilation of the two-instruction sequence.s_addc_u32 s2, s0, s1(00 01 02 82) passed.Reproduction tools and source/license provenance live in the separate fission-research repository. Existing nine historical artifacts and four migration artifacts were reproduced locally; CI pins this Fission compiler commit and the original input snapshot separately.
Limits and next gates
This is an instruction-level research prototype. Whole-function CFG, general memory, traps/exceptions, kernel ABI and whole-program equivalence remain unsupported. No GPU hardware execution, decompilation-quality or speed advantage is claimed.
The first wave64 masked-add contract is now executable; EXEC writes, VCC operations, divergence, memory and barriers remain unsupported. The scalar and broadcast profiles restrict selectors to SGPR0..95; literals, inline constants and special registers remain unsupported.
The source importer admits an explicit eBPF entry/token/binding/constructor shape, not a general Sleigh preprocessor/compiler. A bounded direct SLA decision/BUILD/export/INT_ADD branch is migrated; general context/dynamic/control-flow lowering is unsupported. ABI metadata now has register linking; parameter allocation, call execution and binary ABI packaging remain unsupported. The eBPF source R10 binding is retained without claiming verifier legality of writing it.
Current encoding limits include one fixed instruction width per profile, at most 256 rules, contiguous fields up to 64 bits, no conditional extension words, split fields or compaction. NVIDIA/Intel corpus support is not established. C callers must provide valid storage and obey documented disjoint-storage contracts.
Wave64 update at 0bc0efb
WaveContractderives uniform/mask/lane domains from typed producers; masks cannot enter integer arithmetic and lane values cannot enter uniform effects. Existing wrapping addition broadcasts uniform inputs.v_add_u32: VGPR/VGPR and SGPR0..95 broadcast/VGPR. VGPR selectors span 0..255. No architecture/mnemonic executor dispatch was introduced.execute_wave, theexecute-waveCLI, and C/Rust projections validate every precondition before effects. Inactive lane bit patterns and unrelated scalar/flag/EXEC state are preserved. Scalar effects execute once even at EXEC=0.Next migration work: GPU lane-register layout and kernel ABI, cspec allocation rules and direct SLA decisions/context/templates.
Register layout / ABI update at cf2a023
.fslregstext grammar records default memory, byte-addressed spaces, address widths/order and named register byte views. Imported BPF LE has 15 views / 15 overlapping pairs; eBPF LE/BE have 12 views each. Register identities belong to a particular layout.RegisterFileshares bytes across aliases and preserves bytes outside partial writes. Unknown units/names, width/range failures and oversized reference storage refuse. It does not infer architectural zero extension or read-only register semantics.link_abiresolves ordered input/output, preserved/clobbered and stack identities with range/width/alias checks. eBPF links R1..R5, R0 and R6..R10; R10 occupies bytes 80..87. Unchanged BPF source refuses the strict first stack gate: RS=4 bytes versus pointer_size=8. This is a supported-contract boundary, not a general ABI rule.execute_boundconnects explicit disjoint register/flag slots to existing canonical FIR reference execution and commits backing bytes only on success. Operand selectors may alias a slot; inter-slot view aliases refuse. No new FIR dialect or package version was added.Direct SLA migration at 217d7ea
Independent FIR and GPU projection update at 3eb6866
CompiledInstruction/FirOpdirectly.emit/emit-bytesaddcudaandptxtargets. This first slice admits stack pop/push and wrapping addition at 1..64 bits; register/flag/lane effects, wide values, unsupported bodies and malformed SSA refuse before output. No second semantic IR or package version was introduced.Linux research CI 37117442053 passed at research commit
3fd4346: 3,444 scalar-reference checks, 82 CUDA device compilations and 123 ptxas cubin assemblies. The three retained JVM sample cubins match reported hashes and ELF64/EM_CUDA; direct output has sm_70 flags and.text.fsl_execute. Hardware execution remains not run.Owned library corpus update at a678076
.fsldbreader and nativelibrary-inspect/ exactlibrary-querycommands infission-fsl, with no FPK/SLA/SLEIGH dependency..fslibTOML compilation and bounded offline FPK import live in the research repository. Only a self-authored three-row fixture is checked into this crate.FirOpstill represents a single-instruction operation sequence.Structured FIR control update at 2107f62
FirBlockop ownership ranges, typed block parameters and explicit return/branch/conditional-branch terminators..fslcv6 stores the graph. Versions 1–5 retain byte layouts and expose an implicit entry/return view. No second semantic IR or mandatory P-code lowering.int.const, equality, unsigned-less and signed-less comparisons share source/package validation and reference/C/Rust execution. Conditions/results are u1; cross-block values require typed edge arguments. Unreachable blocks, bad ownership/scopes/IDs/arity/types and unknown binary tags refuse.2026-10-04 — integer conversion and register-state CFG (7f7b22a)
IntConvert/int.zext,int.sext,int.truncwith strict matching signedness and 1..64 bit width rules; v7 op tag, unchanged v1–v6 byte layouts.Limits: self-authored specification validation, no hardware or whole-function equivalence evidence. Loop execution, GPU CFG/divergence, memory/calls/exceptions, real binary function lifting, structured native JIT/AOT and CUDA/PTX execution remain unsupported. Next scope is multi-instruction register-state composition and explicit origin/state contracts. Keep this experimental PR open for later merge decisions.
2026-10-04 — sequential FIR state and byte origins (16f84f4)
FirSequencereferences existing canonical instruction bodies with fresh body-local value frames. Sequential instances share ordered logical register/flag state; there is no second semantic IR or flattened op copy..fslseqv1 embeds the unchanged.fslcand explicit input window. Preserve per-instance addresses, offsets, byte lengths/raw bytes/fields, package/window SHA-256 and referenced spec evidence. Loading re-derives instances after validating framing, lengths, EOF and hashes. Base and exact bank ABI are caller supplied; hashes do not establish authenticity or loader address mapping.Scope remains self-authored sequential instruction windows. Loop execution, GPU CFG/divergence, memory/calls/exceptions, inter-instruction branch/PC recovery, mixed/variable-width profiles and actual binary function lifting remain unsupported. Next boundary: inter-instruction branch/PC contracts and loader-backed origins. Keep this experimental PR open for later merge decisions.
2026-10-11 — owned x86 scalar windows (55905c3)
.fslxencoding data. No external instruction decoder library is introduced. Existing workspace loader, SHA-256 and Cranelift dependencies remain..fslxcholds compiled rules and the sole.fslcbody pool. Original bytes/addresses stay in instances; normalized operand tokens are not guest encodings.Limits: no independent ISA execution oracle, emitted-source runtime parity or full x86 decompiler claim. Ordinary memory operands/store, calls/callee ABI, indirect control, byte/high-byte registers, x87/SIMD/AVX and faults/segments remain unsupported. 16-bit memory assumes flat SS.base=0; wrapper rollback is not CPU fault ordering. The i386 ELF uses explicit regparm(2), not default cdecl. Keep this PR open for research and later merge decisions.
2026-10-11 — readonly x86 memory and input evidence (dc665c7)
RecoveryStatederives entry-register/read dependencies and modular affine addresses from canonical FIR. Input candidates retain raw bytes, address, operation index and width. Unknown branches/transfers refuse. Convention is unselected; source types/prototype/argument count are unknown. No second arithmetic executor or semantic IR.8187cc2/ compilerdc665c7c9, completed successfully: all three original-byte adapters supply 768 result/defined-flag comparisons, 768 FIR states and 3,072 C/Rust executions; the same legacy AF differences reproduce. The immutable Linux artifact is archived at research maind80d892.resultflagsomits AF; this is specification coverage, not proof of a P-code expressive limit. Controlled FIR metadata ablation and general decompiler accuracy comparisons remain future work.-D warnings -A clippy::style -A clippy::complexity); unqualified strict baseline Clippy encounters existing solver/emulator style/complexity debt without library changes.Research main commits
a612474and8187cc2lock sources, three ELFs, package, 12 projections/input reports and local measurements; CI pins this native compiler commit. Experiment and limits and accuracy evaluation design.Limits remain readonly flat memory/zero segment bases and supplied executable spans. Stores, stack frames, calls/callee ABI, recovered CFG joins, source signatures, fault/order semantics and full x86 asset migration are unfinished. Machine oracle compares result and defined arithmetic flags, not all architectural state or whole-function equivalence. Keep the PR open; no merge requested.
Verification status after the memory experiment: the remote experimental branch is
dc665c7c9. GitHub PR head still reports55905c397; the new branch head was verified separately through workflow-dispatch CI 38100671908. All jobs at that native head completed successfully. Research data-only headd80d892also passed CI 38101042360. No merge was attempted.2026-10-11 — ordered stores and compiled stack frames (8211a05)
MemoryStoreLittle/memory.store.le, typed unsigned bytes and explicit readonly/mutable bounded window permissions. Package v11 tag 22; previous versions and original/read-only artifact bytes reproduce. No external decoder, new dependency or Cargo.lock change.Research main
69b6f89locks 3 sources/ELFs, specs, package, 12 outputs and clean-checkout local validation;c718c31pins this compiler and adds Linux machine-oracle CI. Contracts and evidence. Native CI 38130023456 passed at the new exact branch head. Research CI 38130097795 passed atc718c31: Linux original32/64 machine adapters each compare 256 cases, 768 total, with the same defined flags/frame balance/external-memory observations. Research623a806then hardened the 64-bit oracle RBP constraint and call-site alignment, recorded adapter/source-lock/shared-model hashes, and reran local 512-machine/768-FIR/6,144-compiled comparisons. Hardened-adapter CI 38130695902 also passed: 768 original32/64 cases, 768 FIR states and 6,144 compiled comparisons. Source-lock/shared-model/adapter executable hashes were verified. Research main4aae273archives both immutable Linux reports and current handoff documentation; its data/doc-only rerun is tracked separately. The earlier Linux report is kept as a separate snapshot. The PR head now matches8211a0561; it was checked directly along with the workflow head. Keep PR open; no merge requested.Limits: authored bounded spans, flat memory/zero segment bases, no descriptor/fault/concurrency model, separate displacement/literal binding still needed for memory immediates, no CALL/LEAVE, full ABI allocator, recovered CFG joins/loops, full x86 migration or whole-function equivalence. Hardware snapshots do not cover all GPRs or complete stack memory.
2026-10-11: independent displacement/literal bindings
867dae1fa0f278e87f6dc3e8244ca4fd307cced5addsowned-x86-v2/FSLXPKG2; v1 bytes and normalized operand interpretation stay reproducible. Canonical FIR remains v11.PR remains open for a later merge decision; product main is unchanged.
2026-10-11 — source backend contracts (cc02f3b)
OutputBackenddescriptor/plan/emit and an in-process registry. Builtin C11 and Rust 2021 providers borrow canonical FIR; no second semantic IR, decoder dependency, new package format or source-output changes.plan-binaryandbundle-binary; existing output directories refuse. Six real ELF C/Rust bundles reproduce locked source bytes plus 18 metadata goldens and compile. Six existing-directory refusals and one unknown Go refusal pass.cd64109pins this compiler, archives clean local reports and adds the bundle gate to Linux CI. Existing immediate original-byte execution gate remains separate.Previous native CI38135853441 and research CI38135982284 completed successfully. New native CI38138760978 is tracked separately at exact head
cc02f3be760e43153ccb212d3640d45905e3b8c6. Keep the PR open for research; no merge.2026-10-11 — Go backend (97366a8)
GoBackend(go1.25) consumes borrowed canonical FIR through the same descriptor/plan/emit contract. No second semantic IR, new package version, external decoder or generated Go dependency.fslc emit-backend PACKAGE INSTRUCTION go OUTPUT.go; x86plan-binaryandbundle-binarynow acceptgo. The legacy OutputLayer/sequence interface is unchanged. Generated Go functions are currently package-local state helpers, not recovered source signatures.522cf90pins this compiler, locks16 generated source files and immutable parent inputs, archives clean native provenance and adds pinned Go1.25.5 CI execution. Current unregistered-language refusal uses Python; the earlier observed Go refusal stays in its historical report.Previous source-contract native/research CI38138760978/38138856532 passed. Current exact-head native CI38141160429 is tracked separately. Keep this experimental PR open; no merge.
2026-10-16 — asset-independent ELF/FSL/FIR entry point (bbf6a19)
Goal: ultimately run the complete decompiler pipeline on owned FSL/FIR without SLEIGH/SLA. This slice establishes an independent selected-span path; general function recovery remains incomplete.
LoaderPipeline::load_format_facts/LoadedBinary::from_file_format_facts: reuse canonical ELF parsing/mapping/relocation/symbol code, validate i386/x86-64 machine/class/endian facts, leave ABI unselected and produce no legacy BinaryLoadSpec. No fake Ghidra language ID. Existing default metadata selection remains available outside the new route.fsl-x86 decompile-owned INPUT.elf ADDRESS SIZE c|rust|go NEW_DIRECTORYcompiles embedded owned x86 v2 FSL, binds canonical FIR and emits checked source plus portable profile, diagnostic FIR, origins and build/route reports. No package preparation, SLEIGH/SLA/P-code path or fallback. Unsupported format/bytes/backend refuses before output creation.5a3c0e4pins this compiler and adds a dedicated crates-only build without utils/vendor or legacy asset extensions, followed by Linux chroot/strace execution with only the executable, dynamic libraries and ELF inputs. Even failed legacy file opens/stat refuse. This is a resource-closure experiment, not a security sandbox. Current research CI: https://github.com/fission-systems/fission-research/actions/runs/38833583316 (completion tracked separately).Remaining: source function discovery, CALL/callee ABI and general CFG/type recovery, full x86/other formats/ISAs, guest fault/concurrency semantics, whole Python/JVM/WASM methods and complete product-route migration. Existing product SLEIGH/NIR/HIR and offline legacy comparison/import gates remain separate. Keep PR open; no merge.
2026-10-16 — owned entry selection / DecBench baseline (0fc6f6f)
decompile-owned-entry INPUT.elf ADDRESS c|rust|go NEW_DIRECTORY, using the same owned package, metadata-only ELF mapper, canonical FIR and checked backend. Own decoder scans only a straight-line executable/file-backed prefix to near RET, bounded by 65,536 bytes / 4,096 instructions. Branches, unsupported bytes, exhausted bounds and relocated windows refuse. No function size oracle, legacy assets, external decoder or fallback.f7c63c1adds an out-of-tree static-only DecBench external sample-set adapter, immutable reports and tool/input hashes, per-function checkpointing, timeout and integrity checks. Onlyfunctions.json.publicselects entries; no target execution/emulation or private/source/DWARF/reference-decompiler answer key is used.Next substantive gates: generic missing instruction/effect coverage, reachable function CFG/calls and FSL-owned ABI/return contracts, then ordinary C submission eligibility. Alive2 is deferred; LLVM refinement checking requires a trusted lifting boundary and matching ABI/memory/UB contracts. Keep this PR open; no merge or product-main commit.
DecBench gate follow-up
Research main
667c56dretains the initial baseline and a second immutable 250-function report after hardening panic/signal classification. Both runs have identical refusal counts and zero tool crashes; ordinary C eligibility remains zero. Python48 tests pass locally. No submission or metric run has been made.The owned-fsl-pipeline job in research CI38855472809 passed at native0fc6f6f98: source-only build, adapter/owned-fixture integration, nine compiled span bundles, three byte-identical entry-only C/FIR bundles,11 refusals and23 file traces with zero attempted legacy asset accesses. Immutable trace report is archived in experiments/decbench/sample-set. Other research jobs and follow-up runner CI remain separately tracked. Native PR-merge CI38855161475 failed with the same legacy Sleigh test u128/u64 API mismatch; no full product CI success is claimed.
2026-10-17 — quantum logical effects in the same FIR (1f5e4c5)
PR renamed to Project Fission: A Unified Semantic Engine. The quantum experiment is an ideal logical-circuit reference on a classical host; no QPU binary/hardware or speedup claim.
FirOp::Quantum(H/X/Z/CX, Z measurement, reset, classical-u1-controlled X), FSL syntax, SSA/type checks and FSLCv12/tag23. No second semantic IR or new dependency. Earlier sources retain their package versions/bytes. Qubit indices identify subsystems of one joint state; reference resource admission is separate from representation.99e9edcimplements the checker/pins/goldens;d9b2f3carchives Linux evidence. The quantum-reference job in https://github.com/fission-systems/fission-research/actions/runs/39015425831 passed: source-only build without legacy assets, nine native quantum tests, six oracle/artifact tests and all308 comparisons. Linux report/package/source hashes are retained under experiments/quantum/ideal-circuits. Other research jobs remain separately tracked.Full native PR-merge CI39015128385 still fails compiling existing Sleigh context tests (u128 arguments to u64 APIs), as before; quantum-specific CI success is not full product integration readiness. Keep this experimental PR open; no merge or product-main commit.
Quantum channels / canonical block execution (2026-10-17)
1fe65569e: explicit bit flip, phase flip and amplitude damping channels in the same FIR. Rational u8 probability parameters; FSLC v13. Ideal packages retain v12 and previous hashes. No new runtime dependency or second IR.d3737ba8fmerges current main into this experimental branch and updates two main-introduced SLEIGH probe tests to existing wide context APIs. Targeted 2 passed; SLEIGH library 359 passed, 3 skipped. Product main untouched. Prior compile-error run is historical; current PR CI 39019512207 is running.Research artifacts:
experiments/quantum/channels-cfg/; QPU admission notes:docs/qpu-binary-boundary.mdin fission-research. Keep this PR open for review.Verified Linux quantum channel evidence
Research run 39019757014 / quantum-channels-cfg passed at clean native
1fe65569e: 678 noise/CFG comparisons and 308 old ideal regression comparisons. Package/oracle hashes match local evidence; maximum absolute error remains 4.440892098500626e-16. Raw Linux reports are archived in fission-research. Local research suite now 60 passed after adding archive integrity coverage. Native PR Linux tests are still running; full PR CI success is not yet claimed.Bounded quantum execution and binary-format inputs (2026-10-17)
Native
4a3c48297d5a3649774b70f5fff40e1857eb9beb:Previous-head full PR CI 39019512207 passed, verifying the earlier SLEIGH wide-context fix. Latest-head 39021009277 passed. New research
quantum-bounded-and-inputsjob pins 4a3c482 and builds the reference oracle separately from the owned engine.Research artifacts:
experiments/quantum/eqasm-words/andexperiments/quantum/bounded-calibration/. Physical QPU execution, general classical/quantum CFG, full OpenQASM, timing/pulses and hardware noise correction remain unsupported. Product main remains untouched; keep this PR open.Final verification for 4a3c482
Full Fission PR CI 39021009277 passed. Research 39021701663 / quantum-bounded-and-inputs passed: quantum integration 21, idle-model 420, terminating loop inputs 6 + partial retry check, eQASM words 200, old quantum regressions 308/678. The reference GCC 13 build required its missing standard
<limits>include explicitly supplied; no upstream instruction logic or Fission runtime dependency was changed. Earlier reference build failures remain documented. Raw Linux reports and integrity checks are archived in research main atde921d5; local research suite remains 66 passed. These job results do not imply physical QPU execution or current-device noise calibration/correction.Integer-controlled quantum CFG (2026-10-17)
Native
f15f0293da424b454bceeca7a2d4e4f16c86f5bb:The user confirms no connected QPU. Physical execution, current-device noise fitting/correction, pulses, memory/calls, general OpenQASM and general quantum-program support remain unsupported. No new CPU corpus or DecBench score. Research artifacts:
experiments/quantum/integer-cfg/; separate research CI job pins this compiler. Current-head native CI 39024315647 is running. Main untouched; keep this PR open.Linux reproduction at f15f029
Research 39024432407 / quantum-integer-cfg passed: 26 native quantum tests, 1,344 new instrument comparisons, 42 projection refusals, partial counter stop; old 308/678/420 comparisons, six loop inputs and partial retry passed. All four raw reports are archived in research main
95ccef0with matching package/oracle hashes and clean native revision. Local research suite is now 72 passed after archive integrity coverage. This is one successful research job; full Fission PR CI 39024315647 remains in progress at this update. No QPU access/execution or current-device calibration claim.IBM physical-circuit projection and separate submission adapter (2026-10-17)
Native
4af9bf84b16d288798bde5794de38da8f50a061eaddsquantum::ibm::emit/fslc emit-ibmfor linear ideal FIR. Explicit physical layout, reset/X basis preparation, RZ/SX/X + directed CX or CZ, X/Y/Z terminal observations and canonical measurement trace IDs. Global phase is unobservable in the admitted instrument; no coherent control of decompositions. u1 constants fold; blocks/arithmetic/noise/ECR/missing couplings refuse. No new FIR op, FSLC version, Cargo dependency, SDK, routing or scheduler.Separate research stdlib tool prepares/reviews one-job SamplerV2 payloads, verifies Open Plan via instance/catalog lookup, rechecks live target and allowance, submits only on explicit command, retains a pre-POST receipt without automatic retry, and collects bound job results. Joint trace/final counts preserve shot correlation. Statistical TVD/Hoeffding observations do not prove compiler equivalence or correct noise. Request cost <=60 seconds uses the inspected SDK's top-level cost field; enforcement is provider-defined. Paid/unknown/synthetic targets refuse submission.
Local: native IBM tests 4 passed, full fission-fsl with x86 114 passed / 0 skipped; strict Clippy default/x86 + fmt passed. Research Python 85 passed / 0 skipped (13 adapter-specific). Independent dense physical-gate/reset oracle: 684 comparisons across seven authored circuits, basis inputs, every X/Y/Z observation and CX/CZ; max error 6.661338147750939e-16. Modeled Runtime codec: 684 exact joint-count comparisons. Earlier quantum regressions 308/678/420/1,344 and loop/partial checks passed at this clean pin, old packages unchanged.
Artifacts:
experiments/quantum/ibm-open-plan/, including a synthetic Bell XX request/reference bundle and protocol source pins. No connected IBM account, authenticated API call, live calibration capture, real result capture or QPU submission occurred. Live provider parser/transport acceptance remains unverified and account setup is pending. No general quantum program, QPU binary, noise correction or DecBench/CPU corpus claim.Previous native full PR CI 39024315647 passed at f15f029; current-head 39025675113 is running. Separate research job
ibm-circuit-projectionpins this compiler and uses no cloud credentials. Main untouched; keep this PR open.Verified Linux offline IBM qualification
Research 39025890375 / ibm-circuit-projection passed at clean native 4af9bf8: 30 quantum/IBM native tests, 13 adapter checks, 684 physical-instrument comparisons, 684 modeled Runtime codec comparisons, frozen 308/678/420/1,344 quantum regressions and loop/partial checks. Five Linux reports are archived under
experiments/quantum/ibm-open-plan/with matching package/oracle/adapter hashes and no credentials or QPU requests. Local research after archive integrity coverage is 86 passed / 0 skipped (14 adapter-specific). User will configure the Open Plan account; actual hardware execution and authenticated provider acceptance remain pending. Dashboard/API-key/CRN and terminal-local zsh instructions are documented. Whole native PR CI 39025675113 is separate from this successful research job.