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.
Statement of work · live database cutover
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
Cutover runbook · table of contents
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.
- R00
Roles + comms
Who calls go/no-go · status channel · phone tree · status page
- R01
Pre-flight · T-7 days
Encoding audit across every table and column · prod clone snapshot · conversion scripts frozen
- R02
Pre-flight · T-24h
Final dry-run sign-off · backup verified restorable · go/no-go #1
- R03
Cut window · open
Fresh snapshot · replication checkpoint · conversion begins per table
- R04
Cut window · convert
Per-table charset and collation conversion · multi-byte integrity check as each table completes
- R05
Cut window · verify
Row-count parity · checksum sample · spot-check known multi-byte records
- R06
Cut window · cut
Point the application at the converted schema · smoke suite · go-live sign-off
- R07
Rollback · any-time
Restore from snapshot · revert application pointer · comms · post-mortem trigger
- R08
Post · days 1 to 14
Encoding monitor · error-rate watch · two-week support tail · runbook handoff
Dry-run schedule · 3 rehearsals
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.