Context
Report activities currently store the basic comment/message but miss structured metadata about what changed.
Missing Fields
State Changes
state_change_from — previous state (e.g. "new")
state_change_to — new state (e.g. "triaged")
H1 activity types like activity-bug-triaged, activity-bug-resolved encode state transitions. We store the activity_type string but not the explicit from/to states.
Actor Details
actor_external_id — platform user ID (we only store actor_name)
actor_profile_picture_url — avatar URL for display
Attachments
attachment_urls — list of file URLs attached to the activity (JSON column or separate table)
Changes Needed
- Add
state_change_from, state_change_to, actor_external_id columns to ReportActivity model
- Parse state transitions from activity type or attributes in adapter
- Optionally store attachment URLs (JSON column simplest)
- Update schemas and activity display in report detail
Value
State change tracking enables building a report timeline/lifecycle view. Actor IDs enable deduplication and linking. Attachments prevent data loss on sync.
Context
Report activities currently store the basic comment/message but miss structured metadata about what changed.
Missing Fields
State Changes
state_change_from— previous state (e.g. "new")state_change_to— new state (e.g. "triaged")H1 activity types like
activity-bug-triaged,activity-bug-resolvedencode state transitions. We store theactivity_typestring but not the explicit from/to states.Actor Details
actor_external_id— platform user ID (we only storeactor_name)actor_profile_picture_url— avatar URL for displayAttachments
attachment_urls— list of file URLs attached to the activity (JSON column or separate table)Changes Needed
state_change_from,state_change_to,actor_external_idcolumns toReportActivitymodelValue
State change tracking enables building a report timeline/lifecycle view. Actor IDs enable deduplication and linking. Attachments prevent data loss on sync.