Independent research lead and founder: Jean-François Brisson
Fredericton, New Brunswick, Canada
Classical software prioritising verifiability, audit transparency and minimal dependencies.
Disability-led research software: telemetry research, C++/HLS prototypes, RAG guardrails, and offline evidence-audit tools, with scope and evidence status documented per project.
sparkainlpx.xyz ·
LinkedIn ·
Research notebook ·
Live demo: Holographic Thoughts ·
ORCID ·
Zenodo community
Français (langue maternelle) · English (fluent)
Open to work: applied AI research and research-software roles, remote within Canada or on site in Fredericton. Contact details are below.
Spark AI NLP is a disability-led research-software company based in Fredericton, New Brunswick, Canada. The public repositories are research prototypes: a reproducible telemetry anomaly-detection benchmark, the OES-32/OES-512 residual-latch family, C++/HLS kernels, a source-grounded RAG guardrail, two offline audit tools (Evidence Passport for run-level evidence, Quantum Claims Evidence Passport for public claims against their sources), and small offline tools for provenance and consent-first data sharing. They are not hardware products, field products, or medical products, and they do not report results on quantum hardware.
Six repositories that show the range of the work. Each README states its own scope, limits and evidence status.
| Repository | What it shows | Maturity |
|---|---|---|
| spark-evidence-lab | Rerunnable experiment cards that put my methods next to simple baselines, including where the baseline wins | Demonstrated (SYNTHETIC) |
| holographic-thoughts | Five interactive toy views of classical holographic-membrane models, with a Python reference model for each (live page) | Prototype (SYNTHETIC) |
| crystallize | A two-minute browser game about evidence, calibration and replication, in English and French (play) | Prototype (SYNTHETIC) |
| failure-capsules | Small JSON records that capture a failed run so it can be replayed and checked offline | Prototype |
| oes-resilience | Telemetry anomaly benchmark with a preregistered NASA SMAP/MSL comparison; the OES32 detector did not meet its success criterion and the README says so | Demonstrated (SYNTHETIC baseline; REPORTED comparison) |
| quantum-claims-passport | Offline audit that sorts public claims into announcement, model, behavioural result, hypothesis and unsupported inference (live page) | Demonstrated |
Every public repository belongs to one of six tracks. Repositories stay separate so that each keeps its own licence and release history, and its own Zenodo DOI once released.
| Track | What is in it | Main repositories |
|---|---|---|
| Membrane and crystallization | Classical models of holographic memory, streaming PCA with a Hebbian running average, committees, capacity limits, refusal gates and reward contests between agents; a heart-shaped associative-memory toy and a sonification of a phase-oscillator ring, both SYNTHETIC; several negative results | membrane-crystallization, crystallization-contest, crystal-bci, membrane-committee, refusing-membrane, membrane-capacity, membrane-heart, membrane-listen |
| OES telemetry and C++/HLS prototypes | The OES-32 / OES-512 residual-latch family, benchmarks, a normative residual definition and HLS testbenches | oes-resilience, oes32-residual, oes32-hls, oes512q-latch, qldpc_decoder_cpp |
| Quantum-style classical simulation and claims | Classical emulations and toy models, and tools that audit how claims are worded | quantum-projection, claims-layer, quantum-claims-passport, qec-scaling-bench |
| Games and education | Browser games and teaching prototypes, seeded and offline | crystallize, infinite-becoming, empty-state-observatory, address-phase-demo |
| Holography and Sparky | Visual and interface prototypes, governance for community media | holographic-thoughts, sparky-synthetic-grove, world-holobridge, signal-loom |
| Reliability, evidence and tooling | Evidence records, provenance, replay, guardrails and small offline tools | spark-evidence-lab, failure-capsules, evidence-passport, measurement-trail, spark-rag-guardrail |
Repositories not named here are listed in the sections below and on the repository list.
Each project is placed on one rung. The rung says what exists today, not what is hoped for.
| Rung | Meaning |
|---|---|
| Demonstrated | The code runs, the tests pass in CI, and the stated result was reproduced from a fixed seed or a named dataset |
| Prototype | A working simulation or browser demo with tests, but no measurement outside the repository |
| Concept | An architectural idea, a model or a proposed measurement, with little or no running code |
| Target | A design goal that has not been reached or measured |
The rungs sit on top of the evidence tags used in every repository: SYNTHETIC (generated inputs), REPORTED (measured, with the source and protocol named), TARGET (a design goal) and UNRUN (scripts exist, the run has not happened).
- Everything here is classical software. Results are SYNTHETIC unless a README names a measured dataset and its protocol, and then they are tagged REPORTED.
- No repository reports a result from quantum hardware, a physical membrane, a medical device or a field deployment.
- Nothing is described as established beyond what its tests and data support. Negative results are published as measured.
- Unrun work (hardware synthesis, hardware-in-the-loop, independent review) is labelled UNRUN, and design goals are labelled TARGET.
- If a statement here or in a repository looks unsupported, open a Claim correction issue; the template is in sparkainlp-x/.github.
- OES-61440 tripwire (in identity-runtime): 61,440 fixed threshold channels, grouped as 1,920 membranes of 32 channels (120 sectors × 4 supervisors × 4 membranes = 1,920; 1,920 × 32 = 61,440). Each channel compares a fixed weighted sum of four risk signals with a fixed threshold.
- Nothing learned: weights and thresholds come from SHA-256 of the channel index. The settings are illustrative, not calibrated against incident data, and the tripwire is not a safety guarantee; a plain rule holds any action with effective risk of 0.5 or more for a human.
- Hash-chained ledger: every step is appended to a JSONL ledger in which each entry's hash covers the previous entry's hash. Editing, reordering or deleting lines breaks verification. The ledger is tamper-evident, not tamper-proof.
- C++ software and HLS automation scripts for a qLDPC decoder targeting the AMD ZCU111 RFSoC; see qldpc_decoder_cpp.
- CI builds and tests the portable C++ code. FPGA synthesis, timing closure and hardware-in-the-loop runs are UNRUN, and no qubits or quantum hardware are involved. There are no hardware results.
- Deterministic residual-telemetry triage across the OES-32/OES-512 family: fixed 32-channel blocks, transparent scores and fail-closed input contracts, with one normative residual definition (oes32-residual, ADR-001).
- Detectors are benchmarked against simple baselines and the outcomes are published as measured, including negative results; see Featured work.
This index links project names to their canonical public repositories. A direct match identifies the corresponding public project; it is not a claim of scientific validation. Related projects are separate implementations or tools, and their individual READMEs define their scope and evidence.
| Project | Canonical public repository |
|---|---|
| PilotTrace | pilottrace |
| Flip Observer 1024 | flip-observer-1024 |
| Signal Loom | signal-loom |
| OES telemetry bench | oes-telemetry-bench |
| OES-Resilience | oes-resilience |
| OES32 membrane array | oes32-membrane-array |
| Three-node graph demo | conserved-message-graph-demo |
| OES-32 HLS | oes32-hls |
| Thermoelectric Ledger | thermoelectric-ledger |
| Residual Gradient Workbench | residual-gradient-workbench |
| Area | Public repository or repositories | Relationship and boundary |
|---|---|---|
| Digital-to-Wave | digital-to-wave-testbench | Related synthetic, dimensionless software testbench; no physical validity claim. |
| OES residual and replay tools | oes32-residual, oes32_engine, spark-membrane, multi-quantum-oes | Related implementations and workbenches with distinct scopes; see each repository before treating one as a substitute for another. |
| Evidence, provenance, and claims audits | evidence-passport, measurement-trail, quantum-claims-passport | Separate tools for run evidence, provenance, and public-claim review. |
| Classical QEC scaling | qec-scaling-bench | Partial match: a classical surface-/repetition-code scaling simulation only; no quantum-hardware results. |
| qLDPC decoder scaffold | qldpc_decoder_cpp | A separate unfinished C++/HLS scaffold; the belief-propagation kernel is a placeholder and HLS/HIL runs are UNRUN. |
The profile and repository READMEs distinguish synthetic or theoretical results from measured results, targets, and runs that have not been performed. Code quality or reproducibility alone does not establish scientific validity.
| Repository | What it is | Evidence status | Archive |
|---|---|---|---|
| oes-resilience · v0.6.0 | Open, reproducible benchmark for 512-channel telemetry anomaly detection with the transparent one-line OES32 reference detector; stress suite, replay evaluation, detector plugin API, a preregistered NASA SMAP/MSL comparison, and adaptive methods (v0.6.0) | Baseline SYNTHETIC (byte-reproduced in CI). On SMAP/MSL under the locked protocol, OES32 did not meet its success criterion; the locked OES-32-v2 re-attempt did not meet its predeclared improvement criterion | DOI 10.5281/zenodo.23071166 |
| oes32-hls · v0.3.1 | C++ HLS prototype of OES-32 triage: streaming AXI4-Stream kernel, pybind11 bindings, and pytest + Hypothesis tests comparing it bit for bit with a Python reference model | g++ testbenches and Python tests run in CI on SYNTHETIC stimuli; FPGA synthesis UNRUN (ZCU111 is a TARGET) |
DOI 10.5281/zenodo.22985525 |
| oes512q-latch · v0.2.1 | OES-32/OES-512 classical residual latch with a self-calibrated threshold, compared with standard unsupervised detectors on all 47 labelled real-data series in the Numenta Anomaly Benchmark (NAB) | NAB numbers REPORTED (mixed results, reported as measured); unit tests SYNTHETIC; not a quantum code | DOI 10.5281/zenodo.22998570 |
| multi-quantum-oes · v0.1.2 | Offline, standard-library-only OES-512 replay-triage workbench with a preregistered stress evaluation, plus an isolated "AI ∩ quantum" toy lab | Stress result is negative and published as such; SYNTHETIC data; exact classical simulation, not a QPU | DOI 10.5281/zenodo.23113851 |
| digital-to-wave-testbench · v0.4.2 | Synthetic, dimensionless software testbench for a signed-amplitude sine encoding (noise, phase, CFO, timing; Wilson CIs) | All results SYNTHETIC; no physical validity claimed | DOI 10.5281/zenodo.23122876 |
| evidence-passport · v0.1.1 | Offline stdlib audit tool: one experiment-run manifest → static HTML evidence passport + normalized JSON (fail-closed SHA-256); records declared evidence, never re-scores it | Bundled OES-Resilience SMAP/MSL sample keeps the verdict: criterion not met; three further examples labelled SYNTHETIC; sample pages | DOI 10.5281/zenodo.23165143 |
| quantum-claims-passport · v0.1.0 | Offline claims audit for scientific communication: classifies public claims (a planned Swiss quantum-computer hub; a modeled 613 THz tubulin frequency band; a rat behavioral study) as announcement, computational model, animal behavioral result, hypothesis, or unsupported inference, with exact-SI conversions and no combined score | Source audit only, snapshot 2026-10-05; makes none of the audited claims; no affiliation with the institutions named; report | DOI 10.5281/zenodo.23167801 |
- membrane-listen · v0.1.0: SYNTHETIC sonification of a classical phase-oscillator ring (standard-library Python, AGPL-3.0-only); a pre-registered study with confidence intervals in which 2 of 23 hypotheses were not supported; not a recording, not a medical model; no listening test was run. DOI 10.5281/zenodo.23687758
- membrane-heart · v0.1.0: SYNTHETIC toy in which a heart-shaped network of 64 simulated neurons carries a phase wave stored in an associative memory with a calibrated gate that names or refuses a probe (standard-library Python, AGPL-3.0-only); not a medical model, not a diagnosis. DOI 10.5281/zenodo.23680672
- identity-runtime: standard-library Python runtime for governed, reversible avatar personalities, with human approval quorums, expiring capability leases, the OES-61440 tripwire and a hash-chained ledger; 99 tests in CI; not tested against real attackers; demo page. DOI 10.5281/zenodo.23448946
- infinite-becoming: browser-playable synthetic ecosystem game on a reaction–diffusion substrate; uncalibrated; its frozen persistence regression is disclosed (1 of 5 seeds); play online. DOI 10.5281/zenodo.23423943
- world-holobridge: standard-library Python + SQLite reference prototype of a governance workflow for community-led cultural and spatial-media projects, with a bilingual browser plan generator; not legal advice; no community endorsement claimed (MIT OR Apache-2.0); plan generator. DOI 10.5281/zenodo.23423941
- spark-evidence-lab: rerunnable experiment cards that put my methods next to simple baselines, including where the baseline wins; every number copied from a committed source file; live page. DOI 10.5281/zenodo.23403169
- digital-to-wave-2-thz-validity: engineering-validity study of the THz equations in the Digital to Wave Part II preprint (equation inventory, dimensional checks, protocol-locked synthetic channel benchmark); SYNTHETIC; no physical, biological or safety claim. DOI 10.5281/zenodo.23375690
- orbit-wave-oes-lab: software-only path from a stylized orbit timeline to a synthetic signed-wave payload, fixed-threshold readout, optional OES replay and evidence passport, plus offline binaural capture analysis; SYNTHETIC; orbit, spacecraft, quantum and acoustic hardware UNRUN. DOI 10.5281/zenodo.23372536
- spark-membrane: fail-closed console that audits SYNTHETIC 32-channel frames against the OES repositories, pinned by commit SHA, with a hash-chained run trail, evidence passport and claims gate; thresholds uncalibrated; demo page. DOI 10.5281/zenodo.23175490
- oes-telemetry-bench: offline replay bench for synchronized 32-channel OES32 telemetry frames, with a strict input contract and frozen thresholds; synthetic demo. DOI 10.5281/zenodo.23175492
- residual-gradient-workbench: browser workbench that keeps an OES-32 residual replay and a classical thermoelectric generator model in separate lanes; demo page. DOI 10.5281/zenodo.23187280
- thermoelectric-ledger: signed heat-flow accounting that withholds exergy and efficiency figures unless the uncertainty bounds support them; 104 contract tests in CI (MIT). DOI 10.5281/zenodo.23241554
- qec-scaling-bench: classical toy simulation of surface- and repetition-code memory scaling with Stim and PyMatching; seeded and reproducible, no hardware results. DOI 10.5281/zenodo.23241631
- flip-observer-1024: calibration prototype for a classical weighted readout under a hidden channel-order reversal (512 inputs, two noisy banks); SYNTHETIC; demo page. DOI 10.5281/zenodo.23173449
- oes-quantum-binaural-lab: classical toy simulation with three separate lanes (Bell-correlation Monte Carlo, scalar metrics ledger, digital stereo loopback); SYNTHETIC. DOI 10.5281/zenodo.23175494
- signal-loom: offline performance-art prototype in which synthetic signal streams drive an interactive visual score (MIT); demo page. DOI 10.5281/zenodo.23173453
Other public repositories
More research software
- oes32-membrane-array: software-only scale-out wrapper for the fixed 32-slot OES32 membrane contract; generated inputs, no hardware or performance claims.
- oes32-residual: the normative OES-32 residual (ADR-001) with 12 contract tests in CI (Python 3.11–3.13).
- oes32-membrane-shield: 32-slot state machine gated by Ed25519 capabilities, with dual-approval calibration; 25 tests, including fuzz tests, pass in CI; independent security review UNRUN.
- homological-cascade-engine: experimental Python framework for topological signal representations and robust anomaly scoring; synthetic tests do not establish real-telemetry performance or operational false-alarm control.
- oes512-telemetry-engine: asynchronous Python prototype for 512-channel telemetry ingestion, DSP, and monitoring; see its README for current implementation scope.
- oes32-dashboard: PyQt6/PyQtGraph desktop dashboard using synthetic stimuli; not a medical or field system.
- spark-rag-guardrail: source-grounded RAG (ChromaDB + Ollama) that refuses to answer when retrieval relevance is too low; 10 tests on SYNTHETIC fixtures; answer quality UNRUN.
Offline tools
- context-wallet: user-selected, short-lived JSON context packets (preview before export). DOI 10.5281/zenodo.23061441
- measurement-trail: SHA-256 hash-chained measurement provenance trails. DOI 10.5281/zenodo.23067465
- coil-efficiency-bench: paired motor-efficiency analysis with a Student's t CI; bundled data SYNTHETIC. DOI 10.5281/zenodo.23067995
- signal-commons: coarse categorical incident postcards from 512-channel residual frames, without sharing raw data. DOI 10.5281/zenodo.23049349
- signal-test-commons: deterministic synthetic challenge suite for 512-channel signal monitors. DOI 10.5281/zenodo.23057992
- internal-outage-radar: offline scope classification of multi-site service-check snapshots. DOI 10.5281/zenodo.23057994
- gnss-log-stats: local-only descriptive statistics for approved GNSS CSV logs; no receiver validation or physical-evidence claim.
- web-delta-feed: reproducible comparison reports for two saved text snapshots. DOI 10.5281/zenodo.23069164
- pocket-internet: offline exchange and merge of public-information bundles between disconnected devices. DOI 10.5281/zenodo.23187284
- pilottrace: offline validation and block scoring of 512-value numeric trace frames. DOI 10.5281/zenodo.23187278
Smaller prototypes and demos
address-phase-demo (FR educational HTML; SYNTHETIC) · conserved-message-graph-demo (synthetic graph-routing analogy; not general relativity or OES32) · empty-state-observatory (synthetic guessing game and benchmark; not physical-universe or hardware evidence) · max-slate-einstein (bounded educational character-engine prototype; not Einstein or historical authenticity) · spark-oes512-demo (browser OES32-style demo; SYNTHETIC) · oes512-residual · oes32_engine · qldpc_decoder_cpp (unfinished C++/HLS decoder scaffold; BP kernel and correction checks are placeholders; HLS/HIL UNRUN) · phmt4-montecarlo (heuristic classical simulation) · quantum-error-correction-demo (classical toy; no qubits, no QEC code)
Repository documentation varies; check each README for its specific scope, limits, evidence status, and setup.
64 of the 75 public repositories have Zenodo DOIs (count as of 2026-10-24); the newest repositories are being released. Use each repository's README for its citation and DOI details. Records are being added to the Spark AI NLP: Research Software Zenodo community.
- Minimal dependencies. Many tools use only the Python standard library (for example identity-runtime, world-holobridge, evidence-passport and multi-quantum-oes), and infinite-becoming has no third-party runtime dependencies. Others depend on what the work needs: oes-resilience requires NumPy, qec-scaling-bench uses Stim and PyMatching, and qldpc_decoder_cpp builds against the upstream
ldpclibrary. - Tests and CI per repository. Test suites and GitHub Actions workflows are maintained repository by repository; identity-runtime and oes-resilience, for example, run in CI on Python 3.10–3.13.
- Open licences, per repository. Most repositories are AGPL-3.0-only with a commercial-licence option; some are MIT, and world-holobridge is MIT OR Apache-2.0. Each repository's LICENSE file is authoritative.
- Archived releases. Released versions are archived on Zenodo with concept and version DOIs (see Cite).
-
Contracts first. Each definition lives in one normative place with executable tests. For OES-32 that is oes32-residual@b77b612 (ADR-001); other implementations are labelled Profile A sidecars and document how they differ.
-
Fail-closed where specified. Selected READMEs label unrun or unmeasured work; results and caveats are documented per project, including negative outcomes where evaluations were performed.
-
Evidence labels where reported. Project READMEs define their own evidence status; labels and coverage are not universal across every repository.
Tag Meaning SYNTHETIC Produced by our own simulation or tests on generated inputs REPORTED A project result based on identified measurements or benchmark data. The README states whether data were collected for this project or pre-existing, names the source and conditions/protocol, and says whether independently reproduced TARGET A design goal; not yet achieved or measured UNRUN Tooling or scripts exist; the run has not been performed -
Reproducibility varies by project. Some repositories document tested Quickstarts, automated tests, or CI; check the individual README and workflow for current coverage.
-
Accessibility first. Ask for alternative formats by opening an issue in any repository.
Contribution guidelines, the code of conduct, and the security policy are shared across all repositories: sparkainlp-x/.github.
64 of the 75 public repositories have Zenodo concept and version DOIs (count as of 2026-10-24), and each released repository includes CITATION.cff. Use GitHub's "Cite this repository" button or the citation links in the specific repository when available. Records are being added to the Spark AI NLP: Research Software Zenodo community.
Mun Seok Lee and Somnath Laha are acknowledged as collaborators. Lee's Digital to Wave preprints and packages received under his name are the source for the Digital-to-Wave repositories and the membrane-related repositories that say so in their Provenance sections. Laha's related discussion of a satellite concept motivated the framing of orbit-wave-oes-lab. This is an acknowledgement only: it implies no endorsement of these repositories and no authorship. The software is by Jean-François Brisson, and each repository's README states what it derives from.
Open to applied AI research and research-software roles (remote within Canada, or Fredericton, NB), and to collaboration with research groups, FPGA/decoder engineers, and accessibility-focused partners.
- Website: sparkainlpx.xyz
- LinkedIn: Jean-François Brisson
- Research notebook: Spark AI NLP notebook
- Live demo: Holographic Thoughts (interactive toy views; synthetic, classical simulation)
- ORCID: 0009-0000-9778-5374
- Questions about code: open an issue in the relevant repository


