Dashed dynamic bounds for rotatingMachine flow + Δp #38
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type: slice
Depends on: #33, #37
Estimate: M (1–2 days)
Slice — layers touched
domain logic in rotatingMachine (or shared helper) → Influx field convention (
<field>.min/<field>.maxcompanions) → templates (lineStyle override block) → Grafana panel (dashed render) → test.Context
Implements PRD F-10. Resolves O-2 via spike #33.
Scope
generalFunctionsthat, given a field and its computed bounds for the current operating point, emits<field>,<field>.min,<field>.maxas three Influx fields.rotatingMachine.jsontemplate to includefieldConfig.overrides[]matchingbyName: "<field>.min"/"<field>.max"tocustom.lineStyle = {{fill: "dash", dash: [10,10]}}.Out of scope
Acceptance criteria
<field>,<field>.min,<field>.maxall have a recent value.Slice #38 shipped on branch
slice/38-dashed-boundsBranches:
dashboardAPI·EVOLVWhat landed
config/machine.json(Flow predicted, Efficiency, Pressure, Temperature) gainbyRegexpoverrides: any series whose_fieldname ends in.minor.maxrenders dashed [10,10], orange/red respectively. Pattern verified by S2 spike (#33)./.min$/not/.min/).Forward compatibility
Nodes that don't yet emit
.min/.maxcompanion fields render unchanged — the byRegexp won't match. Safe to land now; the actual bounds emission can light up incrementally per node.Deferred: companion-field emission helper
The generalFunctions-side helper that lets a node emit
{field, field.min, field.max}triples in one call is anodes/generalFunctions/src/helper/outputUtils.jschange, out of scope for a dashboardAPI-only slice. Tracked for a follow-up PR — rotatingMachine's actual flow/Δp bounds emission lands together with that helper.Closes #38.