Skip to content

Repository files navigation

AtomOS Classifier

AtomOS Classifier

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.

What lives here

  • 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 from Atom-SignalLab's classification corpus and publishes the generated model files into this repo's src/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 by validate-signal-lab-classifier.ts (numeric reporting, prior sensitivity, receipt-qualified capture, capture-target projection).

Further reading

  • 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 under src/embedding/assets/.

Runtime inference (src/)

The classifier-owned runtimes and generated assets live in src/; Atomizer imports them from the sibling repo.

  • src/embedding/embedding-runtime.ts and magnitude-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.ts and 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.

Layout assumption

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.

Quick start

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.

CI

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.

Part of the AtomOS suite

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages