From 3923d4d0dc69bc02411cf7df210e74f3840fc3f6 Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Thu, 24 Sep 2026 05:17:11 +0200 Subject: [PATCH] needs: stage_words, each state in the site's own words, carried into the simulation model Co-Authored-By: Claude Fable 5.1 --- src/needs.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/needs.rs b/src/needs.rs index 10eb702..c462c05 100644 --- a/src/needs.rs +++ b/src/needs.rs @@ -73,6 +73,11 @@ pub struct Need { /// as a warning, so the gap stays visible without failing CI. #[serde(default)] pub planned: bool, + /// Each state of the bucket in plain words, in the site's + /// language, for the scorer: state ids are ASCII, and a Norwegian + /// `ikke_lost` reads as English to a model. + #[serde(default)] + pub stage_words: std::collections::BTreeMap, /// The finished states that are a good outcome for the business - /// a subset of `done_when`. "lost" is finished; "won" is success. /// What a simulation or a live bucket report counts toward. @@ -598,6 +603,7 @@ pub fn sim_model( json!({ "initial": schema.initial, "transitions": schema.transitions, + "words": need.stage_words, "desks": desks_over(questions, &need.lands_in).iter().map(|d| json!({ "page": d.page, "group": d.group,