Artifacts · a representative live database cutover

What you
get.

Every Hardcut engagement leaves three artifacts on the table: the statement of work, the cutover runbook, and the dry-run schedule. Shown here against a live database cutover, the same shape as the live character-set migration in the selected work. The runbook and dry-run mirror how that work runs. The statement of work is the Hardcut template with a representative figure.

SOW · SAMPLE

Statement of work · live database cutover

Representative template · signed before any build work

Ten rows, no fine print. Discovery surfaces every variable that would move the number, then row three is fixed for the engagement. The figure shown here is representative, not a past invoice.

S01 Engagement
Single-window cutover · live production database to UTF-8
S02 Window
One overnight low-traffic window · concrete date set in week 0
S03 Price
CAD 34,000 · fixed · 50% on signing / 50% post-cutover · representative
S04 Scope · in
Encoding audit · charset and collation conversion · verification · rollback plan
S05 Scope · out
Application refactors beyond encoding · schema redesign · new feature work
S06 Deliverables
Versioned conversion scripts · cutover runbook · dry-run record · 2 wk post-cut support
S07 Acceptance
Row-count and checksum parity · multi-byte spot-checks pass · zero data loss
S08 Change orders
Written, dated, priced before any work begins
S09 Liability
Capped at total fees · standard professional indemnity
S10 Termination
Either party · 5 business days notice · pro-rated
RUNBOOK · SAMPLE

Cutover runbook · table of contents

Finalized after the third dry-run · steps illustrative

The runbook is what survives the night. Every step timed, every rollback verified. This is the table of contents. The live version runs to dozens of pages in a printed binder beside the laptop.

  1. R00

    Roles + comms

    Who calls go/no-go · status channel · phone tree · status page

  2. R01

    Pre-flight · T-7 days

    Encoding audit across every table and column · prod clone snapshot · conversion scripts frozen

  3. R02

    Pre-flight · T-24h

    Final dry-run sign-off · backup verified restorable · go/no-go #1

  4. R03

    Cut window · open

    Fresh snapshot · replication checkpoint · conversion begins per table

  5. R04

    Cut window · convert

    Per-table charset and collation conversion · multi-byte integrity check as each table completes

  6. R05

    Cut window · verify

    Row-count parity · checksum sample · spot-check known multi-byte records

  7. R06

    Cut window · cut

    Point the application at the converted schema · smoke suite · go-live sign-off

  8. R07

    Rollback · any-time

    Restore from snapshot · revert application pointer · comms · post-mortem trigger

  9. R08

    Post · days 1 to 14

    Encoding monitor · error-rate watch · two-week support tail · runbook handoff

DRY-RUN · SAMPLE

Dry-run schedule · 3 rehearsals

Ran against a production-data clone

Three rehearsals against a production-data clone. The first finds everything. The second times everything. The third is supposed to bore you. If the third surprises anyone, the cut moves a week.

  • Rehearsal 1 Walk it

    GOAL Walk the runbook end to end against a clone. Surface every gap and every unclear owner.

    SURFACED Found columns missed in the first encoding audit · two steps with no clear owner

  • Rehearsal 2 Time it

    GOAL Re-run with the gaps closed. Time every step. Build the timing table and the go/no-go clock.

    SURFACED Conversion on the largest table ran long · added an index-rebuild buffer · caught a collation mismatch

  • Rehearsal 3 Bore it

    GOAL Boring rehearsal. If anything surprises you here, the cut is not ready and it moves.

    SURFACED Zero surprises. Timing held. Runbook frozen, go/no-go criteria signed.

Want the three artifacts mapped to your own estate? Book a thirty-minute call →

If you're staring at a migration you've been putting off, let's talk.

Thirty-minute call by default. No deck, no sales engineer, no follow-up sequence. Either there's a Hardcut-shaped engagement here or there isn't, and you'll know which one by the end of the call.