A contractor buys $20M of liability above its primary policies: a $5M umbrella, a $5M excess layer above it, and a $10M layer above that. On the binder the tower stacks cleanly — $5M xs primary, $5M xs $5M, $10M xs $10M. On the issued policy the top layer reads $10M xs $15M. A loss between $10M and $15M now falls into a hole that nobody bought and nobody sold.

Towers are where a single number on one page changes the shape of the whole programme. This post follows an illustrative umbrella and excess check: the attachment arithmetic, the schedule of underlying, and the practice leader’s sign-off. The contractor, carriers and figures are invented Illustrative.

Use case card
InsuredHalvorsen Builders Group LLC — a commercial contractor (illustrative)
LineUmbrella and excess, renewal
The tower (binder)Layer 1 $5M xs primary · layer 2 $5M xs $5M · layer 3 $10M xs $10M
The tower (policy)Layer 1 $5M xs primary · layer 2 $5M xs $5M · layer 3 $10M xs $15M
Underlying (binder → policy)General liability $1M → $1M; commercial auto $1M → $500K; employers liability $1M → $1M
Agents involvedTower and underlying reviewer, proofing checker, renewal comparison, supervisor
What it finds45 checks: 42 match, 2 fail (the gap, the auto underlying), 1 to review (a layer the binder doesn’t show at $15M)
OutcomeBoth failures raised with the carrier; delivery blocked until they are corrected or a practice leader signs a waiver

The arithmetic a tower has to pass

Each layer must attach exactly where the layer below it ends: attachment of layer n+1 = attachment of layer n + limit of layer n. Less than that is an overlap; more is a gap, and losses in a gap are uninsured. The engine sorts the layers by attachment and checks every adjacent pair.

flowchart LR subgraph Binder direction TB B3["$10M xs $10M"] --- B2["$5M xs $5M"] --- B1["$5M xs primary"] end subgraph Policy direction TB P3["$10M xs $15M"] --- G["GAP: $10M to $15M
uninsured"] --- P2["$5M xs $5M"] --- P1["$5M xs primary"] end style G fill:#ffe4ea,stroke:#e3405f,stroke-width:2px

The second check is the schedule of underlying. An umbrella is written over specific primary policies at specific limits. If the policy’s schedule shows the auto underlying at $500K while the binder shows $1M, the umbrella may not drop down as bound — and the client may be carrying a $500K self-insured gap in auto without knowing it.

Step by step

Halvorsen Builders, umbrella and excess Illustrative.
1
Layers readextraction_agentCheck

Each Layer N: $X excess of $Y | Carrier | Premium line read into a layer with its limit, attachment, carrier and page; the schedule of underlying read as line, carrier, policy number and limit.

2
Tower checkedtower_agentCheck

Layer 2 ends at $10M; layer 3 attaches at $15M: a $5M gap. The auto underlying differs from the binder. A layer attaching at $15M is not on the binder at all, so it is flagged for review rather than matched.

3
Comparedcomparison_agentCheck

Against the expiring: premium $54,000 → $61,500 (+13.9%); the layer attaching at $10M is gone (narrower, high); a layer attaching at $15M is new (broader). Taken together: the top layer moved up.

4
Controlssupervisor_agentCheck

An unresolved high-severity failure blocks delivery; cover narrowed at renewal. It prepares the practice leader’s sign-off.

5
RaisedAccount managerSame day

Raises both failures with the carrier; the discrepancy drafter writes the request citing policy p.4 and binder p.4.

6
ReviewedPractice leaderSame day

Sees the sign-off on their home page with the gap stated in dollars, and keeps the check blocked until the carrier answers.

What the screens show

Proofing · umbrella
The Proofing zone on an illustrative umbrella tower
Proofing on an umbrella tower: layer 3 attaches at $15M where layer 2 ends at $10M, the underlying auto limit is $500,000 against $1,000,000 bound, and a layer the binder doesn’t show.
Comparison · umbrella
The Comparison zone on an illustrative umbrella renewal, with the tower at each stage
Comparison on the umbrella: the third layer moved from $10M xs $10M to $10M xs $15M, and the tower at expiring, binder and policy side by side.

The comparison zone puts the tower at expiring, binder and policy side by side, so the move of the top layer is visible at a glance. The run trace below is the proofing checker on this same check, the one run in the demo book where the model was switched on.

AI & Agents · Run trace
The proofing checker's recent runs and one run's trace
The proofing checker’s runs and one trace on an illustrative umbrella check: the engines’ facts, the model step with tokens and cost, and the decision prepared.

What the agents prepared

AgentWhat it preparedWhat it citesWho decides
Tower and underlyingFindings: the gap, the underlying mismatch, the unknown layerPolicy p.4, binder p.4— (findings)
Proofing checkerRaise 2 failed checks with the carrierPolicy p.4, binder p.4Account manager
SupervisorPractice leader sign-offThe unresolved high-severity countPractice leader

The decision record

SectionHitOutcome
Proofing controlA high-severity check failed and is unresolved (2)block
Proofing controlCover narrowed at renewalwarn
Prepared decisionRaise 2 failed checks — acceptedproceed
Prepared decisionPractice leader sign-off — waitingrefer

What the model said, and what it wasn’t allowed to say

In the traced run the model summarised that the auto underlying limit differs from the binder — a mismatch that goes to the carrier first — and noted that the facts it was given showed the layer 3 figures but not their check result. That is the right kind of answer: it explains, it does not compute the gap itself, and it says what it could not see.

For the account team

The tower is drawn three times side by side; the gap is stated in dollars, not left for someone to subtract.

For broker IT

Layers are parsed into limit, attachment and carrier; adjacency and the schedule of underlying are checked deterministically.

For practice leadership

A gap in a client’s tower is exactly the E&O exposure a practice leader wants to see before delivery, not after a large loss.

Questions we get asked

Does it check that the umbrella follows form?

It checks the forms on the umbrella against the binder like any other line, and the schedule of underlying against what was bound. Whether the wording follows form is a reading question for a person, helped by the forms reviewer.

Keep reading