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
${x} resolves only to elements of the same form, so a condition cannot read a value from a linked row. Drafting the ROPA schema (#65) hit this twice, and the consequence is a correctness problem rather than an ergonomic one:
A processing record re-asks "is this special category data?" when the linked data_fields row already records it.
It re-asks "is this outside the UK/EEA?" when the linked organisations row already implies it.
The register therefore stores the same fact twice and nothing stops the copies disagreeing. In a compliance record that is exactly the failure mode that destroys credibility.
The same capability solves a second problem: select_one cannot filter its source table. Three places want it — data_fields.product should offer only product-level scopes, the justification dropdowns only justifications of the matching kind, and agreement only agreements with the chosen recipient. Without it a user can pick a combination that is not merely wrong but incoherent.
Sketch: ${data_field.special_category} in the expression language, plus a filter: on a select_one's parameters written in the same language.
Acceptance: a condition can read a field of a linked row; a select_one can restrict its options by an expression over the current form; the ROPA schema stops duplicating facts it can reach by link.
Found while drafting the ROPA schema (#65) and building provenance (#82).
Cross-link reads merged in #95. The remaining two acceptance items are split out: #93 (select_one filtering) and #94 (dropping the ROPA columns that duplicate linked facts). Closing this in favour of those.
Activity
Draft the ROPA register as config, and name what config cannot say (#92)
Let a condition read a column of the row a link points at (#85)
Let a condition read a column of the row a link points at (#85) (#95)
GabeBolton commentedon Aug 11, 2026
Cross-link reads merged in #95. The remaining two acceptance items are split out: #93 (
select_onefiltering) and #94 (dropping the ROPA columns that duplicate linked facts). Closing this in favour of those.