Additional report inspector block shows all job inspectors when report.inspectors is empty — Attik-native job with Spectora reports

Objective

  • On Attik-native jobs that use Spectora reports, the Inspector block on the client report should show only the inspector(s) associated with that specific report — not all inspectors assigned to the Attik job.
  • When a client opens an additional report (one associated with a charge that has its own assigned inspector), only that report's inspector should appear in the Inspector block.

Background

  • ATT-1606 fixed ReportHeader to prefer report.inspectors from the Spectora report JSON over Attik job inspectors, with Attik inspectors as a fallback when report.inspectors is empty.
  • The fallback condition in ReportHeader.tsx (useAttikInspectorFallback) fires when spectoraInspectorRows.length === 0. When it fires, it passes all Attik job-level inspectors — not just the one assigned to the relevant charge.
  • Spectora always populates report.inspectors on reports regardless of type. When the value is empty on an Attik-native job, the cause is in the display or data-passing layer, not Spectora sync.
  • In page.tsx, inspectionInspectors is passed to ReportHeader as serverInspection._inspectorId — the full set of job-level Attik inspector IDs, unfiltered by charge or report.
  • Reported June 23, 2026 by Sheryl Floyd via Google Chat: an additional report was showing both the primary HI and the additional service inspector in the Inspector block.

Product Decisions

Locked

  1. Report scope — Only the inspector(s) associated with the specific report should appear in the Inspector block. Inspectors assigned to other services on the same job should not appear.
  2. Fallback behavior — If report.inspectors is empty, fall back to the charge/event-assigned inspector from the Attik job (not all job-level inspectors).
  3. Spectora sync — report.inspectors is always populated by Spectora regardless of report type. Empty values indicate a display or data-passing issue, not a sync gap. No backend sync changes required.
  4. No Attik-native report path — This issue applies only to Spectora reports rendered on Attik-native jobs. The Attik native report renderer (/reports/v2/) is out of scope.

Scope

Frontend

  • attik-frontend/src/app/client/reports/components/ReportHeader.tsx — The useAttikInspectorFallback branch passes all inspectionInspectors when spectoraInspectorRows is empty. This needs to be scoped to the charge/event-assigned inspector only.
  • attik-frontend/src/app/client/reports/[slug]/page.tsxinspectionInspectors is currently passed as serverInspection._inspectorId (all job-level inspectors). The charge/event assignment for this specific report needs to be resolved here or in a helper before being passed to ReportHeader.

References

Please authenticate to join the conversation.

Upvoters
Status

Planned

Board
🏠

Main App

Date

About 19 hours ago

Author

Linear

Subscribe to post

Get notified by email when there are changes.