Report status changes lack an audit trail

Catherine reported that Kris Smith said he did not publish reports, but Attik shows the Sewer Line Evaluation report completed on two orders.

Affected work orders:

  • 1008599255
  • 1008599424

Relevant inspections:

PostHog investigation found that both Sewer Line Evaluation reports moved from pending to completed, and the rendered activity feed attributes the change to Kris Smith. However, there is no instrumented event that captures the actual status change action, so it is not possible to determine with confidence who triggered it, from which surface, or at what exact time from PostHog data alone.

What was confirmed:

  • The status change did occur on inspection 1008599255; the activity feed shows Kris Smith's report status changed to completed.
  • Kris Smith was active on both inspections via the iOS app around the relevant time window.
  • Lou Qualtiere clicked the report-level Actions button on inspection 1008599424, but PostHog did not capture which dropdown option was selected.
  • Other users interacted with the inspections on web, but no event definitively ties a user action to the status transition.

Current gap:

  • No PostHog event fires when a report status changes from pending to completed or on other report status transitions.
  • No spectora_reports_synced event was found for either inspection.
  • Autocapture records opening the Actions menu, but not all menu item selections.

Likely paths where the status change originates without instrumentation:

  1. Mobile app flow used by Kris Smith, likely through the sync-spectora-reports or related reports pipeline.
  2. Web Actions dropdown flow, where the selected menu item is not always captured before navigation or API execution.

Recommended fixes:

  1. Instrument a report_status_changed event whenever a report status transitions.
  2. Capture explicit menu item selections from the report Actions dropdown, especially Complete.
  3. Add a server-side PostHog event when Spectora sync successfully updates report status.

Suggested event shape:

posthog.capture('report_status_changed', {
  inspection_id: '1008599255',
  report_type: 'sewer_line_evaluation',
  from_status: 'pending',
  to_status: 'completed',
  changed_by_user_id: '<attik_user_id>',
  changed_by_email: 'kris@residentialinspector.com',
  surface: 'mobile' | 'web',
  trigger: 'actions_menu' | 'api_sync' | 'bulk_update',
})

Notes from the investigation:

  • Person-on-events mode is enabled in PostHog.
  • Kris Smith has no display name set in PostHog; only kris@residentialinspector.com is populated.
  • PostHog autocapture does not consistently record dropdown menu selections.

Relevant PostHog insights referenced during investigation:

  • sM5k
  • v7DX
  • 7V8T
  • baiv
  • QzLm
  • o1I6

Please authenticate to join the conversation.

Upvoters
Status

Planned

Board
🏠

Main App

Date

1 day ago

Author

Linear

Subscribe to post

Get notified by email when there are changes.