Trilingual quality-gated view of 22 Morocco agriculture indicators (FAOSTAT + World Bank) with an honest backtested forecast
# Morocco agriculture indicators kit
## Problem and honest boundary
A trilingual, quality-gated view of 22 Morocco agriculture indicators: 15 exact FAOSTAT QCL item/element pairs and seven World Bank series. It consumes the private hash-pinned `d4d-indicators-core` wheel. Aggregate production indicators only; no people monitoring.
## Measured results
No live result is committed. Fixture parity, a bad-unit quarantine, and a linear yield history are **synthetic contract evidence**, not measured performance.
## Demo
`make demo` proves recorded API/bulk parity, quarantines a bad unit, switches to Arabic RTL, and opens the labelled backtest and snapshot.
## Architecture
See data lineage.
## Five-minute quickstart
```sh
export D4D_CORE_WHEEL=../d4d-indicators-core/dist/d4d_indicators_core-0.1.0-py3-none-any.whl
export D4D_CORE_SHA256=d33ffb576ce562e5f06c92aba4a07f1872f5b3ed1893ed13fb1a83d54a4b836c
# No sibling clone? Fetch the pinned wheel instead (verify against D4D_CORE_SHA256):
# curl -fsSL -o d4d_indicators_core-0.1.0-py3-none-any.whl
raw.githubusercontent.com
# export D4D_CORE_WHEEL=$PWD/d4d_indicators_core-0.1.0-py3-none-any.whl
make setup fixture-smoke backtest
make run
```
## Reproduction
`ALLOW_LIVE_REFRESH=1 make refresh-live` uses the official keyless QCL bulk catalog plus World Bank v2. Recorded fixtures preserve the authenticated-JSON parity contract; no authenticated live claim is made without a reviewer token. No legacy FENIX endpoint.
## Documentation index
Security · Licenses · Demo
## Limitations
`AG.YLD.CREL.KG` forecast requires 25 observations. Annual data has no claimed within-year seasonality. Final five observed years are untouched until final evaluation; a simpler baseline wins differences below one sMAPE point.
## Dataset/model licenses
FAOSTAT and World Bank terms are recorded in the manifest. Raw bulk/API data is not committed.
## Re-skin guide
Swa …