Design: how to extend backend to support UI

There are cases where, to support the UI, debusine needs de-normalised data in the backend. E.g. to allow filtering and sorting, or to show some aggregates.

Two examples are WorkRequest.workflow_last_activity_at and WorkRequest.workflow_runtime_status. They are updated when certain events happen in the model, but their existence is only for the UI. This complicates model code for UI, affects DB work during updates that might be needed only sometimes, etc.

We should find a design or pattern to help supporting the UI and remove workflow_last_activity_at and workflow_runtime_status to the new form.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information