An operator can define a field and fill it from a spreadsheet, then cannot ask the contact list a single question about it.
Current state: contacts(q: String, first: Int, after: String) searches names and identities only. Field values live in one jsonb bag per contact in plugin_fields.contact_values, so a filter would read them, but nothing in the graph or the list screen offers it.
Proposal: let the contact list sort and filter by a live field. The fields spec holds the design critique of the three query plan, which is the part to settle before any code.
Trigger: active, fields and import mapping both shipped and the values are sitting there unused.
An operator can define a field and fill it from a spreadsheet, then cannot ask the contact list a single question about it.
Current state:
contacts(q: String, first: Int, after: String)searches names and identities only. Field values live in one jsonb bag per contact inplugin_fields.contact_values, so a filter would read them, but nothing in the graph or the list screen offers it.Proposal: let the contact list sort and filter by a live field. The fields spec holds the design critique of the three query plan, which is the part to settle before any code.
Trigger: active, fields and import mapping both shipped and the values are sitting there unused.