agent merged convenience and cause termination into one clause - two termination sections and it quoted the wrong...
Fixes contract-review agents merging termination-for-convenience and termination-for-cause into one clause and quoting the wrong notice period. Use it when a contract has two termination sections and extraction collapses them. Key trigger: the quoted notice period belongs to the other trigger type.
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.
agent merged convenience and cause termination into one clause - two termination sections and it quoted the wrong notice periodSteps
- 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
- 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
- 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
- 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)"
- 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
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.