## TL;DR
Extract the liability cap from every source, then apply the override chain: base agreement cap, then amendment cap, then order-form cap table, with the order form winning. Report the final cap with its full provenance. The agent stopped at the first cap it found in the base agreement and never looked at the two documents that changed it.

```text
agent reported the original liability cap  -  Amendment 5 raised it and the order-form cap table overrode both, and the agent caught neither
```

## Steps
1. Extract liability caps separately from the base agreement, every amendment, and every order form or SOW.
   Expected: three candidate caps: base, Amendment 5, order-form table
2. Apply precedence: latest amendment cap overrides the base; an order-form cap table overrides both unless the order form says otherwise.
   Expected: the final cap is the order-form table value with the chain recorded
3. Report the provenance chain in the output: each cap value, its source document and section.
   Expected: reads like "base $1M (MSA Sec 10), then $2M (Amendment 5), then $2.5M (Order Form Sec 3, current)"
4. Flag conflicts with no explicit override language: two caps, neither claiming precedence.
   Expected: "conflicting caps, no override clause" flag instead of a silent pick
5. Add a regression case with caps in all three places and assert the reported cap equals the order-form value.
   Expected: the first-hit behavior cannot regress without failing the test

## Use this when
- The reported liability cap does not match the latest documents.
- Caps appear in the MSA, an amendment, and an order-form table simultaneously.
- The agent quoted the base-agreement cap on an amended deal.
- You are auditing limitation-of-liability extraction across a bundle.

## Not for this skill when
- Only one document states a cap; there is no override chain.
- The caps are per-category (direct vs indirect) rather than competing; extract each separately instead.
- The dispute is what the cap language means legally, not which document's number wins.
- The order form explicitly defers to the MSA cap; then the MSA value is correct.

## Variant phrasings
### agent missed amended liability cap
### order-form cap table overrides MSA cap, agent reported MSA value
### stale limitation of liability in extraction output
### liability cap override chain across amendments and order forms

## Why it happens
Extractors are tuned for the single-document case: find "limitation of liability", grab the number, done. In real bundles the cap is set three times, and the later documents override the earlier ones by deal structure, not by repeating the section. The agent's first-hit-wins behavior is fast and usually right on simple contracts, which is why it survives until a bundle with an order-form cap table exposes it.
## Edge cases
- The order form caps only certain services. Apply the table to those services and keep the MSA cap for the rest; do not blanket-override.
- Amendment 5 raised the cap but a later amendment lowered it. Latest effective amendment wins within the amendment layer.
- The cap is expressed as a multiple ("12 months of fees") rather than a number. Resolve the multiple against the current fee schedule before comparing.
- Super-cap or uncapped carve-outs (IP indemnity, breach of confidentiality). Extract carve-outs as separate fields; the headline cap is not the whole answer.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_3mevvk9JeLPxrdxnbX29xw
