You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 297494b
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: AGENTS.md
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Context and rules for AI agents working in this repository. Humans should start
4
4
5
5
## Project overview
6
6
7
-
-**Name**: bikes — a production-shaped MLOps package that predicts the number of bikes available.
7
+
-**Name**: bikes — a production-shaped MLOps package that predicts hourly bike rental demand.
8
8
-**Description**: reference implementation for the [MLOps Coding Course](https://mlops-coding-course.fmind.dev), generated from [cookiecutter-mlops-package](https://github.com/fmind/cookiecutter-mlops-package).
9
9
-**Language**: Python 3.14+ (`pyproject.toml`), managed with `uv`.
@@ -21,7 +21,12 @@ All work goes through `mise` (see `mise.toml`); git hooks (`lefthook.yml`) and C
21
21
- Test: `mise run test` — `pytest` with coverage (fails under 100%); `mise run test:parallel` is a faster, coverage-free local loop.
22
22
- Build: `mise run build` — `uv build` (wheel + sdist); `mise run build:image` builds the Docker image.
23
23
- Docs: `mise run docs` — `pdoc` API reference into `docs/`.
24
-
- MLflow jobs: `mise run project` runs every job; `mise run project:run <name>` runs one (`confs/<name>.yaml`).
24
+
- MLflow jobs: `mise run project` runs the connected `PipelineJob` (tune → train → evaluate → promote → infer → explain); `mise run project:run <name>` runs one (`confs/<name>.yaml`).
25
+
26
+
## Pipeline invariants
27
+
28
+
- Training uses the full tuning model configuration plus validated selected parameters. Evaluation, promotion and downstream consumers use the exact registered candidate version. Failed evaluation preserves the champion alias. Standalone promotion requires a positive explicit version.
29
+
- Input datasets and signatures exclude `casual` and `registered`; raw counts remain in `data/hour.csv` for analysis. Retrain historical registered models to adopt the new serving signature.
25
30
26
31
## Definition of done
27
32
@@ -38,9 +43,9 @@ A change is complete only when, locally, `mise run format` is clean, `mise run c
-`confs/` — one OmegaConf YAML per MLflow job; `tests/` — `pytest` suite mirroring `src/` with fixtures in `conftest.py`.
43
48
-`data/` — bike sharing datasets (Parquet splits and source CSV); `notebooks/` — exploration notebooks (plotly comes from the `notebook` dependency group); `.env.example` — MLflow URIs to copy into `.env`, which `mise.toml` sources.
-`.github/` — `workflows/` (`ci.yml` runs `mise run all`, `cd.yml`publishes docs and the image, `security.yml` rescans the full history weekly), `dependabot.yml`, `zizmor.yml`, `rulesets/main.json`.
50
+
-`.github/` — `workflows/` (`ci.yml` runs `mise run all`, `cd.yml`runs the gate before publishing docs and promotes a scanned image digest, `security.yml` rescans the full history weekly), `dependabot.yml`, `rulesets/main.json`.
46
51
-`Dockerfile`/`docker-compose.yml`/`MLproject` — container image, local MLflow server, and MLflow Projects reproducible runs (`--env-manager=local` reuses the uv environment, so there is no `python_env.yaml`).
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,14 @@
2
2
3
3
All notable changes to this project are documented in this file.
4
4
5
+
## [7.0.0] - 2026-10-12
6
+
7
+
-**Breaking:** training and serving inputs exclude `casual` and `registered`. Retrain historical registered models before sending feature-only inputs.
8
+
-**Breaking:** standalone promotion requires a positive explicit model version; it no longer selects the latest version implicitly.
9
+
- Connect tuning, training, heldout evaluation, promotion, inference and explanations through one exact candidate version. Failed evaluation preserves the champion.
- Update locked tools and dependencies, documentation and notebooks. Gate documentation publication and scan immutable images before promoting release tags.
0 commit comments