ADR-0002: The forecast experiment is a fourth sbt project, experiment¶
| Status | Accepted |
| Date | 2026-10-09 |
| Related | ADR-0001, MIP-0083, marola-app#63 |
Context¶
MIP-0083 adds a job that samples wind and temperature forecasts every 4 hours and scores them
against instruments. It shares core's HTTP and JSON helpers and, later, local's MLflow ledger,
but nothing on the recommendation path calls it, and it runs from its own scheduled workflow.
Decision¶
build.sbt gets a fourth project, experiment (marola-experiment), aggregated by root. It
depends on core now and adds local when the cycle logs to MLflow (MIP-0083 task 7). cli does
not depend on it. Its own dependencies are kyo-schema, kyo-schema-json, kyo-config and
duckdb_jdbc, the engine of its SampleStore (MIP-0083 §5.6), which lives here with its
local-lake implementation LakeSamples until MIP-0075's B2 store replaces it.
Consequences¶
sbt testandjust qualitycover it like the other three projects.- The experiment's jar is built from
experimentalone, so the app image does not grow. - A dependency only the benchmark needs goes in
experiment, by ADR-0001's lowest-module rule.