Umbrella Regression Baseline - noetl/ai-meta GitHub Wiki
Umbrella: Grow the Rust Regression Baseline — Migrate Python-era e2e Fixtures
Issue: noetl/ai-meta#98 Opened: 2026-06-14 Status: Open — In progress
Goal
Migrate the Python-era e2e fixture suite to run on the Rust stack
(/api/execute driven, kind cluster, no Python deployment), growing
the green core count until all internally-runnable fixtures pass.
External-cloud fixtures (Snowflake, GCS, OpenAI, IB) are covered once
their auth gaps are closed.
Acceptance:
- All internally-runnable fixtures in
repos/e2e/fixtures/reachplaybook.completedon the Rust-only kind cluster. - Snowflake: both
create_sf_database+setup_sf_tablesteps COMPLETED via key-pair JWT (external-cloud; kind-validated against the live account). - Transfer fixture (
data_transfer/snowflake_postgres): deferred to #99 (credential-alias gap in thetransfertool).
Recent activity
| Date | What landed |
|---|---|
| 2026-06-14 | Snowflake key-pair JWT validated — the last external-tool gap for this umbrella is closed. noetl-tools v3.9.0 (tools#62) RS256 JWT auth, v3.9.1 (tools#63) User-Agent fix, v3.9.2 (tools#64) SQL-API context-in-body + multi-statement split. Worker bumped to v3.9.2 (worker#83–#86). e2e#57 dropped unsupported USE statements from the fixture. create_sf_database + setup_sf_table both COMPLETED on kind. Transfer step deferred → #99. |
| 2026-06-14 | Rust-stack regression runner + PF-resilient batched runner built. Green core count grew 26 → 40 → 64. Kind credential blocker root-caused + fixed (ops#186): missing NOETL_ENCRYPTION_KEY in noetl-secret made the server regenerate the key per restart → flaky Decryption failed on postgres fixtures. A stable dev key unlocked the whole postgres batch. |
| 2026-06-14 | Initial regression runner (e2e#52, scripts/rust_regression_run.sh): drives /api/execute directly, ships a green 10-fixture core baseline (basic python, loops, control-flow, fanout/parallelism, sub-playbook, large-result, output selection). |
Next concrete steps
- Investigate remaining red fixtures (engine cases, not external-cloud).
- Track #99 for the transfer fixture once the credential-alias gap ships.
- Cover GCS, OpenAI, IB fixtures once their respective auth gaps are identified and fixed.
Pointers
- Regression runner:
repos/e2e/scripts/rust_regression_run.sh - Fixture directory:
repos/e2e/fixtures/ - Kind cluster:
kubectl --context kind-noetl - Transfer deferred: #99