-
Notifications
You must be signed in to change notification settings - Fork 0
39 lines (37 loc) · 1.64 KB
/
Copy pathmonitors.yml
File metadata and controls
39 lines (37 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
name: monitors
# Runs the operational loop -- build, row-level monitors, arrival SLAs, and
# the dry-run ops agent -- on a schedule. This is the check that fires when
# every row-level quality check is silent because nothing new landed: an
# empty delta has no nulls, no duplicates, and nothing out of range.
#
# Every step below gates on a genuine failure (a breach or a crash), never
# on which forecast model won. The scheduled build runs reduced
# (N_TRANSACTIONS=20000, for a fast run), and reduced scale starves the spend
# features: at 5,000 transactions roughly 59% of training rows have every
# spend feature NULL, and 20,000 is still far short of the 250,000 the
# committed report was produced from. Model skill is therefore not a
# meaningful signal here -- see docs/forecast-report.md's small-sample
# caveat, and note that the model does not beat its baseline at full scale
# either, so a skill gate would be permanently red. `make forecast`
# already only fails when the pipeline produced no predictions at all, not
# on model comparison, and the same rule holds here: this workflow must
# never fail because the model "didn't win".
on:
schedule:
- cron: "0 6 * * 1" # weekly, Mondays at 06:00 UTC
workflow_dispatch:
jobs:
run-monitors:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3
- run: uv sync
- name: Build the lakehouse
run: N_TRANSACTIONS=20000 uv run make all
- name: Data quality monitors
run: uv run make monitor
- name: Data arrival SLAs
run: uv run make arrival
- name: Ops agent (dry-run)
run: uv run make agent