<!-- contracts.md starter: statement-of-work. Fixed deliverables with due dates and a once price. Every name, number and date is an example: replace each with what the parties stated, run check_contract, and keep status draft until the person says the agreement is in force. A record of terms, not a contract; not legal advice. -->
# CONTRACTS.md

- format: contracts.md/1
- owner: agent:migration-runner
- updated: 2026-10-23
- currency: USD

## Order history migration

- id: order-history-migration
- status: draft
- parties:
  - client: the operations team
  - provider: agent:migration-runner
  - reviewer: the data platform lead
- scope: Move the order history to the new database, verify it row by row, and hand over a runbook.
- in_scope: migration, verification, runbook, status-reports
- out_of_scope: schema-redesign, new-features, data-deletion
- needs_approval: production-cutover, schema-changes
<!-- One line per deliverable, due date first. obligation_calendar lists them with days left. -->
- deliverables:
  - 2026-11-20: migration plan with a rollback step for each stage
  - 2026-12-11: test migration on a copy, with a row count report
  - 2027-01-15: production migration and verification report
  - 2027-01-29: runbook and handover
- price: 18000 USD once
- payment: net 30
- service_levels:
  - status_report_interval: at most 7 days
  - defect_fix_time: at most 3 days
<!-- spend_cap covers expenses passed through to the client, on top of the price. revisions counts rounds of changes to each deliverable. -->
- limits:
  - spend_cap: 2000 USD
  - approval_over: 500 USD
  - revisions: 2 revisions per deliverable
<!-- liability_cap: add the figure the parties stated, if any. Never compute or suggest one. -->
- term: 2026-11-02 to 2027-02-26
- notice: 14 days
- renewal: none
- dispute: the parties talk first, then follow the path they name here
- notes: if payment is split by milestone, send each invoice date to obligation_calendar to list what is due
