Открытый on-prem проект для акселерационной программы INDUSTRIX 2026.
Направление: «Кросс-функциональные решения» — извлечение металлов из попутно добываемой воды на объектах нефтегазодобычи; также подготовка промысловых вод, ресурсная валоризация, технико-экономический анализ и российское ПО.
Репозиторий: https://github.com/KonkovDV/brinevalue-os · Лицензия: Apache-2.0
BrineValue OS — локальная инженерная система предварительного отбора пластовых и попутно добываемых вод для лабораторной проверки извлечения лития, брома, стронция, калия и бора.
Йод учитывается в составе воды как потенциальный компонент и может участвовать в расчёте цены, однако отдельная технологическая операция его извлечения в текущей версии не реализована.
Система не является:
- цифровым двойником;
- FEED-решением;
- промышленной системой управления;
- сертификатом качества продукта;
- инвестиционной моделью.
Она работает в рекомендательном режиме и предназначена для этапа между архивом анализов и расширенной лабораторной программой.
Предварительный отбор потоков пластовой или попутно добываемой воды перед лабораторными и стендовыми испытаниями.
Проблема заказчика: большое число потоков и технологических вариантов приходится проверять экспериментально до того, как становятся понятны ограничения по составу воды, соотношению Mg/Li, солеотложению, органике, реагентам, энергии, отходам и качеству конечного продукта.
- инженер-технолог;
- специалист по химии и подготовке воды;
- руководитель лабораторной или пилотной программы;
- специалист по технико-экономической оценке;
- владелец производственного актива, принимающий решение о следующем этапе.
| Вход письма | Поле в коде |
|---|---|
| Концентрации Li, Br, Sr, K, B, I, Na, Ca, Mg, Ba, Cl, SO₄, HCO₃ | Brine.ions |
| Дебит | Brine.flow |
| История дебита | Brine.flow_history (список / CSV flow_history) |
| Температура, pH, органика | temp, ph, org |
| Неопределённости измерений | Brine.unc / CSV unc_* |
| Ограничения инфраструктуры | Brine.infrastructure / CSV infrastructure_json |
| Стоимость реагентов и энергии | Brine.site_econ.reagent_price / energy_price |
| Требования к продукту | Brine.product_requirements (напр. max_mg_li) |
| Предварительные цены и TEA-параметры | site_econ.prices, discount, years |
Ответ analyze включает site_context с флагом letter_inputs_present.
- проверка входных данных и контроль качества анализа;
- расчёт ионного баланса и ионной силы;
- предварительная оценка индексов солеотложения методом Davies в пределах применимости модели;
- предупреждение о необходимости Pitzer / PHREEQC / Reaktoro для более концентрированных рассолов;
- сравнение восьми фиксированных технологических сценариев;
- последовательное обновление состава воды после операций предварительной подготовки;
- расчёт предварительного извлечения Li, Br, Sr, K и B;
- компонентный материальный баланс (программный ledger);
- предварительная оценка CAPEX, OPEX, NPV, окупаемости и стоимости продукта;
- сценарный анализ цены Li₂CO₃;
- оценка P(NPV > 0) и устойчивости выбранной схемы при неопределённости состава и дебита;
- ранжирование дополнительных измерений по ожидаемому снижению разброса NPV;
- управляемые решения: не продолжать / лаборатория / проектирование пилота;
- запрет перехода к масштабированию при предварительных экономических допущениях;
- локальное развёртывание: CLI, FastAPI, Streamlit, Docker;
- импорт CSV / Excel;
- воспроизводимый HTML-отчёт;
- документация по ограничениям, безопасности, научным методам и плану валидации.
На текущем дереве репозитория:
| Проверка | Результат |
|---|---|
| Автотесты | 77 (python run_tests.py) |
| Синтетический benchmark | GATES PASS |
| Adversarial / red-team suite | 0 зарегистрированных отказов |
| Данные demo / benchmark | синтетические |
Результаты подтверждают корректность программных ограничений и логики обработки, но не являются подтверждением полевой точности моделей.
Экономика. Предварительная TEA использует допущения по ценам, CAPEX/OPEX, энергии и реагентам (screening_placeholder). Результаты — для сравнения вариантов и раннего отсева слабых сценариев, не для инвестиционного решения без данных объекта.
Материальный баланс. Ledger программно сохраняет связь feed → recovered / removed / residual. Замыкание баланса — свойство реализации, не независимое доказательство физической точности. Для пилота нужен измеренный баланс по фактическим потокам.
Bayesian update. Диагностический: обновляет оценку извлечения после лабораторных наблюдений, но не заменяет автоматически параметры технологической модели и не подменяет лабораторную калибровку.
Davies SI. Decision-grade только при I ≤ 0.5 mol/L; иначе — прозрачность + маршрутизация к Pitzer/PHREEQC.
Подробнее: docs/LIMITATIONS.md, docs/INDUSTRIX_APPLICATION_SYNC_2026_07_23.md, docs/INDUSTRIX_CLAIM_MAP.md.
pip install -e ".[excel]" # excel optional (openpyxl)
python -m brinevalue.cli demo --index 0 --report artifacts/demo_report.html
python -m brinevalue.cli screen data/streams.csv
python -m benchmark.run_benchmark
python -m benchmark.redteam
python run_tests.py| Сервис | Команда |
|---|---|
| API | uvicorn brinevalue.api:app --host 127.0.0.1 --port 8000 |
| UI | streamlit run brinevalue/dashboard.py |
| Docker | docker compose up (bind 127.0.0.1; опционально BRINEVALUE_API_TOKEN) |
Конвейер: QC → SI (Davies) → 8 схем → TEA → P(NPV>0) + stability → ranking измерений → no_go / lab / pilot.
recommend() всегда governed. Сырой NPV — в raw_decision (может содержать scale, но governed его не выдаёт).
AppSec: docs/SECURITY_REMEDIATION_PLAN_2026_07_23.md.
- v0.5.2 — INDUSTRIX claim sync + AppSec harden (XSS, loopback Docker, API bounds/token, scale→pilot cap, honest Bayes/DoE/TEA labels).
- v0.5.1 — packaging, governed recommend, Davies gating.
- v0.5.0 — INDUSTRIX readiness layer.