AtomOS Classifier owns Atomizer's local RF-classification assets and runtimes.
The deployed path is a metric-embedding classifier for complex I/Q and swept
magnitude; the repository also retains the Bayesian scalar-observable
training, validation, publication, and regression pipeline. It was extracted
from Atom-Atomizer so classifier work has an independent lifecycle without
weighing down the application build.
src/embedding/: deployed I/Q and magnitude preprocessing, recovery, inference, evidence fusion, and content-addressed model assets imported by Atomizer's Detect and I/Q workspaces.tools/train-observable-classifier.ts: trains the retained Bayesian model fromAtom-SignalLab's classification corpus and publishes the generated model files into this repo'ssrc/models/directory.tools/validate-signal-lab-classifier.ts: post-training validation against the generated model.tools/verify-classifier-publication.mjs: publication-integrity check (pins commit/corpus/model IDs, thresholds, hashes; also checks a few of Atom-Atomizer's docs for consistency with the validated metrics).tools/observable-training-*: run control, attempt caching, worker-pool sampling, and build attestation supporting the training run.tools/validator-*: validation helpers used byvalidate-signal-lab-classifier.ts(numeric reporting, prior sensitivity, receipt-qualified capture, capture-target projection).
DESIGN.md: build spec and design record for the deployed metric-embedding few-shot classifier.training/README.md: how to set up the Python training environment and regenerate the embedding assets undersrc/embedding/assets/.
The classifier-owned runtimes and generated assets live in src/; Atomizer
imports them from the sibling repo.
src/embedding/embedding-runtime.tsandmagnitude-classifier.ts: the deployed local inference surfaces for complete complex I/Q and swept power.src/embedding/assets/: checked-in weights, prototypes, refiners, parity fixtures, and a content-addressed model manifest.src/bayesian-waveform-classifier.ts: Student-t mixture posterior inference over 12 leaf classes (CW, AM, FM, GSM, LTE FDD/TDD, NR FDD/TDD, Wi-Fi HR-DSSS, Wi-Fi OFDM, Bluetooth, and unknown-signal) across three evidence views (spectrum-only, envelope-untimed, envelope-timed).src/observable-classifier-model.ts: model schema, evidence-censoring policy, and likelihood-component decomposition policy (including the CSMA burst-activity modes).src/radio-operating-band-context.ts: versioned operating-band tables used only as a structural support mask, not as a deployment prior.src/models/bayesian-observable.generated.tsand its manifest: the published model asset, pinned by SHA-256 and regenerated only by the training tool.
Shared scalar-observable analysis (feature extraction, Bayesian
predictive math, acquisition geometry, and contracts) remains in
Atom-Atomizer/packages/analysis/src and is imported by this repo.
This repo expects to sit as a sibling of Atom-DSP, Atom-Atomizer
(Atomizer), and Atom-SignalLab:
PersonalGitHub/
├── Atom-DSP/
├── Atom-Classifier/ (this repo)
├── Atom-Atomizer/ (Atomizer)
└── Atom-SignalLab/
Atomizer and SignalLab source imports are plain relative paths
(../../Atom-Atomizer/packages/..., ../../Atom-SignalLab/src/...) and are
not npm dependencies. The elementary preprocessing kernels use the explicit
local npm dependency on ../Atom-DSP.
nvm install 22.23.1
nvm use 22.23.1
npm --prefix ../Atom-DSP ci
npm --prefix ../Atom-DSP run build
npm --prefix ../Atom-Atomizer ci --ignore-scripts
npm --prefix ../Atom-Atomizer run build -w @tinysa/contracts
npm --prefix ../Atom-SignalLab ci --omit=dev --ignore-scripts
npm ci
npm run typecheck
npm test
npm run typecheck && npm test is the ordinary fast gate and covers the
deployed embedding runtime. npm run check additionally runs the retained
Bayesian worker, exact-model reproduction, validation, and publication gates;
it requires Node 22.23.1 and the exact pinned sibling commits recorded by the
model, and can take well over 90 minutes.
The verify job in .github/workflows/ci.yml runs on every push and pull
request. It checks out the exact Atomizer and SignalLab sources required by the
runtime tests, then runs typechecking, the deployed classifier unit suite, and
the dependency audit. Multi-hour Bayesian reproduction and validation remain
an explicit local/release gate rather than routine CI. All sibling repositories
are public, so no PAT or repository secret is required.
- Atom-Atomizer: AI-native spectrum analyzer application.
- Atom-Classifier: deployed local embedding classifier plus retained Bayesian RF research pipeline.
- Atom-DSP: dependency-free numerical kernels and cross-language conformance vectors.
- Atom-Firmware: reproducibly built tinySA firmware research and modernization.
- Atom-Flasher: fail-closed firmware flasher.
- Atom-NeptuneSDR-Twin: QEMU-backed firmware-executing digital twin of the NeptuneSDR/HAMGEEK P210.
- Atom-SignalLab: 3GPP and reference signal generation.
- Atom-TinySA-Twin: Renode digital twin booting real ZS407 firmware.
- Atom-Website: product site.
