Skip to main content
A PceSubmissionPacket bundles everything a licensed reviewer needs to assess a policy change request: the normalized change items, generated carrier artifacts, validation issues, missing-info questions, and a creation timestamp. You generate one after the PCE state machine has run to completion and all blocking issues are resolved.

Generating a Packet

You can generate a packet in two ways — through the agent instance or by calling the standalone builder directly.
Both produce an identical PceSubmissionPacket. Use the standalone builder when you need to generate packets outside the agent lifecycle — for example, in a background job or when reconstructing a packet from a persisted state.

Packet Structure

string
Deterministic packet ID derived from the case ID and creation timestamp. Safe for deduplication across retries.
string
The case ID you provided when calling processChangeRequest().
PceCaseState
The complete case state snapshot at the time of packet generation. Includes items, impacts, evidenceSources, executionMode, and all validation context.
CasePacketArtifact[]
Generated carrier artifacts. A complete packet typically includes:
CaseValidationIssue[]
Top-level validation issues surfaced from pceCase.validationIssues. Blocking issues here indicate the packet is not yet submission-ready.
PceMissingInfoQuestion[]
Outstanding questions at packet generation time. If this list is non-empty, the packet is considered incomplete.
number
Unix timestamp (milliseconds) when the packet was built.

Running a Quality Report

Before presenting a packet for review, run buildPceQualityReport() to get a structured assessment of submission readiness.
"passed" | "warning" | "failed"
Overall readiness signal. "passed" means no blocking issues and no missing-info questions. "warning" means warning-level issues exist but the case can proceed to review. "failed" means blocking issues or ungrounded existing values must be resolved first.
number
Count of validation issues with severity === "blocking". When this is greater than zero, qualityGateStatus will be "failed".
number
Count of validation issues with severity === "warning". Non-zero values set qualityGateStatus to "warning" when no blocking issues are present.
number
Number of unresolved missing-info questions at report time. Non-zero values set qualityGateStatus to at least "warning".
number
Number of change items whose beforeValue is set but have no source span IDs to back it up. These count as blocking issues and set qualityGateStatus to "failed".

Review Checklist

Work through this checklist before treating a packet as ready to hand off to a carrier.
1

Verify change items

Confirm that every PolicyChangeItem in packet.pceCase.items has the expected action (add | modify | remove), the correct fieldPath, and a proposedValue that matches what was requested. Flag any items where the model mis-parsed the intent.
2

Check required details

Ensure that all carrier-required fields are present — typically effective date, vehicle information (for auto endorsements), named insured details, and policy number. Check packet.missingInfoQuestions for any fields the agent flagged as absent.
3

Verify citations

For each item, confirm that citations[n].quote is genuinely present in the referenced source text. Open packet.pceCase.evidenceSources and locate the sourceId referenced by each citation. Mismatched quotes indicate a grounding failure.
4

Resolve blocking validation issues

Open packet.validationIssues, filter to severity === "blocking", and either resolve each issue or document an intentional override with a reason before sending to the carrier.
5

Review the carrier email artifact

Find the email_draft artifact in packet.artifacts. Confirm that the tone, format, and field values match the carrier’s requested intake format. Edit the draft as needed before sending.
Never send the email_draft artifact to a carrier without a licensed user reviewing it first. The SDK generates draft content based on parsed evidence — it is not a substitute for professional judgment on coverage changes.

Accessing Individual Artifacts

Artifacts are stored as an array. Filter by type to retrieve a specific one:
The json_packet artifact contains a serialised version of all normalized change items. You can parse and import this into your carrier portal or internal record system if it accepts structured JSON intake.