qchem-leak-screen v0.1.0: sanity-check físico de propiedades cuánticas predichas por IA en CPU
Los modelos de property-prediction escupen momento dipolar, HOMO/LUMO y brecha de banda en milisegundos sin correr DFT. Nadie valida que esas propiedades cumplan leyes físicas. qchem-leak-screen es el linter perimetral que lo hace, agnóstico del modelo y sin GPU.
El problema
Un modelo predice (SMILES, propiedades) y tú lo mandas a síntesis o a un DFT caro. Pero nada revisa si el dipole de 999 D, el gap negativo o la carga neta +5 en benceno son físicamente posibles. No falta un cálculo mejor: falta la capa de control que inspeccione lo que otro modelo ya predijo.
La auditoría de código fuente (2026-07-12) lo confirma a nivel de repositorio: deepchem y OpenFermion son motores de cálculo (definen BaseSymmetry para DFT interno, no validadores de salida); 0 archivos con valid / consist / sanity / koopmans en OpenFermion. El ecosistema de cálculo es enorme (deepchem 6860★, OpenFermion 1709★); el sanity-check perimetral agnóstico es cero.
Qué hace
Recibe (SMILES, propiedades_predichas) y emite un veredicto por regla física dura, con motivo explícito. Todo en CPU, sin GPU, sin llamar a ningún modelo.
Reglas del MVP (R1–R4), todas físicamente derivadas, no ajustadas al fixture
- R1 Topología: valencia atómica, carga neta, aromaticidad (parser SMILES propio).
- R2 Koopmans: gap ≈ −ε_HOMO (aproximación de orbitales moleculares, Koopmans 1934).
- R3 Simetría de punto-grupo: dipolo ≠ 0 en grupos con inversión (Ci, C2h, D2h, Oh) viola centrosimetría (teoría de grupos, Cotton). Skipped sin geometría 3D.
- R4 Rangos físicos: aislante estable ⇒ gap > 0; dipolo conocido rara vez > ~15 D; sin NaN/inf.
Cada violación lleva rule_id, severity y reason. No es un score ciego: es una afirmación física comprobable.
Salida SARIF para CI
Además de JSON/Markdown, --format sarif emite SARIF 2.1.0 válido contra el schema oficial de OASIS, consumible por GitHub Code Scanning sin parser custom. Es render puro del veredicto: cada regla es un rule, cada violación un result con level="error" y el reason como message.text. Las reglas skipped no se emiten como hallazgo.
- name: Sanity-check de propiedades cuánticas
run: |
qls check --in candidatos/ --format sarif > qls.sarif
- name: Subir SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: qls.sarif
Límites (honestidad metodológica)
Es un sanity-check heurístico, no una autoridad de química cuántica:
- R1–R4 son heurísticas de detección de anomalías, no verdad absoluta. Un PASS no prueba que la molécula exista ni que las propiedades sean correctas; solo que no violan esas leyes duras.
- El filtro nunca corre DFT (ORCA, Gaussian, PySCF). Solo inspecciona valores ya predichos por otro modelo.
- Las tolerancias (
TOL_KOOPMANS_EV,DIP_MAX_DEBYE) son físicamente derivadas y documentadas; Koopmans es aproximación y el DFT real desvía ~1–2 eV, por eso la tolerancia es generosa. - Cobertura parcial: R3 requiere geometría 3D; sin ella queda skipped, no FAIL.
- Los fixtures usan ground truth independiente de las reglas (valores de literatura/DFT reales y valores manifiestamente imposibles). Las reglas no se validaron contra un benchmark experimental propio; son físicamente derivadas.
Resultados de la implementación
| Métrica | Valor |
|---|---|
| Tests | 34 passed |
| Cobertura | 88.31% (gate 80%) |
| Dependencias runtime | solo typer |
| Tiempo por molécula | < 50 ms (CPU) |
| Salida | JSON, Markdown, SARIF 2.1.0 |
| Licencia | AGPL-3.0-or-later |
Verificado por auditoría independiente en clon fresco: 34 passed, cobertura 88.31%, 0 referencias a modelo/DFT en los tests (anti-oráculo).
Pruébalo
python -m venv .venv && source .venv/bin/activate
pip install -e .
qls check --in fixtures/hallucinated.json --format sarif
Referencias
- Koopmans, T. (1934) - Über die Zuordnung von Wellenfunktionen und Eigenwerten zu den Einzelnen Elektronen eines Atoms
- Cotton, F. A. - Chemical Applications of Group Theory
- ElemeNet - property prediction en ms sin DFT
- ADEPT-PolyGraphMT - property prediction / conformeros
- Ensembles de conformeros - property prediction
Links
- Repo: https://github.com/amurlaniakea/qchem-leak-screen
- Licencia: AGPL-3.0-or-later - Pedro Sordo Martínez - amurlaniakea@gmail.com
Comments
No comments yet. Start the discussion.