

conditionsResolver.ts on the backend). The condition editor already shows names in pickers (ValueConditionInput.tsx — e.g. service Autocomplete displays service.name, stores service._id).conditionToText helpers that stringify the raw value (e.g. service ids is "674abc...") with no ID→name lookup.BlockWrapper.tsx (email builder) and AgreementBlockWrapper.tsx (agreement templates). Action-flow cards/triggers show condition counts only, not readable descriptions.Frontend (attik-frontend) — primary fix surface
src/app/tools/action-flow/email-builder/[email_id]/blocks/BlockWrapper.tsx — conditionsToReadableText / conditionToText (~lines 488–560) renders block summaries; currently outputs raw value for is / is_not and similar cases.src/app/tools/agreements/templates/[id]/AgreementBlockWrapper.tsx — duplicate conditionToText / conditionsToReadableText; same gap applies.src/components/conditions/ValueConditionInput.tsx — reference pattern for ID→name resolution when editing (service-ids, inspector-id, contact-role-ids, tags, role-portal-permissions).src/components/conditions/templatingData.ts — attribute definitions including service-ids (conditionType: 'services', display: 'Services').src/components/conditions/Conditions.tsx — may already load services/inspectors/roles/tags for the editor; determine whether those lists can feed the readable-text renderer or whether a shared lookup helper is needed.ID-based attributes to resolve in summaries (minimum checklist)
service-ids → service nameinspector-id → inspector namecontact-role-ids → role nametags → tag namerole-portal-permissions → permission labelBackend (attik-backend) — out of scope for display fix
src/util/functions/actionFlows/conditionsResolver.ts evaluates conditions using raw IDs (including stale service-ID filtering via activeServiceIds); correct for execution, not for UI labels.Optional follow-up (not required for initial ship)
src/components/flowStatus/FilterReasonTooltip.tsx — flow evaluation debug UI shows raw expected / actual values; separate from block summary review UX.Decision needed
conditionToText / conditionsToReadableText into one module used by both block wrappers?attik-frontend/src/app/tools/action-flow/email-builder/[email_id]/blocks/BlockWrapper.tsxattik-frontend/src/app/tools/agreements/templates/[id]/AgreementBlockWrapper.tsxattik-frontend/src/components/conditions/ValueConditionInput.tsxattik-backend/src/util/functions/actionFlows/conditionsResolver.tsPlease authenticate to join the conversation.
Planned
Main App
About 2 months ago
Linear
Get notified by email when there are changes.
Planned
Main App
About 2 months ago
Linear
Get notified by email when there are changes.