You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
lint: a flow node config-value finding (validateStackExpressions) carries only where prose and no key path, so Studio's Problems row lists it but cannot point at the node #27828
Filing gate: ① product defect with reach measured, found while landing #27799 (PR #27826, report 6512261435, out_of_scope_findings).
Reach: Studio → Automations, any flow whose node config value the publish verdict refuses (measured on a blank expression in an Update Records value, main86aaff32). After PR #27826, the Problems list shows the finding, but its row cannot select or reveal the node; it can only print the server's locator text.
Business reason: Problems is how an author finds what blocks Publish. A row that names a node in prose but does not take them there makes a large flow slow to fix, and the canvas badge never appears on that node.
Reader who acts: the lane that owns packages/lint (spec lane per the #27482 precedent). The ui side needs no change: flow-problems.tsserverTarget already maps a flows[0].nodes[N].config… / nodes.N… path onto the node.
Duplicate search: search_issues "lint ExprIssue path flow node config value slot key path where prose Problems" → 1 hit, #17305 (closed, template-path rule scope), which is not this. The same producer shape blocked #27482's Validations arm (validation-rule findings carry where only), and flow edges got a key path in #26858; this is the node-config sibling.
What happens
validateStackExpressions (packages/lint/src/validate-expressions.ts) reports a flow node's config-value finding (e.g. expression-invalid on config.fields.id) with where = flow 'x' · node 'y' (update_record) … at config.fields.id and no path. authoring-rules.ts sets path: i.path ?? i.where, so the draft read's _diagnostics path is prose. Studio cannot place it on an element.
Expected
The finding carries a key path to the node's config value (e.g. nodes.<index>.config.fields.id, the same shape the edge findings use since #26858). The prose where stays for the CLI. With that path, Studio's existing mapping badges the node and selects it from Problems, with no ui change.
Acceptance
A lint pin: a flow node config-value finding carries the key path.
protocol.runtime-authoring-gate (or its successor) pins the draft read's _diagnostics path for that finding.
Optional ui pin (separate lane): the Problems row for that finding selects the node.
Activity