Skip to content

PR Source Pages — Index

Ten pull requests ingested as first-class source pages. Each page is a faithful extract of the PR body (showboat documentation) plus file-change tables and cross-references.

PR Pages

PR Title (truncated) Merged Category Summary
PR-372 require forecast.residual_mode + gate forecast on run_dir 2026-05-05 feature Makes residual_mode mandatory on ForecastConfig; adds validate_residual_mode gate that fails fast with actionable messages before any feature compute.
PR-369 forecast multiple season_years per init_date 2026-05-05 feature Path restructure ({init_date}/{season_year}/{init_date}/) and long-range climo stub enabling multi-year outlooks from a single init_date.
PR-363 unbreak Streamlit dashboard startup 2026-05-05 fix Three independent dashboard bugs: wrong .parent count, deleted WASDE free function, missing data/ path prefix.
PR-361 USE MAPIE Conformalise — multi-mode CalibrationResult 2026-05-02 feature Introduces CalibrationResult, four residual_mode values, mode-keyed sidecar parquets under conformal/, and polymorphic apply_conformal. Removes ~150 lines of interleaved calibration logic.
PR-360 BRAZIL SOY (reference-data discriminated union) 2026-05-02 feature Replaces evaluation.wasde_path with reference_data: list[ReferenceYieldSpec]; adds CONAB loaders and configs/brazil_soybean.yaml; fixes silent factor-67 unit bug.
PR-353 rewrite domain model into canonical v2 structure 2026-04-29 docs Rewrites DOMAIN_MODEL.md into 9-section DOMAIN_MODEL2.md; adds gen_linkml_schema.py auto-generating a 42-class / 21-enum LinkML schema from the Python codebase.
PR-345 S3 path support across predict stage + CLI 2026-04-29 fix Three-layer fix: drop Path(AnyPath(...)) wrappers; wrap pl.scan_parquet arg with str(); introduce AnyPathParam click ParamType. Reduces predict-stage debug loop from ~50 min to ~30 sec.
PR-340 Dashboard: window-aware metrics, configurable truth source 2026-04-28 dashboard Adds "NASS actual (all counties)" and "WASDE Harvest-time Forecast" columns; renames "Model MAE" to "Treefera MAE"; adds Subset/Full vintage tabs with generic per-commodity growing-season anchors.
PR-339 9-phase restructure to match SYNTHESIS 2026-04-29 refactor Structural refactor of 22,968-line package: flattens inner src/, deletes tfds//steps//forecast/, breaks import cycle, builds canonical subpackage tree. Manifest-gated: outputs byte-for-byte identical before and after.
PR-331 Populate weather_correction_bu_ac and add P90 bands 2026-04-27 fix Fixes always-null weather_correction_bu_ac (structural identity: detrended × scale) and missing lower_90/upper_90 in wheat/cotton/soybean configs. Net +6/-41 lines.

By category

feature — PR-372, PR-369, PR-361, PR-360

fix — PR-363, PR-345, PR-331

refactor — PR-339

docs — PR-353

dashboard — PR-340

Documentary value notes

  • PR-369 (forecast multiple season_years): longest and most architecturally rich showboat — covers path restructure, climo stub design, imputer generalisation, season-DOY weight schedule, empirical proof of trend-only behaviour. Top documentary PR by line count.
  • PR-361 (CalibrationResult): comprehensive architecture tour with live demo on real corn data; four residual modes with worked examples and non-monotonicity explanation.
  • PR-360 (Brazil soy): three-commit development narrative including the bugs found in each round; full stage5_metrics.txt before/after; recipe for adding a fourth reference source.
  • PR-339 (9-phase restructure): manifest-gate methodology, cycle-break mechanics (PEP-562), phase-by-phase commit table, byte-for-byte sha256 proof.