Task: Extract the shared parameter list, control and edit lifecycle
Table of Contents
This page documents a task in the Make every configuration screen follow one standard story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
(Describe what user-visible-or-internal change this task produces.)
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Make every configuration screen follow one standard |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-10-25 |
3. Acceptance
4. Plan
(Implementation strategy. Written when work starts; key decisions
are distilled into the parent story's * Decisions at close, but the
plan itself stays — it is the historical record of what we did.)
5. Measurements
Every number this task claims about a tree, with the command that produced it
and the commit it was measured at. A number without both is not a measurement,
because a clean-up record describes a tree and trunk moves under a branch: a
consumer count, a gate's component count and a suite's size all change with no
code changing, and the reader of a bare number cannot tell which tree it came
from. Where the raw output matters, put it in an evidence/ file beside the
task and name that file in the Command column.
| What | Value | Command | Commit |
|---|---|---|---|
6. Notes
7. Test Scenarios
Manual QA scenarios (scaffolded via compass add test_scenario)
that verify this task. Link
new ones here as they're created; the scenario doc itself links back
via its "Verifies task" field.
| Scenario | State | Notes |
|---|---|---|
| Verify the parameter controls on both screens | PENDING | Runs on 21002 after provisioning. |
8. PRs
| PR | Title |
|---|---|
| #3823 | [web] Extract the shared parameter control and row |
9. Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
10. Result
Delivered and signed off. A ControlModel union states the control a value needs, two mappers fill it from the pricing value set and from the engine settings row, and ParameterControl and ParameterRow are shared by both screens. No BFF, API or stored data changed, and no existing assertion changed.
The scenario Verify the parameter controls on both screens passed on the provisioned environment, and the suites pass: 145 tests across pricing, engine settings and parameters.
The edit lifecycle was deliberately not extracted. The pricing screen saves the whole document and the engine settings screen saves one group, so a shared hook would reconcile two save shapes rather than extract one. The control and the row are the part the screens genuinely share.