## TL;DR
Keep termination-for-convenience and termination-for-cause as separate clause objects, each with its own notice period. Classify each termination section by its trigger language ("without cause", "for convenience" vs "for cause", "material breach") and never merge sections with different triggers. Both sections share the word "termination", so a fuzzy merger collapses them and the quoted notice period belongs to the wrong trigger.

```text
agent merged convenience and cause termination into one clause  -  two termination sections and it quoted the wrong notice period
```

## Steps
1. Classify every termination section by trigger language before any merging: convenience triggers ('without cause', 'for convenience', 'at will') vs cause triggers ('for cause', 'material breach', 'insolvency').
   Expected: two distinct clause objects, one per trigger type
2. Extract the notice period (and cure period, if any) per clause object, not per 'termination' topic.
   Expected: convenience carries its own notice period; cause carries its own notice plus cure
3. Add a merge guard: two sections with different trigger language are never combined, even if their text is similar.
   Expected: a merge attempt on convenience + cause logs a refusal instead of a merged clause
4. Require every quoted notice period to name its clause: section number plus trigger type.
   Expected: output reads like "30-day notice (termination for convenience, Section 9.1)"
5. Add a regression case with a contract that has both sections and assert two clause objects come out.
   Expected: the merger cannot regress to one object without failing the test

## Use this when
- The agent reports a single "termination clause" but the contract has two termination sections.
- A quoted notice period does not match the section the user asked about.
- Convenience and cause language appear in different sections of the same agreement.
- You are validating clause-level extraction output for termination terms.

## Not for this skill when
- The contract genuinely has one termination section covering both triggers.
- The notice periods are identical and merging is harmless (still keep them separate for auditability, but this skill is not the fix).
- The problem is a missing termination clause, not a merged one.
- You need legal advice on what the notice periods mean.

## Variant phrasings
### agent combined termination for convenience and termination for cause
### wrong notice period quoted for termination clause
### two termination sections merged by extraction agent
### termination clause extraction mixes cure period with convenience notice

## Why it happens
Topic-level extractors group by keyword: everything matching "terminat*" becomes one clause object, and the merger picks whichever notice period it saw first or last. The trigger language that distinguishes the two sections is treated as flavor text, not as the key the notice period hangs on. The output reads cleanly, which is exactly why the wrong notice period survives review.
## Edge cases
- A single section covers both triggers ("either party may terminate for convenience... or for cause..."). Split it into two clause objects anyway, citing the same section.
- Cause termination has a cure period that reads like a notice period. Extract cure and notice as separate fields so they are never conflated.
- The contract uses "termination without cause" for one party only. Record the asymmetry; do not generalize the notice period to both parties.
- Auto-renewal interacts with termination notice. Keep renewal terms in their own clause object; link, do not merge.

## Provenance

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