> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aiinsurance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Lifecycle Walkthrough

> A step-by-step trace through 9 transactions showing how segments evolve

This page traces a realistic policy through its full lifecycle — creation, multiple endorsements, backdated corrections, cancellation, reinstatement, and transaction deletion. Each step shows the request payload and resulting segments.

If you haven't read the [Concepts](/api-v1-reference/policies/concepts) page yet, start there for an introduction to transactions, deltas, and segments.

## Scenario

|             |                                           |
| ----------- | ----------------------------------------- |
| **Insured** | Greenfield Medical Center                 |
| **Line**    | Professional Liability — Medical Facility |
| **Term**    | January 1, 2025 – December 31, 2025       |

## Delta Actions Reference

| Action        | Description                            | Matching                                |
| ------------- | -------------------------------------- | --------------------------------------- |
| **Overwrite** | Replace a scalar or entire object      | N/A — overwrites                        |
| **Add**       | Append to a collection (set semantics) | Objects by `id`, primitives by equality |
| **Remove**    | Remove from a collection               | Objects by `id`, primitives by equality |

## Premiums and Billing

Policy financial data lives at two levels: **per-segment rating** and **full-term billing**.

### Per-Segment Rating

Each segment carries its own rating data — a `PolicyRatingResponse` on the policy and an `ExposureRatingResponse` on each exposure. These typically include:

* **`annualPremium`** — the premium as if that segment's state applied for the full policy year
* **`dailyProratedPremium`** — the daily premium rate for that segment's risk profile

Both values are **time-independent** — they describe the risk characteristics of the segment, not its duration. This means two segments with identical risk produce the same rating values regardless of how many days each covers, which is what allows segment merging to work.

### Full-Term Billing

`fullTermPolicyBilling` is a **cross-segment invariant** — it's identical across every segment in a version. It contains the billing summary for the entire policy term:

```json theme={null}
"fullTermPolicyBilling": {
  "policyPremium": 85000,
  "policyTaxes": 4250,
  "policyFees": 500,
  "policyGrandTotal": 89750
}
```

Every endorsement should include a `fullTermPolicyBilling` delta with `startDate`/`endDate` spanning the **full policy term** (not just the endorsement effective date). This keeps the billing summary current.

<Note>
  **`fullTermPolicyBilling` is not necessarily derivable from per-segment rates.** Full-term billing can include flat premium minimums, surplus lines taxes, policy fees, or other adjustments that are independent of per-segment rating. The `FullTermPolicyRatingResponse` (a separate cross-segment field) captures these aggregate rating details.
</Note>

### Minimal vs Full Tracking

<Warning>
  Callers are not *required* to pass per-segment field changes. You could submit endorsements that only modify `fullTermPolicyBilling` and leave per-segment data untouched. However, this reduces the system to **importing transaction bordereau** — you'd know the billing changed, but not what policy details produced the change.

  Per-segment deltas capture the *actual changing characteristics* of the policy over time: which exposures were added, which physicians changed, when beds were decommissioned. This is the difference between a ledger of billing events and a true temporal record of the policy.
</Warning>

### In This Walkthrough

Each transaction below includes structural per-segment deltas, per-segment `PolicyRatingResponse` and `ExposureRatingResponse` rating, and the `fullTermPolicyBilling` update. The segment tables include a **Policy Annualized Premium** column — notice that this per-segment rate typically does **not** match the `fullTermPolicyBilling.policyPremium` shown below each table.

***

## Creation

<AccordionGroup>
  <Accordion title="Transaction 1 — NEW_BUSINESS" icon="circle-plus">
    **Effective:** Jan 1 · **Version:** 1

    Initial policy creation. One exposure (Main Campus), three named physicians.

    ```json Request theme={null}
    {
      "policyStartDate": "2025-01-01",
      "policyEndDate": "2025-12-31",
      "fieldModelV1Data": {
        "policy": {
          "policyStatus": "active",
          "carrier": "National Indemnity Co",
          "deductible": 25000,
          "aggregateLimit": 5000000,
          "fullTermPolicyInfo": {
            "policyStatus": "active",
            "policyStartDate": { "year": 2025, "month": 1, "day": 1, "timezone": "America/New_York" },
            "policyEndDate": { "year": 2025, "month": 12, "day": 31, "timezone": "America/New_York" },
            "primaryInsuredId": "exp-1"
          },
          "ratingResponse": {
            "annualPremium": 85000,
            "dailyProratedPremium": 233
          },
          "fullTermPolicyBilling": {
            "policyPremium": 85000,
            "policyTaxes": 4250,
            "policyFees": 500,
            "policyGrandTotal": 89750
          },
          "exposures": [{
            "id": "exp-1",
            "exposureType": "MedicalFacility",
            "facilityName": "Greenfield Main Campus",
            "bedCount": 120,
            "coveredSpecialties": ["Cardiology", "Orthopedics", "General Surgery"],
            "namedPhysicians": ["Dr. Patel", "Dr. Nguyen", "Dr. Hoffman"],
            "ratingResponse": {
              "annualPremium": 85000,
              "dailyProratedPremium": 233
            }
          }]
        }
      }
    }
    ```

    **Segments (1):**

    | # | Date Range     | Status | Exposures                            | Policy Annualized Premium |
    | - | -------------- | ------ | ------------------------------------ | ------------------------- |
    | 1 | Jan 1 – Dec 31 | active | Main Campus (120 beds, 3 physicians) | 85,000                    |

    **fullTermPolicyBilling:** Premium 85,000 · Taxes 4,250 · Fees 500 · Total 89,750

    With a single full-year segment, the annualized premium matches the billing premium. This won't last.
  </Accordion>
</AccordionGroup>

## Endorsements

<AccordionGroup>
  <Accordion title="Transaction 2 — ENDORSE: Add satellite clinic" icon="pen-to-square">
    **Effective:** Apr 1 · **Version:** 2

    A satellite clinic opens April 1. The new exposure is **Added** to the collection. The Apr–Dec segment gets updated rating reflecting the additional exposure. Jan–Mar rating is unchanged — the risk profile didn't change, only the segment's duration.

    ```json deltas theme={null}
    [
      {
        "startDate": "2025-04-01", "endDate": "2025-12-31",
        "path": "policy.exposures",
        "action": "Add",
        "value": {
          "id": "exp-2",
          "exposureType": "OutpatientClinic",
          "facilityName": "Greenfield West Clinic",
          "bedCount": 0,
          "coveredSpecialties": ["Dermatology", "Family Medicine"],
          "namedPhysicians": ["Dr. Kim"],
          "ratingResponse": {
            "annualPremium": 19000,
            "dailyProratedPremium": 52
          }
        }
      },
      {
        "startDate": "2025-04-01", "endDate": "2025-12-31",
        "path": "policy.ratingResponse",
        "action": "Overwrite",
        "value": { "annualPremium": 104000, "dailyProratedPremium": 285 }
      }
    ]
    ```

    ```json fullTermDeltas theme={null}
    [
      {
        "path": "policy.fullTermPolicyBilling",
        "action": "Overwrite",
        "value": {
          "policyPremium": 98000,
          "policyTaxes": 4900,
          "policyFees": 500,
          "policyGrandTotal": 103400
        }
      }
    ]
    ```

    **Segments (2):** `+1`

    | # | Date Range     | Exposures                     | Policy Annualized Premium |
    | - | -------------- | ----------------------------- | ------------------------- |
    | 1 | Jan 1 – Mar 31 | Main Campus                   | 85,000                    |
    | 2 | Apr 1 – Dec 31 | Main Campus + **West Clinic** | 104,000                   |

    **fullTermPolicyBilling:** Premium 98,000 · Taxes 4,900 · Fees 500 · Total 103,400

    The annualized premiums are 85,000 and 104,000 — neither matches the billing premium of 98,000. The billing total reflects the blended cost across both periods plus a flat surplus lines assessment.
  </Accordion>

  <Accordion title="Transaction 3 — ENDORSE: Add physician + specialty" icon="pen-to-square">
    **Effective:** Jun 1 · **Version:** 3

    A new surgeon (Dr. Okafor) joins the main campus June 1. Neurology added as a covered specialty. Both deltas use **Add** on nested exposure fields. Rating updated for Jun–Dec where the risk profile changed; Apr–May is unchanged.

    ```json deltas theme={null}
    [
      {
        "startDate": "2025-06-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].namedPhysicians",
        "action": "Add",
        "value": "Dr. Okafor"
      },
      {
        "startDate": "2025-06-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].coveredSpecialties",
        "action": "Add",
        "value": "Neurology"
      },
      {
        "startDate": "2025-06-01", "endDate": "2025-12-31",
        "path": "policy.ratingResponse",
        "action": "Overwrite",
        "value": { "annualPremium": 118000, "dailyProratedPremium": 323 }
      },
      {
        "startDate": "2025-06-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].ratingResponse",
        "action": "Overwrite",
        "value": { "annualPremium": 96000, "dailyProratedPremium": 263 }
      }
    ]
    ```

    ```json fullTermDeltas theme={null}
    [
      {
        "path": "policy.fullTermPolicyBilling",
        "action": "Overwrite",
        "value": {
          "policyPremium": 106000,
          "policyTaxes": 5300,
          "policyFees": 500,
          "policyGrandTotal": 111800
        }
      }
    ]
    ```

    **Segments (3):** `+1`

    | # | Date Range     | Physicians                         | Specialties                                     | Policy Annualized Premium |
    | - | -------------- | ---------------------------------- | ----------------------------------------------- | ------------------------- |
    | 1 | Jan 1 – Mar 31 | Patel, Nguyen, Hoffman             | Cardiology, Orthopedics, Surgery                | 85,000                    |
    | 2 | Apr 1 – May 31 | Patel, Nguyen, Hoffman             | Cardiology, Orthopedics, Surgery                | 104,000                   |
    | 3 | Jun 1 – Dec 31 | Patel, Nguyen, Hoffman, **Okafor** | Cardiology, Orthopedics, Surgery, **Neurology** | 118,000                   |

    **fullTermPolicyBilling:** Premium 106,000 · Taxes 5,300 · Fees 500 · Total 111,800

    The Apr–Dec segment from version 2 split at the June boundary. Three different annualized rates (85k, 104k, 118k) but a single billing premium of 106k.
  </Accordion>

  <Accordion title="Transaction 4 — ENDORSE: Remove physician, reduce beds" icon="pen-to-square">
    **Effective:** Jun 1 · **Version:** 4

    Dr. Nguyen leaves the practice effective June 1. 10 beds decommissioned. Uses **Remove** on a primitive collection and **Overwrite** on a scalar.

    ```json deltas theme={null}
    [
      {
        "startDate": "2025-06-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].namedPhysicians",
        "action": "Remove",
        "value": "Dr. Nguyen"
      },
      {
        "startDate": "2025-06-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].bedCount",
        "action": "Overwrite",
        "value": 110
      },
      {
        "startDate": "2025-06-01", "endDate": "2025-12-31",
        "path": "policy.ratingResponse",
        "action": "Overwrite",
        "value": { "annualPremium": 112000, "dailyProratedPremium": 307 }
      },
      {
        "startDate": "2025-06-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].ratingResponse",
        "action": "Overwrite",
        "value": { "annualPremium": 93000, "dailyProratedPremium": 255 }
      }
    ]
    ```

    ```json fullTermDeltas theme={null}
    [
      {
        "path": "policy.fullTermPolicyBilling",
        "action": "Overwrite",
        "value": {
          "policyPremium": 101000,
          "policyTaxes": 5050,
          "policyFees": 500,
          "policyGrandTotal": 106550
        }
      }
    ]
    ```

    **Segments (3):** `unchanged`

    | # | Date Range     | Beds    | Physicians             | Policy Annualized Premium |
    | - | -------------- | ------- | ---------------------- | ------------------------- |
    | 1 | Jan 1 – Mar 31 | 120     | Patel, Nguyen, Hoffman | 85,000                    |
    | 2 | Apr 1 – May 31 | 120     | Patel, Nguyen, Hoffman | 104,000                   |
    | 3 | Jun 1 – Dec 31 | **110** | Patel, Hoffman, Okafor | 112,000                   |

    **fullTermPolicyBilling:** Premium 101,000 · Taxes 5,050 · Fees 500 · Total 106,550

    Same segment count — the boundaries didn't move, only the Jun–Dec data and rate changed. The annualized rate dropped from 118k to 112k reflecting fewer beds and one fewer physician.
  </Accordion>

  <Accordion title="Transaction 5 — ENDORSE: Backdate corrections to Apr 1" icon="pen-to-square">
    **Effective:** Apr 1 · **Version:** 5

    Internal audit reveals the bed decommissioning actually happened in April, not June. Dr. Nguyen's departure was also effective April 1. Dr. Okafor started in April too. Retroactive corrections applied.

    ```json deltas theme={null}
    [
      {
        "startDate": "2025-04-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].bedCount",
        "action": "Overwrite",
        "value": 110
      },
      {
        "startDate": "2025-04-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].namedPhysicians",
        "action": "Remove",
        "value": "Dr. Nguyen"
      },
      {
        "startDate": "2025-04-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].namedPhysicians",
        "action": "Add",
        "value": "Dr. Okafor"
      },
      {
        "startDate": "2025-04-01", "endDate": "2025-05-31",
        "path": "policy.ratingResponse",
        "action": "Overwrite",
        "value": { "annualPremium": 108000, "dailyProratedPremium": 296 }
      },
      {
        "startDate": "2025-04-01", "endDate": "2025-05-31",
        "path": "policy.exposures[exp-1].ratingResponse",
        "action": "Overwrite",
        "value": { "annualPremium": 89000, "dailyProratedPremium": 244 }
      }
    ]
    ```

    ```json fullTermDeltas theme={null}
    [
      {
        "path": "policy.fullTermPolicyBilling",
        "action": "Overwrite",
        "value": {
          "policyPremium": 100000,
          "policyTaxes": 5000,
          "policyFees": 500,
          "policyGrandTotal": 105500
        }
      }
    ]
    ```

    **Segments (3):** `unchanged`

    | # | Date Range     | Beds    | Physicians                 | Specialties                                 | Policy Annualized Premium |
    | - | -------------- | ------- | -------------------------- | ------------------------------------------- | ------------------------- |
    | 1 | Jan 1 – Mar 31 | 120     | Patel, Nguyen, Hoffman     | Cardiology, Orthopedics, Surgery            | 85,000                    |
    | 2 | Apr 1 – May 31 | **110** | Patel, Hoffman, **Okafor** | Cardiology, Orthopedics, Surgery            | 108,000                   |
    | 3 | Jun 1 – Dec 31 | 110     | Patel, Hoffman, Okafor     | Cardiology, Orthopedics, Surgery, Neurology | 112,000                   |

    **fullTermPolicyBilling:** Premium 100,000 · Taxes 5,000 · Fees 500 · Total 105,500

    The structural deltas span Apr 1 – Dec 31, but the Jun–Dec segment **already had** beds=110, Nguyen removed, and Okafor present — no-ops there. Only Apr–May changed. Segment 2's annualized rate is 108,000 (vs segment 3's 112,000) because it lacks Neurology.

    <Info>
      **Setup for what's next:** Segments 2 and 3 now share the same beds, physicians, and exposures. They differ only in whether Neurology is a covered specialty — which also produces different annualized rates (108k vs 112k). One more endorsement that adds Neurology to segment 2 will converge both the structural data and the rating.
    </Info>
  </Accordion>

  <Accordion title="Transaction 6 — ENDORSE: Retroactive Neurology → MERGE" icon="pen-to-square">
    **Effective:** Apr 1 · **Version:** 6

    Neurology coverage was contractually effective from the clinic opening date (April 1), not June 1 as originally recorded. Correction applied retroactively.

    ```json deltas theme={null}
    [
      {
        "startDate": "2025-04-01", "endDate": "2025-12-31",
        "path": "policy.exposures[exp-1].coveredSpecialties",
        "action": "Add",
        "value": "Neurology"
      },
      {
        "startDate": "2025-04-01", "endDate": "2025-05-31",
        "path": "policy.ratingResponse",
        "action": "Overwrite",
        "value": { "annualPremium": 112000, "dailyProratedPremium": 307 }
      },
      {
        "startDate": "2025-04-01", "endDate": "2025-05-31",
        "path": "policy.exposures[exp-1].ratingResponse",
        "action": "Overwrite",
        "value": { "annualPremium": 93000, "dailyProratedPremium": 255 }
      }
    ]
    ```

    ```json fullTermDeltas theme={null}
    [
      {
        "path": "policy.fullTermPolicyBilling",
        "action": "Overwrite",
        "value": {
          "policyPremium": 101000,
          "policyTaxes": 5050,
          "policyFees": 500,
          "policyGrandTotal": 106550
        }
      }
    ]
    ```

    The Neurology delta adds it to Apr–May. Jun–Dec already has Neurology — no-op. The rating delta updates Apr–May's annualized rate from 108,000 to 112,000 to match Jun–Dec.

    After applying, segments 2 and 3 have **identical per-segment state** — same structural data, same rating. The system merges them.

    **Segments (2):** `-1`

    | # | Date Range     | Exposures                 | Specialties                                     | Policy Annualized Premium |
    | - | -------------- | ------------------------- | ----------------------------------------------- | ------------------------- |
    | 1 | Jan 1 – Mar 31 | Main Campus               | Cardiology, Orthopedics, Surgery                | 85,000                    |
    | 2 | Apr 1 – Dec 31 | Main Campus + West Clinic | Cardiology, Orthopedics, Surgery, **Neurology** | 112,000                   |

    **fullTermPolicyBilling:** Premium 101,000 · Taxes 5,050 · Fees 500 · Total 106,550

    <Warning>
      **Key insight — endorsements can reduce segments.** This is not an undo. Six separate transactions produced only 2 segments. The Apr–May / Jun–Dec boundary was erased because corrections **converged both the structural data and the rating** on both sides. The annualized rates are 85k and 112k — the billing premium of 101k reflects neither.
    </Warning>
  </Accordion>
</AccordionGroup>

## Cancellation and Reinstatement

<AccordionGroup>
  <Accordion title="Transaction 7 — CANCEL" icon="circle-xmark">
    **Effective:** Sep 1 · **Version:** 7

    Greenfield is acquired by a hospital network with its own coverage. Policy cancelled effective September 1. The system generates the `policyStatus` delta internally — the caller only provides the cancellation date and updated billing.

    ```json Request theme={null}
    {
      "cancellationDate": "2025-09-01",
      "fullTermDeltas": [
        {
          "path": "policy.fullTermPolicyBilling",
          "value": {
            "policyPremium": 72000,
            "policyTaxes": 3600,
            "policyFees": 500,
            "policyGrandTotal": 76100
          }
        }
      ]
    }
    ```

    <Note>
      Cancel and reinstate accept only `fullTermDeltas` — each entry is just `path` and `value`, no `startDate`/`endDate`/`action`. The system handles the date ranges and status change internally.
    </Note>

    **Segments (3):** `+1`

    | # | Date Range     | Status        | Exposures                 | Policy Annualized Premium |
    | - | -------------- | ------------- | ------------------------- | ------------------------- |
    | 1 | Jan 1 – Mar 31 | active        | Main Campus               | 85,000                    |
    | 2 | Apr 1 – Aug 31 | active        | Main Campus + West Clinic | 112,000                   |
    | 3 | Sep 1 – Dec 31 | **cancelled** | Main Campus + West Clinic | 112,000                   |

    **fullTermPolicyBilling:** Premium 72,000 · Taxes 3,600 · Fees 500 · Total 76,100

    The Apr–Dec segment split at September. The annualized rate stays 112,000 in both segments — the underlying risk profile didn't change, only the status. But the billing dropped to 72,000 reflecting the shortened coverage period.
  </Accordion>

  <Accordion title="Transaction 8 — REINSTATE → MERGE" icon="rotate-left">
    **Effective:** Sep 1 · **Version:** 8

    The acquisition falls through. Policy reinstated at the same effective date as the cancellation. A 250 reinstatement fee is added.

    ```json Request theme={null}
    {
      "reinstatementDate": "2025-09-01",
      "fullTermDeltas": [
        {
          "path": "policy.fullTermPolicyBilling",
          "value": {
            "policyPremium": 101000,
            "policyTaxes": 5050,
            "policyFees": 750,
            "policyGrandTotal": 106800
          }
        }
      ]
    }
    ```

    Segment 3 returns to `"active"` — now identical per-segment state to segment 2. They merge.

    **Segments (2):** `-1`

    | # | Date Range     | Status | Exposures                 | Policy Annualized Premium |
    | - | -------------- | ------ | ------------------------- | ------------------------- |
    | 1 | Jan 1 – Mar 31 | active | Main Campus               | 85,000                    |
    | 2 | Apr 1 – Dec 31 | active | Main Campus + West Clinic | 112,000                   |

    **fullTermPolicyBilling:** Premium 101,000 · Taxes 5,050 · Fees 750 (was 500) · Total 106,800

    <Info>
      **Cancel + Reinstate are invisible in the segments.** Both transactions are preserved in the audit trail, but the per-segment state is identical to version 6 (pre-cancellation). Only `fullTermPolicyBilling` changed — the reinstatement fee increased fees from 500 to 750. This is the second type of segment reduction: **reversal**, where an action directly undoes a prior change's per-segment effects.
    </Info>
  </Accordion>
</AccordionGroup>

## Transaction Deletion

<AccordionGroup>
  <Accordion title="Transaction 9 — DELETE (undo reinstatement)" icon="trash-can">
    **Latest version after delete:** 7

    The acquisition is back on. The reinstatement was premature — delete it.

    Transaction deletion removes the most recent transaction (the REINSTATE) and its segments. No new version is created — version 7 (the CANCEL version) becomes current again via `MAX(policy_version)`. The deleted transaction is archived for audit purposes.

    **Segments (3):** `+1`

    | # | Date Range     | Status    | Exposures                 | Policy Annualized Premium |
    | - | -------------- | --------- | ------------------------- | ------------------------- |
    | 1 | Jan 1 – Mar 31 | active    | Main Campus               | 85,000                    |
    | 2 | Apr 1 – Aug 31 | active    | Main Campus + West Clinic | 112,000                   |
    | 3 | Sep 1 – Dec 31 | cancelled | Main Campus + West Clinic | 112,000                   |

    **fullTermPolicyBilling:** Premium 72,000 · Taxes 3,600 · Fees 500 · Total 76,100

    The deleted transaction still exists in the audit trail — it's archived, not erased. But the live policy state has reverted to the cancelled state, including the pre-reinstatement billing.
  </Accordion>
</AccordionGroup>

***

## Summary

### Segment Count Over Time

| Version | Transaction   | Description                                                       | Segments | Change |
| ------- | ------------- | ----------------------------------------------------------------- | -------- | ------ |
| 1       | NEW\_BUSINESS | Initial policy                                                    | 1        | —      |
| 2       | ENDORSE       | Add clinic                                                        | 2        | +1     |
| 3       | ENDORSE       | Add physician + specialty from Jun                                | 3        | +1     |
| 4       | ENDORSE       | Remove physician, reduce beds from Jun                            | 3        | —      |
| 5       | ENDORSE       | Backdate corrections to Apr                                       | 3        | —      |
| **6**   | **ENDORSE**   | **Retroactive Neurology to Apr**                                  | **2**    | **-1** |
| 7       | CANCEL        | Cancellation from Sep                                             | 3        | +1     |
| 8       | REINSTATE     | Reinstatement from Sep                                            | 2        | -1     |
| *(7)*   | DELETE        | Undo reinstatement — version 8 removed, version 7 becomes current | 3        | +1     |

### Two Types of Segment Reduction

<CardGroup cols={2}>
  <Card title="Convergence (Version 6)">
    Retroactive corrections made the Apr–May segment identical to the Jun–Dec segment — both structurally and in rating. Adjacent identical segments merged.

    Segments can reduce through **normal business operations** — corrections, reconciliations, and backdated adjustments that happen to converge per-segment state across a boundary.
  </Card>

  <Card title="Reversal (Version 8)">
    Reinstatement undid the cancellation, making Sep–Dec identical to Apr–Aug. Adjacent identical segments merged.

    An action that inverts a prior change can collapse the segments that action created — but the **audit trail preserves both transactions**.
  </Card>
</CardGroup>

### Key Takeaways

<Note>
  **Transactions** are authored. **Policy state** is derived. **Segments** are compressed representations of per-segment state.

  Segment count may increase, decrease, or stay the same with each transaction — independently of whether a change was added, corrected, or reversed. `fullTermPolicyBilling` and other cross-segment invariants do not affect segment boundaries at all — only per-segment data (including per-segment rating) drives merging.
</Note>
