SIENTIAPDE-1646

SIENTIAPDE-1646 Add new scheduling configurations and remove outdated documentation

- Introduced new scheduling configurations for minimal retrain, drift analysis, and simple metrics in `input_sample.json`.
- Removed obsolete documentation files related to drift analysis and E2E test reports to streamline project resources.
- Updated E2E tests for minimal retrain to enhance reporting and error handling during model retraining processes.
This commit is contained in:
vitor-aignosi
2026-05-11 17:02:08 -03:00
parent 16ea436e45
commit 4989cfcb3c
5 changed files with 182 additions and 131 deletions

View File

@@ -1,48 +0,0 @@
# E2E test run report
**Date:** 2026-05-08
**Command:** `source venv/bin/activate && rtk pytest e2e/ -v --tb=short`
**Environment:** Linux, Python 3.11.15, pytest 9.0.3
## Summary
| Metric | Count |
|--------|------:|
| Collected | 47 |
| **Passed** | **47** |
| **Failed** | **0** |
Full pytest output (when using `rtk`) is stored under `~/.local/share/rtk/tee/` as timestamped `*_pytest.log` files.
---
## Regression fixed during this run (drift)
An initial e2e run failed **3** drift tests with:
`ValueError: The truth value of a Index is ambiguous`
**Cause:** `calculate_drift` passes `reference_data.columns` (a **pandas `Index`**) into `ModelMetrics.get_drift_metrics`, which forwards it to `sientia_model.analytics.drift_analysis.DriftAnalysis`. The analyzer uses patterns such as `if not features:` on the feature list. Boolean evaluation of an `Index` raises in pandas.
**Fix (in `laborious/activities/model_metrics.py`):** At the start of `get_drift_metrics`, normalize with `feature_names: list[str] = list(reference_columns)` and use `feature_names` in the `DriftAnalysis` config and in `detect_univariate_drift` / `detect_multivariate_drift`.
After this change, the full **`e2e/`** suite was re-run and **all 47 tests passed**.
---
## Suite coverage (high level)
| Area | File(s) | Notes |
|------|---------|--------|
| Drift workflow | `e2e/test_drift.py` | Happy path, 30% reference fallback, empty target, bad `chunk_period`, empty merge / no export, sub-minute chunking |
| Predictions batch | `e2e/test_predictions_batch_*.py` | Main workflow, prediction process gates / repeat, format export |
| Child workflows | `e2e/test_child_workflows_e2e.py` | Format + export path |
| Minimal retrain | `e2e/test_minimal_retrain.py` | Success / failure / missing target / no data |
| MinIO offload | `e2e/test_minio_offload.py` | Load query + batch path |
| Simple metrics | `e2e/test_simple_metrics.py` | Persistence, subset, edge cases |
---
## Relation to earlier reports
Older failures described in previous versions of this document (e.g. JensenShannon NULLs vs `drift_metrics.value` NOT NULL, sparse `chunk_period='s'` data) are **not** reproduced in this run. If those topics resurface after data or dependency changes, see the dedicated notes under `docs/` (e.g. drift / JS investigations) and `e2e/scenarios.md`.