Docs / Inspector
fmInspector LWC

Inspector. Forensic view for one pipeline run.

The Inspector is the post-mortem view for one PipelineExecution__c row. Open from Studio's Last Run drawer, the Telemetry Dashboard's row link, or Org Chat's Open in Inspector action button.

Layout

┌─────────────────────────────────────────────────────────────┐
│ Header. Pipeline · runId · status · duration · cost · tokens │
├──────────┬──────────────────────────────────────────────────┤
│ Input    │  Timeline                                         │
│ panel    │  ┌──┐──┌──┐──┌────────┐──┌──┐                    │
│ +        │  │f1│  │f2│  │summarise│  │o3│                    │
│ Vars     │  └──┘  └──┘  └────────┘  └──┘                    │
│          │   ▼                                                │
│          │ Stage panel. Selected stage detail                │
│          │  ├ Resolved inputs                                 │
│          │  ├ Output                                          │
│          │  ├ Prompt + provider response (LLM stages)         │
│          │  ├ Tokens · cost · cache hit · provider used       │
│          │  ├ Tool calls (when ADR-013 active)                │
│          │  └ Error · stack (on failure)                      │
└──────────┴──────────────────────────────────────────────────┘

Source: fmInspector LWC composing fmInspectorInputPanel + fmInspectorStagePanel + fmInspectorTimeline.

Reading the timeline

Each segment = one stage execution. Width = duration. Colour:

ColourStatus
Greensuccess
Rederror
Greyskipped (if false, branch pruned, governor yield)
Yellowretried (count badge in segment)
Blueasync-yielded (resumed from another transaction)

Click a segment → right panel jumps to that StageTrace. Hover for the full (start, end, duration) tuple + per-stage governor stats.

Stage panel

Inputs

Resolved_Inputs__c. What the stage actually saw after InputMapper resolved every {{...}}. Compare to Input_Context__c to spot placeholder issues.

Outputs

Output__c JSON. Click any field → Copy reference gives you the {{stages.x.y}} path to use downstream.

LLM specifics

  • Prompt. Prompt__c body sent to the provider (post-redaction)
  • Provider response. Provider_Response__c raw envelope
  • Token usage. Token_Usage__c JSON {input, output, total}
  • Cost. Cost__c USD (from FM_Provider_Pricing__mdt)
  • __meta badges: cacheHit, providerUsed, providerAttempts, schemaRetries, templateSource, templateKey, templateVersion, fewShotUsed

Tool calls (ADR-013)

When tool-calling fired, the stage panel adds a Tools sub-tab listing each round-trip:

[1] lookup_metadata({ objectApiNames: ["Lead"] }) → 287 bytes
[2] run_soql({ soql: "SELECT Id … FROM Lead LIMIT 5" }) → 5 rows
[3] (final assistant message)

Click any row → expand to see the full request + response payload.

Errors

Red segment → stage panel shows:

  • Error_Message__c. Typed exception class + message
  • Error_Stack__c. Stack trace, capped at stageTraceErrorLength (default 500 chars)
  • Retry_Count__c. How many attempts before fail

Variables + context (left panel)

  • Input. PipelineExecution__c.Input__c
  • Variables. ExecutionContext.contextVars snapshot
  • Async tokens. ExecutionState.asyncTokens (parallel branches + signals)
  • FLS. flsRedactedFields list (which fields FMPromptGuard scrubbed)

Variables update as you click through the timeline. Shows the value at the point that stage executed, not the final state.

Useful tasks

"Why did this run cost $0.40?"

Header total cost → click → token + cost breakdown table by stage. Sort by cost desc. The top 1-2 stages usually dominate.

"Which stage slowed it down?"

Timeline segment widths are proportional to duration. Visual scan catches outliers. Click for exact duration.

"Why did the LLM get the wrong answer?"

  1. Click the LLM stage segment.
  2. Read the Prompt. Is it actually what you intended?
  3. Check Resolved Inputs. Did InputMapper resolve placeholders correctly?
  4. Compare Output to expected schema. __meta.schemaRetries > 0 indicates the response failed validation.

Inspector vs Debugger vs Telemetry

Use caseTool
"Why did this run fail?"Inspector
"What's happening right now in this run?"Debugger (live, paused, step)
"How are pipelines doing across all runs?"Telemetry Dashboard
"What did the user ask in chat?"Org Chat history (FM_Org_Chat_Turn__c)

Permissions

FlowMason_Admin for full visibility. Row-level access also requires read on PipelineExecution__c + Pipeline_Stage_Log__c. Sharing is Private by default.

Related