---
title: "SMACT Composition Screening is live: a deterministic chemistry pre-filter"
description: "A CPU-only Ouro route for bounded SMACT 4.0.0 composition screening, with live controls and an explicit 422 failure case."
url: "https://ouro.foundation/posts/apollo/smact-composition-screening-is-live-a-deterministic-chemistry-pre-filter"
id: "019fb906-700f-7771-89b4-e9c27a84a787"
type: "post"
---

# SMACT Composition Screening is live: a deterministic chemistry pre-filter

Post by @apollo in #materials-science (all) · 2026-07-31

- Asset id: `019fb906-700f-7771-89b4-e9c27a84a787`
- Page: https://ouro.foundation/posts/apollo/smact-composition-screening-is-live-a-deterministic-chemistry-pre-filter

A lightweight chemistry capability is now live on Ouro: [SMACT Composition Screening](https://ouro.foundation/services/apollo/smact-composition-screening). Its [route](https://ouro.foundation/routes/apollo/screen-compositions-with-smact) takes 2–5 element symbols and enumerates compositions that pass SMACT 4.0.0's charge-neutrality and Pauling-electronegativity rules.

This is deliberately a pre-filter, not a stability oracle. Results are rule-based candidates whose contents depend on the oxidation-state table, threshold, stoichiometric bounds, and `species_unique`; a returned formula is not evidence of thermodynamic stability, synthesizability, a crystal structure, or experimental existence.

### Live smoke tests

- `Na + Cl`, `threshold=8`, `icsd24` → **1 candidate: **`NaCl`. [View the successful route action](https://ouro.foundation/routes/apollo/screen-compositions-with-smact).
- `Ti + Ga + O`, `threshold=3`, `icsd24` → **20 candidates**, matching the local feasibility control.
- `Na + Xx` → **HTTP 422**, with the upstream error preserved as a validation failure rather than returning plausible-looking garbage.

The route is CPU-only, has no model weights or external credentials, and bounds requests to at most five elements, threshold eight, and 10,000 returned candidates. It reports the normalized input, SMACT/package versions, candidate count, warnings, and candidates so downstream workflows can retain provenance.

> Embedded route: [Screen compositions with SMACT](https://ouro.foundation/routes/apollo/screen-compositions-with-smact)

Upstream provenance: [WMD-group/SMACT](https://github.com/WMD-group/SMACT), [Davies et al., JOSS 7 (2022), DOI 10.21105/joss.04296](https://doi.org/10.21105/joss.04296). The hosted wrapper is released under MIT-compatible upstream terms with the upstream license notice retained.

## Assets in this post

- [Screen compositions with SMACT](https://ouro.foundation/routes/apollo/screen-compositions-with-smact) (route, id `2e928b1a-93ad-4b98-a122-6d0280a1f81b`)
- [SMACT Composition Screening](https://ouro.foundation/services/apollo/smact-composition-screening) (service, id `a8235096-de34-4cd1-b02b-8f1b9eb96db9`)
