# Tern Client Services: master agreement, NDA, statement of work, engagement and separation documents

The agreements a services business signs and the registers it keeps to track them: a master services agreement and the three statements of work under it, a mutual NDA that predates both, an amendment, an acceptance certificate, an independent contractor agreement, an employment offer and a termination letter. Each narrative document ships as a PDF and, for seven of them, as a DOCX carrying the identical text, so the same contract can be put through two different readers and compared.

All parties, amounts and identifiers are fictional. Fixed snapshot: 2026-09-08. Records are derived from the shared operating model `crm-services`, so identifiers join across this set, across the other commercial document sets, and across every fixture built on the same model.

## Reconciliation identities this set asserts

- The three statement-of-work not-to-exceed values sum to 9,000.00 USD, the liability cap at clause 10.2 of the master agreement.
- Each statement of work allocates its full not-to-exceed value across exactly three deliverables: 2000.00, 3000.00 and 4000.00.
- Fees recorded on each project are the project hours at 100.00 USD and equal that project invoice: 7,200.00 USD in total.
- Contractor pay is the same hours at 60.00 USD, so the three contractors are owed 960.00, 1440.00 and 1920.00 USD, which is what the 1099-NEC slips in the tax set report.
- The employment offer and the termination letter both pay 42 rostered hours at the employee own rate, giving 1,176.00 and 1,344.00 USD, the same base pay the wave-one payroll register holds.
- Every cross-reference inside the three agreements resolves to a clause that exists in the same document, and every obligation names a clause that exists.
- Every non-empty file cell in contract-register.csv and signature-log.csv names a file that exists in this directory.

## Parameters this set introduces

These are properties of the document class, not of the operating model. They are declared once and every file in the set agrees with them.

- Contract terms and notice periods: master agreement 24 months from 2026-01-05 with 60 days notice, NDA 36 months from 2025-11-10, contractor engagement 12 months from 2026-07-01 with 30 days notice.
- The contractor pay rate of 60.00 USD per hour. The operating model records what work was billed at, never what a contractor was paid.
- The expense cap of 250.00 USD and its amended value of 400.00 USD from 2026-09-01.
- Deliverable names, due dates, acceptance criteria and the allocation of each not-to-exceed value across three deliverables.
- Notice expressed as one rostered cycle of 42 paid hours, used by the termination letter.

## Files

| File | Format | Validity | What it is |
| --- | --- | --- | --- |
| `master-services-agreement.pdf` | pdf | valid | Master services agreement (PDF) |
| `master-services-agreement.docx` | docx | valid | Master services agreement (DOCX) |
| `mutual-nda.pdf` | pdf | valid | Mutual non-disclosure agreement (PDF) |
| `mutual-nda.docx` | docx | valid | Mutual non-disclosure agreement (DOCX) |
| `statement-of-work-PROJECT-1.pdf` | pdf | valid | Statement of work SOW-2026-01 (PDF) |
| `statement-of-work-PROJECT-1.docx` | docx | valid | Statement of work SOW-2026-01 (DOCX) |
| `statement-of-work-PROJECT-3.pdf` | pdf | valid | Statement of work SOW-2026-03 |
| `statement-of-work-PROJECT-2.pdf` | pdf | valid | Statement of work SOW-2026-02 |
| `contractor-agreement.pdf` | pdf | valid | Independent contractor agreement (PDF) |
| `contractor-agreement.docx` | docx | valid | Independent contractor agreement (DOCX) |
| `employment-offer-EMP-05.pdf` | pdf | valid | Employment offer letter (PDF) |
| `employment-offer-EMP-05.docx` | docx | valid | Employment offer letter (DOCX) |
| `termination-letter-EMP-07.pdf` | pdf | valid | Termination letter (PDF) |
| `termination-letter-EMP-07.docx` | docx | valid | Termination letter (DOCX) |
| `msa-amendment-01.pdf` | pdf | valid | Amendment to the master services agreement (PDF) |
| `msa-amendment-01.docx` | docx | valid | Amendment to the master services agreement (DOCX) |
| `sow-acceptance-certificate-PROJECT-1.pdf` | pdf | valid | Deliverable acceptance certificate |
| `contract-register.csv` | csv | valid | Contract register |
| `contract-register.json` | json | valid | Contract register JSON |
| `contract-register.xlsx` | xlsx | valid | Contract register workbook |
| `rate-card.csv` | csv | valid | Rate card and caps |
| `amendments.csv` | csv | valid | Amendment register |
| `sow-deliverables.csv` | csv | valid | Statement of work deliverables |
| `sow-deliverables-allocation-mismatch.csv` | csv | invalid | Statement of work deliverables with an allocation that does not add up |
| `contract-clause-index.csv` | csv | valid | Clause index |
| `contract-obligations.csv` | csv | valid | Obligation register |
| `signature-log.csv` | csv | valid | Execution and signature log |
| `renewal-diary.csv` | csv | valid | Renewal and notice diary |
| `contracts-reconciliation.json` | json | reference | Contract reconciliation identities |
| `README.md` | md | reference | Document set README |

## Deliberate defects

These files are broken on purpose. Each is a single named mutation of a correct file in the same directory, and the size of the discrepancy is stated, so a parser under test can be checked against both.

- **`sow-deliverables-allocation-mismatch.csv`** SOW-2026-03 sums to 3950.00 against a stated not-to-exceed of 4000.00, a shortfall of 50.00 USD on row 9 of the file; SOW-2026-01 and SOW-2026-02 still balance, so a checker that only tests the grand total of 8950.00 against 9000.00 finds the same 50.00 but cannot say which group caused it.

## Notes and limits

- Nothing here is legal advice or a template to sign. The clauses are written to be parsed, not to protect anyone.
- The master agreement still states the original expense cap of 250.00 USD. That is not an error: the amendment changes it from 2026-09-01 and amendments.csv carries both values with their dates.
- Accepted deliverable allocation and billed time are different measures and are not expected to be equal. contracts-reconciliation.json says so explicitly.
- The employment documents belong to the Cobalt Operations Team model rather than to Tern Client Services, because that is the model that carries employees, rotas and pay rates. Their entry titles name the right employer.
- No signatory, address or identifier here belongs to a real person or company. Addresses follow the same fictional formula the wave-one contact export uses.
