Status (re-scoped 2026-06-26)
The views-models portion of this issue is done/superseded — this issue now tracks only the cross-repo companions.
So the original "standardize across all models" goal is replaced by derivation. What remains here is cross-repo companion coordination for global naming consistency. These are maintainer-owned and do not block views-models (its suite is name-agnostic).
Companion coordination (cross-repo)
Other repos' tests are self-contained — they do not break from views-models. The companions are for global consistency, except the pipeline-core template seed, which is the one fix that prevents the inconsistency regenerating.
Two naming layers (context — don't conflate)
- Layer 1 — model target / actuals:
lr_ged_sb canonical. The framework treats the target name as an arbitrary string (no logic branches on it, verified across repos), so renaming is safe.
- Layer 2 — forecast delivery columns:
pred_ln_sb_best / pred_ln_sb_prob, hardcoded in views-postprocessing/.../unfao/managers/unfao.py. Separate delivery schema — out of scope.
Out of scope
Layer-2 delivery schema (pred_ln_*); upstream UCDP/viewser/datafactory source columns (ged_sb_best* — not ours to rename).
History
Original goal: force every model to lr_ged_{sb,ns,os}. #153 renamed the 11 stragglers; #152 (ranger rename) closed as moot. EPIC #154 reframed to agnosticism (ADR-013), closing the views-models scope and leaving this issue as the companion tracker.
Status (re-scoped 2026-06-26)
The views-models portion of this issue is done/superseded — this issue now tracks only the cross-repo companions.
lr_ged_{sb,ns,os}.get_regression_targets()accessor, ADR-013). views-models no longer depends on any model sharing a name, and its tests/tooling carry zero load-bearing target-name literals.So the original "standardize across all models" goal is replaced by derivation. What remains here is cross-repo companion coordination for global naming consistency. These are maintainer-owned and do not block views-models (its suite is name-agnostic).
Companion coordination (cross-repo)
ln_sb_best/lr_sb_best(the root cause of drift); fix the seed so new models don't regenerate the inconsistency. The one essential companion. Related naming-coupling deps from EPIC: Make views-models agnostic to the regression-target name #154: pipeline-core docs(reconcile): repoint CountryMapping docstring to views_frames_reconcile #203 (heterogeneous pooling), Environment lifecycle: run.sh auto-created conda envs silently run stale deps (reports 'up-to-date' while running old code) #204 (decouple artifact filenames from the target name), Hotfix: add target_transform to pink_ponyclub stepshifter models (run against released stack) #205 (DL training reads merged config).lr_ged_sb✓; fixtures only.lr_*_best.pred_ln_*delivery schema excluded).lr_sb_best.Other repos' tests are self-contained — they do not break from views-models. The companions are for global consistency, except the pipeline-core template seed, which is the one fix that prevents the inconsistency regenerating.
Two naming layers (context — don't conflate)
lr_ged_sbcanonical. The framework treats the target name as an arbitrary string (no logic branches on it, verified across repos), so renaming is safe.pred_ln_sb_best/pred_ln_sb_prob, hardcoded inviews-postprocessing/.../unfao/managers/unfao.py. Separate delivery schema — out of scope.Out of scope
Layer-2 delivery schema (
pred_ln_*); upstream UCDP/viewser/datafactory source columns (ged_sb_best*— not ours to rename).History
Original goal: force every model to
lr_ged_{sb,ns,os}. #153 renamed the 11 stragglers; #152 (ranger rename) closed as moot. EPIC #154 reframed to agnosticism (ADR-013), closing the views-models scope and leaving this issue as the companion tracker.