Version: 6.1.0 Status: active Class: published Owner: BioETL Team Reviewers:
- BioETL Team Last verified: '2026-09-03'
BioETL command-line interface (CLI) - основной способ взаимодействия с системой. Построен на фреймворке Click для стабильности и расширяемости.
Версия: 6.1.0 (bioetl --version)
Дата обновления: 2026-09-03
Статус покрытия: published command and operator surface
Boundary: this page is the CLI command reference (what commands exist and their options). It does NOT own execution workflows, runtime control flow, or declarative workflow inventory. For execution workflows and runtime control flow, see Running Pipelines. For declarative workflow inventory, see Workflow Catalog.
# Рекомендуемый способ (после установки)
bioetl <command> [options]
# Во время разработки с uv
uv run python -m bioetl <command> [options]
# Или через активированное virtualenv
python -m bioetl <command> [options]Для справки по любой команде добавьте --help:
bioetl --help
bioetl run --helpBounded Phase1 surface для workflow YAML из configs/workflows/.
Синтаксис:
bioetl workflow run <NAME> [OPTIONS]
bioetl workflow status <NAME> [OPTIONS]Подкоманды:
| Подкоманда | Назначение |
|---|---|
run |
Последовательно выполняет declarative workflow через workflow manifest / ledger / execution-state control plane |
status |
Показывает durable workflow status when persisted state exists, otherwise falls back to bounded topology |
Опции:
| Опция | Описание |
|---|---|
--dry-run |
Включить dry-run для pipeline steps |
--only-steps a,b |
Выполнить только указанные шаги и их обязательные зависимости |
--run-type |
Override для incremental, backfill, rebuild |
--start-offset |
Override для start_offset у pipeline steps |
--limit |
Override для limit у pipeline steps |
--input-csv |
Override для CSV filter input у pipeline steps |
--filter-column |
Override для CSV filter column у pipeline steps |
--filter-field |
Override для source filter field у pipeline steps |
--vacuum-after-run |
Override VACUUM execution for pipeline steps |
--vacuum-retention-days |
Override VACUUM retention for pipeline steps |
--log-level |
Override log level for pipeline steps |
--ignore-yaml-filter |
Игнорировать YAML filter defaults у pipeline steps |
--skip-gold |
Пропустить Gold writes у pipeline steps |
--execution-context |
Override execution context у pipeline steps |
--use-cached-bronze/--no-cached-bronze |
Override Bronze cache usage у pipeline steps |
--cached-bronze-path |
Явный Bronze cache path у pipeline steps |
--cached-bronze-date |
Bronze cache date filter у pipeline steps |
--exact-replay/--no-exact-replay |
Override strict exact replay request у pipeline steps |
--required-persistence-profile <profile> |
Per-run override for the control-plane persistence profile (degraded_observable, replay_ready, forensic_grade) |
--no-control-plane-archive |
Skip local control-plane archive pack after successful pipeline steps |
--replay-of-run-id |
Explicit parent run_id for exact replay pipeline steps |
--replay-of-manifest-id |
Explicit parent manifest_id for exact replay pipeline steps |
--tracing/--no-tracing |
Override distributed tracing for pipeline steps |
--debug-export/--no-debug-export |
Включить per-run debug audit pack для workflow pipeline steps |
| `--debug-export-format csv | xlsx` |
--debug-export-dir |
Override root directory для workflow debug-export pack |
--resume-last |
Возобновить последний failed или incomplete workflow run с тем же execution fingerprint |
--resume-manifest-id |
Возобновить один конкретный workflow run по manifest_id вместо auto-selection через --resume-last |
--resume-run-id |
Возобновить один конкретный workflow run по workflow_run_id |
--force-steps a,b |
Явно форсировать указанные шаги при resume вместо обычного skip поведения |
--repair-steps a,b |
Явно пометить шаги как repair path для destructive ambiguity recovery |
--incremental |
Автоматически продвинуть start_offset от последнего успешного workflow execution; несовместим с resume selectors и явным --start-offset |
--ensure-observability-backend/--no-ensure-observability-backend |
Default off. Opt-in auto-start of detached BioETL Ops HTTP backend (bioetl health server) for Grafana ID/detail panels. Does not start Quarantine Explorer / :8081. Prefer a long-lived bioetl health server --port 8000. |
--observability-backend-port |
Port for the opt-in detached Ops HTTP / health server backend (default 8000) |
Опции:
| Опция | Описание |
|---|---|
--only-steps a,b |
Показать только указанные шаги и их обязательные зависимости |
| `--format text | json |
--run-id |
Показать persisted status для конкретного workflow_run_id |
Published поведение:
workflow runсоздаёт immutable workflow manifest до начала исполнения.workflow runпишет append-only workflow ledger events and mutable workflow execution state.workflow statusиспользует persisted workflow state, если он существует; если нет, команда честно возвращает bounded topology-only surface.workflow run --tracingвключает OTLP/export path when configured; Grafana Tempo Explore Traces handoff was removed from shipped dashboards (2026-07-23). Without--tracing, runtime may useNoOpTracing.- Structured workflow logs remain in
reports/logs/bioetl.log(file-based; Loki/Promtail no longer shipped). workflow runstarts the local metrics HTTP server on demand and performs a best-effort metrics publication flush on command completion so shipped Prometheus/Grafana workflow surfaces can observe completed workflow runs.- workflow telemetry is published with per-run grouping identity so selected-range workflow dashboard panels can retain completed short-lived workflow evidence after the CLI process exits.
workflow runnow accepts the same non-conflicting pipeline runtime overrides asbioetl run, such as--limit, CSV/filter options, cache/replay options, vacuum overrides, tracing overrides, debug-export overrides, and--required-persistence-profile.--required-persistence-profile degraded_observableis still available as an explicit local diagnostic opt-down for non---exact-replay, non-critical launches that should remain observable without claiming thereplay_readyevidence floor.--exact-replay, production/debug critical runtimes, and strict workflow steps still promote the effective profile back to the published family default or fail closed, so this flag cannot bypass exact-replay guardrails.- pipeline-level
--resumeis intentionally not exposed onworkflow run; workflow control-plane resume stays on--resume-last. --resume-lastиспользует semanticexecution_fingerprint, а не только имя workflow.--resume-manifest-idи--resume-run-idpin-ят resume на один конкретный persisted workflow occurrence, когда оператору недостаточно latest-match поведения--resume-last.--incrementalразрешён только для обычного workflow launch path и не может смешиваться с--resume-last,--resume-manifest-id,--resume-run-idили явным--start-offset.- destructive ambiguity recovery не делает silent replay: при
repair_requiredоператор должен использовать--repair-stepsили--force-steps.
Примеры:
bioetl workflow run chembl_activity --dry-run
bioetl workflow run chembl_activity --limit 1000
bioetl workflow run chembl_activity --input-csv data/filter-ids.csv --filter-column molecule_id --filter-field molecule_chembl_id
bioetl workflow run chembl_activity --use-cached-bronze --exact-replay --replay-of-run-id parent-run-1 --replay-of-manifest-id manifest-parent-1
bioetl workflow run chembl_baseline --log-level DEBUG --debug-export --debug-export-format csv --debug-export-format xlsx
bioetl workflow run chembl_target --incremental --use-cached-bronze --cached-bronze-date 2026-06-29
bioetl workflow status chembl_activity
bioetl workflow run publication_provider_pack --dry-run
bioetl workflow run chembl_baseline --dry-run
bioetl workflow run chembl_core --dry-run
bioetl workflow run chembl_core --only-steps summarize_core_extracts
bioetl workflow run chembl_core --resume-last
bioetl workflow run chembl_core --resume-manifest-id wf-manifest-2026-06-30-001
bioetl workflow run chembl_core --resume-run-id 00000000-0000-0000-0000-000000000111
bioetl workflow run chembl_core --resume-last --repair-steps reconcile_assay_target_orphans
bioetl workflow run chembl_reference_pack --observability-backend-port 18081
bioetl workflow status chembl_core
bioetl workflow status chembl_core --run-id 00000000-0000-0000-0000-000000000111
bioetl workflow status chembl_core --format jsonGrafana identity panels (ID, processed-records) use BioETL Ops HTTP against
the main health server (bioetl:8000 in Docker / BIOETL_OPS_HTTP_URL).
Default main compose does not start bioetl quarantine serve on :8081.
Record-level quarantine forensics: bioetl quarantine inspect. Flag
--no-ensure-observability-backend remains for legacy local helpers when present.
Выполняет ETL-пайплайн для указанной сущности.
Синтаксис:
bioetl run --pipeline <NAME> [OPTIONS]Обязательные параметры:
| Параметр | Описание |
|---|---|
--pipeline <NAME> |
Имя пайплайна (соответствует YAML в configs/entities/) |
Опции:
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--run-type |
choice | incremental |
Тип запуска: incremental, backfill, rebuild |
--limit |
int | None | Максимальное количество записей |
--resume |
flag | False | Продолжить с последнего checkpoint |
--resume-run-id |
str | None | Возобновить ordinary pipeline из checkpoint конкретного run_id вместо mutable latest pointer |
--resume-manifest-id |
str | None | Возобновить ordinary pipeline из checkpoint конкретного manifest_id вместо mutable latest pointer |
--start-offset |
int | None | Начать incremental run с указанного offset |
--dry-run |
flag | False | Предпросмотр без записи данных |
--yes, -y |
flag | False | Пропустить подтверждение для rebuild/backfill |
--input-csv |
path | None | Путь к CSV с ID для фильтрации |
--filter-column |
str | None | Имя колонки в CSV; runtime fallback обычно id |
--filter-field |
str | None | Поле API; effective default зависит от pipeline |
--vacuum-after-run |
flag | None | Запустить VACUUM после успешного выполнения |
--vacuum-retention-days |
int | None | Retention для VACUUM (дней, override YAML config) |
--debug |
flag | False | Включить DEBUG логирование |
--tracing/--no-tracing |
flag | None | Override distributed tracing for this run |
--debug-export/--no-debug-export |
flag | False | Persist a per-run debug audit pack with Bronze/Silver/Gold traces |
--debug-export-format |
choice | csv,xlsx |
Repeatable debug-export formats (csv, xlsx) |
--debug-export-dir |
path | None | Override the debug-export root directory |
--health-server/--no-health-server |
flag | True | Включить HTTP health server |
--health-port |
int | 8000 | Порт для health/metrics server (Docker main default) |
--ensure-observability-backend/--no-ensure-observability-backend |
flag | False | Default off. Opt-in auto-start of detached BioETL Ops HTTP backend (bioetl health server) |
--observability-backend-port |
int | 8000 | Port for the opt-in detached Ops HTTP / health server backend |
--use-cached-bronze/--no-cached-bronze |
flag | False | Читать Bronze cache вместо API |
--cached-bronze-date |
str | None | Фильтровать Bronze cache по дате YYYY-MM-DD |
--cached-bronze-path |
path | None | Явный путь к каталогу Bronze cache |
--exact-replay/--no-exact-replay |
flag | False | Включить strict exact replay внутри опубликованной support boundary с fail-closed policy |
--required-persistence-profile |
choice | None | Per-run override для control-plane persistence profile (degraded_observable, replay_ready, forensic_grade) |
--no-control-plane-archive |
flag | False | Skip local control-plane archive pack after a successful run |
--replay-of-run-id |
str | None | Явный parent run_id для exact replay |
--replay-of-manifest-id |
str | None | Явный parent manifest_id для exact replay |
Примеры:
# Инкрементальный запуск (по умолчанию)
bioetl run --pipeline chembl_activity
# С ограничением записей (для тестирования)
bioetl run --pipeline chembl_activity --limit 100
# Полная перезагрузка данных
bioetl run --pipeline chembl_activity --run-type rebuild --yes
# Предпросмотр очистки без выполнения
bioetl run --pipeline chembl_activity --run-type rebuild --dry-run
# Продолжить прерванный запуск
bioetl run --pipeline chembl_activity --resume
# Продолжить конкретный historical occurrence по run identity
bioetl run --pipeline chembl_activity --resume-run-id 7f26d7b2-2c25-4aef-bf4c-030e4f8a4f87
# Продолжить конкретный historical occurrence по manifest identity
bioetl run --pipeline chembl_activity --resume-manifest-id manifest-parent-001
# Начать incremental run с известного offset
bioetl run --pipeline chembl_activity --start-offset 5000
# С фильтрацией по CSV
bioetl run --pipeline chembl_activity \
--input-csv data/filter-ids.csv \
--filter-column molecule_id \
--filter-field molecule_chembl_id
# С DEBUG логированием
bioetl run --pipeline chembl_activity --debug
# Запуск из локального Bronze cache
bioetl run --pipeline chembl_activity --use-cached-bronze
# Локальный diagnostic live/backfill запуск без replay_ready evidence claim
bioetl run --pipeline chembl_publication --limit 1000 --required-persistence-profile degraded_observable
# Strict exact replay с явным ancestry
bioetl run --pipeline chembl_activity \
--use-cached-bronze \
--exact-replay \
--replay-of-run-id 7f26d7b2-2c25-4aef-bf4c-030e4f8a4f87 \
--replay-of-manifest-id manifest-parent-001Operator distinction:
| Surface | What operators should read it as | What operators must not read it as |
|---|---|---|
--resume |
Checkpoint continuation of the current pipeline execution | Strict exact replay of a prior run |
--resume-run-id / --resume-manifest-id |
Occurrence-pinned checkpoint continuation for one explicit historical ordinary-pipeline run | A request to ignore compatibility anchors |
--run-type rebuild |
Fresh recomputation of downstream data from available sources/Bronze | Checkpoint continuation or replay proof |
--exact-replay |
Fail-closed request for strict exact replay on snapshot-backed inputs внутри опубликованной support boundary | Ordinary rerun, rebuild, or degraded resume |
replay_mode=same_data_state_recovery in inspection |
A manifested run that can recover the same data state from immutable inputs | A separate CLI mode |
replay_mode=rebuild in inspection |
Ordinary rebuild/rerun path outside strict exact replay | Snapshot-backed same-data-state recovery |
Checkpoint resume policy (runtime setting):
Migration: CLI flag --checkpoint-compatibility was removed. Operators set
settings.pipeline.control_plane.checkpoint_compatibility_policy in config
(observe, soft_fail, hard_fail). Do not revive the retired flag.
settings.pipeline.control_plane.checkpoint_compatibility_policy=observeDegraded operator mode: продолжить можно только при несовместимостях вне canonical execution identity; identity mismatch всё равно блокирует resume.settings.pipeline.control_plane.checkpoint_compatibility_policy=soft_fail(по умолчанию) Заблокировать resume при несовместимости.settings.pipeline.control_plane.checkpoint_compatibility_policy=hard_failПрервать запуск ошибкой при несовместимости.required_persistence_profile=replay_readyиforensic_gradeне используют effectiveobserve; runtime повышает policy доhard_fail.- если текущий запуск выполняется как
exact_replay, runtime принудительно применяетhard_fail, даже если в settings запрошен более мягкий policy; для published contract это режим strictexact replay, а не degraded resume. --replay-of-run-idи--replay-of-manifest-idдопустимы только вместе с--exact-replay; они публикуют explicit replay ancestry в manifest/inspection surface и не должны использоваться для обычного rerun/rebuild.
Supported resume modes:
- ordinary
bioetl run --resumeuses the latest checkpoint pointer plus compatibility checks without ledger suffix replay; - ordinary
bioetl run --resume-run-id/--resume-manifest-idpins resume to one explicit historical checkpoint occurrence and still applies the same compatibility gates; - composite resume uses checkpoint snapshot state as the base and then replays
the ledger suffix strictly after
last_event_id. execution_fingerprintостаётся canonical semantic identity, аcomposite_run_identityиспользуется как occurrence-scoped resume anchor для composite path.run_idостаётся canonical occurrence anchor, аmanifest_id— immutable persisted manifest record key для этого occurrence.
Checkpoint load telemetry uses bounded statuses. In particular:
observe_blocked_identitymeansobservemode still rejected resume because canonical execution identity mismatched.observe_loaded_degradedmeansobservemode allowed resume only after a non-identity compatibility warning.
Типы запуска:
| Тип | Описание | Очистка данных |
|---|---|---|
incremental |
Обработка новых записей с последнего checkpoint | Нет |
backfill |
Обработка определённого диапазона | Silver/Gold |
rebuild |
Полная перезагрузка производных данных | Silver/Gold |
Exit Codes:
| Код | Значение |
|---|---|
| 0 | Успешное выполнение |
| 82 | Ошибка выполнения пайплайна |
| 83 | Превышен порог Data Quality |
| 84 | Ошибка захвата блокировки |
| 86 | Сетевая ошибка |
| 130 | Прервано (Ctrl+C) |
Последовательно выполняет все пайплайны для указанного провайдера.
Синтаксис:
bioetl run-all --source <PROVIDER> [OPTIONS]Опции:
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--source |
str | Required | Имя провайдера (chembl, pubchem, uniprot и др.) |
--run-type |
choice | incremental |
Тип запуска |
--limit |
int | None | Лимит записей для каждого пайплайна |
--dry-run |
flag | False | Показать пайплайны без выполнения |
--yes, -y |
flag | False | Пропустить подтверждение |
--list-only |
flag | False | Только показать список пайплайнов |
--debug |
flag | False | DEBUG логирование |
--health-server/--no-health-server |
flag | True | Включить HTTP health server |
--health-port |
int | 8000 | Порт для health/metrics server |
--ensure-observability-backend/--no-ensure-observability-backend |
flag | False | Opt-in detached BioETL Ops HTTP backend |
--observability-backend-port |
int | 8000 | Port for the opt-in Ops HTTP backend |
Примеры:
# Запуск всех ChEMBL пайплайнов
bioetl run-all --source chembl
# Только просмотр списка
bioetl run-all --source chembl --list-only
# Предпросмотр
bioetl run-all --source pubchem --dry-run
# Rebuild всех пайплайнов провайдера
bioetl run-all --source chembl --run-type rebuild --yesВыполняет композитный пайплайн (seed + enrichers) согласно ADR-026.
Синтаксис:
bioetl run-composite --composite <NAME> [OPTIONS]Опции:
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--composite |
str | Required | Имя композитного пайплайна |
--resume |
flag | False | Продолжить с checkpoint snapshot + ledger replay |
--dry-run |
flag | False | Предпросмотр без записи |
--seed-limit |
int | None | Лимит записей для seed пайплайна |
--enrich-only |
str | None | Запустить только указанные enrichers (через запятую) |
--required-only |
flag | False | Пропустить опциональные enrichers |
--force-enricher |
str | None | Принудительный перезапуск enricher |
--use-cached-bronze/--no-cached-bronze |
flag | False | Читать Bronze cache вместо API |
--cached-bronze-date |
str | None | Фильтровать Bronze cache по дате YYYY-MM-DD |
--cached-bronze-path |
path | None | Явный путь к каталогу Bronze cache |
--cached-bronze-enrichers/--no-cached-bronze-enrichers |
flag | None | Override cached Bronze только для enrichers |
--cached-bronze-dependencies/--no-cached-bronze-dependencies |
flag | False | Override cached Bronze для dependency pipelines |
--debug |
flag | False | DEBUG логирование |
--health-server/--no-health-server |
flag | True | Включить HTTP health server |
--health-port |
int | 8000 | Порт для health/metrics server |
--ensure-observability-backend/--no-ensure-observability-backend |
flag | False | Opt-in detached BioETL Ops HTTP backend |
--observability-backend-port |
int | 8000 | Port for the opt-in Ops HTTP backend |
Примеры:
# Запуск композитного пайплайна публикаций
bioetl run-composite --composite publication
# С ограничением seed
bioetl run-composite --composite publication --seed-limit 100
# Только определённые enrichers
bioetl run-composite --composite publication --enrich-only crossref,openalex
# Только обязательные enrichers
bioetl run-composite --composite publication --required-only
# Composite run из Bronze cache
bioetl run-composite --composite publication --use-cached-bronzeComposite resume semantics:
- composite resume сначала загружает checkpoint snapshot;
- затем runtime валидирует compatibility anchors;
- среди них
composite_run_identity, который отделён от semanticexecution_fingerprintи блокирует drift между разными occurrence одного и того же semantic запуска; - когда ledger attached, composite path воспроизводит suffix событий строго
после
last_event_id, чтобы восстановить coarse-grained lifecycle milestones без фабрикации rich checkpoint payloads.
Просмотр immutable run manifest и append-only ledger history для уже запущенных пайплайнов.
Это published inspection surface и CLI-leg traceability documentation pack, зафиксированного в D-01.
Поведение inspection surface зависит от rollout flags на runtime object path
settings.pipeline.control_plane (source-of-truth model:
src/bioetl/infrastructure/config/_base.py):
settings.pipeline.control_plane.run_manifest_enabledsettings.pipeline.control_plane.run_ledger_enabledsettings.pipeline.control_plane.required_persistence_profilesettings.pipeline.control_plane.checkpoint_compatibility_policy
Operational semantics:
- executable standard/composite runs требуют
run_manifest_enabled=true; если новый run появился без manifest, это уже нарушение текущего runtime контракта, а не штатный режим; - если
run_manifest_enabled=trueиrun_ledger_enabled=false,showвернёт manifest payload, но без ledger history там, где такой degraded mode ещё допускается; run_ledger_enabled=trueдопустим только приrun_manifest_enabled=true;required_persistence_profile=replay_readyтребуетrun_manifest_enabled=trueи execution context внутри опубликованной strict exact-replay support boundary;required_persistence_profile=forensic_gradeтребует иrun_manifest_enabled=true, иrun_ledger_enabled=true, плюс replay-ready / lineage-closure surfaces внутри той же опубликованной boundary;checkpoint_compatibility_policyпринимает значенияobserve,soft_fail,hard_failи управляет resume-поведением при checkpoint identity mismatch.observeне является strict reproducibility mode: canonical execution-identity mismatch всё равно блокирует resume, даже если другие degraded signals могут быть только зафиксированы warning-ом.- strict persistence profiles (
replay_ready,forensic_grade) поднимают effective resume policy доhard_fail. - historical universe claim surfaces не должны читаться из одного
show/scoreрезультата как global promise; literal wording про любой historical run требует отдельного authoritativeuniverse-reportartifact.
Resume contract:
- ordinary resume uses checkpoint snapshot state and compatibility checks without ledger suffix replay;
- composite resume uses checkpoint snapshot state as the base and then replays
the ledger suffix strictly after
last_event_id. resume_contract.resume_guaranteepublishes the operator guarantee: ordinarycheckpoint_snapshot_only_resumeiscompatibility_checked_checkpoint_snapshot_resume, compositecheckpoint_snapshot_plus_ledger_suffix_resumeisbounded_composite_reconstructive_resume, and exact replay remainsstrict_evidence_boundary_exact_replay.
Canonical storage layout:
data/output/control/run_manifest/{manifest_id}.jsondata/output/control/run_manifest/_by_run_id/{run_id}.txtdata/output/control/run_ledger/{manifest_id}.jsonldata/output/control/run_ledger/_by_run_id/{run_id}.txt
Current event baseline for ledger-backed runs:
manifest_createdrun_startedstage_startedstage_completedartifact_publishedrun_finishedrun_failedrun_shutdowndq_policy_appliedcomposite_dependency_completedcomposite_enricher_completedcomposite_merge_completedinput_snapshot_published
bioetl run-manifest show <run-id|manifest-id> [--format text|json|yaml]Команда:
- сначала пытается разрешить
manifest_idнапрямую; - затем при UUID-like identifier выполняет
run_id -> manifest_idlookup; - выводит
manifest,ledger_entries,diagnostics; - добавляет ledger history для этого же manifest, если ledger включён.
- в inspection payload сохраняет replay ancestry через
replay_of_run_id,replay_of_manifest_id,replay_parentage; - публикует semantic lineage anchors как
lineage_fragment_id, а occurrence-scoped persisted lineage records какstored_fragment_id, когда historical fragment lookup должен различать несколько occurrence одного semantic fragment.
Когда diagnostics отражает rejected/degraded resume path, inspection payload
дополнительно показывает компактные forensic blocks:
current_identitycheckpoint_identity
Они содержат resume-critical anchors: execution_fingerprint, manifest_id,
effective_config_hash, contract_ref, contract_version, exact_replay,
input_snapshot_ids, input_snapshot_content_hashes. Для composite-specific
resume diagnostics дополнительно показывается composite_run_identity как
occurrence-scoped drift guard, а не как generic semantic replay identity.
Output metadata sidecars remain the operator-facing occurrence surface. Their
runtime block publishes exact_replay, replay_of_run_id,
replay_of_manifest_id, and input_snapshot_fingerprint; corresponding
artifact_published ledger details repeat these anchors together with
execution_fingerprint, effective_config_artifact_id, contract_ref, and
contract_version so replay ancestry can be checked without reconstructing the
whole manifest by hand.
В text/json/yaml diff output отдельное поле replay_relationship
показывает, является ли один manifest exact replay другого, вместо того чтобы
смешивать replay ancestry с occurrence_only или semantic_drift.
По умолчанию команда использует человекочитаемый text-формат. Для
machine-readable вывода укажи --format json или --format yaml.
text-рендерер группирует ответ по секциям Manifest, Code Provenance,
Execution Inputs, Ledger, Diagnostics, чтобы оператору не приходилось
читать сырой JSON при triage.
Примеры:
bioetl run-manifest show 7f26d7b2-2c25-4aef-bf4c-030e4f8a4f87
bioetl run-manifest show 8d166b4d-c4a8-4755-896e-cf9158c5b5ec --format yaml
bioetl run-manifest show 7f26d7b2-2c25-4aef-bf4c-030e4f8a4f87 --format jsonbioetl run-manifest score <run-id|manifest-id> [--format json|yaml|text]Команда выводит только machine-readable reproducibility_audit_score block
из manifest diagnostics. JSON/YAML payload содержит schema_version,
contract_version, overall_score, category_scores, blockers,
evidence_refs, scored_at и source.
bioetl run-manifest diff <left> <right> [--format text|json|yaml]Команда сравнивает все top-level поля двух manifest по каноническому JSON сравнению значений. На практике чаще всего различаются:
pipeline_name,run_typeruntime_config,resolved_configcode_provenancesource_refs,planned_artifactsrun_id,manifest_id
По умолчанию diff печатается в компактном text-виде. Для автоматической
обработки используй --format json или --format yaml.
Forensic/cross-surface payloads также показывают artifact_byte_equivalence.
Это отдельный verdict от semantic_execution_equivalence: semantic replay
может быть true, даже если sidecars или occurrence-scoped artifacts
побайтно различаются.
Примеры:
bioetl run-manifest diff 7f26d7b2-2c25-4aef-bf4c-030e4f8a4f87 17f6799e-6c1a-4dd6-a7a1-b1fe2ea3e9ae
bioetl run-manifest diff 8d166b4d-c4a8-4755-896e-cf9158c5b5ec d775f516-ff3e-4d66-a369-1417c3ff093f --format yamlbioetl run-manifest universe-report [--external-pack path/to/archive-pack.json ...] [--write] [--require-universal-claim] [--require-durable-evidence-coverage] [--format text|json|yaml]Команда собирает authoritative full-universe historical replay artifact из локального retained corpus и одного или более archived/offline packs. Ключевые режимы:
--writeсохраняет artifact вdata/output/control/historical_replay_universe/{report_id}.json;--require-universal-claimзавершает команду с non-zero exit, еслиuniversal_claim.claimed != true;--require-durable-evidence-coverageзавершает команду с non-zero exit, еслиdurable_evidence_coverage_claim.claimed != true.
Artifact также публикует governed_full_corpus_gate. Это machine-readable
gate для wording уровня all_known_historical_runs: universal historical
exact-replay claim допустим только когда этот gate имеет
satisfied=true.
Используй оба --require-* флага для fail-closed release/operator gates,
когда нужна строгая проверка wording уровня "любой historical run".
bioetl run-manifest verify <left> <right> [--format text|json|yaml]Сравнивает replay evidence двух identifier-ов across manifest и effective-config stores.
bioetl run-manifest forensic-diff <left> <right> [--format text|json|yaml]bioetl run-manifest inventory [--format text|json|yaml]bioetl run-manifest replay-bundle <identifier> [--format text|json|yaml]bioetl run-manifest closure-report [--dispositions FILE] [--write] [--format text|json|yaml]--write сохраняет artifact в
data/output/control/historical_replay_closure.
bioetl run-manifest certify-historical-bulk <PLAN_PATH> [--format text|json|yaml]See also:
- Run Manifest and Run Ledger Contract
- Run Manifest Inspection Runbook
- ADR-044
- ADR-045
- D-01 Documentation Governance
- Project Navigator
Локальные pipeline/workflow run reports (reports/run-reports по умолчанию).
Не путать с run-manifest universe-report.
Синтаксис:
bioetl report [COMMAND] [OPTIONS]bioetl report show --pipeline <NAME> [--run-id <UUID>] [--latest] [--json]
bioetl report show --workflow <NAME> [--workflow-run-id <UUID>] [--latest] [--json]| Опция | Описание |
|---|---|
--pipeline |
Имя пайплайна |
--run-id |
Pipeline run id |
--workflow |
Имя workflow |
--workflow-run-id |
Workflow run id |
--latest |
Читать _latest pointer |
--root |
Корень reports (default reports/run-reports) |
--json |
Печать JSON вместо markdown |
Нужен --pipeline или --workflow.
bioetl report list [--pipeline <NAME>] [--workflow <NAME>] [--limit 20] [--root PATH]bioetl report diff --pipeline <NAME> --run-id-a <UUID> --run-id-b <UUID> [--root PATH]Печатает JSON (funnel / top reasons).
По умолчанию dry-run. --apply удаляет.
bioetl report prune --kind pipeline|workflow [--owner <NAME>] [--max-count N] [--max-age-days N] [--apply] [--root PATH]Утилиты для просмотра и валидации архитектурных решений (Architecture Decision Records).
bioetl adr list [--json]bioetl adr show <NUMBER> [--raw]bioetl adr validate [--json]Экспортирует Delta-таблицы Silver/Gold в CSV, XLSX или TSV.
Синтаксис:
bioetl export [TABLE] [OPTIONS]Аргументы:
| Аргумент | Описание |
|---|---|
TABLE |
Имя таблицы в формате provider.entity (опционально при --list) |
Опции:
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--list |
flag | False | Показать все доступные таблицы |
--preview |
flag | False | Показать схему и sample данных |
--format, -f |
choice | csv |
Формат: csv, xlsx, tsv |
--layer, -l |
choice | silver |
Слой: silver, gold |
--output, -o |
path | data/exports |
Директория для экспорта |
--limit |
int | None | Максимальное количество строк |
--columns, -c |
str | None | Колонки для экспорта (через запятую) |
--requester |
str | None | Requester identity for governed export audit metadata |
--role |
choice | viewer |
viewer, investigator, exporter, admin |
--filters-hash |
str | None | Stable SHA/hash of query filters for parity auditing |
--expires-at |
str | None | ISO-8601 expiry timestamp for governed export download semantics |
--redaction-profile |
choice | default |
default or none (none requires a privileged role) |
Успешный export создает не только data-файл, но и sidecar manifests:
| Файл | Назначение |
|---|---|
*.provenance-manifest.json |
Dataset bundle ID, BioETL version, source providers, schema fields, row count и data-file checksum |
*.licensing-manifest.json |
Provider attribution/licensing notes и отдельная запись MIT-лицензии кода |
*.checksums-manifest.json |
sha256/size для data-файла и sidecar manifests |
Licensing manifest не является юридическим заключением; он фиксирует known provider obligations и не трактует merged outputs как MIT-licensed data.
Примеры:
# Список всех таблиц
bioetl export --list
# Предпросмотр таблицы
bioetl export chembl.activity --preview
# Экспорт в CSV (по умолчанию)
bioetl export chembl.activity
# Экспорт в Excel
bioetl export chembl.activity --format xlsx
# С ограничением строк и колонок
bioetl export chembl.activity --limit 10000 --columns id,name,value
# Экспорт Gold-слоя
bioetl export chembl.activity --layer gold
# В указанную директорию
bioetl export chembl.activity -o ./my-exportsЗапускает пайплайн с точками останова для отладки. Полезно для пошагового выполнения и инспекции промежуточных состояний.
Синтаксис:
bioetl debug --pipeline <NAME> [OPTIONS]Обязательные параметры:
| Параметр | Описание |
|---|---|
--pipeline <NAME> |
Имя пайплайна (соответствует YAML в configs/entities/) |
Опции:
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--breakpoints |
str | all stages | Comma-separated: after_preflight, after_bronze, after_silver, after_gold, after_dq, on_error, on_quarantine |
--limit |
int | 10 | Максимальное количество записей |
--mode |
choice | interactive |
interactive (CLI prompts) или log (auto-continue) |
--run-type |
choice | incremental |
incremental, backfill, rebuild |
Migration: --breakpoint (singular), --step-into, --inspect-state,
--debugger-port и --dry-run удалены. Не восстанавливать remote
debugger port как canonical debug surface.
Примеры:
bioetl debug --pipeline chembl_activity --breakpoints after_silver
bioetl debug --pipeline chembl_activity --mode log --limit 10
bioetl debug --pipeline chembl_activity --run-type incrementalСм. также:
bioetl run— для обычного выполнения- Debugging Guide
Click group (не набор root flags). bioetl diagnostics --help показывает
подкоманды. Root flags --metrics / --health / --checkpoints /
--manifests / --quarantine / --since / --output удалены; не
восстанавливать их как canonical surface.
Синтаксис:
bioetl diagnostics [COMMAND] [OPTIONS]Подкоманды:
| Подкоманда | Назначение |
|---|---|
guide |
Canonical diagnostics discovery / routing guide |
health |
Provider health diagnostics (--provider, --json) |
metrics |
Metrics/admin observability workflow summary (--json) |
run |
One-run forensic dossier by --run-id |
dossier |
One-run dossier by --run-id или --manifest-id |
contract-checks |
Public observability contract checks (--json) |
checkpoint |
Checkpoint state + correlated audit/manifest context |
manifest |
Inspect one run manifest / ledger |
forensic-diff |
Compare two runs or manifests |
quarantine |
Quarantine statistics (same options as quarantine stats) |
Примеры:
bioetl diagnostics guide
bioetl diagnostics health --provider chembl --json
bioetl diagnostics metrics --json
bioetl diagnostics contract-checks
bioetl diagnostics dossier --run-id <RUN_ID>
bioetl diagnostics dossier --manifest-id <MANIFEST_ID>bioetl diagnostics guidebioetl diagnostics health [--provider chembl] [--json]bioetl diagnostics metrics [--json]bioetl diagnostics run --run-id <RUN_ID> [--limit 100] [--format text|json|yaml]bioetl diagnostics dossier --run-id <RUN_ID>
bioetl diagnostics dossier --manifest-id <MANIFEST_ID>bioetl diagnostics contract-checks [--json]bioetl diagnostics checkpoint --pipeline <NAME> [--run-id <UUID>] [--manifest-id <ID>] [--audit-limit 100] [--format text|json|yaml]bioetl diagnostics manifest <run-id|manifest-id> [--format text|json|yaml]bioetl diagnostics forensic-diff <left> <right> [--format text|json|yaml]bioetl diagnostics quarantine --pipeline <NAME> [--json] [--error-code CODE] [--run-id UUID] [--silver-filter-only] [--group-by reason-code] [--top 10]bioetl diagnostics dossier принимает ровно один идентификатор:
--run-id <RUN_ID> или --manifest-id <MANIFEST_ID>.
Manifest-rooted lookup сначала разрешает canonical run_id из manifest store,
затем собирает audit, checkpoint и run-manifest diagnostics. В replay/forensic
решениях учитывайте artifact_publication_closure: только closed является
полным produced-artifact evidence gate.
См. также:
bioetl health— для health checksbioetl run-manifest— для inspection manifests
Управление конфигурацией Data Quality: валидация, просмотр и тестирование DQ правил.
Синтаксис:
bioetl dq [COMMAND] [OPTIONS]Команды:
| Команда | Назначение |
|---|---|
show <PIPELINE> |
Показать DQ configuration (--format json|yaml) |
show-effective <PIPELINE> |
Effective config artifact (--format, repeatable --override key=value) |
validate <PIPELINE> |
Валидация DQ configuration (--config-file PATH optional) |
check-compatibility <A> <B> |
Совместимость двух configuration artifacts |
Migration: bioetl dq validate --entity <PROVIDER.ENTITY> удалён.
Canonical: bioetl dq validate <PIPELINE> (например chembl_activity).
Flags --strict / --show-rules / --test-data больше не существуют.
bioetl dq show <PIPELINE> [--format yaml|json]bioetl dq show-effective <PIPELINE> [--format yaml|json] [--override key=value]bioetl dq check-compatibility <ARTIFACT1> <ARTIFACT2>bioetl dq validate <PIPELINE> [--config-file PATH]Примеры:
bioetl dq validate chembl_activity
bioetl dq validate chembl_activity --config-file custom_dq_config.yaml
bioetl dq show chembl_activity --format json
bioetl dq show-effective chembl_activity --override batch_size=100
bioetl dq check-compatibility artifact1.json artifact2.jsonСм. также:
- DQ Contracts
bioetl config validate— для общей валидации конфигурации
Инструменты для анализа и визуализации lineage (происхождения данных) в пайплайнах.
Синтаксис:
bioetl lineage [COMMAND] [OPTIONS]Команды:
Migration: bioetl lineage show --entity --record-id удалён
(No such command 'show'). Canonical surface:
| Подкоманда | Назначение |
|---|---|
explain |
Lineage graph одного run/manifest (--run-id или --manifest-id) |
trace |
Immediate upstream/downstream для --dataset-ref |
show-fragment |
Один fragment по FRAGMENT_ID (--semantic для semantic lookup) |
--format для всех трёх: text, json, yaml (не dot).
bioetl lineage explain --run-id <RUN_ID> [--format text|json|yaml]
bioetl lineage explain --manifest-id <MANIFEST_ID> [--format text|json|yaml]bioetl lineage trace --dataset-ref silver:chembl.activity@12 [--format text|json|yaml]bioetl lineage show-fragment <FRAGMENT_ID> [--semantic] [--format text|json|yaml]Примеры:
bioetl lineage explain --run-id 7f26d7b2-2c25-4aef-bf4c-030e4f8a4f87
bioetl lineage trace --dataset-ref silver:chembl.activity@12 --format json
bioetl lineage show-fragment fragment-001 --semanticСм. также:
- Lineage Architecture
bioetl run --tracing— для включения tracing
Просмотр и валидация конфигурации пайплайнов.
bioetl config show <PIPELINE> [--format yaml|json]Примеры:
bioetl config show chembl_activity
bioetl config show chembl_activity --format jsonbioetl config validate <PIPELINE>Выводит: Provider, Entity type, Silver table, Gold table (если есть).
bioetl config show-settings [--format yaml|json]Показывает все BIOETL-* переменные окружения (API-ключи маскируются).
bioetl config list-pipelinesCLI surface для работы с проблемными записями.
bioetl quarantine inspect --pipeline <NAME> [OPTIONS]| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--pipeline |
str | Required | Имя пайплайна |
--limit |
int | 100 | Максимум записей |
--error-code |
str | None | Фильтр по коду ошибки |
--run-id |
str | None | Ограничить просмотр одним run |
--silver-filter-only |
flag | False | Deprecated legacy alias для --error-code FILTERED_OUT_SILVER; sunset 2026-09-30; только Silver structural rejects, не Gold contract/semantic rejects |
Примеры:
bioetl quarantine inspect --pipeline chembl_activity
bioetl quarantine inspect --pipeline chembl_activity --error-code DQ-MISSING-FIELD
bioetl quarantine inspect --pipeline chembl_activity --error-code FILTERED_OUT_SILVERbioetl quarantine stats --pipeline <NAME> [--json]| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--pipeline |
str | Required | Имя пайплайна |
--json |
flag | False | Вывод в JSON |
--error-code |
str | None | Ограничить статистику одним кодом ошибки |
--run-id |
str | None | Ограничить статистику одним run |
--silver-filter-only |
flag | False | Deprecated legacy alias для --error-code FILTERED_OUT_SILVER; sunset 2026-09-30; только Silver structural rejects, не Gold contract/semantic rejects |
--group-by |
str | None | Фокусная Silver-группировка (reason-code, field, rule-type, operator, reason-code-field, reason-signature) |
--top |
int | 10 | Лимит элементов в группировках |
Показывает: общее количество, распределение по кодам ошибок, статусы (NEW, UNDER_REVIEW, IGNORED, REPROCESSED, EXPIRED).
bioetl quarantine replay --pipeline <NAME> [OPTIONS]| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--pipeline |
str | Required | Имя пайплайна |
--error-code |
str | None | Фильтр по коду ошибки |
--max-age-days |
int | 7 | Максимальный возраст записей |
--dry-run |
flag | False | Предпросмотр |
quarantine replay подготавливает записи к повторной обработке:
в non-dry-run режиме подходящие записи помечаются как REPROCESSED.
Команда не запускает полный rerun пайплайна сама по себе.
bioetl quarantine purge --pipeline <NAME> [OPTIONS]| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--older-than-days |
int | 30 | Удалить записи старше N дней |
--dry-run |
flag | False | Предпросмотр |
--force |
flag | False | Без подтверждения |
bioetl quarantine resolve --pipeline <NAME> --payload-hash <HASH> [--status IGNORED|REPROCESSED]Допустимые значения --status: IGNORED, REPROCESSED.
bioetl quarantine serve [--host 127.0.0.1] [--port 8000] [--data-root PATH]Retired Grafana Explorer path. Shipping Grafana identity panels use
bioetl health server / BioETL Ops HTTP on :8000. Do not treat
quarantine serve as the canonical HTTP surface.
Checkpoint inspection surfaces also expose correlated run-manifest diagnostics.
For bioetl checkpoint audit-run --run-id <UUID>, the text renderer now
includes:
persistence_profile;composite_resume_reconstructabilityfor the bounded composite replay contract;alert_signals;next_steps.
CLI reference owns the command and option inventory for this inspection surface. The control-plane contract owns persistence-profile semantics, event taxonomy, and rollout flags.
bioetl checkpoint list --pipeline <NAME>| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--pipeline |
str | Required | Имя пайплайна |
bioetl checkpoint audit-run --run-id <UUID> [--limit 100] [--format text|json|yaml]| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--run-id |
str | Required | RUN_ID запуска |
--limit |
int | 100 |
Максимум audit entries |
--format |
choice | text |
text, json, yaml |
Показывает correlated inspection payload для одного run_id:
- audit entries;
- linked run-manifest diagnostics;
persistence_profile;composite_resume_reconstructability;alert_signals;next_steps.
bioetl checkpoint inspect --pipeline <NAME> [--run-id <UUID>] [--manifest-id <ID>] [--audit-limit 100] [--format text|json|yaml]| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--pipeline |
str | Required | Имя пайплайна |
--run-id |
str | None | Опциональный RUN_ID |
--manifest-id |
str | None | Опциональный MANIFEST_ID для immutable checkpoint lookup |
--audit-limit |
int | 100 |
Максимум correlated audit entries |
--format |
choice | text |
text, json, yaml |
Показывает:
- checkpoint metadata and identity anchors;
- correlated run-manifest context;
- compatibility taxonomy;
- bounded audit history for triage.
bioetl health server [--host 127.0.0.1] [--port 8000]Docker main stack publishes health/metrics on 127.0.0.1:8000. Grafana
identity panels use datasource BioETL Ops HTTP → this server (not
Quarantine Explorer / :8081). Control-plane helpers live under
/ops/control-plane/*.
Endpoints:
GET /health— общий статусGET /healthz— alias of/health(kube-style liveness/readiness clients)GET /health/live— Kubernetes liveness probeGET /health/ready— Kubernetes readiness probeGET /health/providers— детальный статус провайдеровGET /metrics— Prometheus text exposition (bioetl_health_server_scrape_upplus injected metrics)GET /ops/control-plane/*— identity / filter-options / validation evidence for Grafana Ops HTTPGET /ops/observability/*— processed-records and pipeline/workflow run-report helpersGET /ops/quarantine/*— read-only Silver reject explorer (filtered-records,filtered-stats,filter-options)
bioetl health check [--provider chembl] [--json]Проверяет connectivity и health всех или указанных провайдеров.
Примеры:
bioetl health check
bioetl health check --provider chembl --provider pubchem
bioetl health check --jsonInspection and manual release surface for the Local-Only runtime lock files. This CLI group does not represent an inter-process lock manager or external coordinator.
bioetl lock release --pipeline <NAME> --run-id <UUID> [--exclusive]Внимание: Используйте только если уверены, что пайплайн не выполняется.
bioetl lock check --pipeline <NAME> --run-id <UUID>bioetl maintenance vacuum <TABLE> [OPTIONS]| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--retention-days, -r |
int | 7 | Минимальный возраст файлов |
--dry-run |
flag | False | Предпросмотр |
Примеры:
bioetl maintenance vacuum chembl.activity
bioetl maintenance vacuum chembl.activity --dry-run
bioetl maintenance vacuum chembl.activity -r 30bioetl maintenance vacuum-all [OPTIONS]| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--retention-days, -r |
int | 7 | Минимальный возраст файлов |
--dry-run |
flag | False | Предпросмотр |
--layer |
choice | all |
Слой: all, silver, gold |
bioetl maintenance archive <TABLE> <TARGET-PATH> [--remove-source]bioetl maintenance bronze-cleanup [OPTIONS]| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--retention-days, -r |
int | 90 | Удалить файлы старше N дней |
--dry-run |
flag | False | Предпросмотр |
bioetl maintenance cleanup-preview --pipeline <NAME>Показывает dry-run scope для Silver/Gold cleanup по конкретному pipeline без фактического удаления данных.
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--pipeline |
str | Required | Имя pipeline (например, chembl_activity) |
Пример:
bioetl maintenance cleanup-preview --pipeline chembl_activitybioetl maintenance control-plane-lifecycle [OPTIONS]Планирует или применяет cleanup для data/output/control,
data/output/checkpoints и data/output/bronze. По умолчанию команда работает
в dry-run режиме.
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--retention-days, -r |
int | 90 | Удалить unprotected artifacts старше N дней |
--apply |
flag | False | Применить план удаления |
--format |
choice | text |
Формат вывода: text, json |
--protected-manifest-id |
repeat | None | Manifest ID, который нельзя удалять |
--protected-run-id |
repeat | None | Run ID, который нельзя удалять |
--protected-effective-config-artifact-id |
repeat | None | Effective-config artifact ID для защиты |
--protected-lineage-fragment-id |
repeat | None | Lineage fragment ID для защиты |
--protected-snapshot-id |
repeat | None | Content-addressed snapshot ID для защиты |
--allow-profile-floor-violation |
flag | False | Allow deletion of stale artifacts required by replay_ready/forensic_grade floors |
Примеры:
bioetl maintenance control-plane-lifecycle --retention-days 90
bioetl maintenance control-plane-lifecycle --retention-days 90 --apply
bioetl maintenance control-plane-lifecycle --format jsonbioetl maintenance plan <PIPELINE> [--format text|json|yaml]Planner-only inspection command для versioned contract rollout. Команда не выполняет orchestration и не запускает backfill автоматически; она печатает transition summary, required actions и operator notes для выбранного pipeline.
| Опция | Тип | По умолчанию | Описание |
|---|---|---|---|
--format |
choice | text |
Формат вывода: text, json, yaml |
Примеры:
bioetl maintenance plan chembl_activity
bioetl maintenance plan chembl_activity --format json
bioetl maintenance plan chembl_activity --format yamlТипичный planner output включает:
- active contract version и rollout mode;
- read/write/shadow versions;
- migration transitions и migration guides, если они объявлены;
- required actions. Для
affects_hash=trueplanner возвращает как минимум:silver_backfill_rebuild,gold_backfill_rebuild,verification_before_cutover.
| Переменная | Описание | По умолчанию |
|---|---|---|
BIOETL_ENV |
Окружение (dev, prod) |
dev |
BIOETL_DATA_DIR |
Директория данных | ./data |
BIOETL_LOG_LEVEL |
Уровень логирования | INFO |
BIOETL_METRICS_ENABLED |
Включить Prometheus метрики | true |
BIOETL_METRICS_PORT |
Порт для Prometheus | 8000 |
BIOETL_TRACING_ENABLED |
Включить OpenTelemetry tracing | false |
API-ключи провайдеров:
BIOETL_UNIPROT_API_KEY— optional higher-throughput UniProt profileBIOETL_OPENALEX_API_KEY— required for production-like OpenAlex runsBIOETL_OPENALEX_EMAIL— optional OpenAlex contact attributionBIOETL_SEMANTICSCHOLAR_API_KEY
Коды возврата следуют стандартам Unix (sysexits.h):
| Код | Константа | Описание |
|---|---|---|
| 0 | OK | Успешное выполнение |
| 1 | FAIL | Неспецифицированная ошибка |
| 64 | EX_USAGE | Ошибка использования командной строки |
| 65 | EX_DATAERR | Ошибка формата данных |
| 66 | EX_NOINPUT | Не удалось открыть входные данные |
| 67 | EX_NOUSER | Адресат неизвестен |
| 68 | EX_NOHOST | Имя хоста неизвестно |
| 69 | EX_UNAVAILABLE | Сервис недоступен |
| 70 | EX_SOFTWARE | Внутренняя ошибка ПО |
| 71 | EX_OSERR | Ошибка ОС |
| 72 | EX_OSFILE | Отсутствует критический файл ОС |
| 73 | EX_CANTCREAT | Не удалось создать выходной файл |
| 74 | EX_IOERR | Ошибка ввода-вывода |
| 75 | EX_TEMPFAIL | Временная ошибка |
| 76 | EX_PROTOCOL | Ошибка протокола |
| 77 | EX_NOPERM | Отказано в доступе |
| 78 | EX_CONFIG | Ошибка конфигурации |
| 80 | CONFIG_ERROR | Ошибка конфигурации пайплайна |
| 81 | INIT_ERROR | Ошибка инициализации |
| 82 | PIPELINE_ERROR | Ошибка выполнения пайплайна |
| 83 | DATA_QUALITY_ERROR | Превышен DQ порог |
| 84 | LOCK_ERROR | Ошибка блокировки |
| 85 | STORAGE_ERROR | Ошибка хранилища |
| 86 | NETWORK_ERROR | Сетевая ошибка |
| 87 | CHECKPOINT_ERROR | Ошибка checkpoint |
| 130 | SIGINT | Прервано Ctrl+C |
| 143 | SIGTERM | Завершено SIGTERM |
- Running Pipelines — руководство по запуску
- Pipeline Configuration — настройка конфигураций
- Metrics & Monitoring — метрики и мониторинг
- Troubleshooting — решение проблем