Add the longitudinal layer to the benchmark core: a per-skill JSON-lines history that appends one summary line per run and trims oldest-first at fifty, two stacked net-margin trend ribbons (Efficacy and Regression, the latter leaving a gap for two-arm runs) with the current run ringed and a net/delta/green-count readout, and per-badge fragility chips that flag the narrowest passing case on each green axis so a barely-green skill cannot look robust. History persistence is opt-in via --history and is the core's only side effect. Without it the core stays a pure transform. Two committed fixtures (clean and fragile) and new fixture-test sections cover the append-and-trim, both ribbons including the two-arm gap, and the chips.
12 KiB
12 KiB